:root{color:#183c59;font-synthesis:none;background:#183c59;font-family:Yu Gothic,Meiryo,sans-serif;font-weight:700}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button{color:#183c59;cursor:pointer;touch-action:manipulation;background:linear-gradient(#fffefa,#ecefdf);border:2px solid #173f5b;border-radius:10px;min-height:44px;padding:8px 16px;box-shadow:inset 0 2px #fff,0 3px #173f5b}button:active:not(:disabled){box-shadow:inset 0 2px 3px #173f5b33,0 1px #173f5b}button:disabled{color:#5b6c77;box-shadow:none;cursor:default;background:#d7dfdf}.primary{background:linear-gradient(#ffe875,#ffc72c);border-color:#805e13;box-shadow:inset 0 2px #fff3bf,0 3px #805e13}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #1679bb}input,select{color:#183c59;background:#fff;border:2px solid #31516a;border-radius:6px;min-width:0;min-height:44px;padding:8px}.stage{height:var(--viewport-height,100dvh);background:url(/art/tokyo-board.png) 50%/cover;width:100%;position:relative;overflow:clip}.overlay{z-index:10;pointer-events:none;background:#153a4c25;justify-content:center;align-items:center;padding:70px 16px 16px;display:flex;position:absolute;inset:0}.overlay>*{pointer-events:auto}.overlay.transparent{background:0 0}.panel,.effect-popup{color:#183c59;background:#fffdf3;border:2px solid #173f5b;border-top:6px solid #1679bb;border-radius:14px;width:min(580px,85%);max-height:100%;padding:20px;overflow:auto;box-shadow:inset 0 0 0 2px #fff,0 5px #173f5b70,0 10px 30px #173f5b40}.panel h1,.panel h2{margin:0 0 12px;line-height:1.3}.panel p{line-height:1.6}.logo{letter-spacing:.04em;color:#166fa8;text-shadow:0 2px #fff;font-size:clamp(32px,5vw,54px)}.turn-panel{text-align:center}.eyebrow{letter-spacing:.2em;color:#347190;font-size:12px}.setup-row{gap:8px;margin-bottom:10px;display:flex}.setup-row input{flex:1;width:100px}.setup-row select{max-width:100px}.ghost{background:#fffdf3}.answer-window{right:max(16px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:min(540px,65%);max-height:calc(var(--viewport-height,100dvh) - 106px);z-index:11;background:#fffdf3;border:2px solid #173f5b;border-top:5px solid #1679bb;border-radius:12px;padding:12px;position:absolute;overflow:auto;box-shadow:0 5px #173f5b70}.answer-heading{border-bottom:1px solid #c8dbe1;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;font-size:13px;display:flex}.answer-heading strong{font-variant-numeric:tabular-nums;background:#e5f2f7;border-radius:12px;padding:2px 8px}.urgent{color:#b63737!important;background:#ffe1d9!important}.category{color:#476679;margin-bottom:4px;font-size:11px}.prompt{font-size:20px;font-weight:900;line-height:1.5}.answer-form{gap:10px;margin-top:10px;display:flex}.answer-form input{flex:1;width:100px}.timer-bar{background:#dde7e8;border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.timer-bar .fill{background:#1683bc;height:100%}.submitted-answer{overflow-wrap:anywhere;border-left:4px solid #ffcf33;padding-left:12px;font-size:20px}.result-panel{text-align:center}.score-big{color:#94620b;margin:10px 0;font-size:clamp(28px,5vw,44px);font-weight:900;line-height:1.3}.comment-bubble{overflow-wrap:anywhere;margin:8px 0;font-size:20px;line-height:1.5}.result-panel .comment-bubble:first-of-type{text-align:left;border-left:4px solid #ffcf33;padding:8px}.result-panel>div:last-child{justify-content:center}.effect-popup{text-align:center;padding-bottom:70px;font-size:28px;font-weight:900}.effect-popup.gain{background:linear-gradient(135deg,#fffdf3,#e1f5ff);border-top-color:#168cbd}.effect-popup.loss{background:linear-gradient(135deg,#fffdf3,#ffe5dc);border-top-color:#bd5550}.event-action{z-index:12;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.rank-list{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.rank-list li{border-bottom:1px solid #c6d9df;justify-content:space-between;gap:12px;padding:10px;display:flex}.rank-list li:first-child{background:#ffedb0;border-radius:8px}.best-answers{border-top:2px solid #c6d9df;margin-top:16px;padding-top:12px}.best-answers .item{margin-bottom:12px;font-size:14px}.rotate-prompt{display:none}@media (orientation:portrait){.rotate-prompt{color:#fff;z-index:100;text-align:center;background:#16374bea;place-content:center;padding:24px;display:grid;position:absolute;inset:0}.rotate-prompt strong{font-size:24px}}@media (height<=430px){.panel{padding:16px}.panel h2{font-size:24px}.prompt{font-size:18px}.overlay{padding-top:65px}.event-action{bottom:25px}}@media (height<=290px){.answer-window{max-height:calc(var(--viewport-height,100dvh) - 16px);width:75%}.overlay{padding:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.event-panel{text-align:center}.event-panel h2{font-size:clamp(22px,3vw,30px)}.arrival-panel{background:linear-gradient(135deg,#fffdf3 65%,#fff1c7);border-top-color:#ffcf33}.event-panel.gain{background:linear-gradient(135deg,#fffdf3 65%,#e1f5ff);border-top-color:#168cbd}.event-panel.loss{background:linear-gradient(135deg,#fffdf3 65%,#ffe5dc);border-top-color:#bd5550}.event-value{color:#126da3;margin:12px 0;font-size:clamp(20px,3vw,30px);display:block}.loss .event-value{color:#ac3f36}.event-note{color:#476679;font-size:12px}.final-panel{border-top-color:#ffcf33;width:min(650px,90%)}.final-panel h2{color:#8c5b09;font-size:clamp(26px,4vw,36px)}.winner-caption{margin:4px 0;font-size:13px}.rank-list li{align-items:center}.rank-number{color:#347190;min-width:38px;font-size:24px;font-weight:900}.rank-number small{font-size:11px}.rank-name{overflow-wrap:anywhere;flex:1}.rank-money{text-align:right;font-variant-numeric:tabular-nums;font-size:21px}.rank-money small{color:#476679;font-size:11px;display:block}.best-answers summary{cursor:pointer;min-height:44px;padding:10px 0}.best-answers .item{background:#fff;border-left:4px solid #ffcf33;margin-top:8px;padding:12px}.fallback-note{color:#765519;background:#fff0c8;border-radius:6px;padding:8px;font-size:13px}.scene-nav{z-index:30;gap:8px;display:flex;position:absolute;top:8px;left:16px;right:16px}.scene-nav button{padding:6px 12px;font-size:12px}.scene-nav button[aria-pressed=true]{background:#ffda48}.scene-note{z-index:30;background:#fffdf3;padding:2px 4px;font-size:10px;position:absolute;bottom:4px;left:16px}.final-panel{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:center;gap:12px 20px;display:grid}.winner-summary{grid-area:1/1}.final-panel .rank-list{grid-area:1/2;gap:2px;margin:0}.final-panel .rank-list li{padding:6px 8px}.final-panel .rank-money{font-size:18px}.final-panel .rank-number{min-width:28px;font-size:20px}.final-panel .best-answers{grid-area:3/1/auto/-1;margin:0;padding-top:0}.final-actions{text-align:center;grid-area:2/1/auto/-1}.final-panel .eyebrow{font-size:10px}.final-panel h2{font-size:28px}.final-panel .winner-caption{font-size:12px}.final-panel .best-answers summary{min-height:36px;padding:8px 0;font-size:12px}.final-panel{gap:6px 16px;padding:12px 16px}.final-panel .rank-list li{padding:3px 8px;line-height:1.15}.final-panel .rank-money,.final-panel .rank-money small{line-height:1.15}.final-panel .rank-name{font-size:14px;line-height:1.2}.final-panel .rank-number{line-height:1.2}.final-panel .best-answers summary{min-height:30px;padding:5px 0}.board-review-toolbar{background:#fffdf3;align-items:center;gap:12px;height:52px;padding:4px 12px;font-size:12px;display:flex}.board-review-toolbar select{max-width:220px}.board-review-toolbar small{font-size:10px}.help-toggle{margin-left:12px}.how-to-play{text-align:left;margin:16px 0 0;padding-left:24px;font-size:14px;line-height:1.6}.how-to-play li+li{margin-top:8px}.overlay.title-overlay{padding:16px}.score-reveal{animation:.24s ease-out score-pop}.arrival-panel{animation:.3s ease-out event-arrive}@keyframes score-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes event-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.score-reveal,.arrival-panel{animation:none}}.answer-window{flex-direction:column;display:flex;overflow:hidden}.answer-heading,.answer-form,.timer-bar{flex-shrink:0}.answer-topic{overscroll-behavior:contain;min-height:0;overflow:auto}.answer-window .submitted-answer{min-height:0;overflow:auto}.answer-form input{font-size:16px}:root[data-keyboard-open] .answer-window{max-height:calc(var(--viewport-height) - 16px);width:min(720px,100% - 32px);padding:8px 12px}:root[data-keyboard-open] .answer-heading{margin-bottom:4px;padding-bottom:4px}:root[data-keyboard-open] .answer-form{margin-top:6px}.money-change{font-variant-numeric:tabular-nums;border-top:1px solid #d8d7b5;border-bottom:1px solid #d8d7b5;justify-content:center;align-items:center;gap:44px;width:fit-content;margin:12px auto;padding:8px 16px;display:flex;position:relative}.money-change:after{content:"→";color:#587281;font-size:22px;position:absolute;left:50%;transform:translate(-50%)}.money-change dt{color:#476679;font-size:11px}.money-change dd{margin:0;font-size:30px;font-weight:900;line-height:1.2}.money-change dd small{margin-left:3px;font-size:12px}.money-after{color:#94620b;animation:.24s ease-out score-pop}.arrival-panel .comment-bubble{font-size:18px}.arrival-panel>p{margin:8px 0;font-size:13px}.arrival-panel .score-big{margin:0 0 6px}.result-panel{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px 18px;width:min(690px,92%);height:min(310px,100%);padding:16px;display:grid;overflow:hidden}.result-reading{text-align:left;overscroll-behavior:contain;min-height:0;padding-right:6px;overflow:auto}.result-author{color:#476679;margin-bottom:8px;font-size:12px}.result-reading .comment-bubble{font-size:18px;line-height:1.5}.result-comment{border-top:1px solid #c8dbe1;padding-top:8px;font-size:14px;line-height:1.5}.result-reading:focus-visible{outline-offset:-2px;outline:2px solid #1679bb}.result-award{align-self:center;width:100%;min-height:0;max-height:100%;overflow:auto}.result-award .score-big{margin:0 0 6px;font-size:36px}.result-delta{color:#94620b;font-size:20px;font-weight:900}.result-panel.red .result-delta{color:#ac3f36}.result-award .money-change{gap:30px;margin:6px auto;padding:5px 8px}.result-award .money-change dd{font-size:24px}.result-footer{grid-column:1/-1}.result-actions{justify-content:center;gap:12px;display:flex}.result-footer .fallback-note{text-align:left;margin:0 0 8px;padding:6px 8px;font-size:12px}.scene-nav{padding-bottom:4px;overflow-x:auto}.scene-nav button{flex-shrink:0}.result-target,.result-floor{color:#476679;font-size:11px}.result-target{margin-bottom:5px}.result-award .score-big{margin-bottom:4px;font-size:32px}.result-award .money-change{margin:4px auto;padding:3px 8px}.overlay.setup-overlay{padding:16px}.setup-panel{flex-direction:column;gap:10px;width:min(650px,96%);padding:12px 16px;display:flex;overflow:hidden}.setup-panel h2{flex-shrink:0;margin:0;font-size:22px}.setup-rows{overscroll-behavior:contain;min-height:0;padding:4px;overflow:auto}.setup-row{margin-bottom:6px}.setup-row:last-child{margin-bottom:0}.setup-footer{flex-shrink:0;justify-content:center;gap:12px;display:flex}.setup-row input{font-size:16px}.winner-name{color:#183c59;overflow-wrap:anywhere;font-size:18px;display:block}.winner-title{white-space:nowrap;margin-top:4px;font-size:36px;line-height:1.25;display:block}:root[data-keyboard-open] .answer-window{top:var(--viewport-top,0px);left:var(--viewport-left,0px);width:var(--viewport-width,100%);height:var(--viewport-height);max-height:none;padding:4px max(8px,env(safe-area-inset-right)) 4px max(8px,env(safe-area-inset-left));box-shadow:none;border-width:3px 0 0;border-top-style:solid;border-top-color:#1679bb;border-radius:0;grid-template-rows:22px minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(220px,.9fr);gap:4px 12px;display:grid;position:fixed;bottom:auto;right:auto}:root[data-keyboard-open] .answer-heading{border:0;grid-column:1/-1;margin:0;padding:0;font-size:12px}:root[data-keyboard-open] .answer-topic{grid-area:2/1;align-self:stretch}:root[data-keyboard-open] .prompt{overflow-wrap:anywhere;font-size:16px;line-height:1.4}:root[data-keyboard-open] .topic-card>.category:not(.challenge-banner){display:none}:root[data-keyboard-open] .challenge-banner{font-size:11px;line-height:1.3}:root[data-keyboard-open] .answer-form{grid-area:2/2;align-self:center;gap:6px;min-width:0;margin:0}:root[data-keyboard-open] .answer-form button{white-space:nowrap;padding:6px 10px}:root[data-keyboard-open] .timer-bar{display:none}@media (width<=600px){.overlay{padding:max(112px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom))}.overlay.title-overlay,.overlay.setup-overlay{padding:max(16px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom))}.panel{border-radius:16px;width:100%;padding:18px 16px}.logo{font-size:36px}.help-toggle{margin:12px 0 0}.how-to-play{font-size:14px}.answer-window{left:12px;right:12px;bottom:max(16px,env(safe-area-inset-bottom));width:auto;max-height:calc(var(--viewport-height) - 130px);padding:16px}.prompt{font-size:20px;line-height:1.55}.answer-form{gap:6px}.answer-form button{white-space:nowrap;padding:8px 12px}.result-panel{flex-direction:column;gap:12px;height:auto;max-height:100%;display:flex}.result-reading{flex:auto;width:100%;max-height:38dvh}.result-award{flex:none;overflow:visible}.result-footer{flex-shrink:0;width:100%}.result-actions{gap:8px}.result-actions button{flex:1;padding:8px}.final-panel{text-align:center;flex-direction:column;align-items:stretch;gap:12px;display:flex;overflow:auto}.final-panel .rank-list{width:100%}.final-panel .rank-list li{padding:8px 4px}.final-panel .best-answers{text-align:left}.setup-row{flex-wrap:wrap}.setup-row input{flex:150px}.setup-row select{max-width:110px}.setup-footer{gap:8px}.setup-footer button{padding:8px 10px}:root[data-keyboard-open] .answer-window{max-height:none;height:var(--viewport-height);width:var(--viewport-width);left:var(--viewport-left);top:var(--viewport-top);flex-direction:column;gap:8px;padding:8px 12px;display:flex;bottom:auto;right:auto}:root[data-keyboard-open] .answer-heading{flex-shrink:0;min-height:24px}:root[data-keyboard-open] .answer-topic{flex:1;width:100%;min-height:0}:root[data-keyboard-open] .prompt{font-size:18px;line-height:1.5}:root[data-keyboard-open] .answer-form{flex-shrink:0;align-self:stretch;width:100%;padding-bottom:4px}}.title-panel{border:0;background:#fffdf2f2;border-block:5px solid #ffcf33;border-radius:0;padding:32px 20px;box-shadow:0 10px 40px #14374d55}.title-route{letter-spacing:.12em;color:#366b79;font-size:13px}.title-panel .primary{min-width:180px}.title-panel .help-toggle{box-shadow:none;background:0 0;border:0;margin:16px auto 0;text-decoration:underline;display:block}.setup-row{background:#edf3f3;border-left:4px solid #1679bb;border-radius:10px;grid-template-columns:38px minmax(0,1fr) 44px;gap:8px;margin-bottom:12px;padding:12px;display:grid}.setup-player-number{color:#1679bb;flex-direction:column;grid-row:1/4;align-items:center;font-size:24px;display:flex}.setup-player-number small{font-size:10px}.setup-row input{grid-column:2;width:100%}.setup-row select{grid-column:2;width:100%;max-width:none}.setup-row button{grid-area:1/3;padding:0}.setup-row:nth-child(2){border-color:#bb405d}.setup-row:nth-child(3){border-color:#378454}.setup-row:nth-child(4){border-color:#895ac1}.player-color-1{color:#bb405d}.player-color-2{color:#378454}.player-color-3{color:#895ac1}.result-award{text-align:center;grid-area:1/1}.result-reading{grid-area:1/2}.result-award .score-big{font-size:64px;line-height:1}.score-big small{font-size:22px}.result-panel{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}.arrival-panel{background:linear-gradient(155deg,#fff8ce,#fffdf3 60%);border:3px solid #c18b22;border-top:0}.arrival-stamp{color:#fff;letter-spacing:.14em;background:#176d79;border-radius:0 0 12px 12px;padding:6px 18px;display:inline-block;margin:0 0 16px!important}.arrival-panel .score-big{font-size:36px}.arrival-panel .comment-bubble{color:#94620b;font-size:26px}.event-panel.loss{background:#fff0ed;border-top:8px solid #bb405d}.event-panel.gain{background:#eaf8ff;border-top:8px solid #168cbd}.event-panel h2{line-height:1.5}.final-panel .winner-title{font-size:48px}.final-panel .best-answers{background:#fff4d1;border-radius:8px;padding:12px}@media (width<=600px){.answer-window{top:var(--viewport-top,0px);left:var(--viewport-left,0px);width:var(--viewport-width,100%);height:var(--viewport-height,100dvh);max-height:none;box-shadow:none;background:#fffdf3;border:0;border-top:5px solid #1679bb;border-radius:0;gap:12px;padding:12px 16px;position:fixed;bottom:auto;right:auto}.answer-heading{min-height:24px;margin:0;padding:0}.answer-topic{flex:1;min-height:0}.answer-window .prompt{font-size:22px;line-height:1.6}.answer-form{padding-bottom:max(8px,env(safe-area-inset-bottom));margin:0}.answer-window .category{margin-bottom:12px}:root[data-keyboard-open] .answer-window{gap:12px;padding:12px 16px}.result-award{order:0}.result-reading{border-top:1px solid #c8dbe1;order:1;max-height:30dvh;padding-top:12px}.result-footer{order:2}.result-award .score-big{font-size:64px}.setup-row input{width:100%}.setup-row select{max-width:none}.final-panel .best-answers{max-height:210px;overflow:auto}}.result-topic{color:#476679;margin:0 0 10px;font-size:12px;line-height:1.5}@media (width<=600px){.final-panel{grid-template-rows:auto auto minmax(90px,1fr) auto;grid-template-columns:minmax(0,1fr);gap:8px;height:100%;padding:12px;display:grid;overflow:hidden}.final-panel .winner-summary{grid-area:1/1}.final-panel .winner-caption{display:none}.final-panel .winner-title{font-size:36px}.final-panel h2{margin-bottom:0}.final-panel .rank-list{grid-area:2/1}.final-panel .rank-list li{padding:4px}.final-panel .best-answers{grid-area:3/1;min-height:0;max-height:none;margin:0;padding:6px 10px;overflow:auto}.final-panel .final-actions{grid-area:4/1}.final-panel .best-answers .item{margin-top:4px;padding:6px;font-size:13px}.final-panel .best-answers summary{font-size:11px}}.tokyo-board{color:#183c59;isolation:isolate;background:#7296a2;font-weight:700;position:absolute;inset:0;overflow:clip}.tokyo-camera{transition:transform .28s;position:absolute;top:0;left:0}.tokyo-art,.tokyo-routes{width:100%;height:100%;position:absolute;inset:0}.tokyo-art{filter:saturate(.88)contrast(.96)}.tokyo-routes{pointer-events:none;overflow:visible}.tokyo-track{stroke:#fffbdc;stroke-width:4px;fill:none;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px #183c59)}.tokyo-track.selected{stroke:#ffcf35;stroke-width:8px}.tokyo-cell{fill:#fffdf2;stroke:#294858;stroke-width:2px}.tokyo-cell.blue{fill:#45b9e9}.tokyo-cell.red{fill:#e57177}.tokyo-cell.hub{fill:#fff0ac}.tokyo-label{color:#163b51;white-space:nowrap;background:#fffdf2;border:1px solid #214660;border-bottom-width:3px;border-radius:3px;padding:2px 7px;font-size:clamp(10px,1.3vw,15px);font-weight:900;position:absolute;transform:translate(-50%,6px);box-shadow:0 1px #fff,0 2px 4px #183c5940}.tokyo-label.goal{background:#ffda48;border-color:#775820;box-shadow:0 0 0 2px #fff9d6}.tokyo-pawn{pointer-events:none;width:38px;height:52px;transform:translate(calc(-50% + var(--ox)),calc(-100% + var(--oy)));transform-origin:bottom;filter:drop-shadow(0 1px 1px #fff)drop-shadow(0 3px 2px #19395199);z-index:2;transition:left .26s,top .26s;position:absolute}.tokyo-pawn.shared{transform:translate(calc(-50% + var(--ox)),calc(-100% + var(--oy))) scale(.72)}.tokyo-pawn:before{content:"";background:radial-gradient(circle at 32% 25%,#d9f4ff,var(--pawn-color) 60%,#163456);z-index:2;border:1px solid #173d59;border-radius:50%;width:20px;height:20px;position:absolute;top:0;left:9px}.tokyo-pawn:after{content:"";clip-path:polygon(39% 0,61% 0,66% 22%,76% 51%,94% 78%,100% 89%,95% 96%,79% 100%,21% 100%,5% 96%,0 89%,6% 78%,24% 51%,34% 22%);background:linear-gradient(90deg,#183f60,var(--pawn-color) 22%,#b1dded 38%,var(--pawn-color) 58%,#183f60);width:36px;height:36px;position:absolute;bottom:0;left:1px}.tokyo-pawn span{background:var(--pawn-color);color:#fff;z-index:3;border:1px solid #fff;border-radius:50%;place-items:center;width:17px;height:17px;font-size:11px;display:grid;position:absolute;bottom:3px;right:7px}.tokyo-board button{color:#183c59;min-height:44px;font:inherit;cursor:pointer;touch-action:manipulation;background:linear-gradient(#fffefa,#ecefdf);border:2px solid #173f5b;border-radius:10px;padding:8px 12px;box-shadow:inset 0 2px #fff,0 3px #173f5b}.tokyo-board button:focus-visible{outline-offset:2px;outline:3px solid #fff;box-shadow:0 0 0 6px #1679bb}.tokyo-board button:disabled{color:#5b6c77;box-shadow:none;cursor:default;background:#d7dfdf}.tokyo-board .tokyo-choice{z-index:3;border-radius:50%;width:46px;height:46px;padding:0;font-size:20px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #fff9,0 3px #173f5b}.tokyo-choice[aria-pressed=true]{background:#ffda48;border-color:#805e13}.tokyo-hud{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));pointer-events:none;justify-content:space-between;align-items:start;gap:16px;display:flex;position:absolute}.tokyo-hud>*{pointer-events:auto}.tokyo-player{background:#fffdf3;border:2px solid #173f5b;border-left-width:6px;border-radius:10px 22px 10px 10px;align-items:center;gap:10px;max-width:47%;padding:6px 12px 6px 6px;display:flex;box-shadow:0 3px #173f5b70}.tokyo-player>span{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.tokyo-player>b{overflow-wrap:anywhere;max-width:9em;font-size:14px}.tokyo-player>strong{white-space:nowrap;font-size:20px}.tokyo-board .tokyo-destination{text-align:left;border-top:5px solid #ffcf33;font-size:17px;box-shadow:0 3px #173f5b70}.tokyo-destination small{margin-top:4px;font-size:11px;display:block}.tokyo-steps{background:#fffdf3;border:2px solid #173f5b;border-left:5px solid #1679bb;border-radius:7px 18px 18px 7px;padding:2px 12px;font-size:12px;position:absolute;top:70px;left:16px}.tokyo-steps b{color:#1679bb;font-size:32px}.tokyo-command{left:max(16px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));background:#fffdf3;border:2px solid #173f5b;border-left:5px solid #1679bb;border-radius:10px;align-items:center;gap:14px;max-width:70%;padding:8px 12px;display:flex;position:absolute}.tokyo-command strong{font-size:15px}.tokyo-command small{margin-top:4px;font-size:12px;display:block}.tokyo-command button:not(:disabled){background:linear-gradient(#ffe875,#ffc72c);border-color:#805e13;min-width:72px}.tokyo-map-tools{bottom:max(12px,env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right));text-align:right;gap:6px;display:grid;position:absolute}.tokyo-map-tools small{background:#fffdf3;border-radius:4px;padding:2px 6px;font-size:10px}@media (prefers-reduced-motion:reduce){.tokyo-camera,.tokyo-pawn{transition:none}}.tokyo-board.is-overview .tokyo-map-tools{left:max(16px,env(safe-area-inset-left));text-align:left;right:auto}.tokyo-steps{top:max(8px,env(safe-area-inset-top));white-space:nowrap;border-left-width:2px;border-radius:8px;padding:3px 8px;font-size:11px;left:50%;transform:translate(-50%)}.tokyo-steps b{font-size:30px}.tokyo-player{max-width:calc(50% - 66px)}@media (width<=700px){.tokyo-player{gap:6px;padding-right:8px}.tokyo-player>strong{font-size:16px}.tokyo-player>b{font-size:12px}.tokyo-board .tokyo-destination{padding:6px 8px;font-size:15px}.tokyo-destination small{font-size:10px}}.tokyo-tool-buttons{gap:8px;display:flex}.tokyo-tool-buttons button{padding:8px 10px;font-size:12px}.tokyo-command{max-width:calc(100% - 250px)}.tokyo-standings{z-index:20;background:#183c5980;place-items:center;padding:12px;display:grid;position:absolute;inset:0}.tokyo-standings section{text-align:center;background:#fffdf3;border:2px solid #173f5b;border-top:6px solid #1679bb;border-radius:12px;width:min(530px,90%);max-height:100%;padding:12px 20px;overflow:auto;box-shadow:0 5px #173f5b80}.tokyo-standings h2{margin:0;font-size:22px}.tokyo-standings p{margin:4px 0;font-size:12px}.tokyo-standings ol{margin:8px 0;padding:0;list-style:none}.tokyo-standings li{text-align:left;border-bottom:1px solid #c6d9df;align-items:center;gap:10px;padding:4px 0;font-size:14px;line-height:1.2;display:flex}.standings-number{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;display:grid}.tokyo-standings li strong{white-space:nowrap;text-align:right;margin-left:auto;font-size:18px}.tokyo-standings li small{color:#476679;font-size:10px;line-height:1.2;display:block}.tokyo-map-tools.tools-raised{top:max(84px,calc(env(safe-area-inset-top) + 76px));bottom:auto}.tokyo-cell-symbol{fill:#173f5b;text-anchor:middle;dominant-baseline:central;pointer-events:none;font:900 10px Arial,sans-serif}.tokyo-destination.destination-new{background:linear-gradient(#fff8cb,#fffdf3);animation:.5s ease-out destination-reveal}@keyframes destination-reveal{0%{box-shadow:0 0 0 6px #ffcf3380}to{box-shadow:0 3px #173f5b70}}.tokyo-steps.steps-aside{top:84px;left:16px;transform:none}.tokyo-command.command-raised{top:84px;bottom:auto}.tokyo-player>b{text-wrap:balance}.tokyo-board.is-finished .tokyo-hud,.tokyo-board.is-finished .tokyo-map-tools{display:none}.tokyo-board.is-finished .tokyo-label.goal{background:#fffdf2;border-color:#214660;box-shadow:0 1px #fff,0 2px 4px #183c5940}@media (width<=600px) and (height>=500px){.tokyo-hud{left:12px;right:12px;top:max(8px,env(safe-area-inset-top));flex-direction:column;align-items:stretch;gap:6px}.tokyo-player{gap:8px;max-width:none;min-height:42px;padding:4px 8px}.tokyo-player>b{flex:1;max-width:none;font-size:13px}.tokyo-player>strong{font-size:18px}.tokyo-player>span{width:26px;height:26px}.tokyo-board .tokyo-destination{justify-content:space-between;align-items:center;gap:6px;min-height:44px;padding:4px 8px;font-size:14px;display:flex}.tokyo-destination small{max-width:125px;margin:0;font-size:10px}.tokyo-steps,.tokyo-steps.steps-aside{top:max(112px,calc(env(safe-area-inset-top) + 104px));padding:2px 8px;left:12px;transform:none}.tokyo-steps b{font-size:24px}.tokyo-command,.tokyo-command.command-raised{top:auto;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));justify-content:space-between;gap:8px;max-width:none;min-height:72px}.tokyo-command>div{min-width:0}.tokyo-command strong{overflow-wrap:anywhere;font-size:14px}.tokyo-command small{font-size:11px}.tokyo-map-tools,.tokyo-map-tools.tools-raised,.tokyo-board.is-overview .tokyo-map-tools{top:auto;bottom:max(96px,calc(env(safe-area-inset-bottom) + 84px));text-align:left;justify-content:space-between;align-items:center;display:flex;left:12px;right:12px}.tokyo-tool-buttons{gap:6px}.tokyo-tool-buttons button{padding:6px 8px;font-size:11px}.tokyo-label{font-size:12px}.tokyo-standings section{width:100%;padding:16px 12px}}.overview-scroll{overscroll-behavior:contain;touch-action:pan-x pan-y;scrollbar-width:thin;background:#b5d7df;position:absolute;inset:124px 0 170px;overflow:auto}.is-overview .tokyo-camera{transition:none;position:relative}.is-overview .tokyo-pawn{transform:translate(-50%,-100%)scale(.65)}.is-overview .tokyo-label{font-size:12px}.overview-hint{text-align:center;color:#fff;margin:0;font-size:12px;position:absolute;top:92px;left:12px;right:12px}.route-comparison{gap:6px;display:flex;position:absolute;top:156px;left:12px;right:12px}.tokyo-board .route-comparison button{text-align:left;background:#fffdf3;flex:1;min-width:0;padding:6px;font-size:12px}.route-comparison b,.route-comparison small{display:block}.route-comparison b span{font-size:10px}.route-comparison small{margin-top:4px;font-size:10px}.tokyo-board .route-comparison button[aria-pressed=true]{background:#ffdf68}@media (width>=601px),(height<=499px){.route-comparison{width:min(450px,60%);inset:auto auto 96px 16px}.overview-scroll{inset:80px 12px 90px}.overview-hint{top:58px}}@media (width<=600px) and (height>=500px){.overview-hint{font-size:11px;top:108px}.overview-scroll{top:136px}.is-overview .tokyo-tool-buttons{flex-wrap:wrap}.is-overview .tokyo-map-tools{align-items:flex-end}.route-comparison b span{font-size:13px}.route-comparison small{font-size:11px}.route-comparison strong{font-size:13px}}.overview-current{color:#fff;z-index:4;background:#1679bb;border:2px solid #fff;border-radius:6px;padding:3px 8px;font-size:12px;position:absolute;transform:translate(-50%,-68px)}@media (width>=601px),(height<=499px){.route-comparison{overscroll-behavior:contain;flex-direction:column;width:192px;padding:2px 2px 5px;inset:76px 16px 90px auto;overflow:auto}.tokyo-board .route-comparison button{flex:none;min-height:52px}.route-comparison b span{font-size:12px}.route-comparison small{font-size:11px}.tokyo-board:has(.route-comparison) .tokyo-map-tools.tools-raised{text-align:left;inset:auto auto 12px 16px}}.online-entry{margin:16px auto 0;display:block}.online-page{justify-content:center;align-items:center;min-height:100%;padding:20px 0;display:flex;overflow-y:auto}.online-lobby{flex-direction:column;gap:12px;margin:auto;display:flex}.online-lobby h1{font-size:24px}.online-lobby input{border:1px solid #777;border-radius:8px;width:100%;min-width:0;min-height:44px;padding:10px;font-size:16px}.online-lobby ul{padding-left:24px;line-height:2}.online-lobby button{min-height:44px}.online-hint{opacity:.8;font-size:13px}.online-shell{flex-direction:column;height:100dvh;display:flex}.online-shell>.online-page{flex:1;min-height:0}.online-status{padding:max(6px, env(safe-area-inset-top)) 12px 6px;z-index:40;background:#201b3a;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px 12px;font-size:13px;display:flex}.online-status button{min-height:40px;margin-left:auto}.online-board{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.online-board>.stage{flex:1;min-height:0}.online-turn{text-align:center;background:#3b2858;flex-shrink:0;padding:6px 12px;font-size:14px;font-weight:700}.online-waiting{text-align:center;background:var(--panel);z-index:20;border-radius:12px;padding:16px;position:absolute;bottom:24px;left:5%;right:5%}.online-connection{z-index:35;text-align:center;background:#0f0c23f0;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex;position:absolute;inset:80px 0 0}.online-error{z-index:40;background:#6a2430;flex-shrink:0;padding:8px 12px;font-size:14px}@media (width<=480px){.online-lobby{padding:18px}.online-board .topic-card{padding:12px}.online-board .answer-form{padding-bottom:max(10px, env(safe-area-inset-bottom))}}.online-status,.online-turn,.online-error,.online-connection{color:#fffdf3}.online-shell{height:var(--viewport-height,100dvh)}.online-board>.stage{height:100%}.online-board .answer-window{z-index:45}.online-lobby{max-width:580px}
