@font-face{font-family:Anton;src:url('assets/anton.ttf') format('truetype');font-display:swap}:root{--ink:#101722;--paper:#edf3f5;--mint:#39d8b0;--red:#ef315b;--blue:#078fc3;font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #036f80;outline-offset:3px}[hidden]{display:none!important}.shell{max-width:820px;margin:auto;padding:0 12px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:70px}.brand{border:0;background:none;padding:10px 0;text-align:left;font-size:clamp(16px,3vw,24px);font-weight:900;letter-spacing:-.04em}.brand span{white-space:nowrap}.help-button{width:44px;height:44px;border:2px solid var(--ink);border-radius:50%;background:none;font-size:25px;font-weight:900;flex-shrink:0}.platform{background-color:#56707a;background-image:linear-gradient(0deg,#172c3e15,#eff7f91a);background-size:cover;background-position:center}.home-art{height:220px;border-radius:4px 4px 0 0}.home-title{position:relative;background:#fff;clip-path:polygon(6% 0,100% 0,94% 100%,0 100%);margin:-60px 0 22px;padding:20px 9%}.eyebrow{font-size:13px;font-weight:700;margin:0 0 6px}h1,h2,p{margin-top:0}.home-title h1{font-size:clamp(32px,6vw,55px);line-height:1.25;margin:0;letter-spacing:-.04em}.home-title strong{font-weight:900}.mode-options{display:flex;border:0;gap:8px;padding:0;margin:0 0 18px}.mode-options legend{font-size:13px;margin-bottom:8px;font-weight:700}.mode-options label{flex:1;position:relative}.mode-options input{position:absolute;opacity:0;width:1px;height:1px}.mode-options span{display:block;border:1px solid #b1c1c8;padding:14px;text-align:center;background:white;font-weight:800}.mode-options :checked+span{color:white;background:var(--ink);border-color:var(--ink)}.mode-options input:focus-visible+span{outline:3px solid #036f80;outline-offset:3px}.name-fields,.settings{display:flex;gap:12px;margin-bottom:18px}.name-fields label,.settings label,.settings p{flex:1;min-width:0;font-size:12px;font-weight:700}.name-fields input,select{display:block;margin-top:7px;width:100%;min-height:44px;padding:8px 10px;border:1px solid #b1c1c8;background:#fff;border-radius:2px}#solo-setting{padding:10px 0;font-size:14px}.primary,.secondary{display:block;min-height:52px;border:0;padding:15px 20px;width:100%;font-weight:800;text-align:center}.primary{color:white;background:var(--ink);border-right:7px solid var(--mint);border-radius:32px 4px 4px 32px}.primary:disabled{opacity:.6}.secondary{border:1px solid #9cabb5;background:white;border-radius:32px 4px 4px 32px}.text-button{border:0;background:none;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:10px 6px;font-size:13px}.scope,footer{font-size:11px;line-height:1.8;color:#566676}.scope{margin:18px 0}.battle-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;font-size:12px}.battle-toolbar strong{font-size:15px}.question-stage{height:215px;position:relative;display:flex;align-items:center;padding:20px 0;overflow:hidden}.station-plate{background:#fffffff7;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%);width:94%;margin-left:auto;padding:16px 6% 16px 12%;text-align:center}.station-plate p{font-size:13px;font-weight:700;color:#536476;margin:0 0 8px}.station-plate h1{font-size:clamp(30px,7.5vw,58px);letter-spacing:-.05em;line-height:1.25;margin:0;overflow-wrap:anywhere}.station-plate h1.long-station{font-size:clamp(21px,5vw,36px)}.question-band{min-height:67px;background:var(--ink);color:white;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 13px}.question-band>span{font-size:12px;font-weight:700}.question-band p{margin:0;white-space:nowrap}.question-band strong{font-family:Anton,sans-serif;font-size:36px;font-weight:400;font-variant-numeric:tabular-nums;font-style:italic}.question-band p>span{font-size:16px;font-weight:700;margin-left:3px}.question-band.is-urgent{color:#ffcd64}.time-track{height:5px;background:#c9d5db;margin-bottom:12px}.time-track div{height:100%;width:100%;background:var(--mint)}.players{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.player{min-width:0;background:#ffffffba;border-top:4px solid var(--red);border-bottom:3px solid var(--red);padding:10px 5px}.player-b{border-color:var(--blue)}.player-top{display:flex;justify-content:space-between;align-items:center;gap:4px;padding:0 4px;min-height:55px}.player-top>div{min-width:0}.player-tag{font-size:12px;font-weight:900;color:var(--red)}.player-b .player-tag{color:var(--blue)}.player h2{font-size:12px;line-height:1.4;margin:5px 0 0;overflow-wrap:anywhere}.score{display:flex;align-items:baseline;gap:3px;margin:0;flex-shrink:0}.score strong{font:36px/1 Anton,sans-serif}.score span{font-size:10px}.player-status{font-size:11px;line-height:1.3;min-height:27px;margin:6px 4px 2px;display:flex;align-items:center;color:#536476}.line-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:58px;gap:4px}.line-button{min-width:0;width:100%;height:100%;padding:0 1px;border:0;border-right:4px solid var(--line);background:#fff;border-radius:20px 2px 2px 20px;box-shadow:0 2px 0 #d7dfe4;font-size:clamp(10px,2.9vw,13px);font-weight:800;line-height:1.15;white-space:nowrap;-webkit-tap-highlight-color:transparent;user-select:none}.line-button:active{background:#162335;color:#fff}.line-button:disabled{color:#5f6a75;background:#e5eaee}.line-button.is-rejected{opacity:.45;text-decoration:line-through}.line-button.is-answer{background:#103c34;color:white;outline:2px solid var(--mint);outline-offset:-2px}.player.is-winner{background:#e1f9ed}.players.solo{display:block;max-width:500px;margin:auto}.solo .player{padding:14px 10px}.solo .line-grid{grid-auto-rows:63px;gap:8px}.solo .line-button{font-size:15px}.solo .score{display:none}.countdown{position:absolute;inset:0;z-index:2;background:#eef4f6;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;font-size:15px;font-weight:700}.countdown strong{font:85px/1.1 Anton,sans-serif}.reveal{margin-top:16px;background:white;padding:18px;border-left:4px solid var(--mint)}.reveal h2{font-size:19px;margin-bottom:8px}.reveal p{font-size:15px;font-weight:800}.reveal a{font-size:12px;color:#34616d}.reveal .primary{margin-top:18px}.result-toolbar{display:flex;justify-content:space-between;gap:12px;font-size:13px;font-weight:800}.result-toolbar p{margin:10px 0 16px}.result-hero{height:240px;display:flex;align-items:center;justify-content:center;overflow:hidden}.result-banner{position:relative;background:white;clip-path:polygon(7% 0,100% 0,93% 100%,0 100%);width:96%;text-align:center;padding:26px 6%;isolation:isolate}.result-banner h1{font-size:clamp(56px,14vw,92px);font-family:Anton,'Arial Black',sans-serif;line-height:1.3;font-style:italic;font-weight:400;letter-spacing:-.03em;margin:0;overflow-wrap:anywhere}.result-banner h1.duel-title{font-family:inherit;font-style:normal;font-size:clamp(26px,7vw,48px);font-weight:900;padding:15px 0}.result-stats{display:grid;gap:14px;margin:20px 0}.metric{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border-left:6px solid var(--mint);border-radius:5px 12px 12px 5px;min-height:110px;padding:15px 16px}.metric-label{font-size:15px;font-weight:900}.metric-number{white-space:nowrap;font-family:Anton,sans-serif;font-variant-numeric:tabular-nums;line-height:1.1}.metric-number b{font-size:clamp(58px,15vw,90px);font-weight:400}.metric-number small{font-size:25px;margin-left:5px}.time-metric{border-color:#ffb61d}.time-metric .metric-label{font-size:13px}.time-metric .metric-number b{font-size:clamp(48px,13vw,82px)}.result-actions{max-width:480px;margin:24px auto;text-align:center}.result-actions .secondary{margin-top:16px}.result-actions p{font-size:12px;min-height:18px;margin:8px 0}.review{border-top:1px solid #b7c5cd;margin-top:24px;font-size:13px}.review summary{cursor:pointer;padding:18px 2px;font-weight:700}.review ol{padding:0 0 0 24px}.review li{padding:12px 3px;border-bottom:1px solid #cad6dd;line-height:1.8}.review li a{font-size:11px}.duel-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.duel-score{padding:20px 12px;background:white;border-top:4px solid var(--red);overflow-wrap:anywhere}.duel-score:nth-child(2){border-color:var(--blue)}.duel-score h2{font-size:14px}.duel-score strong{font:50px/1.1 Anton,sans-serif}footer{display:flex;justify-content:space-between;gap:10px;padding:26px 0 16px}dialog{max-width:460px;width:calc(100% - 28px);padding:24px;border:1px solid #b6c9d2;border-radius:12px;color:var(--ink)}dialog::backdrop{background:#102132b0}dialog p{font-size:14px;line-height:1.8}dialog h2{font-size:23px}dialog .text-button{display:block;margin:10px auto 0}textarea{width:100%;font-size:14px;line-height:1.6;padding:10px;margin:10px 0 18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.is-revealing .metric{animation:metric-in .5s ease-out both}.is-revealing .time-metric{animation-delay:.12s}.score-pop{animation:score-pop .35s ease-out}@keyframes banner-in{from{opacity:0;transform:translateX(-25px)}to{opacity:1;transform:translateX(0)}}@keyframes metric-in{from{opacity:.35;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes spark-in{from{opacity:0}to{opacity:1}}@keyframes score-pop{50%{transform:scale(1.3)}}@media(min-width:600px){.shell{padding:0 24px}.question-stage{height:260px}.player{padding:15px}.line-grid{grid-auto-rows:70px;gap:8px}.line-button{font-size:17px}.player h2{font-size:16px}.player-top{min-height:65px}.player-status{font-size:13px}.result-hero{height:300px}.result-stats{grid-template-columns:1fr 1fr}.metric{min-width:0;flex-wrap:wrap}.metric-number b{font-size:70px}.time-metric .metric-number b{font-size:64px}.home-art{height:300px}}@media(max-width:350px){.shell{padding:0 8px}.site-header{min-height:60px}.brand{font-size:15px}.players{gap:8px}.player{padding:8px 4px}.line-grid{gap:2px;grid-auto-rows:58px}.line-button{border-right-width:3px;font-size:10px}.player-top{padding:0 1px}.player h2{font-size:11px}.score strong{font-size:30px}.question-stage{height:185px}.metric{padding:14px 10px}.metric-label{font-size:13px}.time-metric .metric-label{font-size:12px}.metric-number small{font-size:20px}.result-hero{height:220px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Compact simultaneous-answer layout: identity and status share one row. */
.question-stage{height:170px}.question-band{min-height:76px;padding:10px 12px}.round-message{min-width:0}.round-message h2{font-size:13px;line-height:1.35;margin:0;font-weight:800}.round-message p{font-size:17px;line-height:1.4;font-weight:900;margin:4px 0 0}.question-band[data-phase=reveal]{min-height:76px}.question-band[data-phase=reveal] h2{font-size:23px}.question-band[data-outcome=wrong][data-phase=reveal]{box-shadow:inset 5px 0 #ffb85a}.question-band[data-outcome=correct][data-phase=reveal]{box-shadow:inset 5px 0 var(--mint)}.question-band[data-outcome=timeout][data-phase=reveal]{box-shadow:inset 5px 0 #9baebb}.player{padding:7px 5px}.player-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;min-height:26px;padding:0 1px;margin-bottom:6px}.player-identity{display:flex;align-items:center;gap:4px;min-width:0}.player-tag{font-size:10px;flex-shrink:0}.player h2{font-size:11px;line-height:1.3;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-weight:800}.player .score{gap:1px;flex-shrink:0;margin-left:auto}.player .score strong{font-size:18px}.player .score span{font-size:9px}.player-status{display:block;white-space:nowrap;min-height:0;margin:0;font-size:9px;line-height:1.3;text-align:right;color:#465b68}.solo .player{padding:9px}.solo .player-top{min-height:26px}.solo .player h2{font-size:13px}.solo .player-tag,.solo .player-status{font-size:11px}.next-bar{padding:8px 0 0}.next-bar .primary{min-height:48px;padding:12px 18px}body[data-screen=battle] footer{padding:13px 0 8px}.reveal{display:none}
/* The live heading travels in, brakes, overshoots and settles. No image lettering. */
.result-banner{overflow:visible}.arrival-fx{position:absolute;inset:0;pointer-events:none}.arrival-fx i{position:absolute;bottom:12%;left:50%;width:5px;height:5px;border-radius:50%;background:#efc37b;opacity:0;transform:translate(0,0);--x:-35px;--y:-15px}.arrival-fx i:nth-child(2){--x:-60px;--y:-30px;width:8px;height:8px;background:#9fb3be}.arrival-fx i:nth-child(3){--x:-85px;--y:-10px}.arrival-fx i:nth-child(4){--x:-110px;--y:-24px;background:#a2b3bb}.arrival-fx i:nth-child(5){--x:35px;--y:-28px}.arrival-fx i:nth-child(6){--x:65px;--y:-10px;width:8px;height:8px;background:#9fb3be}.arrival-fx i:nth-child(7){--x:90px;--y:-37px}.arrival-fx i:nth-child(8){--x:115px;--y:-15px;background:#a2b3bb}.arrival-fx:before,.arrival-fx:after{content:'';position:absolute;bottom:7%;left:18%;height:18px;width:48px;border-radius:50%;background:#91aab266;filter:blur(5px);opacity:0}.arrival-fx:after{left:65%}.is-revealing #result-title{animation:train-stop 1.05s both}.is-revealing .arrival-fx i{animation:brake-particle .52s .65s ease-out both}.is-revealing .arrival-fx:before,.is-revealing .arrival-fx:after{animation:brake-dust .6s .64s ease-out both}@keyframes train-stop{0%{transform:translateX(-140%) skewX(-10deg);opacity:0}12%{opacity:1}58%{transform:translateX(9%) skewX(6deg)}74%{transform:translateX(-3%) skewX(-2deg)}88%{transform:translateX(1%)}100%{transform:translateX(0);opacity:1}}@keyframes brake-particle{0%{opacity:0;transform:translate(0,0) scale(.5)}15%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(.3)}}@keyframes brake-dust{0%{opacity:0;transform:scale(.4)}25%{opacity:.9}100%{opacity:0;transform:translateX(-20px) scale(1.7)}}
@media(min-width:600px){.question-stage{height:210px}.player-top{min-height:30px}.player h2{font-size:15px}.player-tag,.player-status{font-size:12px}.player .score strong{font-size:22px}}
@media(max-height:650px){body[data-screen=battle] .site-header{min-height:44px}body[data-screen=battle] .help-button{height:44px;width:44px}.battle-toolbar{min-height:44px}.question-stage{height:clamp(76px,18dvh,110px);padding:4px 0}.station-plate{padding:8px 6% 8px 12%}.station-plate p{font-size:11px;margin-bottom:3px}.station-plate h1{font-size:30px}.station-plate h1.long-station{font-size:20px}.question-band,.question-band[data-phase=reveal]{min-height:70px;padding:7px 10px}.question-band[data-phase=reveal] h2{font-size:21px}.round-message p{font-size:16px}.question-band strong{font-size:29px}.time-track{height:4px;margin-bottom:4px}.player{padding:4px}.player-top{min-height:24px;margin-bottom:4px}.line-grid{grid-auto-rows:44px}.solo .line-grid{grid-auto-rows:44px;gap:4px}.solo .player{padding:4px}.solo .player-top{min-height:24px}.next-bar .primary{min-height:46px}.countdown strong{font-size:60px}body[data-screen=battle] footer{display:none}}
@media(prefers-reduced-motion:reduce){.is-revealing #result-title{animation:none;transform:none;opacity:1}.arrival-fx{display:none}}
/* Multi-line answers wrap within the shared result band; never overflow the viewport. */
#correct-route{white-space:normal;overflow-wrap:anywhere}
