:root{--paper:#f5f2ec;--card:#fffcf6;--ink:#302b2c;--muted:#807974;--line:#e3dcd2;--wine:#742e3b;--wine-light:#f3e7e8;--gold:#ab8146;--green:#3d674b;--red:#9e5257;--shadow:0 8px 28px #33201006;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b69051}button{transition:background .15s,transform .15s}button:active:not(:disabled){transform:translateY(1px)}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:40px;letter-spacing:-1px;margin-bottom:0}h2{font-size:25px;letter-spacing:-.4px;margin-bottom:16px}h3{font-size:15px}label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;color:#655b57}input:not([type=checkbox]),select{width:100%;padding:12px;border:1px solid #d9cec0;border-radius:6px;background:#fffdf9;color:var(--ink);min-height:44px}input[type=number]{font-variant-numeric:tabular-nums}input[type=checkbox]{accent-color:var(--wine);width:17px;height:17px;flex-shrink:0}form{display:grid;gap:18px}.topbar{height:94px;padding:0 4vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:#fffdf8}.brand{display:flex;gap:16px;align-items:center;font:23px Georgia,serif;text-decoration:none}.brand em{font-size:13px;font-style:normal;color:var(--gold)}.brand small{display:block;font:8px system-ui;letter-spacing:2.1px;color:var(--muted);margin-top:8px}.sigil{font-size:45px;color:var(--gold)}.top-actions{display:flex;align-items:center;gap:18px}.connection{font-size:11px;color:var(--muted)}.connection.online:before{content:'';display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:8px}.connection.bad{color:var(--red)}.icon-button{background:none;border:0;font-size:23px;color:var(--muted);padding:8px;border-radius:5px}.icon-button:hover{background:#eae3d8}main{max-width:1370px;margin:auto;padding:38px 36px 20px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2.2px;color:var(--gold);margin-bottom:12px}.primary,.secondary,.spend{display:inline-flex;justify-content:center;align-items:center;gap:15px;border-radius:6px;min-height:42px;padding:11px 18px;font-size:12px;font-weight:600;text-decoration:none}.primary{background:var(--wine);border:1px solid var(--wine);color:#fffaf1}.primary:hover:not(:disabled){background:#8b3d4b}.secondary{background:transparent;color:#65564b;border:1px solid #d7cbb9}.secondary:hover:not(:disabled){background:#f0e9dd}.quiet{border:0;background:none;color:var(--muted);font-size:11px;padding:10px}.quiet:hover{color:var(--wine)}.text-button{border:0;background:none;text-decoration:underline;color:inherit;padding:0;font:inherit}.danger-link{border:0;background:none;padding:16px 0 0;color:var(--wine);font-size:11px}.hint{font-size:11px;color:var(--muted);line-height:1.7;margin:12px 0 0}.badge{font-size:9px;border:1px solid var(--line);padding:7px 10px;border-radius:4px;color:#837565;letter-spacing:.6px;white-space:nowrap}.table-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:0 0 28px}.table-heading h1{font-size:32px}.heading-actions{display:flex;align-items:center;gap:12px}.battle-grid{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:25px}.battle-main{min-width:0}.timer-card,.resource-card,.turn-card,.initiative-card,.side-card{border:1px solid var(--line);background:var(--card);border-radius:10px;box-shadow:var(--shadow)}.timer-card{position:relative;text-align:center;padding:24px 28px 20px;overflow:hidden}.timer-top{display:flex;justify-content:space-between;align-items:center}.timer-top .eyebrow{margin:0}.timer{font:112px/1.15 Georgia,serif;letter-spacing:2px;color:var(--wine);font-variant-numeric:lining-nums tabular-nums;margin:15px 0 5px}.timer span{color:#b88986}.timer-card>p{font-size:12px;color:var(--muted);margin:0 0 22px}.timer-track{height:3px;background:#eae2d6;border-radius:2px;overflow:hidden}.timer-track>div{height:100%;width:100%;background:var(--gold);transition:width .3s linear}.timer-card.urgent .timer{color:#b13a36}.timer-controls{display:flex;justify-content:center;gap:10px;margin-top:18px;flex-wrap:wrap}.round-message{font-size:13px;color:var(--wine);padding-top:16px}.resources{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.resource-card{padding:23px 22px 18px}.resource-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.resource-heading>div{display:flex;align-items:center;gap:8px}.resource-heading h2{font-size:24px;margin:0}.resource-icon{color:var(--wine);font-size:23px}.bonus .resource-icon{color:var(--gold)}.resource-heading p{font-size:10px;color:var(--muted);margin:0;white-space:nowrap}.resource-heading strong{font:27px Georgia;color:var(--wine);margin-left:7px}.total-count{margin-left:3px;font-size:11px}.coins{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0;min-height:33px}.coin{height:34px;width:34px;border-radius:50%;display:grid;place-items:center;border:1px solid #a8756b;color:#966054;background:radial-gradient(circle at 30% 25%,#fffdf3,#f2dfc5);box-shadow:inset 0 0 0 4px #fffcf460;font:18px Georgia;transition:opacity .2s,background .2s,transform .2s}.bonus .coin{border-color:#b69a67;color:var(--gold)}.coin.used{background:#ebe7e0;border-color:#ddd7cf;box-shadow:none;color:#c3bbb0;transform:scale(.82)}button.coin:hover:not(:disabled){transform:scale(1.1)}.spend{width:100%;background:#f5ebeb;color:var(--wine);border:1px solid #e9d6d7;font-size:11px}.spend:hover:not(:disabled){background:#ecdadc}.bonus .spend{color:#866431;background:#f4eddf;border-color:#e8dabe}.under-note{font-size:10px;color:var(--muted);text-align:center;margin:12px 0 22px;min-height:15px}.turn-card,.initiative-card{padding:23px 26px;margin-top:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.section-heading h2{margin:0}.section-heading>span{font-size:10px;color:var(--muted)}.camps{display:grid;grid-template-columns:1fr 1fr}.camp{text-align:center;padding:3px 20px 12px}.camp+.camp{border-left:1px solid var(--line)}.rounds{display:flex;justify-content:center;gap:10px;margin-bottom:17px}.rounds span{font-size:10px;padding:6px 12px;border:1px solid var(--line);color:#aca298;border-radius:4px;white-space:nowrap}.rounds span.done{text-decoration:line-through;color:#aaa49a;background:#eeeae3}.rounds span.current{background:#e5eedf;color:var(--green);border-color:#bfd1b7}.rounds span.waiting{background:#f6e9e8;color:var(--red);border-color:#e7cccc}.camp-name{font:27px Georgia;color:#a1968c;display:flex;align-items:center;justify-content:center;gap:9px}.camp-dot{width:7px;height:7px;background:currentColor;border-radius:50%}.camp.active .camp-name{color:var(--green)}.camp.waiting .camp-name{color:var(--red)}.camp p{font-size:10px;margin:8px 0 0;color:var(--muted)}.initiative-card{margin-bottom:0}.initiative-scores{display:grid;grid-template-columns:1fr 50px 1fr;align-items:center;text-align:center}.initiative-scores>div{display:flex;flex-direction:column;gap:8px}.initiative-scores span{font-size:12px;color:var(--muted)}.initiative-scores strong{font:43px Georgia;color:var(--wine);font-variant-numeric:tabular-nums}.initiative-scores small{font-size:10px;color:var(--muted)}.initiative-scores .versus{font:28px Georgia;color:var(--gold)}.reveal{margin-top:20px;padding:16px;text-align:center;background:#f0e7d5;border:1px solid #e0cfae;border-radius:6px;color:#846127;font:20px/1.45 Georgia}.reveal.suspense{animation:breathe 1s infinite alternate}.reveal.celebrate{animation:celebrate .8s ease-out}.own-initiative{background:#f0eee5;color:#74603a;border-radius:5px;padding:12px;font-size:12px;margin:20px 0 0}.form-divider{height:1px;background:var(--line);margin-top:25px}.form-row{display:flex;gap:12px}.form-row>label{flex:1}.form-row>label:first-child{flex:2}.check{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:11px;line-height:1.6;font-weight:400}.side-card{padding:22px;margin-bottom:18px}.side-card h2{font-size:22px}.side-card>p:not(.eyebrow):not(.hint){font-size:12px;line-height:1.7;color:var(--muted)}.side-card .section-heading{margin-bottom:16px}.members{display:grid;gap:2px}.member{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;border-bottom:1px solid #eee7dc}.member:last-child{border:0}.member-name{font-size:12px;overflow-wrap:anywhere}.member-name small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.member .member-mark{font-size:12px;color:var(--green)}.member-actions{display:flex;align-items:center;gap:3px}.member-actions button{border:1px solid var(--line);background:#f8f3e9;padding:6px 7px;border-radius:4px;font-size:10px;color:#76664f}.member-actions button[data-remove]{color:var(--red)}.journal{max-height:310px;overflow-y:auto;padding-right:3px}.journal-entry{padding:12px 0;border-bottom:1px solid #eee7df;font-size:11px;line-height:1.6}.journal-entry small{color:#a39587;display:block;font-size:9px;margin-bottom:3px}.journal-entry.expense{color:var(--wine)}.journal-entry.undone{text-decoration:line-through;color:var(--muted)}.journal-entry button{font-size:9px;border:0;background:none;text-decoration:underline;color:var(--muted);padding:5px 0;display:block}.compact-form{display:flex;align-items:end;gap:10px;margin-bottom:18px}.compact-form>label{flex:1}.compact-form input{max-width:95px}.monster-row{padding:15px 0;border-top:1px solid var(--line)}.monster-row h3{font:16px Georgia;margin-bottom:12px}.monster-row .form-row label{flex:1;font-size:10px}.monster-row input{padding:8px}.monster-row .check{margin-top:9px}.monster-row button{margin-top:8px}.monster-result{font-size:12px;color:var(--green);line-height:1.6}.button-row{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap}.notice{padding:13px 18px;background:#f1e8d5;border:1px solid #dfd0af;border-radius:6px;color:#806338;font-size:12px;line-height:1.6;margin:0 0 18px}.notice.error{background:#f8e8e7;color:#8d3c37;border-color:#edcbc6}.loading{text-align:center;padding:80px;color:var(--muted)}footer{display:flex;justify-content:space-between;color:#a69a8c;font-size:9px;gap:20px;margin:30px 0 8px}dialog{border:1px solid var(--line);border-radius:12px;padding:26px;max-width:580px;width:calc(100% - 32px);background:var(--card);color:var(--ink);box-shadow:0 30px 90px #2d151233}dialog::backdrop{background:#28232188;backdrop-filter:blur(4px)}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.modal-heading h2{margin:0}#modal-body{font-size:13px;line-height:1.75}#modal-body label{margin-top:20px}#modal-body input{font-size:11px}#modal-actions{justify-content:flex-end}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#3b3130;color:#fff7ec;border:1px solid #76654f;box-shadow:0 5px 25px #22100a33;max-width:90vw;padding:15px 24px;border-radius:7px;font-size:13px;z-index:20;pointer-events:none}#toast.error{background:#8c333d}.home{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;max-width:1050px;margin:70px auto 60px}.intro h1{font-size:64px;margin-bottom:25px}.intro>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.9}.intro-emblem{font:100px Georgia;color:var(--gold);margin:35px 0}.pills{display:flex;gap:8px;flex-wrap:wrap}.pills span{font-size:10px;border:1px solid var(--line);padding:8px 10px;border-radius:20px;color:#8e7e68}.create-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:34px;box-shadow:var(--shadow)}.create-card>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.8}.create-card form{margin-top:25px}.recent{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;display:flex;gap:10px;flex-wrap:wrap}.recent h2{font-size:20px;width:100%;margin:0}.recent a{font-size:12px;color:var(--wine);padding:10px 15px;background:var(--card);border:1px solid var(--line);border-radius:5px;text-decoration:none}.form-error{color:var(--red)}@keyframes breathe{to{background:#e6d3ae}}@keyframes celebrate{0%{transform:scale(.96);box-shadow:0 0 0 0 #c6a65d66}65%{transform:scale(1.02);box-shadow:0 0 0 14px #c6a65d00}100%{transform:scale(1)}}@media(min-width:1500px){main{padding-top:42px}.timer{font-size:124px}}@media(max-width:1050px){main{padding:28px 22px}.battle-grid{grid-template-columns:minmax(0,1fr) 280px;gap:16px}.resources{gap:12px}.resource-card{padding:18px 15px}.resource-heading{align-items:start;flex-direction:column}.coins{gap:7px}.coin{width:29px;height:29px}.timer{font-size:96px}.home{gap:35px}.intro h1{font-size:50px}}@media(max-width:800px){.battle-grid{grid-template-columns:1fr}.battle-aside{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.side-card{margin:0}.journal-card{grid-column:1/-1}.table-heading{align-items:start}.heading-actions{flex-wrap:wrap;justify-content:flex-end}.table-heading h1{font-size:29px}.topbar{height:78px;padding:0 20px}.brand{font-size:20px}.brand small{font-size:7px}.top-actions{gap:8px}.connection{font-size:10px}.home{margin-top:35px;gap:25px}.intro h1{font-size:40px}.intro-emblem{margin:20px 0}.create-card{padding:24px}.timer{font-size:100px}.resource-heading{flex-direction:row;align-items:center}}@media(max-width:540px){main{padding:24px 14px 12px}.brand{font-size:17px;gap:8px}.brand em{font-size:10px}.sigil{font-size:34px}.brand small{letter-spacing:1.3px;font-size:6px}.connection{max-width:90px}.topbar{padding:0 14px}.table-heading{display:block}.heading-actions{justify-content:flex-start;margin-top:18px;gap:10px}.table-heading h1{font-size:29px}.heading-actions .quiet{margin-left:auto}.timer-card{padding:20px 16px 17px}.timer-top .eyebrow{font-size:8px;letter-spacing:1.2px}.timer{font-size:83px}.resources{gap:10px;margin-top:14px}.resource-card{padding:17px 12px}.resource-heading{align-items:start;flex-direction:column;gap:5px}.resource-heading h2{font-size:23px}.resource-heading strong{font-size:22px}.coins{gap:6px;margin:18px 0;min-height:25px}.coin{height:26px;width:26px;font-size:15px}.spend{font-size:10px;padding:9px 7px;min-height:44px}.turn-card,.initiative-card{padding:20px 16px;margin-top:14px}.camp{padding:0 9px 9px}.rounds{gap:6px}.rounds span{font-size:9px;padding:6px 8px}.camp-name{font-size:26px}.section-heading>span{font-size:9px;text-align:right}.battle-aside{grid-template-columns:1fr;gap:14px}.journal-card{grid-column:auto}.side-card{padding:21px}.home{display:block;margin:10px auto 30px}.intro h1{font-size:45px}.intro>p:not(.eyebrow){font-size:13px}.intro-emblem{display:none}.pills{margin:24px 0}.create-card{padding:24px}.recent{margin-top:25px}.recent h2{margin-bottom:12px}.recent a{display:block;margin-bottom:8px}.form-row{flex-wrap:wrap}.form-row>label:first-child{flex-basis:100%}.monster-row .form-row>label:first-child{flex-basis:0}.timer-controls .primary{width:100%}.under-note{line-height:1.6;margin:10px 0 15px}footer{font-size:8px;line-height:1.7}footer span:last-child{display:none}.initiative-scores strong{font-size:36px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* 1.1 — Une table plus lisible, des repères plus présents. */
:root {
  --paper: #f2eee7;
  --card: #fffdf8;
  --ink: #30282a;
  --muted: #70665f;
  --line: #ddd4c7;
  --wine: #793444;
  --gold: #976c30;
  --green: #34634a;
  --red: #9a4550;
  --shadow: 0 5px 24px #3e282009;
}
body { background: radial-gradient(ellipse at 10% 0, #f8f1e4, transparent 55%), var(--paper); }
main { max-width: 1450px; }
.topbar { background: #fffcf6ed; border-bottom-color: #d9cbb6; }
.eyebrow { font-size: 11px; letter-spacing: 1.8px; }
.connection { font-size: 13px; }
.badge { font-size: 12px; letter-spacing: .2px; }
.table-heading h1 { font-size: 36px; overflow-wrap: anywhere; }
.heading-actions { flex-shrink: 0; }
.battle-grid { grid-template-columns: minmax(0,1fr) 340px; gap: 24px; }
.primary, .secondary, .spend { font-size: 14px; min-height: 46px; padding: 12px 18px; border-radius: 8px; }
.quiet, .danger-link { font-size: 13px; }
label { font-size: 14px; }
.hint { font-size: 13px; line-height: 1.7; }
.check { font-size: 13px; }
.notice { font-size: 14px; }
button:disabled { opacity: .55; }
.timer-card, .resource-card, .turn-card, .initiative-card, .side-card { border-radius: 14px; }
.timer-card {
  background: radial-gradient(ellipse at 50% -25%, #79504c88, transparent 65%), linear-gradient(125deg, #39262f, #271e28);
  border: 1px solid #604347; box-shadow: 0 12px 30px #321c2520; padding: 25px 30px 22px;
  color: #fff3e3;
}
.timer-top { gap: 18px; position: relative; z-index: 1; }
.phase-label { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; font-size: 20px; font-weight: 500; color: #f7e9d6; text-align: left; line-height: 1.4; }
.phase-label > span { display: inline-flex; gap: 6px; align-items: center; }
.phase-label > span + span:before { content: '·'; color: #b7907a; margin-right: 4px; }
.phase-label b { font-weight: 750; }
.phase-label .phase-camp { color: #f3d38e; font-weight: 750; }
.timer-top .badge { color: #e1c6a8; border-color: #8d6c5e; background: #f7dfb909; font-size: 11px; }
.timer { color: #fff1d4; text-shadow: 0 3px 35px #edc78518; font-size: 112px; margin: 15px 0 4px; letter-spacing: 3px; }
.timer span { color: #c49b78; }
.timer-card > p { color: #d7c7bd; font-size: 15px; line-height: 1.6; margin-bottom: 20px; }
.timer-track { height: 5px; background: #6c515655; border-radius: 5px; }
.timer-track > div { background: linear-gradient(90deg, #aa8055, #edcf93); border-radius: 5px; }
.timer-controls { margin-top: 20px; }
.timer-controls .primary { background: #efd4a1; color: #3d2631; border-color: #efd4a1; }
.timer-controls .primary:hover:not(:disabled) { background: #ffe8be; }
.timer-controls .secondary { color: #ffe6c6; border-color: #9d7b6d; background: #fff1dc08; }
.timer-controls .secondary:hover:not(:disabled) { background: #fff1dc18; }
.timer-controls .quiet { color: #ddc6b7; }
.round-message { color: #ffe5af; font-size: 16px; line-height: 1.6; padding-top: 17px; }
.timer-card.urgent .timer { color: #ffc4ad; }
.timer-card.urgent .timer-track > div { background: #efa17f; }
.timer-card[data-phase="paused"] .timer { color: #d1bdb0; }
.resources { gap: 18px; margin-top: 21px; }
.resource-card { padding: 22px 22px 19px; border-top: 3px solid #a55f6b; }
.resource-card.bonus { border-top-color: #bc965a; }
.resource-heading h2 { font-size: 29px; }
.resource-heading p { font-size: 13px; }
.resource-heading strong { font-size: 31px; }
.total-count { font-size: 13px; }
.resource-icon { font-size: 25px; }
.coins { gap: 11px; margin: 23px 0; min-height: 37px; }
.coin { width: 37px; height: 37px; font-size: 20px; border-color: #b17f69; background: radial-gradient(circle at 30% 25%, #fff9e7, #e7c998); box-shadow: inset 0 0 0 4px #fff9ebaa, 0 2px 4px #a4804820; }
.coin.used { transform: scale(.86); opacity: .75; }
.coins button:disabled:not(.used) { opacity: .8; }
.spend { font-size: 13px; }
.spend:disabled { opacity: .7; }
.under-note { font-size: 14px; line-height: 1.65; margin: 15px 10px 23px; color: #655a50; }
.turn-card, .initiative-card { padding: 25px 28px; }
.section-heading { margin-bottom: 22px; }
.section-heading h2 { font-size: 29px; }
.section-heading > span { font-size: 13px; }
#turn-number { display: inline-grid; place-items: center; margin-left: 5px; background: #ede3d5; color: #794b37; font-size: 25px; min-width: 38px; height: 38px; border-radius: 8px; }
.camps { gap: 16px; }
.camp { padding: 20px 14px 18px; border: 1px solid #e7dfd2; background: #f7f3ec; border-radius: 10px; }
.camp + .camp { border-left: 1px solid #e7dfd2; }
.camp.active { background: linear-gradient(150deg, #edf3e8, #f8fbf3); border-color: #b3c9ac; box-shadow: inset 0 3px 0 #548363; }
.camp.waiting { background: #fcf5f2; border-color: #e4ccca; }
.rounds { gap: 10px; margin-bottom: 17px; }
.rounds span { font-size: 14px; padding: 9px 14px; color: #837569; background: #fffdf8; font-weight: 500; }
.rounds span.current { color: #24573a; background: #dcebd4; border-color: #9cbe8f; font-weight: 750; }
.rounds span.waiting { color: #94424a; background: #f7e5e3; }
.rounds span.done { color: #918778; background: #eae5dc; }
.camp-name { font-size: 32px; }
.camp p { font-size: 13px; margin-top: 9px; }
.camp.active p { color: #4a6a50; }
.camp-dot { height: 8px; width: 8px; }
.initiative-heading { align-items: center; }
.initiative-heading-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px; }
#initiative-status { font-size: 13px; color: var(--muted); }
.initiative-toggle { display: inline-flex; align-items: center; gap: 9px; min-height: 40px; padding: 8px 12px; border: 1px solid #d7c7b4; background: #f7f0e4; border-radius: 7px; color: #6f5034; font-size: 13px; font-weight: 600; }
.initiative-toggle:hover { background: #eee1ca; }
.initiative-toggle span { font-size: 18px; }
.initiative-scores { padding: 10px 0 4px; }
.initiative-scores span { font-size: 16px; color: #62554e; }
.initiative-scores strong { font-size: 48px; }
.initiative-scores small { font-size: 13px; }
.reveal { padding: 18px; font-size: 23px; line-height: 1.5; }
.own-initiative { font-size: 14px; padding: 14px 16px; }
.initiative-card.collapsed { background: #fbf7ee; padding: 20px 26px; }
.initiative-card.collapsed .section-heading { margin-bottom: 16px; }
.initiative-card.collapsed #initiative-status { display: none; }
.initiative-card.collapsed .section-heading h2 { font-size: 25px; }
.initiative-summary { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.initiative-summary > div { display: flex; gap: 10px; align-items: baseline; }
.initiative-summary > div > span { font-size: 14px; color: #6e6155; }
.initiative-summary strong { font: 26px Georgia,serif; color: var(--wine); font-variant-numeric: tabular-nums; }
.summary-separator { color: #b1905e; font-size: 17px; }
.initiative-summary p { font-size: 12px; line-height: 1.6; padding: 5px 10px; background: #efe7d7; border-radius: 5px; margin: 0 0 0 auto; color: #7c603a; }
.side-card { padding: 23px; }
.side-card h2 { font-size: 24px; }
.side-card > p:not(.eyebrow):not(.hint) { font-size: 14px; }
.side-card .section-heading > span { font-size: 13px; }
.member-name { font-size: 15px; }
.member-name small { font-size: 12px; line-height: 1.5; }
.member-actions button { font-size: 12px; min-width: 30px; min-height: 30px; }
.member .member-mark { font-size: 16px; }
.monster-row h3 { font-size: 19px; }
.monster-row .form-row label { font-size: 13px; }
.monster-result { font-size: 14px; }
.journal { max-height: 390px; scrollbar-width: thin; scrollbar-color: #b9a68c transparent; overflow-anchor: none; }
.journal-entry { position: relative; padding: 15px 3px 15px 18px; font-size: 14px; line-height: 1.65; border-bottom: 1px solid #eae1d4; border-left: 1px solid #e2d5c1; margin-left: 5px; }
.journal-entry:before { content: ''; position: absolute; top: 21px; left: -4px; width: 7px; height: 7px; border-radius: 50%; background: #c7b69c; box-shadow: 0 0 0 3px var(--card); }
.journal-entry.round:before { background: #7a9776; }
.journal-entry.expense:before { background: #a76b75; }
.journal-entry small { font-size: 11px; color: #82725f; }
.journal-entry button { font-size: 12px; padding-top: 8px; }
.journal-entry:last-child { border-bottom: 0; }
.journal-entry.undone { text-decoration: none; }
.journal-entry.undone .event-text { text-decoration: line-through; }
#toast { font-size: 14px; line-height: 1.6; }
#modal-body { font-size: 15px; }
#modal-body input { font-size: 13px; }
footer { font-size: 11px; }
.create-card > p:not(.eyebrow) { font-size: 14px; }
.pills span, .recent a { font-size: 12px; }
@media (max-width:1100px) {
  .battle-grid { grid-template-columns: minmax(0,1fr) 310px; gap: 18px; }
  .phase-label { font-size: 18px; gap: 8px; }
  .timer-card { padding: 23px; }
  .timer-top { align-items: flex-start; }
  .timer-top .badge { font-size: 10px; }
  .resource-card { padding: 19px 17px; }
  .resource-heading { flex-direction: column; align-items: flex-start; gap: 5px; }
  .turn-card, .initiative-card { padding: 23px; }
  .camps { gap: 12px; }
  .camp { padding: 18px 9px; }
  .rounds { gap: 6px; }
  .rounds span { font-size: 13px; padding: 8px 10px; }
  .initiative-summary p { margin-left: 0; }
}
@media (max-width:800px) {
  .battle-grid { grid-template-columns: 1fr; }
  .battle-aside { grid-template-columns: 1fr 1fr; }
  .table-heading h1 { font-size: 32px; }
  .phase-label { font-size: 20px; }
  .resource-heading { flex-direction: row; align-items: center; }
  .rounds span { font-size: 14px; padding: 9px 14px; }
  .top-actions { gap: 8px; }
  .connection { font-size: 12px; }
}
@media (max-width:540px) {
  main { padding: 24px 14px 12px; }
  .battle-aside { grid-template-columns: 1fr; }
  .table-heading h1 { font-size: 30px; }
  .heading-actions { gap: 8px; }
  .heading-actions .secondary { font-size: 13px; padding: 10px 12px; }
  .connection { font-size: 11px; }
  .eyebrow { font-size: 10px; }
  .timer-card { padding: 20px 18px; }
  .timer-top { flex-direction: column; align-items: center; gap: 10px; }
  .phase-label { font-size: 18px; justify-content: center; gap: 8px; }
  .timer-top .badge { font-size: 10px; padding: 4px 8px; }
  .timer { font-size: 86px; margin-top: 12px; }
  .timer-card > p { font-size: 14px; }
  .timer-controls .quiet { min-height: 42px; }
  .round-message { font-size: 14px; }
  .resources { gap: 10px; margin-top: 15px; }
  .resource-card { padding: 17px 12px; }
  .resource-heading { flex-direction: column; align-items: flex-start; gap: 5px; }
  .resource-heading h2 { font-size: 26px; }
  .resource-heading strong { font-size: 27px; }
  .resource-heading p, .total-count { font-size: 12px; }
  .resource-icon { font-size: 22px; }
  .coins { gap: 7px; margin: 18px 0; min-height: 29px; }
  .coin { height: 29px; width: 29px; font-size: 17px; }
  .spend { font-size: 12px; line-height: 1.5; padding: 10px 8px; min-height: 54px; }
  .under-note { font-size: 13px; margin: 13px 4px 19px; }
  .turn-card, .initiative-card { padding: 21px 16px; }
  .section-heading h2 { font-size: 27px; }
  .section-heading > span { font-size: 12px; max-width: 115px; line-height: 1.5; }
  .camps { gap: 10px; }
  .camp { padding: 17px 8px; }
  .rounds { flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
  .rounds span { font-size: 12px; padding: 7px 8px; }
  .camp-name { font-size: 29px; }
  .camp p { font-size: 12px; line-height: 1.5; }
  .initiative-heading { gap: 12px; align-items: flex-start; }
  .initiative-heading-actions { gap: 8px; }
  #initiative-status { font-size: 12px; text-align: right; }
  .initiative-toggle { font-size: 12px; padding: 7px 10px; gap: 6px; }
  .initiative-scores strong { font-size: 42px; }
  .initiative-scores span { font-size: 15px; }
  .initiative-scores small { font-size: 12px; line-height: 1.6; }
  .reveal { font-size: 20px; padding: 15px; }
  .initiative-card.collapsed { padding: 19px 16px; }
  .initiative-card.collapsed .section-heading h2 { font-size: 25px; }
  .initiative-summary { gap: 10px; }
  .initiative-summary > div { gap: 7px; }
  .initiative-summary > div > span { font-size: 13px; }
  .initiative-summary strong { font-size: 24px; }
  .initiative-summary p { flex-basis: 100%; text-align: center; margin-top: 4px; }
  .side-card { padding: 22px; }
  .journal { max-height: 360px; }
  .notice { font-size: 13px; }
  footer { font-size: 10px; }
}

/* 1.2 — La conclusion d’une rencontre */
.complete-button{width:100%;border:1px solid var(--wine,#722b36);border-radius:7px;padding:12px;margin-top:18px;color:#722b36;font-weight:700;background:#f8eceb}
.complete-button:hover{background:#f0d9d7}
.completion-banner{border:1px solid #b89253;border-radius:14px;background:linear-gradient(115deg,#faf1dc,#fffaf0);padding:28px 30px;margin:0 0 24px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.completion-banner h2{font:34px Georgia,serif;margin:8px 0 12px;color:#722b36}
.completion-banner p{font-size:14px;line-height:1.6;margin:8px 0}
.completion-banner .eyebrow{font-size:11px}
#completion-deadline{font-weight:650;color:#634b29}
.completion-actions{display:flex;flex-direction:column;gap:10px;flex-shrink:0}
.completion-actions a{text-decoration:none;text-align:center}
.victory-dialog{position:fixed;padding:0;border:1px solid #b59661;background:radial-gradient(ellipse at top,#59404b,#241d2b 85%);color:#fff1d3;width:min(660px,94vw);max-height:90vh;overflow:auto;border-radius:20px;box-shadow:0 30px 100px #140d20aa}
.victory-dialog::backdrop{background:#16101cdc;backdrop-filter:blur(7px)}
.victory-content{position:relative;text-align:center;padding:42px 38px;overflow:hidden}
.victory-content .eyebrow{color:#ebca89;font-size:11px}
.victory-emblem{font-size:92px;color:#f3d28c;line-height:1.3;filter:drop-shadow(0 0 24px #e9b56388);animation:victory-arrive 1s ease-out both}
.victory-content h2{font:clamp(30px,5vw,44px)/1.15 Georgia,serif;color:#fff1d3;margin:12px 0 18px;animation:victory-arrive .8s .2s ease-out both}
.victory-content>p:not(.eyebrow){font-size:17px;line-height:1.7;color:#eadbce}
.victory-content .victory-expiration{font-size:14px!important;border-top:1px solid #c9ad7850;padding-top:18px;margin-top:25px;color:#d2bea7}
.victory-buttons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}
.victory-buttons .primary{background:#f0d29a;color:#30232c;border-color:#f0d29a}
.victory-buttons .secondary{color:#f4dfb4;border-color:#b39773;background:#ffffff08}
.victory-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit}
.victory-particles i{position:absolute;top:-20px;left:calc(var(--i) * 4.3%);width:7px;height:13px;background:#ebc879;animation:victory-fall 3.6s calc(var(--i) * .075s) ease-in both;opacity:0}
.victory-particles i:nth-child(3n){background:#bf8191;width:5px;height:5px;border-radius:50%}
.victory-particles i:nth-child(3n + 1){background:#ffefd0}
@keyframes victory-fall{0%{opacity:0;transform:translateY(-10px) rotate(0)}12%{opacity:.9}90%{opacity:.7}100%{opacity:0;transform:translateY(650px) rotate(420deg)}}
@keyframes victory-arrive{from{opacity:0;transform:translateY(20px) scale(.85)}to{opacity:1;transform:none}}
.timer-card[data-phase="completed"]{opacity:.8}
@media(max-width:800px){.completion-banner{flex-direction:column;align-items:stretch;padding:22px}.completion-banner h2{font-size:29px}.completion-actions{flex-direction:row;flex-wrap:wrap}.victory-content{padding:30px 22px}.victory-content>p:not(.eyebrow){font-size:15px}}
@media(prefers-reduced-motion:reduce){.victory-particles{display:none}.victory-content h2,.victory-emblem{animation:none}}
/* 1.3 — Groupe, adversaires et ambiance locale */
.audio-settings{position:relative;z-index:30;font-size:13px}
.audio-settings summary{list-style:none;cursor:pointer;border:1px solid #d4c5b4;border-radius:7px;padding:9px 12px;white-space:nowrap;color:#674732;background:#fffaf3}
.audio-settings summary::-webkit-details-marker{display:none}
.audio-settings[open] summary{background:#eee1ce}
.audio-panel{position:absolute;right:0;top:calc(100% + 12px);width:310px;max-width:calc(100vw - 24px);border:1px solid #d2bda0;background:#fffaf3;border-radius:13px;padding:21px;box-shadow:0 15px 45px #30232435;color:#4c3d36}
.audio-panel h2{font:23px Georgia,serif;margin:0 0 8px}
.audio-panel p{font-size:12px;line-height:1.5;margin:8px 0 16px}
.audio-panel label{font-size:13px;display:flex;justify-content:space-between;gap:12px;margin-top:15px}
.audio-panel output{font-variant-numeric:tabular-nums;color:#8b5737}
.audio-panel input[type=range]{width:100%;padding:0;height:28px;border:0;box-shadow:none;accent-color:#7c3445;cursor:pointer}
.audio-buttons{display:flex;align-items:center;gap:8px;margin-top:12px}
.audio-buttons button{font-size:12px}
#audio-help{margin:14px 0 0;color:#7d6d5c}
.raid-card,.foes-card{border:1px solid #dfd1be;background:#fffcf6;border-radius:14px;padding:25px 28px;box-shadow:0 8px 24px #302d2410}
.raid-card .section-heading,.foes-card .section-heading{margin-bottom:13px}
.raid-card .eyebrow,.foes-card .eyebrow{margin:0 0 7px;font-size:10px}
.raid-card h2,.foes-card h2{margin:0;font:29px Georgia,serif}
.raid-help{font-size:13px;line-height:1.55;color:#83715d;margin:0 0 18px}
.raid-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.raid-member{display:grid;grid-template-columns:43px minmax(0,1fr);gap:11px;padding:16px;border:1px solid #ddcdb5;border-radius:10px;background:linear-gradient(115deg,#f9f1e3,#fffaf1);position:relative;overflow:hidden}
.raid-member::before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:#bb975c}
.raid-member.has-acted{background:#f1f4ee;border-color:#cad7c1}.raid-member.has-acted::before{background:#639070}
.raid-avatar{width:43px;height:43px;display:grid;place-items:center;border:1px solid #c6a16b;border-radius:11px;background:linear-gradient(140deg,#564047,#342735);color:#f4dcaa;font:25px Georgia,serif;box-shadow:inset 0 0 0 3px #ffffff0b}
.raid-identity{align-self:center;min-width:0}
.raid-identity h3{font-size:16px;margin:0 0 5px;overflow-wrap:anywhere;font-weight:650}
.raid-identity h3 small{font-size:10px;font-weight:400;margin-left:8px;color:#887458}
.raid-identity p{margin:0;font-size:12px;color:#936c30}
.has-acted .raid-identity p{color:#527057}
.raid-stats{grid-column:1/-1;display:flex;gap:9px;font-size:12px}
.raid-stats>span{display:flex;align-items:center;gap:8px;border:1px solid #dcc7be;background:#fffaf5;border-radius:6px;padding:6px 12px;flex:1}
.raid-stats b{font-size:22px;font-weight:500;font-variant-numeric:tabular-nums;color:#7c3445}
.raid-stats .raid-bonus{border-color:#ddcda5}.raid-stats .raid-bonus b{color:#997335}
.raid-unassigned{font-size:12px;line-height:1.6;background:#f2e9dc;border-radius:7px;padding:11px 14px;margin:15px 0 0;color:#79634a}
.foes-card{background:#fbf8f3}
.foes-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.foe-token{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px;border:1px solid #d6c6ba;border-radius:9px;background:#fffcf8;border-left:3px solid #977457;min-width:0}
.foe-avatar{height:35px;width:35px;display:grid;place-items:center;background:#eee2d5;color:#865e46;border-radius:50%;font-size:22px;flex-shrink:0}
.foe-identity{min-width:0;flex:1}.foe-identity h3{font-size:15px;font-weight:600;margin:0 0 5px;overflow-wrap:anywhere}.foe-identity>span{font-size:12px;color:#7c674f}
.foe-token.dead{background:#eeeae5;border-color:#d5d1ca}.dead .foe-identity h3{text-decoration:line-through;color:#8c867e}.dead .foe-avatar{background:#e0dcd5;color:#999085}.dead .foe-identity>span{color:#928575}
.foe-controls{display:flex;justify-content:flex-end;gap:7px;flex-basis:100%;padding-top:4px}.foe-controls button{font-size:11px;padding:7px 10px;min-height:34px}
.reinforcement-form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px;border-top:1px solid #e1d4c3;padding-top:18px}.reinforcement-form label{flex:1;min-width:160px;font-size:13px}.reinforcement-form input{margin-top:7px}.reinforcement-form .optional{color:#a08f7b;font-size:11px;font-weight:400;margin-left:5px}.reinforcement-form button{min-height:44px}.reinforcement-form p{flex-basis:100%;font-size:12px;line-height:1.5;color:#87755e;margin:0}
#foes-help{margin:14px 0 0;font-size:12px}
@media(max-width:1100px){.raid-card,.foes-card{padding:22px}.raid-member{padding:13px;gap:9px}.raid-stats>span{padding:6px 9px}}
@media(max-width:700px){.topbar{height:auto;min-height:76px;gap:12px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}.top-actions{flex-wrap:wrap;gap:10px;justify-content:flex-end}.audio-panel{position:fixed;top:90px;right:12px}.raid-card,.foes-card{padding:20px}.raid-members,.foes-list{grid-template-columns:1fr}.raid-member{grid-template-columns:43px minmax(0,1fr);padding:15px}.raid-stats>span{padding:6px 14px}.raid-card h2,.foes-card h2{font-size:26px}.reinforcement-form button{width:100%}}

/* 1.3 — Lisibilité, préférences locales et contraste de nuit */
.raid-card,.foes-card{margin-bottom:22px}
.theme-toggle{font-size:12px;white-space:nowrap;min-height:40px}
.audio-panel{max-height:calc(100dvh - 115px);overflow:auto}
.audio-panel label{flex-direction:row;justify-content:space-between;align-items:center}
.audio-panel select{font-size:13px;margin-bottom:12px}
#music-test{width:100%;margin:0 0 12px;font-size:12px}
.raid-stats>span{flex-wrap:wrap;gap:6px;padding:10px;min-width:0}
.raid-stats i{font-style:normal;font-size:23px;color:var(--wine)}
.raid-stats .raid-bonus i{color:var(--gold)}
.raid-stats>span>span{font-size:13px;line-height:1.3}
.raid-stats small{display:block;font-size:10px;color:#75675b;margin-top:3px}
.raid-stats .is-zero{border-style:dashed;background:#fbf1dd}
.raid-stats .is-zero small{font-weight:650;color:#835f28}
html[data-theme="dark"]{color-scheme:dark;--paper:#17191e;--card:#22252c;--ink:#f1e9de;--muted:#b6b2af;--line:#41434a;--wine:#edacb9;--wine-light:#392933;--gold:#d7b47a;--green:#a6d5ac;--red:#f0a8ac;--shadow:0 8px 28px #00000025}
html[data-theme="dark"] body{background:radial-gradient(ellipse at 10% 0,#2c2630,transparent 55%),var(--paper)}
html[data-theme="dark"] .topbar{background:#1e2026;border-color:var(--line)}
html[data-theme="dark"] :is(label,.badge,.under-note,.initiative-scores span,.initiative-summary>div>span,.pills span,footer){color:var(--muted)}
html[data-theme="dark"] input:not([type=checkbox]),html[data-theme="dark"] select{background:#191c22;border-color:#575259;color:var(--ink)}
html[data-theme="dark"] input[type=checkbox]{accent-color:#b85d74}
html[data-theme="dark"] .primary{background:#873a53;border-color:#b56d80;color:#fff4e8}
html[data-theme="dark"] .primary:hover:not(:disabled){background:#9a4561}
html[data-theme="dark"] :is(.secondary,.initiative-toggle,.member-actions button){color:#ead6b7;border-color:#776650;background:#302c29}
html[data-theme="dark"] :is(.secondary,.initiative-toggle,.member-actions button):hover:not(:disabled){background:#42382d}
html[data-theme="dark"] .icon-button:hover{background:#38353c}
html[data-theme="dark"] .spend{background:#392a35;border-color:#745363;color:#f0b9c8}
html[data-theme="dark"] .spend:hover:not(:disabled){background:#503341}
html[data-theme="dark"] .bonus .spend{background:#393225;border-color:#756548;color:#edd3a0}
html[data-theme="dark"] .coin{background:radial-gradient(circle at 30% 25%,#795543,#433039);color:#ffe5be;border-color:#b28c6b;box-shadow:inset 0 0 0 4px #e6c79919}
html[data-theme="dark"] .coin.used{background:#303138;border-color:#515059;color:#7e7d87;box-shadow:none}
html[data-theme="dark"] #turn-number{background:#43372e;color:#efd1a3}
html[data-theme="dark"] .camp{background:#292b32;border-color:#45474e}
html[data-theme="dark"] .camp.active{background:linear-gradient(150deg,#293c33,#26312d);border-color:#60816a}
html[data-theme="dark"] .camp.waiting{background:#392b30;border-color:#80555e}
html[data-theme="dark"] .camp-name{color:#b9b0aa}
html[data-theme="dark"] .camp.active .camp-name,html[data-theme="dark"] .camp.active p{color:#b5e2bb}
html[data-theme="dark"] .camp.waiting .camp-name{color:#f0adb4}
html[data-theme="dark"] .rounds span{background:#22252b;color:#c1b8ad;border-color:#605b56}
html[data-theme="dark"] .rounds span.current{background:#365a41;color:#e1f5d9;border-color:#83af87}
html[data-theme="dark"] .rounds span.waiting{background:#56333b;color:#ffd0d4;border-color:#996b73}
html[data-theme="dark"] .rounds span.done{background:#303138;color:#aea59d}
html[data-theme="dark"] :is(.initiative-card.collapsed,.raid-card,.foes-card){background:var(--card);border-color:var(--line)}
html[data-theme="dark"] :is(.reveal,.own-initiative,.initiative-summary p,.raid-unassigned){background:#3b3329;color:#e5c593;border-color:#756140}
html[data-theme="dark"] .reveal{animation:none}
html[data-theme="dark"] .journal-entry small{color:#b9aa98}
html[data-theme="dark"] .notice{background:#383225;border-color:#77633f;color:#f0d3a1}
html[data-theme="dark"] .notice.error{background:#442930;color:#ffc1c1;border-color:#875360}
html[data-theme="dark"] .complete-button{background:#3e2a34;color:#f5b8c6;border-color:#a66a7c}
html[data-theme="dark"] .complete-button:hover{background:#50313f}
html[data-theme="dark"] .completion-banner{background:linear-gradient(115deg,#393025,#28262a);border-color:#8a724e}
html[data-theme="dark"] .completion-banner h2{color:#edb9c2}
html[data-theme="dark"] #completion-deadline{color:#edd4b2}
html[data-theme="dark"] :is(.audio-settings summary,.audio-panel){background:#272930;color:var(--ink);border-color:#71644f}
html[data-theme="dark"] .audio-settings[open] summary{background:#3a3330}
html[data-theme="dark"] .audio-panel output{color:#eac793}
html[data-theme="dark"] :is(#audio-help,.raid-help,.reinforcement-form p,.reinforcement-form .optional,.raid-identity h3 small){color:#c3b6a4}
html[data-theme="dark"] .raid-member{background:linear-gradient(115deg,#373127,#2c2a2b);border-color:#8a7655}
html[data-theme="dark"] .raid-member.has-acted{background:#29342d;border-color:#5d7865}
html[data-theme="dark"] .raid-identity p{color:#e0c28f}
html[data-theme="dark"] .has-acted .raid-identity p{color:#b4d5b8}
html[data-theme="dark"] .raid-stats>span{background:#2b2930;border-color:#775e68}
html[data-theme="dark"] .raid-stats b{color:#f1b7c6}
html[data-theme="dark"] .raid-stats .raid-bonus b{color:#ead09d}
html[data-theme="dark"] .raid-stats .raid-bonus{border-color:#796844}
html[data-theme="dark"] .raid-stats small{color:#cbbfb4}
html[data-theme="dark"] .raid-stats .is-zero{background:#3e3529;border-color:#ab8d57}
html[data-theme="dark"] .raid-stats .is-zero small{color:#f0d4a2}
html[data-theme="dark"] .foe-token{background:#2b2b30;border-color:#786654}
html[data-theme="dark"] .foe-avatar{background:#463b34;color:#efd1ac}
html[data-theme="dark"] .foe-identity>span{color:#d4bca0}
html[data-theme="dark"] .foe-token.dead{background:#26282e;border-color:#50525b}
html[data-theme="dark"] .dead .foe-avatar{background:#383a42;color:#b9b2aa}
html[data-theme="dark"] .dead .foe-identity :is(h3,span){color:#b6b2af}
html[data-theme="dark"] .reinforcement-form{border-color:var(--line)}
/* Keep the timer and victory modal's deliberately contrasting controls. */
html[data-theme="dark"] :is(.timer-controls,.victory-buttons) .primary{background:#efd4a1;color:#3d2631;border-color:#efd4a1}
html[data-theme="dark"] :is(.timer-controls,.victory-buttons) .primary:hover:not(:disabled){background:#ffe8be}
html[data-theme="dark"] :is(.timer-controls,.victory-buttons) .secondary{color:#ffe6c6;border-color:#9d7b6d;background:#fff1dc08}
html[data-theme="dark"] .timer-top .badge{color:#e1c6a8}
@media(max-width:700px){.top-actions{width:100%;justify-content:space-between}.theme-toggle{padding:8px 10px}.audio-panel{top:135px;max-height:calc(100dvh - 150px)}.connection{font-size:10px}.raid-stats>span{padding:9px}}

/* 1.4 — La bonne information au bon moment. */
.preparation-flow{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:18px}
.preparation-flow h2{font:28px/1.25 Georgia,serif;margin:0 0 10px}
#flow-help{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 16px;max-width:70ch}
.flow-steps{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0}
.flow-steps li{font-size:12px;padding:7px 10px;border:1px solid var(--line);border-radius:20px;color:var(--muted)}
.flow-steps li.current{color:var(--wine);background:var(--wine-light);border-color:var(--wine);font-weight:650}
.flow-steps li.done{color:var(--green)}
#join-card{border:0;background:none;box-shadow:none;padding:0;margin:0;max-width:620px}
#join-card>p{margin:0 0 16px;font-size:14px;line-height:1.6}
#join-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:0}
#join-form label{flex:1;min-width:200px;font-size:14px}
#join-form button{width:auto;min-height:46px;margin:0}
#watch-only{margin-top:12px;text-decoration:underline;font-size:13px}
#join-again{font-size:14px}
#preparation-initiative .initiative-card{padding:0;border:0;box-shadow:none;margin-top:22px;background:none}
#preparation-initiative #initiative-form{margin-top:0;padding:0 0 20px;border-bottom:1px solid var(--line)}
#preparation-initiative #initiative-form h3{display:none}
#preparation-initiative .initiative-heading{margin-bottom:16px}
#preparation-initiative .initiative-heading h2{font-size:22px}
#preparation-initiative .initiative-scores{padding:14px 0 0;margin-top:6px}
#preparation-initiative .initiative-scores strong{font-size:32px}
#preparation-initiative .initiative-scores span{font-size:14px}
#preparation-initiative #initiative-form .hint{font-size:13px;margin:8px 0 14px}
#preparation-initiative #initiative-form label{font-size:14px}
#preparation-initiative #initiative-submit{font-size:14px;min-height:46px}
.preparing .table-heading{margin-bottom:18px}
.timer-card{padding:19px 24px 17px}
.timer{font-size:86px;margin:6px 0 2px}
.timer-card>p{font-size:14px;margin-bottom:12px}
.timer-controls{margin-top:13px}
#stop-reminder{color:#f7d8a6;text-decoration:underline;font-size:13px;margin-top:8px}
.turn-card{padding:16px 20px;margin-top:14px}
.turn-card>.section-heading{margin-bottom:10px}
.turn-card h2{font-size:23px}
#turn-number{min-width:28px;height:28px;font-size:22px;border-radius:6px}
.camps{gap:12px}
.camp{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px;padding:11px 14px;text-align:left}
.camp-name{font-size:24px;justify-content:flex-start;grid-column:1;grid-row:1}
.camp p{grid-column:1;grid-row:2;margin:0;font-size:11px}
.rounds{grid-column:2;grid-row:1/3;gap:5px;margin:0;flex-wrap:wrap}
.rounds span{font-size:12px;padding:7px 8px}
.resources{margin-top:14px;gap:14px}
.resource-card{padding:17px 20px}
.coins{margin:14px 0;gap:8px}
.under-note{margin:10px 4px 16px;font-size:13px}
.raid-card,.foes-card{padding:18px 20px;margin-bottom:16px}
.raid-card .section-heading,.foes-card .section-heading{margin-bottom:12px}
.raid-card .eyebrow,.foes-card .eyebrow{display:none}
.raid-card h2,.foes-card h2{font-size:26px}
.raid-help{font-size:12px;margin-bottom:12px}
.raid-members{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:9px}
.raid-member{padding:10px 12px;grid-template-columns:30px minmax(0,1fr);gap:8px;border-radius:8px}
.raid-avatar{width:30px;height:30px;border-radius:8px;font-size:20px}
.raid-identity h3{font-size:14px;margin:0}
.raid-identity p{display:none}
.raid-stats{gap:6px}
.raid-stats>span{padding:5px 7px;gap:5px;flex-wrap:nowrap}
.raid-stats i{font-size:17px}
.raid-stats b{font-size:20px}
.raid-stats>span>span{font-size:12px}
.raid-stats small{font-size:10px;margin-top:1px}
.foes-list{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:8px}
.foe-token{padding:10px 12px;gap:8px}
.foe-avatar{height:27px;width:27px;font-size:18px}
.foe-identity h3{font-size:14px;margin-bottom:3px}
.foe-identity>span{font-size:11px}
.foe-controls{padding-top:0;gap:5px}
.foe-controls button{padding:5px 8px;min-height:30px}
.reinforcement-form{padding-top:12px;margin-top:12px;gap:8px}
#foes-help{margin-top:10px}
.journal{max-height:360px}
.journal-entry.round-start:before{background:#7a9776}
.audio-panel .audio-buttons{margin:0 0 18px}
.audio-panel label[for="music-volume"]{border-top:1px solid var(--line);padding-top:15px}
.audio-panel #audio-enable{width:100%}
.audio-panel #music-test{margin-bottom:6px}
@media(max-width:1100px){.camp{grid-template-columns:1fr;text-align:center;gap:7px}.camp-name{justify-content:center}.camp p{grid-row:3}.rounds{grid-column:1;grid-row:2;justify-content:center}.raid-members{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}
@media(max-width:700px){.table-heading .eyebrow{margin-bottom:5px}.table-heading h1{font-size:25px}.heading-actions{margin-top:10px}.table-heading{margin-bottom:16px}.preparation-flow{padding:18px}.flow-steps{gap:5px;margin-bottom:16px}.flow-steps li{font-size:11px;padding:6px 8px}.preparation-flow h2{font-size:24px}#flow-help{font-size:13px}#join-form{gap:12px}#join-form button{width:100%}.timer-card{padding:16px}.timer{font-size:76px}.timer-top .phase-label{font-size:17px}.turn-card{padding:13px 14px}.camp{padding:9px 6px}.camp-name{font-size:22px}.rounds span{font-size:12px;padding:6px 7px}.camp p{font-size:11px}.resource-card{padding:14px 12px}.raid-card,.foes-card{padding:16px}.raid-members,.foes-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.raid-member{padding:10px 12px}.raid-stats>span{padding:5px 8px}.foe-controls button{min-height:36px}.reinforcement-form button{width:auto}.preparing main{padding-top:16px}}

#preparation-initiative #initiative-form{gap:12px}
#preparation-initiative #initiative-form .hint{margin:0;font-size:12px}
#preparation-initiative .initiative-heading{margin-bottom:12px}
.battle-main{overflow-anchor:none}

@media(max-width:700px){#table.preparing:not([data-role="host"]) .heading-actions{display:none}.flow-steps{flex-wrap:nowrap}.flow-steps li{font-size:11px;white-space:nowrap;padding:6px 7px}#table.preparing .table-heading{margin-bottom:14px}}
/* 1.5 — Personnages simulés, commandes strictement réservées au MJ. */
.test-bulk,.test-spend{display:grid;gap:8px;margin:16px 0}
#test-controls>label{margin-top:16px}
#test-controls .test-bulk button,#test-controls .test-spend button{width:100%;font-size:12px}
#test-initiative-form{margin-top:14px;gap:10px}
#test-initiative-form label{font-size:12px}
#test-initiative-form input{padding:8px}
#test-player-info{min-height:22px}
#test-banner{border-style:dashed}

/* 1.5.1 — Une seule liste publique, gestion réservée au MJ. */
.party-management{border:1px solid var(--line);border-radius:8px;margin:16px 0;padding:0 12px;background:var(--card)}
.party-management summary{cursor:pointer;padding:12px 0;font-size:13px;font-weight:600;line-height:1.5}
.party-total{float:right;margin-left:8px;color:var(--muted);font-size:12px}
.party-management>.hint{margin-top:0;font-size:12px}
.party-management .members{padding-bottom:10px}
.party-management .member-name{font-size:13px}
.party-management .member-actions button{min-height:32px}

/* 1.6 — Guides Joueur / MJ. Local, keyboard-accessible, no combat controls. */
.help-open{min-height:40px;font-size:13px;padding:8px 12px}
.help-invite{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);margin:0 0 20px;padding:0 0 10px;color:var(--muted);font-size:13px}
.help-invite p{margin:0;line-height:1.6}.help-invite p button{color:var(--wine);text-decoration:underline;text-underline-offset:3px;font-weight:600;padding:4px 2px;white-space:normal;text-align:left}
.help-invite .icon-button{flex-shrink:0;min-height:40px;min-width:40px}
.help-dialog{width:min(900px,calc(100vw - 32px));max-width:none;height:min(870px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);overflow:hidden}
.help-dialog[open]{display:flex;flex-direction:column}.help-dialog::backdrop{background:rgba(13,14,19,.7);backdrop-filter:blur(3px)}
.help-header{padding:24px 28px 18px;display:flex;gap:16px;justify-content:space-between;align-items:center;flex-shrink:0}.help-header .eyebrow{margin:0 0 7px}.help-header h2{font:32px/1.15 Georgia,serif;margin:0}.help-header .icon-button{font-size:28px;min-width:44px;min-height:44px}
.help-tabs{display:flex;margin:0 28px;gap:6px;border-bottom:1px solid var(--line);flex-shrink:0}.help-tabs button{border:0;background:transparent;padding:14px 20px;flex:1;font-size:15px;font-weight:600;color:var(--muted);border-bottom:3px solid transparent;border-radius:6px 6px 0 0}.help-tabs button[aria-selected="true"]{color:var(--wine);border-bottom-color:var(--wine);background:var(--paper)}
.help-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;padding:24px 28px 28px;scrollbar-gutter:stable}.help-scroll [role="tabpanel"]{outline-offset:4px}.help-dialog p,.help-dialog li,.help-dialog dd{font-size:15px;line-height:1.7}.help-dialog p{margin:0 0 12px}.help-dialog .eyebrow{font-size:10px;line-height:1.6}.help-dialog h3{font:25px/1.3 Georgia,serif;margin:0 0 18px}.help-dialog strong{font-weight:650}.help-quick{padding:22px 24px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.help-steps{list-style:none;counter-reset:help-step;padding:0;margin:0;display:grid;gap:16px}.help-steps>li{position:relative;padding-left:42px;counter-increment:help-step}.help-steps>li:before{content:counter(help-step);position:absolute;left:0;top:0;width:28px;height:28px;border:1px solid var(--wine);color:var(--wine);border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:700}.help-steps>li>strong{font-size:16px}.help-steps p{margin:4px 0 0}.help-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 26px}.help-shortcuts button{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:8px 13px;font-size:13px;color:var(--wine);white-space:normal;min-height:40px}.help-dialog .help-details-title{font-size:21px;margin-bottom:14px}.help-topic{border:1px solid var(--line);border-radius:8px;margin-top:10px;background:var(--card)}.help-topic>summary{padding:16px 18px;cursor:pointer;line-height:1.5;font-size:15px;font-weight:600}.help-topic[open]>summary{border-bottom:1px solid var(--line);color:var(--wine)}.help-topic-body{padding:18px 22px}.help-topic-body ul{padding-left:22px;margin:0 0 16px}.help-topic-body li+li{margin-top:8px}.help-topic-body>:last-child{margin-bottom:0}.help-example{border-left:3px solid var(--gold);padding:12px 16px;background:var(--paper);font-size:15px}.help-example p{margin:5px 0 0}.help-faq{margin:0}.help-faq dt{font-size:15px;font-weight:650;margin:20px 0 5px}.help-faq dt:first-child{margin-top:0}.help-faq dd{margin:0;color:var(--muted)}
.help-figure{margin:18px 0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--paper)}.help-figure img{display:block;width:100%;height:auto}.help-figure figcaption{padding:14px 18px;border-top:1px solid var(--line)}.help-figure ol{padding-left:20px;margin:0}.help-figure figcaption li{font-size:13px}.help-figure-host{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.help-figure-host figcaption{border-top:0}.help-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 28px;border-top:1px solid var(--line);flex-shrink:0;background:var(--paper)}.help-footer p{font-size:12px;line-height:1.5;color:var(--muted);margin:0}.help-footer .secondary{font-size:12px;min-height:40px}
@media(max-width:700px){.top-actions{gap:8px;flex-wrap:wrap}.help-open{font-size:12px;padding:8px 10px}.help-dialog{width:calc(100vw - 16px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);border-radius:12px}.help-header{padding:18px 16px 12px}.help-header h2{font-size:27px}.help-tabs{margin:0 16px}.help-tabs button{border:0;background:transparent;padding:12px 8px;font-size:14px}.help-scroll{padding:18px 16px 24px;scrollbar-gutter:auto}.help-quick{padding:18px 15px}.help-dialog h3{font-size:23px}.help-steps>li{padding-left:35px}.help-dialog p,.help-dialog li,.help-dialog dd{font-size:14px}.help-topic>summary{font-size:14px;padding:14px}.help-topic-body{padding:16px}.help-shortcuts{gap:6px}.help-shortcuts button{font-size:12px;padding:8px 10px}.help-footer{padding:12px 16px;gap:10px}.help-footer p{max-width:170px;font-size:11px}.help-footer .secondary{padding:8px 10px}.help-figure-host{display:block}.help-figure-host img{max-width:360px;margin:auto}.help-figure-host figcaption{border-top:1px solid var(--line)}.help-invite{margin-bottom:16px;font-size:12px}.help-invite p button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.help-dialog *{scroll-behavior:auto}}

/* 1.9.2 — An independent recap below the timer, readable at any panel width. */
.completion-banner{flex-wrap:wrap}.completion-banner>div:first-child{flex:1;min-width:220px}
.timer-card[data-phase="completed"] .timer{font-size:66px;margin:8px 0}
.timer-card[data-phase="completed"]>p{margin-bottom:12px}
.combat-summary{container-type:inline-size;margin:20px 0;padding:26px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow);scroll-margin-top:20px;text-align:left}
.summary-heading{padding-bottom:18px;border-bottom:1px solid var(--line)}
.summary-heading .eyebrow{margin:0 0 8px;font-size:10px}
.summary-heading h2{font:32px/1.2 Georgia,serif;margin:0 0 9px;letter-spacing:-.6px;color:var(--ink)}
.summary-heading>p:last-child{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.summary-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:22px 0 16px}
.summary-stat{--recap-accent:var(--wine);padding:20px;border:1px solid var(--line);border-top:3px solid var(--recap-accent);border-radius:11px;background:var(--card);min-width:0;overflow-wrap:anywhere}
.summary-bonus{--recap-accent:var(--gold)}
.summary-stat-top{display:flex;align-items:center;gap:12px}
.summary-stat-icon{flex-shrink:0;font:25px Georgia,serif;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);background:var(--paper);color:var(--recap-accent);border-radius:10px}
.summary-stat h3{margin:0 0 5px;font:600 16px/1.3 system-ui,sans-serif;color:var(--ink)}
.summary-stat-top div>span{display:block;font-size:12px;line-height:1.4;color:var(--muted)}
.summary-number{display:block;font:58px/1.1 Georgia,serif;font-variant-numeric:tabular-nums;color:var(--recap-accent);margin:17px 0 18px}
.summary-lead{display:flex;flex-direction:column;gap:6px;padding-top:15px;border-top:1px solid var(--line);font-size:13px;line-height:1.5;color:var(--muted)}
.summary-lead .summary-lead-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:650;color:var(--recap-accent)}
.summary-lead strong{color:var(--ink);font:600 17px/1.4 system-ui,sans-serif;overflow-wrap:anywhere}
.summary-time{background:var(--paper);padding:20px 22px;border:1px solid var(--line);border-radius:11px;margin-bottom:18px;min-width:0}
.summary-time h3{font:600 16px/1.4 system-ui,sans-serif;margin:0 0 20px;color:var(--ink)}
.summary-time-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.summary-time-row>div{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--muted)}
.summary-time-row strong{font-weight:600;color:var(--ink)}
.summary-time-row b{font:24px/1.3 Georgia,serif;font-variant-numeric:tabular-nums;color:var(--wine)}
.summary-time-row:nth-child(2) b{color:var(--gold)}
.summary-time-row progress{display:block;appearance:none;width:100%;height:8px;border:0;border-radius:8px;overflow:hidden;margin:12px 0 7px;background:var(--line);color:var(--wine);accent-color:var(--wine)}
.summary-time-row progress::-webkit-progress-bar{background:var(--line)}
.summary-time-row progress::-webkit-progress-value{background:var(--wine);border-radius:8px}
.summary-time-row progress::-moz-progress-bar{background:var(--wine)}
.summary-time-row:nth-child(2) progress{accent-color:var(--gold);color:var(--gold)}
.summary-time-row:nth-child(2) progress::-webkit-progress-value{background:var(--gold)}
.summary-time-row:nth-child(2) progress::-moz-progress-bar{background:var(--gold)}
.summary-time small{font-size:12px;color:var(--muted);line-height:1.5;display:block}
.summary-time .summary-time-note{font-size:13px;line-height:1.6;margin:18px 0 6px;color:var(--ink)}
.summary-detail{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.summary-detail>summary{padding:17px 18px;cursor:pointer;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none;color:var(--ink)}
.summary-detail>summary::-webkit-details-marker{display:none}.summary-detail[open]>summary{border-bottom:1px solid var(--line)}
.summary-detail[open]>summary>span{transform:rotate(180deg)}
.summary-table-wrap{padding:0 16px;overflow-x:auto}
.summary-detail table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}
.summary-detail th,.summary-detail td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:right;overflow-wrap:anywhere}
.summary-detail th:first-child{width:55%;text-align:left;font-weight:500}
.summary-detail thead th{color:var(--muted);font-size:12px}
.summary-detail td{font-variant-numeric:tabular-nums}
.summary-detail th small{display:block;font-size:11px;color:var(--muted);font-weight:400}
.summary-detail-note{font-size:12px;line-height:1.6;padding:12px 20px 16px;color:var(--muted);margin:0}
.summary-detail .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
html[data-colorblind="true"] .summary-action{--recap-accent:var(--cb-blue)}
html[data-colorblind="true"] .summary-bonus{--recap-accent:var(--cb-orange)}
@container(max-width:450px){.summary-grid{gap:10px}.summary-stat{padding:15px}.summary-stat-top{gap:8px;flex-wrap:wrap}.summary-stat-icon{height:33px;width:33px;font-size:22px}.summary-stat h3{font-size:14px}.summary-number{font-size:46px}.summary-lead strong{font-size:15px}.summary-time{padding:16px}.summary-time-grid{gap:15px}.summary-time-row b{font-size:21px}.summary-heading h2{font-size:28px}}
@container(max-width:310px){.summary-grid,.summary-time-grid{grid-template-columns:minmax(0,1fr)}.summary-stat-top{flex-wrap:nowrap}.summary-table-wrap{padding:0 6px}.summary-detail th:first-child{width:46%}.summary-detail th,.summary-detail td{padding:10px 4px;font-size:12px}}
@media(max-width:600px){.combat-summary{padding:20px 16px}}

/* 1.9.1 — Explicit button surface, including the dark first-visit guide. */
.help-invite{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:10px 14px;color:var(--ink)}
.help-invite p button{appearance:none;background:transparent;border:0;color:var(--wine);font:inherit;font-weight:650}
.help-invite p button:hover{background:var(--wine-light)}
.help-invite .icon-button{background:transparent;color:var(--ink)}

/* 2.0 — Rythme de table, attribution et bilan. */
#create-custom { border:1px solid var(--line);border-radius:12px;padding:16px;margin:16px 0; }
#create-custom legend { padding:0 8px;color:var(--wine);font-weight:650; }
#create-custom .hint { margin-bottom:0; }
#animations-dialog { max-height:85vh;overflow:auto; }
#animations-dialog .customize-group { border:0;padding:0; }
#animations-dialog label { margin-top:18px; }
#animations-dialog p { font-size:14px;line-height:1.65;color:var(--muted); }
.rounds { flex-wrap:wrap; }
.host-attribution { font-size:12px;margin:0 0 10px; }
.host-attribution select { width:100%;min-width:0;padding:10px 8px;font-size:13px; }
.timer-adjust { margin:18px auto 0;max-width:560px;text-align:left;border:1px solid #8a6979;border-radius:10px;padding:10px 14px;color:#fff1e1; }
.timer-adjust summary { cursor:pointer;font-size:14px; }
.timer-adjust-row { display:flex;align-items:end;gap:12px;margin-top:12px;flex-wrap:wrap; }
.timer-adjust-row label { color:inherit;margin:0;flex:1;min-width:120px; }
.timer-adjust-buttons { display:flex;gap:6px;flex-wrap:wrap; }
.timer-adjust-buttons button { padding:8px 11px;min-height:42px; }
.timer-adjust p { color:#ead7da;font-size:12px;line-height:1.6;margin:12px 0 0; }
#request-pause { margin-top:18px; }
.pause-notice { margin-top:18px;padding:16px;border-radius:10px;border:1px solid #d9b269;background:#fff0cd;color:#513818;text-align:left; }
.pause-notice p { margin:0;font-size:16px;font-weight:600; }
.pause-notice .button-row { justify-content:flex-start;margin-top:12px; }
.pause-notice .quiet { color:#513818; }
.summary-elapsed { padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--paper);margin-bottom:18px; }
.summary-elapsed>div { display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap; }
.summary-elapsed span { font-size:15px;font-weight:650; }
.summary-elapsed strong { font:30px Georgia,serif;color:var(--wine); }
.summary-elapsed p { color:var(--muted);font-size:13px;line-height:1.6;margin:10px 0 0; }
.summary-honors { margin:24px 0; }
.honors-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.honor { display:flex;flex-direction:column;gap:5px;padding:15px;border:1px solid var(--line);border-radius:10px;background:var(--paper);overflow-wrap:anywhere; }
.honor>strong { font-size:14px; }.honor>span { font:19px/1.35 Georgia,serif;color:var(--wine); }.honor small { font-size:12px;color:var(--muted); }
@media(max-width:540px){.honors-grid{grid-template-columns:1fr}.timer-adjust-buttons{width:100%}.timer-adjust-buttons button{flex:1}.top-actions{flex-wrap:wrap}#animations-open{font-size:12px}.host-attribution select{font-size:12px}.rounds span{padding:5px 7px}}
@media(max-width:1150px){.topbar{height:auto;min-height:94px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px;gap:12px}.topbar>.brand{flex-shrink:0}.top-actions{flex-wrap:wrap;gap:8px}}
