:root{--stage:#140d2e;--stage-raised:#20164a;--stage-line:#3a2d78;--ink:#f4f1ff;--ink-soft:#b9b0e0;--ink-on-light:#1b1230;--accent:#ffc21a;--good:#35d07f;--bad:#ff5470;--tile-red:#c8102e;--tile-red-ink:#fff;--tile-blue:#1457c8;--tile-blue-ink:#fff;--tile-yellow:#ffc21a;--tile-yellow-ink:#1b1230;--tile-green:#1b7a2f;--tile-green-ink:#fff;--font-display:"Arial Rounded MT Bold", "Nunito", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--text-body:1.125rem;--text-label:1rem;--text-title:clamp(2rem, 7vw, 3.5rem);--text-timer:clamp(2.5rem, 8vw, 5rem);--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--radius:1rem;--radius-lg:1.5rem;--focus:0 0 0 4px var(--stage), 0 0 0 8px #fff;--shadow-tile:0 6px 0 #00000059}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:radial-gradient(ellipse at 50% -10%, #3a2380 0%, transparent 60%), var(--stage);min-height:100vh;color:var(--ink);font-family:var(--font-body);font-size:var(--text-body);overflow-wrap:anywhere;background-attachment:fixed;margin:0;line-height:1.45}:focus-visible{box-shadow:var(--focus);outline:none}h1,h2,h3{font-family:var(--font-display);margin:0 0 var(--space-2);line-height:1.1}.screen{width:100%;max-width:72rem;padding:var(--space-3) var(--space-2);margin:0 auto}.screen-center{justify-content:center;align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;min-height:100vh;display:flex}.title{font-size:var(--text-title);letter-spacing:.01em;text-shadow:0 4px #00000059}.label{font-size:var(--text-label);color:var(--ink-soft);font-weight:700}.card{background:var(--stage-raised);border:2px solid var(--stage-line);border-radius:var(--radius-lg);padding:var(--space-3)}.join-form{gap:var(--space-2);flex-direction:column;width:100%;max-width:24rem;display:flex}.code-input{border:3px solid var(--stage-line);border-radius:var(--radius);background:var(--stage);width:100%;min-height:4.5rem;color:var(--ink);font-family:var(--font-display);letter-spacing:.35em;text-align:center;padding:.5rem 1rem;font-size:2.5rem}.code-input::placeholder{color:var(--stage-line)}.code-input:focus-visible{border-color:var(--accent)}.btn{border-radius:var(--radius);min-height:3.5rem;font-family:var(--font-display);cursor:pointer;box-shadow:var(--shadow-tile);border:0;justify-content:center;align-items:center;padding:.75rem 1.75rem;font-size:1.25rem;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:var(--ink-on-light)}.btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 3px #00000059}.btn:disabled{opacity:.45;cursor:not-allowed}.tiles{gap:var(--space-2);grid-template-columns:1fr 1fr;width:100%;display:grid}.tile{border-radius:var(--radius);min-height:6rem;font-family:var(--font-display);text-align:left;cursor:pointer;box-shadow:var(--shadow-tile);border:0;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:clamp(1.125rem,4.5vw,1.75rem);transition:transform .12s,opacity .2s,filter .2s;display:flex}.tile-shape{flex:none;font-size:1.75em;line-height:1}.tile-text{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;flex:1;min-width:0}.tile-red{background:var(--tile-red);color:var(--tile-red-ink)}.tile-blue{background:var(--tile-blue);color:var(--tile-blue-ink)}.tile-yellow{background:var(--tile-yellow);color:var(--tile-yellow-ink)}.tile-green{background:var(--tile-green);color:var(--tile-green-ink)}.tile:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px #00000059}.tile[aria-pressed=true]{outline-offset:3px;outline:5px solid #fff}.tile:disabled{cursor:default}.tile[data-dimmed]{opacity:.35;filter:saturate(.5)}.tile[data-correct]{outline:6px solid var(--good);outline-offset:3px;transform:scale(1.02)}.tile-check{color:#fff;text-shadow:0 2px #0009;flex:none;font-size:2em;line-height:1}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.countdown{background:var(--accent);min-width:1.6em;color:var(--ink-on-light);font-family:var(--font-display);font-size:var(--text-timer);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;padding:0 .3em;line-height:1.4;display:inline-grid}.countdown[data-urgent]{background:var(--bad);color:#fff;animation:1s ease-in-out infinite countdown-pulse}.countdown-wrap{flex-direction:column;align-items:center;gap:.4rem;min-width:7rem;display:inline-flex}.countdown-track{background:var(--stage-line);border-radius:999px;width:100%;height:.75rem;overflow:hidden}.countdown-fill{background:var(--accent);transform-origin:0;width:100%;height:100%;transform:scaleX(var(--from,1));border-radius:999px;animation:linear forwards countdown-shrink}.countdown-wrap:has(.countdown[data-urgent]) .countdown-fill{background:var(--bad)}@keyframes countdown-shrink{0%{transform:scaleX(var(--from,1))}to{transform:scaleX(0)}}@keyframes countdown-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.markdown{text-align:left}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p{margin:0 0 var(--space-2)}.markdown code{font-family:var(--font-mono);background:var(--stage);border-radius:.35rem;padding:.1em .35em;font-size:.95em}.markdown pre{margin:0 0 var(--space-2);padding:var(--space-2);border:2px solid var(--stage-line);border-radius:var(--radius);background:#0b0720;overflow-x:auto}.markdown pre code{background:0 0;padding:0}.avatar{vertical-align:middle;flex:none;display:inline-block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.player-screen{gap:var(--space-2);flex-direction:column;max-width:36rem;display:flex}.form-stack{gap:var(--space-3);flex-direction:column;display:flex}.field{gap:var(--space-1);flex-direction:column;display:flex}.input{border:3px solid var(--stage-line);border-radius:var(--radius);background:var(--stage);width:100%;min-height:3.5rem;color:var(--ink);font:inherit;padding:.5rem 1rem;font-size:1.25rem}.input:focus-visible{border-color:var(--accent)}.avatar-grid{gap:var(--space-1);grid-template-columns:repeat(auto-fill,minmax(4rem,1fr));display:grid}.avatar-choice{background:var(--stage);border:3px solid var(--stage-line);border-radius:var(--radius);cursor:pointer;place-items:center;min-height:4rem;padding:.25rem;display:grid}.avatar-choice[aria-checked=true]{border-color:var(--accent);background:var(--stage-line)}.form-error{border-radius:var(--radius);background:var(--bad);color:#fff;margin:0;padding:.75rem 1rem;font-weight:700}.banner{z-index:10;text-align:center;background:var(--accent);color:var(--ink-on-light);padding:.5rem 1rem;font-weight:700;position:sticky;top:0}.question-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.result-title[data-outcome=juste]{color:var(--good)}.result-title[data-outcome=faux]{color:var(--bad)}.points{font-family:var(--font-display);margin:0;font-size:1.75rem}.rank{font-family:var(--font-display);margin:0;font-size:1.5rem}.rank-n{color:var(--accent);font-size:clamp(3rem,16vw,5rem)}.host-lobby,.host-question,.host-result,.host-podium{max-width:90rem}.plain-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.row{align-items:center;gap:var(--space-2);display:flex}.row.compact{gap:.75rem}.grow{flex:1;min-width:0}.big{font-size:1.75rem}.btn-big{min-height:4.5rem;padding:.75rem 3rem;font-size:1.75rem}.btn-small{background:var(--stage-line);min-height:2.75rem;color:var(--ink);padding:.25rem 1rem;font-size:1rem}.btn-small.btn-primary{background:var(--accent);color:var(--ink-on-light)}.btn-danger{background:var(--bad);color:#fff}.host-setup{gap:var(--space-3);flex-direction:column;max-width:44rem;display:flex}.host-bar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-2);display:flex}.host-bar:has(>.btn:only-child){justify-content:flex-end}.host-lobby{gap:var(--space-4);padding-top:var(--space-4);grid-template-columns:auto 1fr;align-items:start;display:grid}.lobby-join{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.qr{border-radius:var(--radius);background:#fff;width:15rem;height:15rem;padding:.5rem}.join-url{font-family:var(--font-mono);margin:0;font-size:1.5rem}.big-code{font-family:var(--font-display);letter-spacing:.08em;color:var(--accent);margin:0;font-size:clamp(3.5rem,8vw,7rem);line-height:1}.lobby-people{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.pending{width:100%;padding:var(--space-2)}.pending h2{margin-bottom:.5rem}.chips{gap:var(--space-1);flex-flow:wrap}.chip{background:var(--stage-raised);border:2px solid var(--stage-line);font-family:var(--font-display);border-radius:999px;align-items:center;gap:.5rem;padding:.3rem 1rem .3rem .4rem;font-size:1.5rem;display:inline-flex}.host-prompt{font-size:clamp(1.5rem,3vw,2.5rem);font-family:var(--font-display)}.host-question .tile{cursor:default;min-height:8rem;font-size:clamp(1.5rem,2.6vw,2.5rem)}.counter{margin:0;font-size:2rem}.counter strong{font-family:var(--font-display);color:var(--accent);font-size:3rem}.host-question .question-head .countdown{font-size:clamp(3rem,6vw,6rem)}.votes{gap:var(--space-2)}.vote{align-items:center;gap:var(--space-2);border-radius:var(--radius);font-family:var(--font-display);background:var(--stage-raised);border:3px solid var(--stage-line);grid-template-columns:minmax(12rem,2fr) 3fr;padding:.75rem 1rem;font-size:clamp(1.5rem,2.6vw,2.5rem);display:grid}.vote-red{--bar:var(--tile-red)}.vote-blue{--bar:var(--tile-blue)}.vote-yellow{--bar:var(--tile-yellow)}.vote-green{--bar:var(--tile-green)}.vote[data-dimmed]{opacity:.8}.vote[data-correct]{border-color:var(--good);outline:5px solid var(--good);outline-offset:2px}.vote-check{color:var(--good);font-size:1.4em}.vote-track{background:var(--stage);border-radius:.75rem;align-items:center;height:3.5rem;display:flex;position:relative;overflow:hidden}.vote-bar{background:var(--bar);border-radius:.75rem;height:100%;transition:width .6s ease-out}.vote-count{text-shadow:0 2px #0009;font-size:2rem;position:absolute;right:1rem}.host-race{max-width:none;height:100dvh;padding-block:var(--space-2) var(--host-dock);flex-direction:column;display:flex;overflow:hidden}.host-race .title{margin-bottom:var(--space-1);flex:none;font-size:2.25rem}.host-race .host-bar{flex:none}.race-track{flex-direction:column;flex:1 1 0;gap:2px;min-height:0;display:flex}.lane{min-height:0;max-height:var(--lane-max,64px);background:var(--stage-raised);border-radius:.5rem;flex:1 1 0;grid-template-columns:3.5rem 1fr 7rem;align-items:center;display:grid;container-type:size}.lane-rank,.lane-score,.runner-name{font-size:clamp(.5rem,56cqh,1.75rem);line-height:1}.lane .avatar{flex:none;width:85cqh;height:85cqh}.lane:nth-child(2n){background:#1b1240}.lane-rank{text-align:center;font-family:var(--font-display);color:var(--accent);font-weight:700}.lane-score{text-align:right;font-family:var(--font-display);font-variant-numeric:tabular-nums;padding-right:.75rem}.lane-field{background-image:repeating-linear-gradient(90deg,#0000 0 calc(10% - 2px),#ffffff1f calc(10% - 2px) 10%);height:100%;margin-right:1rem;position:relative}.lane-field:after{content:"";background:repeating-conic-gradient(#fff 0 25%, #140d2e 0 50%) 0 0 / .75rem .75rem;width:.75rem;position:absolute;top:0;bottom:0;right:-.75rem}.runner{white-space:nowrap;align-items:center;gap:.4em;display:flex;position:absolute;top:0;bottom:0}.runner[data-moving]{transition:left 1.5s cubic-bezier(.3,.1,.2,1),transform 1.5s cubic-bezier(.3,.1,.2,1)}.runner-name{font-family:var(--font-display);text-overflow:ellipsis;text-shadow:0 2px #00000080;max-width:14em;overflow:hidden}.host-podium{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.podium{justify-content:center;align-items:flex-end;gap:var(--space-2);min-height:26rem;margin:0;padding:0;list-style:none;display:flex}.podium-step{width:16rem;font-family:var(--font-display);text-align:center;flex-direction:column;align-items:center;gap:.25rem;display:flex}.podium-name{font-size:2rem}.podium-score{color:var(--accent);font-size:1.5rem}.podium-block{border-radius:var(--radius) var(--radius) 0 0;background:var(--stage-line);width:100%;box-shadow:var(--shadow-tile);place-items:start center;padding-top:.5rem;font-size:4rem;display:grid}.podium-step[data-place="1"] .podium-block{background:var(--accent);height:14rem;color:var(--ink-on-light)}.podium-step[data-place="2"] .podium-block{height:9rem;color:var(--ink-on-light);background:#aeb6cf}.podium-step[data-place="3"] .podium-block{height:6rem;color:var(--ink-on-light);background:#d08a4b}:root{--host-dock:4rem}.host-lobby,.host-question,.host-result,.host-podium{padding-bottom:var(--host-dock)}.management{z-index:20;background:var(--stage-raised);border:2px solid var(--stage-line);border-radius:var(--radius);width:min(30rem,100vw - 2rem);font-size:1rem;position:fixed;bottom:.5rem;left:1rem}.management>summary{cursor:pointer;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:700;display:flex}.management[open]{max-height:80vh;overflow-y:auto}.management-body{gap:var(--space-2);flex-direction:column;padding:0 1rem 1rem;display:flex}.badge{background:var(--bad);color:#fff;border-radius:999px;place-items:center;min-width:1.75rem;height:1.75rem;padding:0 .4rem;font-size:1rem;animation:1.5s ease-in-out infinite countdown-pulse;display:inline-grid}.dot{background:var(--bad);border-radius:50%;flex:none;width:.9rem;height:.9rem}.dot[data-connected]{background:var(--good)}@media (width<=60rem){.host-lobby{grid-template-columns:1fr}.podium{flex-wrap:wrap}}.history{gap:var(--space-2);flex-direction:column;display:flex}.history-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.history-head .title{margin:0}.history-title{text-shadow:none;font-size:clamp(1.5rem,4vw,2.25rem)}.history-nav{gap:var(--space-1);flex-wrap:wrap;display:flex}.history-state{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.history a:not(.btn){color:var(--accent)}.table-scroll{border:2px solid var(--stage-line);border-radius:var(--radius);background:var(--stage-raised);max-width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:1rem}.data-table th,.data-table td{border-bottom:1px solid var(--stage-line);vertical-align:middle;overflow-wrap:normal;padding:.5rem .75rem}.data-table thead th{color:var(--ink-soft);white-space:nowrap;font-size:.875rem;font-weight:700}.data-table tbody th{font-weight:600}.data-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table tbody tr:last-child>*{border-bottom:0}.data-table.nested{background:var(--stage)}.answers-cell{background:var(--stage);padding:var(--space-1)!important}.data-table tr.is-correct>*{background:#35d07f24}.expander{min-height:2.75rem;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:0 .25rem;display:inline-flex}.expander:hover{text-decoration:underline}.status{border:2px solid var(--stage-line);white-space:nowrap;border-radius:999px;padding:.125rem .625rem;font-size:.875rem;font-weight:700;display:inline-block}.status-interrupted{border-color:var(--accent);color:var(--accent)}.outcome{border-radius:var(--radius);white-space:nowrap;border:2px solid;padding:.125rem .625rem;font-size:.875rem;font-weight:700;display:inline-block}.outcome-juste{color:var(--good)}.outcome-faux{color:var(--bad)}.outcome-absent{color:var(--ink-soft);border-style:dashed}.outcome-unasked{color:var(--ink-soft);border-style:dotted}.tabs{gap:var(--space-1);border-bottom:2px solid var(--stage-line);display:flex}.tab{min-height:2.75rem;padding:0 var(--space-2);color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:4px solid #0000;font-weight:700}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.question-list{gap:var(--space-2)}.question-card{gap:var(--space-1);padding:var(--space-2);flex-direction:column;display:flex}.question-head{justify-content:space-between;align-items:baseline;gap:var(--space-1);flex-wrap:wrap;display:flex}.question-number{font-family:var(--font-display);font-size:1.25rem}.question-rate{font-family:var(--font-display);font-size:1.5rem}.question-card .markdown>:first-child{margin-top:0}.question-card .markdown>:last-child{margin-bottom:0}
