@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;800;900&display=swap');
:root{color-scheme:dark;--bg:#112018;--panel:#172a20;--ink:#eef2df;--muted:#a5b5a3;--acid:#d6f06e;--line:#b8d2a62b;--red:#ef7860}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:'Noto Sans TC',sans-serif;background:var(--bg);color:var(--ink);font-size:16px}button,input{font:inherit}svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}button{color:inherit;cursor:pointer;border:0;transition:background .2s,transform .15s}button:active{transform:translateY(1px)}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--acid);outline-offset:3px}a{color:var(--acid);text-decoration:none}button[hidden],[hidden]{display:none!important}#app,#world{position:absolute;inset:0}#world{touch-action:none;outline:0;cursor:grab}#world:active{cursor:grabbing}#world canvas{display:block;width:100%;height:100%}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#08180fd9,transparent 27%,transparent 55%,#08170cdd)}.topbar{position:absolute;left:28px;right:28px;top:21px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:5}.brand{display:flex;gap:10px;align-items:center;color:var(--ink);font-size:20px;font-weight:800;letter-spacing:1px}.brand-mark{display:grid;place-items:center;border:1px solid var(--acid);color:var(--acid);width:40px;height:40px;border-radius:50%;font-size:19px}.brand small{display:block;font:10px ui-monospace,monospace;letter-spacing:2px;color:var(--muted);margin-top:4px}.mode-label{font-size:13px;letter-spacing:2px;color:var(--muted)}.header-actions{display:flex;gap:10px}.header-actions button{display:flex;align-items:center;gap:8px;background:#14271be8;padding:10px 15px;border:1px solid var(--line);border-radius:5px;font-size:14px}.header-actions button:hover{background:#38502c}.eyebrow{font-size:12px;letter-spacing:1.7px;color:var(--muted);font-weight:500}.mission{position:absolute;left:30px;top:107px}.mission>div{font-size:15px;margin-top:12px;display:flex;align-items:center;gap:9px}.mission-dot,.player-dot,.danger-dot,.food-dot{width:7px;height:7px;background:var(--acid);display:inline-block;border-radius:50%}.timer-panel{position:absolute;right:30px;top:103px;display:flex;flex-direction:column;gap:7px;text-align:right}.timer-panel strong{font:25px ui-monospace,monospace;letter-spacing:1px}.goal-radar{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:6px;pointer-events:none;text-shadow:0 1px 7px #09160d}.radar-ring{border:1px solid #d6f06e66;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#15271b66}.radar-ring span{font-family:sans-serif;font-size:26px;color:var(--acid);display:inline-block;line-height:1}.goal-radar strong{font:21px ui-monospace,monospace;letter-spacing:-1px}.goal-radar strong small{font-size:12px;letter-spacing:0}.goal-radar>span{font-size:12px;color:#dde7c9}#threat-banner{position:absolute;top:23%;left:50%;transform:translateX(-50%);font-size:15px;background:#431f1de8;color:#ffba98;border:1px solid #be785655;border-radius:5px;padding:10px 17px;opacity:0;transition:opacity .2s;max-width:80%;text-align:center}.health-card{position:absolute;left:30px;bottom:94px;width:280px;background:#172a20e8;border:1px solid var(--line);padding:17px 18px;border-radius:6px}.health-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.health-heading>span:first-child{font:13px ui-monospace,monospace;white-space:nowrap}.health-heading b{font-size:28px;color:var(--acid);margin-left:5px}.health-heading small{color:var(--muted);font-size:12px}.health-heading>span:last-child{font-size:13px;color:#c4d2b6}.hp-track{height:6px;background:#4a5b3c;margin-top:12px;overflow:hidden;border-radius:2px}#hp-fill{height:100%;background:var(--acid);width:100%;transition:width .2s,background .2s}.health-meta{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin-top:10px}.health-meta b{color:var(--ink)}.abilities{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);display:flex;gap:8px}.ability{background:#182a20ee;border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:120px;padding:12px 16px;touch-action:none}.ability>span{font-size:13px}.ability>small{font-size:12px;color:var(--muted)}kbd{font:12px ui-monospace,monospace;min-width:24px;border:1px solid #aec2956b;border-radius:3px;padding:2px 5px;color:var(--acid)}.ability.ready{border-color:#d6f06e88}.ability.cooldown{opacity:.6}.movement-help{position:absolute;bottom:20px;left:28px;font-size:12px;line-height:1.9;color:#b2c0a3;display:flex;flex-direction:column}.map-card{position:absolute;right:28px;bottom:27px;width:205px;padding:13px;background:#16281eea;border:1px solid var(--line);border-radius:7px;z-index:6;backdrop-filter:blur(10px)}.map-header{display:flex;justify-content:space-between;align-items:center;font-size:13px;letter-spacing:1px}.map-header>div{display:flex;gap:5px}.map-header button{width:26px;height:26px;border:1px solid var(--line);border-radius:4px;background:transparent;font-size:19px}.map-card canvas{display:block;width:100%;height:192px}.map-legend{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--muted);margin:5px 0 9px}.danger-dot{background:#f08067}.food-dot{background:#83cda4}.map-distance{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:9px;font-size:12px;color:var(--muted);gap:6px}.attribution{display:block;font-size:10px;color:#8c9d84;margin-top:7px}.map-card.expanded{width:min(480px,calc(100vw - 40px));bottom:30px;right:28px;box-shadow:0 12px 60px #0007}.map-card.expanded canvas{height:min(60vh,550px)}#damage-flash{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 140px 35px #df3c24;opacity:0;z-index:4;transition:opacity .1s}#toast{position:absolute;top:168px;left:50%;transform:translateX(-50%);padding:11px 20px;border-radius:5px;max-width:85%;background:var(--acid);color:#28331b;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:35;text-align:center}#toast.show{opacity:1}.screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#09170cd4;backdrop-filter:blur(10px);z-index:20;overflow-y:auto;padding:84px 24px 24px}.menu-shell{width:min(1100px,100%);margin:auto;background:linear-gradient(130deg,#243726f2,#11221bf7);border:1px solid #91a76d44;border-radius:14px;padding:26px 32px;box-shadow:0 20px 100px #030a0677}.menu-title{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.menu-title h1{font-size:38px;line-height:1.35;letter-spacing:2px;margin:9px 0 0;font-weight:800}.menu-title>p{font-size:14px;line-height:1.85;color:var(--muted);margin:0}.selection-title{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;margin-top:22px;font-size:14px;letter-spacing:.5px}.selection-title>span:last-child{color:var(--muted);font-size:12px}.selection-layout{display:grid;grid-template-columns:1fr 235px;gap:25px;margin-top:14px}.roster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.character-card{padding:0 0 11px;background:#15251d;border:1px solid #8da47033;border-radius:6px;overflow:hidden;text-align:left;position:relative}.character-card.selected{border-color:var(--acid);box-shadow:0 0 0 1px var(--acid)}.character-card:hover{background:#29422c}.character-card .roach-art{width:100%;aspect-ratio:1;background-size:400% 200%}.character-card strong{display:block;font-size:14px;font-weight:500;padding:0 11px}.character-card small{display:block;font:12px ui-monospace,monospace;color:var(--muted);padding:0 11px;margin-top:5px}.character-card.selected:after{content:'✓';position:absolute;top:7px;right:8px;color:var(--acid);font-size:14px}.roach-art{background-image:url('./assets/roach-roster-cartoon.png');background-size:400% 200%;background-repeat:no-repeat}.roach-art.special-art{background-image:none;position:relative;overflow:hidden;border-radius:5px}.roach-art.special-art:before{content:'';position:absolute;inset:0;background-image:url('./assets/roach-roster-cartoon.png');background-size:400% 200%;background-position:0% 0%;filter:grayscale(1) contrast(1.7) brightness(1.35);mix-blend-mode:luminosity;opacity:.5}.roach-art.special-art:after{content:'';position:absolute;inset:0;mix-blend-mode:screen}.roach-art[data-special=crystal]{background:radial-gradient(120% 120% at 32% 24%,#cdf3ee2e,#8fd6ff24 42%,#0f231c 76%)}.roach-art[data-special=crystal]:after{background:linear-gradient(128deg,#ffffff00 34%,#bff3ffb0 47%,#ffffff00 58%),radial-gradient(58% 58% at 66% 72%,#63d9c455,#63d9c400 70%);animation:crystal-sheen 5.5s ease-in-out infinite}.roach-art[data-special=chrome]{background:linear-gradient(147deg,#3a2f12,#d8b45f 34%,#fff3cd 47%,#a8813a 61%,#2c2413)}.roach-art[data-special=chrome]:after{background:linear-gradient(147deg,#ffffff00 30%,#fff6d9a6 44%,#ffffff00 55%,#ffdf9e7a 70%,#ffffff00 82%);background-size:100% 260%;animation:chrome-flow 4.2s linear infinite}@keyframes crystal-sheen{0%,100%{transform:translateX(-24%)}50%{transform:translateX(24%)}}@keyframes chrome-flow{0%{background-position:0 -130%}100%{background-position:0 130%}}@media(prefers-reduced-motion:reduce){.roach-art.special-art:after{animation:none}}.selected-detail{border-left:1px solid var(--line);padding-left:21px}.selected-detail .roach-art{width:100%;aspect-ratio:1;margin-top:-8px}.selected-detail h2{font-size:23px;margin:7px 0 9px}.selected-detail p{font-size:12px;line-height:1.8;color:var(--muted);margin:5px 0}.selected-detail p:first-of-type{color:var(--acid)}.menu-bottom{display:flex;align-items:flex-end;gap:22px;border-top:1px solid var(--line);margin-top:21px;padding-top:17px}.menu-bottom label{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:7px;flex:1}.menu-bottom input{width:100%;max-width:220px;background:#102218;border:1px solid var(--line);border-radius:5px;padding:10px 12px;color:var(--ink);font-size:14px}.menu-note{font-size:12px;line-height:1.8;color:#9aab91;flex:1}.primary{background:var(--acid);color:#213118;padding:13px 23px;border-radius:5px;font-size:15px;font-weight:600;display:flex;justify-content:space-between;gap:30px;align-items:center}.primary:hover{background:#e3ff84}.secondary{background:#2e4429;border:1px solid #8ca56d4d;padding:11px 16px;border-radius:5px;font-size:14px;color:#dce8cc}.secondary:hover{background:#405837}.text-button{background:none;color:var(--muted);font-size:13px;padding:10px}.load-status{font-size:12px;color:#95a785;text-align:right;margin-top:8px}.brief-shell{max-width:1000px;width:100%;padding:35px;background:#1b2e22;border:1px solid var(--line);border-radius:12px}.brief-shell h2{font-size:34px;line-height:1.5;margin:13px 0 27px}.brief-shell h2 em{font-style:normal;color:var(--acid)}.brief-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.brief-grid article{border-top:2px solid #8faa64;padding-top:18px}.brief-grid b{font-size:16px}.brief-grid p{font-size:14px;line-height:1.9;color:var(--muted)}.brief-bottom{margin-top:25px;border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;gap:20px;justify-content:space-between}.brief-bottom p{font-size:12px;line-height:1.8;color:var(--muted)}.pause-shell{width:370px;max-width:100%;padding:32px;background:#1b2c21;border:1px solid var(--line);border-radius:12px;text-align:center}.pause-shell h2{font-size:34px;margin:13px 0}.pause-shell p{font-size:14px;color:var(--muted);margin-bottom:26px}.pause-shell>.primary,.pause-shell>.secondary,.pause-shell>.text-button{width:100%;justify-content:center;margin-top:10px}.sound-menu{position:relative;display:flex;gap:4px}.sound-menu>#volume-toggle{padding:10px 9px;font-size:12px}.sound-menu>#volume-toggle[aria-expanded=true]{background:#38502c;color:var(--acid)}#volume-panel{position:absolute;top:calc(100% + 7px);right:0;z-index:30;width:250px;background:#14271bf7;border:1px solid var(--line);border-radius:6px;padding:15px;box-shadow:0 14px 44px #0006;backdrop-filter:blur(12px)}.volume-controls{display:grid;gap:13px}.volume-controls label{font-size:13px;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;color:var(--ink)}.volume-controls output{font:12px ui-monospace,monospace;color:var(--muted);min-width:26px;text-align:right}.volume-controls input{width:100%;accent-color:var(--acid)}#volume-reset{padding:5px 0 0;text-align:left;font-size:12px}.pause-hint{font-size:12px;color:var(--muted);border-top:1px solid var(--line);margin-top:22px;padding-top:16px}#countdown{position:absolute;inset:0;display:grid;place-items:center;font:120px ui-monospace,monospace;color:var(--acid);text-shadow:0 8px 90px #071d0d;z-index:10;background:#071a0c44;pointer-events:none}.result-shell{width:780px;max-width:100%;background:#1b2d21;border:1px solid var(--line);border-radius:12px;padding:30px}.result-shell h2{font-size:43px;margin:13px 0;letter-spacing:2px}.result-shell>p{font-size:15px;color:var(--muted);line-height:1.7}.result-shell.dead h2{color:var(--red)}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:23px 0}.result-stats>div{padding-left:20px;border-left:1px solid var(--line)}.result-stats>div:first-child{padding-left:0;border:0}.result-stats span{display:block;font-size:12px;color:var(--muted);margin-bottom:11px}.result-stats strong{font:32px ui-monospace,monospace;color:var(--acid)}.personal-ranks{display:flex;justify-content:space-around;gap:12px;font-size:16px;color:var(--acid);margin-bottom:20px}.status-text{font-size:13px;color:#d4c09a;line-height:1.7;min-height:22px;margin:10px 0}.result-buttons{display:flex;gap:12px;margin-top:25px}.leader-switch{display:flex;gap:5px;margin:14px 0}.leader-switch button{padding:8px 12px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:13px;border-radius:4px}.leader-switch button.active{background:var(--acid);color:#29371a}.score-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.score-table th{font-weight:400;text-align:left;color:#9db091;padding:10px 8px;border-bottom:1px solid var(--line);font-size:12px}.score-table td{padding:10px 8px;border-bottom:1px solid #b8d2a615;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-table th:first-child{width:38px}.score-table th:nth-child(3){width:88px}.score-table th:last-child{width:73px}.score-table tr.self td{color:var(--acid);background:#8caa4020}.score-table small{font-size:12px;color:var(--muted)}.board-empty{padding:27px 12px;font-size:14px;color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:6px}.board-note{font-size:12px;line-height:1.7;color:var(--muted);margin:10px 0}.touch-pad{display:none}#inspect-panel{position:absolute;right:28px;top:92px;bottom:25px;width:410px;background:#16291ff2;backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:9px;padding:21px;overflow:auto;z-index:7}.inspect-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.inspect-top h2{font-size:24px;margin:6px 0}.inspect-top .eyebrow{font-size:11px;letter-spacing:1px}.inspect-top button{font-size:12px;padding:9px}.inspect-note{font-size:12px;line-height:1.8;color:var(--muted)}.inspect-tabs{display:flex;border-bottom:1px solid var(--line);margin-top:17px}.inspect-tabs button{background:none;color:var(--muted);font-size:13px;flex:1;padding:11px 0;border-bottom:2px solid transparent}.inspect-tabs button.active{color:var(--acid);border-color:var(--acid)}#inspect-content h3{font-size:17px;margin:22px 0 12px}#inspect-content p{font-size:13px;line-height:1.9;color:var(--muted)}#inspect-content a{display:block;font-size:13px;line-height:1.9;margin-top:9px}.lighting-options{display:flex;gap:8px;margin-top:20px}.lighting-options button{flex:1;padding:12px 5px;background:#2b4229;border:1px solid var(--line);border-radius:4px;font-size:14px}.lighting-options button.active{border-color:var(--acid);color:var(--acid)}.cast-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}.cast-row span{color:var(--muted)}.research-item{display:flex;gap:12px;border-bottom:1px solid var(--line);padding:12px 0}.research-item .roach-art{width:78px;height:78px;flex-shrink:0}.research-item strong{font-size:14px}.research-item small{font-size:12px;color:var(--muted);display:block;line-height:1.7}.research-item p{margin:5px 0}#app[data-phase=inspect] .map-card{right:auto;left:28px}#app[data-phase=menu] .header-actions,#app[data-phase=brief] .header-actions,#app[data-phase=loading] .header-actions{visibility:hidden}#app[data-phase=menu] .map-card,#app[data-phase=brief] .map-card,#app[data-phase=result] .map-card,#app[data-phase=paused] .map-card{display:none}#app:not([data-phase=playing]):not([data-phase=countdown]):not([data-phase=bird]) .game-only{display:none}
@media(max-width:1100px){.health-card{width:230px;bottom:160px}.abilities{left:29px;bottom:44px;transform:none}.ability{min-width:112px;padding:10px 12px}.movement-help{bottom:11px;left:29px;flex-direction:row;gap:12px}.movement-help>span:last-child{display:none}.map-card{width:185px}.selection-layout{grid-template-columns:1fr 180px;gap:15px}.selected-detail{padding-left:14px}.selected-detail h2{font-size:20px}.menu-title h1{font-size:31px}.menu-shell{padding:23px}.menu-title>p{font-size:13px}.roster{gap:7px}.character-card strong{font-size:13px;padding:0 8px}.character-card small{padding:0 8px}.result-shell h2{font-size:35px}}
@media(max-width:760px){.topbar{top:14px;left:16px;right:16px;gap:6px}.brand{font-size:16px;gap:8px}.brand-mark{width:32px;height:32px;font-size:16px}.brand small{font-size:8px;letter-spacing:1px}.mode-label{display:none}.header-actions{gap:5px}.header-actions button{padding:9px;font-size:14px}.header-actions button span{display:none}.mission{top:82px;left:18px;max-width:230px}.mission .eyebrow{font-size:10px;letter-spacing:1px}.mission>div{font-size:12px;line-height:1.7;margin-top:8px}.timer-panel{top:80px;right:18px}.timer-panel .eyebrow{font-size:10px}.timer-panel strong{font-size:18px}.health-card{left:16px;bottom:151px;width:181px;padding:12px}.health-heading b{font-size:24px}.health-heading>span:last-child{font-size:11px}.health-meta{font-size:11px;gap:5px}.health-meta span:last-child{max-width:75px}.abilities{left:16px;bottom:19px;gap:6px}.ability{min-width:90px;padding:10px 9px;gap:5px}.ability>span{font-size:12px}.ability small{font-size:10px}.movement-help{display:none}.map-card{right:16px;bottom:143px;width:133px;padding:10px}.map-card canvas{height:125px}.map-header{font-size:12px;letter-spacing:0}.map-header button{width:22px;height:22px;font-size:17px}.map-header>div{gap:2px}.map-legend{font-size:10px;gap:3px;flex-wrap:wrap}.map-distance{font-size:10px;line-height:1.6}.map-distance span:last-child{display:none}.attribution{font-size:8px}.map-card.expanded{right:16px;bottom:138px;width:calc(100vw - 32px)}.map-card.expanded canvas{height:48vh}.touch-pad{display:flex;position:absolute;left:18px;bottom:285px;flex-direction:column;align-items:center;gap:4px;z-index:7}.touch-pad>div{display:flex;gap:4px}.touch-pad button{width:37px;height:37px;background:#172c20de;border:1px solid #b0c29045;border-radius:5px;touch-action:none;font-size:20px}.touch-pad button:active{background:var(--acid);color:#1c311c}#app[data-phase=menu] .touch-pad,#app[data-phase=brief] .touch-pad,#app[data-phase=paused] .touch-pad,#app[data-phase=result] .touch-pad{display:none}.goal-radar{top:41%}.goal-radar strong{font-size:19px}.goal-radar>span{font-size:11px}#threat-banner{top:25%;font-size:12px;padding:8px 11px}#toast{top:137px;font-size:12px;width:max-content;max-width:88%}.screen{padding:70px 14px 20px;align-items:flex-start}.menu-shell{padding:19px 16px;border-radius:9px}.menu-title h1{font-size:27px;margin-top:10px;letter-spacing:1px}.menu-title .eyebrow{font-size:9px;letter-spacing:1px}.menu-title>p{font-size:11px;line-height:1.7;max-width:121px}.selection-title{font-size:13px;margin-top:18px;padding-top:15px}.selection-title>span:last-child{font-size:10px}.selection-layout{display:block;margin-top:12px}.selected-detail{display:none}.roster{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.character-card .roach-art{aspect-ratio:1}.character-card strong{font-size:11px;padding:0 5px;white-space:nowrap}.character-card small{font-size:10px;padding:0 5px}.character-card{padding-bottom:9px}.character-card.selected:after{font-size:11px;top:3px;right:5px}.menu-bottom{flex-wrap:wrap;gap:11px;margin-top:17px;padding-top:14px}.menu-bottom label{min-width:125px}.menu-bottom input{font-size:14px;width:100%;max-width:none}.menu-note{font-size:10px;line-height:1.7;min-width:130px}.menu-bottom .primary{width:100%;justify-content:center;padding:13px}.load-status{font-size:11px;text-align:center}.brief-shell{padding:23px 20px}.brief-shell h2{font-size:25px;margin:12px 0 20px}.brief-grid{grid-template-columns:1fr;gap:14px}.brief-grid article{padding-top:13px}.brief-grid p{font-size:13px;margin:8px 0;line-height:1.75}.brief-grid b{font-size:15px}.brief-bottom{flex-wrap:wrap;gap:10px;margin-top:17px}.brief-bottom p{order:3;margin:6px 0;font-size:11px}.brief-bottom .primary{padding:12px 16px;font-size:14px;gap:12px}.brief-bottom .secondary{font-size:12px;padding:12px}.pause-shell{margin:auto;padding:25px}.result-shell{padding:25px 18px;margin:auto}.result-shell h2{font-size:32px}.result-shell>p{font-size:13px}.result-stats{padding:18px 0}.result-stats strong{font-size:23px}.result-stats>div{padding-left:12px}.result-stats span{font-size:11px}.personal-ranks{font-size:13px;gap:8px;line-height:1.7}.result-buttons{flex-direction:column}.result-buttons button{justify-content:center}.score-table{font-size:12px}.score-table td,.score-table th{padding:8px 5px}.score-table th:nth-child(3){width:75px}.score-table th:last-child{width:58px}#inspect-panel{right:12px;left:12px;top:75px;bottom:25px;width:auto;padding:18px;max-height:65vh;top:auto}#app[data-phase=inspect] .map-card{top:77px;left:14px;bottom:auto;width:120px}#app[data-phase=inspect] .map-card canvas{height:105px}#app[data-phase=inspect] .touch-pad{display:none}.inspect-top h2{font-size:22px}.inspect-note{font-size:12px}.eyebrow{font-size:11px}}
@media(max-height:780px) and (min-width:761px){.menu-title h1{font-size:29px}.menu-shell{padding:20px 27px}.character-card .roach-art{aspect-ratio:1}.selected-detail .roach-art{max-width:166px;margin:auto}.selected-detail h2{font-size:21px}.selection-title{margin-top:15px;padding-top:13px}.menu-bottom{margin-top:15px;padding-top:13px}.screen{padding-top:75px}.menu-title>p{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Keep gameplay labels legible on compact screens. */
@media(max-width:760px){.character-card strong{font-size:12px}.character-card small,.selection-title>span:last-child,.menu-note,.load-status,.ability small,.health-heading>span:last-child,.health-meta,.goal-radar>span,.map-legend,.map-distance{font-size:12px}.character-card strong{padding:0 4px}.menu-note{line-height:1.7}.map-legend{gap:5px}.health-card{width:187px}.health-heading{gap:5px;flex-wrap:wrap}.health-meta{line-height:1.5}.map-card{width:135px}.abilities{gap:5px}.ability{min-width:89px;padding:10px 7px}.ability small{max-width:91px;line-height:1.4}.map-distance{line-height:1.5}.map-distance>span:first-child{max-width:105px}}@media(max-width:360px){.roster{grid-template-columns:repeat(2,minmax(0,1fr))}.character-card .roach-art{aspect-ratio:1}.health-card{left:12px;width:172px}.map-card{right:12px;width:120px}.abilities{left:12px}.menu-title>p{display:none}}

/* Cartoon portraits retain their square source cells at every breakpoint. */
.selection-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px}
.roach-art{aspect-ratio:1;background-color:#15231c}
.character-card .roach-art{aspect-ratio:1;height:auto}
.selected-detail{padding-left:22px;max-height:500px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#667957 transparent}
.selected-detail .roach-art{width:148px;max-width:100%;height:auto;margin:0 auto 8px;border-radius:8px}
.selected-detail h2{margin:5px 0;font-size:23px}.selected-detail #selected-tag{font-size:11px}
.species-facts{margin:16px 0 0}.species-facts>div{margin:0 0 13px}.species-facts dt{font-size:11px;letter-spacing:1px;color:#d6e1c8;margin-bottom:4px}.species-facts dd{margin:0;color:var(--muted);font-size:12px;line-height:1.8}
.species-sources{display:flex;gap:9px;flex-wrap:wrap;font-size:10px;padding-bottom:5px}.species-sources a{color:#bfcd9e;text-decoration:underline;text-underline-offset:3px}
.map-header button{border:0;border-radius:50%;font-size:23px;line-height:1;color:var(--acid)}.map-header button:hover{background:#d6f06e17}.map-follow{display:none;width:100%;padding:6px 9px;margin:5px 0;background:#d6f06e12;border:1px solid var(--line);border-radius:4px;font-size:12px;color:var(--muted)}.map-card.expanded .map-follow{display:block}.map-follow[aria-pressed=true]{color:var(--acid)}
.inspect-only{display:none}#app[data-phase=inspect] .inspect-only{display:block}#app[data-phase=inspect] .topbar{border-bottom:1px solid #bccba31c;padding-bottom:18px}#app[data-phase=inspect] #pause-button{display:flex;align-items:center;font-size:12px;gap:6px}#app[data-phase=inspect] .mode-label{font-size:12px;letter-spacing:1px}
.inspect-heading{position:absolute;top:113px;left:37px;pointer-events:none}.inspect-heading .eyebrow{font-size:11px;opacity:.65}.inspect-heading h1{font-size:30px;line-height:1.5;letter-spacing:3px;margin:18px 0;color:#d2dcc590;font-weight:700}
.inspect-compass{position:absolute;top:108px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;font:11px ui-monospace,monospace;color:#d3ddc4a1;pointer-events:none}.compass-ticks{letter-spacing:5px;font-size:17px;opacity:.7}
.inspect-actions{position:absolute;right:28px;top:106px;display:flex;align-items:center;gap:8px}.scene-action{display:flex;align-items:center;gap:8px;padding:11px 13px;background:#15251ddd;border:1px solid #b7cda51a;border-radius:5px;font-size:12px}.scene-action:hover,.edge-icon:hover{background:#31422ddd}.edge-icon{width:36px;height:36px;display:grid;place-items:center;background:#192b20b3;border:1px solid #a1b38e38;border-radius:50%;font:24px sans-serif;color:#dce7cd}.edge-icon[aria-expanded=true]{color:var(--acid);border-color:#d6f06e66}.inspect-only svg,.inspect-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;display:block}
.inspect-location{position:absolute;left:37px;bottom:148px;width:254px;padding:19px 20px;background:#112219cf;border-left:2px solid var(--acid);pointer-events:none}.location-heading,.location-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted)}.location-heading{letter-spacing:1px}.location-heading>span:last-child{font-family:ui-monospace,monospace;color:var(--acid)}.inspect-location h2{font-size:18px;margin:15px 0 10px}.location-meta>span:last-child{white-space:nowrap;font-family:ui-monospace,monospace}.location-track{height:2px;background:#96ae7038;margin-top:18px}.location-track span{display:block;height:100%;width:0;background:var(--acid)}
.inspect-viewbar{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);display:flex;gap:7px;align-items:stretch;padding:8px;background:#15251deb;border:1px solid #a1b38e33;border-radius:10px;backdrop-filter:blur(14px);white-space:nowrap}.inspect-viewbar button{display:flex;align-items:center;justify-content:center;gap:13px;padding:15px 17px;border:1px solid transparent;border-radius:6px;background:transparent;color:#c3cfb1;font-size:13px}.inspect-viewbar button small{display:block;font-size:11px;margin-top:4px;color:#91a381}.inspect-viewbar button.selected{color:#334222;background:var(--acid);outline:1px solid var(--acid);outline-offset:3px}.inspect-viewbar button.selected small{color:#6a7840}.inspect-viewbar button:hover:not(.selected){background:#9db36913}.inspect-viewbar #inspect-tour{background:#c5da5720;border-color:#bed76620}.inspect-viewbar #inspect-tour[aria-pressed=true]{color:var(--acid);border-color:#d6f06e77}.viewbar-divider{width:1px;margin:15px 4px;background:var(--line)}.inspect-help{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);margin:0;color:#b8c6a68c;font-size:11px;white-space:nowrap;pointer-events:none}
#app[data-phase=inspect] .map-card{right:28px;left:auto;top:auto;bottom:148px;width:166px;padding:11px;border-radius:5px;background:#15261de3}#app[data-phase=inspect] .map-card canvas{height:118px}#app[data-phase=inspect] .map-legend{display:none}#app[data-phase=inspect] .map-distance{font-size:10px;line-height:1.8}#app[data-phase=inspect] .attribution{font-size:9px}#app[data-phase=inspect] .map-header{font-size:11px}#app[data-phase=inspect] .map-card.expanded{width:min(370px,calc(100vw - 40px));bottom:148px}#app[data-phase=inspect] .map-card.expanded canvas{height:min(47vh,430px)}
#inspect-panel{top:157px;bottom:148px;right:28px;width:380px;padding:21px;background:#12231af5;box-shadow:0 15px 70px #0005;z-index:10}.inspect-top h2{font-size:22px}.inspect-top .edge-icon{padding:0;font-size:24px;width:32px;height:32px;flex-shrink:0}#inspect-panel #exit-inspect{margin-top:20px}#app.inspect-open .inspect-location{opacity:.65}
@media(max-width:1000px){.selection-layout{grid-template-columns:minmax(0,1fr) 235px;gap:18px}.selected-detail{padding-left:17px}.inspect-location{left:25px;width:215px}.inspect-heading{left:25px}.inspect-viewbar button{padding:13px 14px;gap:8px}}
@media(max-height:780px) and (min-width:761px){.menu-shell{width:min(1010px,100%)}.menu-title h1{font-size:34px}.selected-detail{max-height:395px}.selected-detail .roach-art{width:106px}.selected-detail h2{font-size:21px}.species-facts{margin-top:11px}.species-facts>div{margin-bottom:9px}.inspect-location{bottom:130px}.inspect-viewbar{bottom:42px}#app[data-phase=inspect] .map-card,#app[data-phase=inspect] .map-card.expanded{bottom:130px}#inspect-panel{bottom:130px}}
@media(max-width:760px){.selection-layout{display:block}.selected-detail{display:block;border-left:0;border-top:1px solid var(--line);padding:14px 0 0;margin-top:16px;max-height:none;overflow:visible}.selected-detail .roach-art{display:none}.selected-detail h2{font-size:19px}.selected-detail #selected-size{float:right;margin-top:8px}.species-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px 16px}.species-facts>div:last-child{grid-column:1/-1}.species-facts dd{font-size:12px}.character-card .roach-art{aspect-ratio:1}.inspect-heading{top:134px;left:20px}.inspect-heading h1{font-size:23px;line-height:1.5;margin-top:12px}.inspect-heading .eyebrow{font-size:9px;letter-spacing:1px}.inspect-compass{display:none}.inspect-actions{top:83px;right:16px;left:16px;justify-content:flex-end}.scene-action{padding:9px 11px;font-size:11px}.inspect-location{left:17px;bottom:124px;width:182px;padding:14px}.inspect-location h2{font-size:16px;margin:10px 0}.location-meta,.location-heading{font-size:10px}.location-track{margin-top:12px}.inspect-viewbar{bottom:43px;width:calc(100% - 26px);justify-content:space-between;padding:6px;gap:3px}.inspect-viewbar button{padding:11px 8px;gap:6px;font-size:11px;flex:1}.inspect-viewbar button small{font-size:9px}.inspect-viewbar svg{width:16px;height:16px}.inspect-viewbar button.selected{outline-offset:1px}.inspect-viewbar #inspect-tour{flex:.9}.viewbar-divider{display:none}.inspect-help{font-size:9px;bottom:16px}#app[data-phase=inspect] .map-card{top:auto;left:auto;right:16px;bottom:124px;width:125px;padding:9px}#app[data-phase=inspect] .map-card canvas{height:82px}#app[data-phase=inspect] .map-distance,#app[data-phase=inspect] .attribution{font-size:8px}#app[data-phase=inspect] .map-card.expanded{right:16px;bottom:124px;width:min(330px,calc(100vw - 32px))}#app[data-phase=inspect] .map-card.expanded canvas{height:min(43vh,340px)}#inspect-panel{top:130px;bottom:125px;left:14px;right:14px;width:auto;max-height:none;padding:18px}.inspect-top h2{font-size:20px}#app[data-phase=inspect] #sound-toggle{display:none}#app[data-phase=inspect] #pause-button{font-size:11px;padding:9px}}
@media(max-width:390px){.inspect-viewbar button{padding:11px 5px;gap:4px}.inspect-viewbar svg{width:14px}.inspect-location{width:166px}.inspect-heading h1{font-size:21px}}
@media(max-height:520px) and (min-width:761px){.inspect-heading{top:102px}.inspect-heading h1{font-size:23px}.inspect-actions{top:98px}.inspect-location{bottom:115px;padding:12px 17px}#app[data-phase=inspect] .map-card{bottom:115px}#app[data-phase=inspect] .map-card canvas{height:82px}#inspect-panel{top:142px;bottom:112px}.inspect-viewbar button{padding:10px 16px}.inspect-help{bottom:6px}}

.research-item p{white-space:pre-line}.selected-detail .eyebrow{font-size:10px;letter-spacing:1px}

/* Visible navigation separates browsing from pausing a run. */
.topbar{z-index:25}.header-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#app[data-phase=menu] .header-actions,#app[data-phase=brief] .header-actions{visibility:visible}#app[data-phase=menu] #sound-toggle,#app[data-phase=brief] #sound-toggle{display:none}#inspect-button{border-color:#d6f06e66;background:#263922;color:var(--acid)}#inspect-return svg{transform:rotate(180deg)}.scene-action[aria-expanded=true]{border-color:#d6f06e88;color:var(--acid);background:#34432bdd}.inspect-actions{gap:6px;flex-wrap:wrap;max-width:calc(100vw - 360px)}.inspect-actions .scene-action{font-size:13px;padding:10px 12px}.inspect-compass{top:89px}#inspect-panel{top:160px}
/* Fit the complete selection flow to laptop height without distorting portraits. */
@media(min-width:900px) and (min-height:580px){
 #menu-screen{padding:80px 24px 18px;align-items:center;justify-content:center}.menu-shell{width:min(1120px,100%);height:min(710px,calc(100svh - 98px));max-height:none;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:10px;padding:18px 24px;margin:0}.menu-title{gap:20px}.menu-title h1{font-size:29px;line-height:1.25;margin-top:5px}.menu-title h1 br{display:none}.menu-title .eyebrow{font-size:12px;letter-spacing:1.5px}.menu-title>p{font-size:13px;line-height:1.65}.selection-title{margin:0;padding-top:10px;font-size:14px}.selection-layout{grid-template-columns:minmax(0,1fr) 340px;gap:22px;margin:0;min-height:0;align-items:stretch}.roster{height:100%;grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;min-height:0}.character-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;padding:3px 0 8px}.character-card .roach-art{width:min(100%,max(64px,min(160px,calc((100svh - 450px)/2))));height:auto;aspect-ratio:1;flex-shrink:0}.character-card strong,.character-card small{width:100%;padding:0 8px}.character-card strong{font-size:13px;line-height:20px}.character-card small{font-size:12px;line-height:16px;margin-top:2px}.selected-detail{min-height:0;max-height:none;overflow:visible;padding-left:20px}.selected-detail .roach-art{display:none}.selected-detail h2{font-size:22px;margin:3px 0;line-height:1.4}.selected-detail #selected-size{font-size:12px}.selected-detail #selected-tag{font-size:12px;line-height:1.5;margin:3px 0 8px}.selected-detail #selected-bio{display:none}.species-facts{margin:0}.species-facts>div{margin-bottom:9px}.species-facts dt{font-size:12px;letter-spacing:.4px;line-height:1.5;margin-bottom:3px}.species-facts dd{font-size:13px;line-height:1.6}.species-sources{font-size:12px;gap:8px}.menu-bottom{margin:0;padding-top:10px;gap:18px}.menu-bottom label{font-size:12px;gap:4px}.menu-bottom input{padding:8px 11px;max-width:235px}.menu-bottom .primary{padding:12px 20px;font-size:14px}.menu-note{font-size:12px;line-height:1.65}.load-status{font-size:12px;line-height:16px;margin:0}
}
@media(min-width:900px) and (max-height:650px) and (min-height:580px){.menu-shell{padding:14px 20px;gap:8px}.menu-title h1{font-size:25px}.menu-title .eyebrow{display:none}.selection-layout{grid-template-columns:minmax(0,1fr) 360px}.selected-detail #selected-tag{display:none}.species-facts>div{margin-bottom:6px}.species-facts dd{font-size:12px;line-height:1.5}.species-facts dt{font-size:12px}.species-sources{font-size:12px}.menu-bottom .menu-note{display:none}.menu-bottom{padding-top:8px}.character-card .roach-art{width:min(100%,max(64px,calc((100svh - 410px)/2)))}}
/* Instrument HUD: numeric readings are live; the sweeping grid is decorative. */
.goal-radar{--radar:#81f3a0;top:44%;gap:3px;width:230px;color:var(--radar);font-family:ui-monospace,monospace;text-shadow:0 0 8px #2cae5666;filter:drop-shadow(0 2px 3px #001807)}.radar-topline{width:100%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px;border-bottom:1px solid #81f3a044;padding-bottom:5px}.radar-display{display:flex;align-items:center;gap:7px;width:100%}.radar-scope{width:142px;height:142px;position:relative;flex:none;overflow:hidden;border-radius:50%;background:radial-gradient(circle,#052e1317,#052c111a)}.radar-grid{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#81f3a078;stroke-width:1}.radar-grid circle:nth-child(2){stroke-dasharray:2 5}.radar-grid circle:nth-child(3){opacity:.5}.radar-sweep{position:absolute;inset:9px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg 295deg,#81f3a000 295deg,#81f3a03a 360deg);animation:radar-scan 5s linear infinite}.radar-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:17px ui-monospace,monospace;color:#b8ffce}.radar-scope #goal-arrow{position:absolute;inset:0;display:flex;justify-content:center;align-items:flex-start;padding-top:7px;font:32px ui-monospace,monospace;transform-origin:50% 50%;color:#bdffd0}.radar-altitude,.radar-flight{display:flex;flex-direction:column;align-items:center;gap:3px;width:36px;font-size:10px;color:#8eedaa}.radar-altitude b,.radar-flight b{font-size:14px;font-weight:500}.radar-altitude small,.radar-flight small{font-size:10px;opacity:.7}.radar-altitude i{width:18px;height:40px;border-left:1px solid #81f3a077;background:repeating-linear-gradient(to bottom,#81f3a077 0 1px,transparent 1px 8px);margin-top:3px}.flight-meter{height:40px;width:8px;margin-top:3px;border:1px solid #81f3a066;position:relative}.flight-meter i{position:absolute;left:1px;right:1px;bottom:1px;height:100%;max-height:36px;background:#81f3a066;transition:height .1s}.radar-readout{display:flex;align-items:baseline;justify-content:center;gap:10px;width:100%;border-top:1px solid #81f3a044;padding-top:5px;font-size:11px;letter-spacing:2px}.goal-radar strong{font-size:26px;letter-spacing:1px;font-weight:500}.goal-radar strong small{font-size:12px}.goal-radar>span{font-size:11px;color:#acffc4;letter-spacing:1px}.goal-radar.exhausted .radar-flight{color:#f1bd77}.goal-radar.exhausted .flight-meter i{background:#f1bd77}.goal-radar.exhausted .flight-meter{border-color:#f1bd7766}@keyframes radar-scan{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.radar-sweep{animation:none}}
@media(max-width:1000px){.inspect-actions{max-width:calc(100vw - 230px)}.inspect-actions .scene-action{padding:9px 10px;font-size:12px}}
@media(max-width:760px){.header-actions #inspect-button span:last-child,.header-actions #inspect-return span:last-child{display:inline;font-size:12px}.header-actions{gap:4px}.header-actions button{padding:8px}.header-actions #sound-toggle{display:none}.inspect-actions{max-width:none;left:16px;right:16px;top:80px;justify-content:flex-end}.inspect-actions .scene-action{padding:8px 9px;font-size:12px;gap:5px}.inspect-actions svg{width:15px;height:15px}.inspect-heading{top:174px}.inspect-heading h1{font-size:21px}.inspect-heading .eyebrow{display:none}.goal-radar{width:190px;top:43%}.radar-scope{width:110px;height:110px}.radar-topline{font-size:10px}.goal-radar strong{font-size:23px}#inspect-panel{top:172px}.radar-display{gap:4px}}

.survey-shop{font-size:12px!important;margin:7px 0!important}.survey-sources{display:grid;gap:8px;margin-bottom:22px}.survey-sources a{margin:0!important;font-size:12px}

/* Full-page field-note overlays: translucent surroundings, opaque text. */
#inspect-panel{position:fixed;inset:0;z-index:70;width:auto;max-height:none;padding:clamp(12px,2.6vw,40px);background:rgba(5,16,10,.58);backdrop-filter:blur(8px);display:grid;place-items:center;box-shadow:none;overflow:hidden}
.inspect-modal{width:min(1320px,100%);height:100%;max-height:960px;min-height:0;display:flex;flex-direction:column;background:linear-gradient(135deg,rgba(28,47,35,.94),rgba(12,27,20,.94));border:1px solid #bed29b4d;border-radius:14px;box-shadow:0 25px 90px #0008;overflow:hidden}
.inspect-modal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:26px 32px 20px;border-bottom:1px solid #bacc9b2b;flex-shrink:0}.inspect-modal-top .eyebrow{font-size:12px;color:#d6f06e;letter-spacing:2px}.inspect-modal-top h2{font-size:32px;line-height:1.2;margin:8px 0;color:#f0f4e5}.inspect-modal-top p{font-size:14px;color:#bfccb5;margin:0;line-height:1.6}.modal-close{display:grid;place-items:center;width:42px;height:42px;flex:none;font:30px sans-serif;border:1px solid #bfd5a64d;background:#11231bdd;border-radius:50%;color:#f2f7e9}.modal-close:hover{background:#34482e}.modal-close:focus-visible,#inspect-panel a:focus-visible{outline:2px solid var(--acid);outline-offset:3px}
#inspect-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#829766 transparent;padding:28px 32px 36px;flex:1;font-size:16px;line-height:1.8;color:#dce5d3}
#inspect-content p{font-size:16px;color:#c5d1bb;line-height:1.8}#inspect-content h3{font-size:23px;margin:0 0 14px;color:#edf4e5}#inspect-content a{color:#d0e995;font-size:14px;text-underline-offset:3px}
.inspect-modal-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 32px;border-top:1px solid #bacc9b2b;flex-shrink:0;color:#aebfa4;font-size:13px}#inspect-panel #exit-inspect{margin:0;font-size:14px}
#app.inspect-open .inspect-location{opacity:1}.boards-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.boards-grid>section{min-width:0;background:#11221bb3;border:1px solid #afc49b26;border-radius:8px;padding:22px}.boards-grid .score-table{font-size:15px}.boards-grid .score-table th{font-size:14px}.boards-grid .board-empty{font-size:16px}.boards-grid .board-note{font-size:14px!important}
.field-intro{margin:0 0 28px!important;padding-bottom:20px;border-bottom:1px solid #bacc9b26}.field-section{margin:0 0 42px}.field-section-heading{display:flex;align-items:baseline;gap:14px}.field-section-heading>span{font-size:13px;color:#d6f06e;letter-spacing:1px}.field-section>p{max-width:980px;font-size:15px!important;margin:0 0 22px}.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.field-card{padding:20px;background:#102219c9;border:1px solid #a9c3972c;border-radius:8px;min-width:0}.field-card-top{display:flex;align-items:center;gap:14px;margin-bottom:12px}.field-card .roach-art{width:90px;flex:none;aspect-ratio:1;border-radius:8px}.field-card h4{font-size:20px;line-height:1.4;margin:0 0 4px;color:#edf4e5}.field-card small{font-size:12px;line-height:1.5;display:block;color:#a9b99e;overflow-wrap:anywhere}.field-card .field-badge{display:inline-block;font-size:12px;line-height:1.5;padding:3px 8px;background:#bacc9420;color:#dce9c1;border:1px solid #bacc9433;border-radius:3px}.field-card p{font-size:15px!important;line-height:1.8!important;margin:11px 0}.field-card p b{display:block;font-size:13px;font-weight:500;color:#dde7d2}.field-card .species-sources{margin:14px 0 0;padding:0}.field-card .species-sources a{font-size:12px!important}.field-card.danger .field-badge{background:#975e3026;color:#efd3ad;border-color:#db9c5938}
.about-story{max-width:880px;margin:auto}.about-story .story-lead{font-size:25px!important;line-height:1.65!important;color:#edf4df!important;margin:0 0 22px}.about-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0 34px;padding:20px 0;border-top:1px solid #bacc9b2b;border-bottom:1px solid #bacc9b2b}.about-meta small{display:block;color:#aebca3;font-size:13px}.about-meta strong{display:block;font-size:16px;color:#e2ecd4;margin-top:5px}.about-story h3{margin-top:32px!important}.experiment-goals{display:grid;grid-template-columns:1fr 1fr;gap:20px}.experiment-goals>div{padding:20px;border-left:2px solid #bed474;background:#0d201985}.experiment-goals strong{font-size:18px;color:#e5efd6}.cast-grid{max-width:880px;margin:auto}.cast-grid .cast-row{font-size:16px;padding:18px 0}.cast-grid .cast-row span{font-size:15px}.ground-wear{display:flex;justify-content:space-between;gap:10px;margin-top:9px;font-size:12px;color:#bcc9a7}.ground-wear #ground-timer{font-family:ui-monospace,monospace}
/* Airborne target brackets keep the center of the street unobstructed. */
.goal-radar{width:244px;top:43%;gap:6px;--radar:#a0dfb3;color:var(--radar);filter:none;text-shadow:0 1px 3px #001e1455;opacity:.7}.hud-bearing{display:flex;justify-content:space-between;width:100%;font-size:10px;letter-spacing:.8px;color:#c3eed1}.hud-bearing b{font-weight:400}.hud-frame{width:100%;height:90px;position:relative;background:none}.hud-frame:before,.hud-frame:after{content:'';position:absolute;left:calc(50% - 20px);width:40px;height:5px;border-top:1px solid #a0dfb370}.hud-frame:before{top:0}.hud-frame:after{bottom:0;transform:rotate(180deg)}.hud-bracket{position:absolute;top:0;bottom:0;width:28px;border-top:1px solid #a0dfb3a6;border-bottom:1px solid #a0dfb3a6}.hud-bracket.left{left:0;border-left:1px solid #a0dfb3a6}.hud-bracket.right{right:0;border-right:1px solid #a0dfb3a6}.hud-cross{position:absolute;top:22px;left:50%;transform:translateX(-50%);font:18px ui-monospace,monospace;color:#bef1ce99}.hud-frame #goal-arrow{position:absolute;left:calc(50% - 20px);top:2px;width:40px;height:68px;transform-origin:50% 50%;font:22px ui-monospace,monospace;display:flex;align-items:flex-start;justify-content:center;line-height:1}.hud-range{position:absolute;left:30px;right:30px;bottom:6px;display:flex;flex-direction:column;align-items:center;gap:1px}.goal-radar strong{font-size:22px;font-weight:400;line-height:1.1}.goal-radar strong small{font-size:11px}.hud-range #radar-label{font-size:10px;letter-spacing:1px}.hud-flight{display:flex;width:100%;align-items:center;justify-content:center;gap:5px;font-size:11px}.hud-flight b{font-size:12px;font-weight:500}.hud-flight small{font-size:10px}.hud-flight .flight-meter{position:relative;width:44px;height:3px;border:0;margin:0 0 0 5px;background:#a0dfb324}.hud-flight .flight-meter i{inset:0;right:auto;bottom:auto;height:3px!important;width:100%;max-height:none;background:#a0dfb3a0;transition:width .1s}.goal-radar.cooling .hud-flight{color:#e7cf93}.goal-radar.cooling .flight-meter i{background:#ddc68d99}
@media(max-width:1000px){.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.boards-grid{grid-template-columns:1fr}.inspect-modal-top,#inspect-content{padding:22px}.inspect-modal-bottom{padding:12px 22px}}
@media(max-width:760px){#inspect-panel{inset:0;padding:10px;max-height:none}.inspect-modal{border-radius:10px}.inspect-modal-top{padding:20px 18px 16px}.inspect-modal-top h2{font-size:27px}.inspect-modal-top p{font-size:13px}.modal-close{width:36px;height:36px;font-size:26px}#inspect-content{padding:22px 18px}.field-grid,.experiment-goals{grid-template-columns:1fr}.field-card{padding:18px}.field-card .roach-art{width:82px}.inspect-modal-bottom{padding:12px 18px}.inspect-modal-bottom>span{display:none}.inspect-modal-bottom{justify-content:flex-end}.about-meta{grid-template-columns:1fr;gap:12px}.about-story .story-lead{font-size:22px!important}.boards-grid>section{padding:14px}.boards-grid .score-table{font-size:13px}.boards-grid .score-table th{font-size:12px}.cast-grid .cast-row{gap:18px}.cast-grid .cast-row b{text-align:right;font-size:14px}.goal-radar{width:200px;top:42%;opacity:.68}.hud-frame{height:80px}.ground-wear{font-size:12px;flex-wrap:wrap;gap:3px}}
/* v6: flight-sight marks keep the centre open; vital signs stay in the sightline. */
.goal-radar{left:50%;top:52%;width:min(700px,72vw);height:min(360px,44vh);display:block;opacity:1;gap:0;color:#b9f6a3;text-shadow:0 1px 4px #091a10;filter:none}.reticle-ticks{width:100%;height:100%;display:block;opacity:.4}.goal-radar .hud-cross{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:18px ui-monospace,monospace;opacity:.65}.goal-radar #goal-arrow{position:absolute;left:50%;top:calc(50% - 28px);margin-left:-7px;font:22px sans-serif;width:14px;text-align:center;opacity:.75;transform-origin:center}.goal-radar .hud-range{position:absolute;top:calc(50% + 20px);bottom:auto;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.82}.goal-radar .hud-range strong{font:20px ui-monospace,monospace;letter-spacing:0}.goal-radar .hud-range>span{font-size:12px;white-space:nowrap}.goal-radar .hud-bearing{position:absolute;top:50%;left:4%;right:4%;padding-top:28px;display:flex;justify-content:space-between;font:12px ui-monospace,monospace;opacity:.62}.goal-radar .hud-flight{position:absolute;top:100%;left:50%;transform:translateX(-50%);display:flex;gap:6px;white-space:nowrap;font-size:12px;margin:0;opacity:.85}.goal-radar .hud-flight b{font:14px ui-monospace,monospace}.goal-radar .flight-meter{width:40px;height:3px}.goal-radar.cooling .hud-flight{color:#f1cf8b}
.health-card{position:absolute;top:87px;bottom:auto;left:50%;transform:translateX(-50%);width:min(440px,40vw);padding:12px 18px 10px;border-radius:8px;background:#10241aee;border:1px solid #aed69366;border-top:3px solid #d6f06e;box-shadow:0 5px 25px #06120c50;z-index:6}.health-heading{gap:8px}.health-heading>span:first-child{font-size:14px}.health-heading b{font-size:34px;font-weight:700;margin-left:8px}.health-heading small{font-size:12px}.health-heading>span:last-child{font-size:13px}.health-card .hp-track{height:10px;margin-top:5px;background:#f0897629}.health-meta{font-size:12px;margin-top:9px}.health-meta b{font-size:14px}.ground-wear{margin-top:6px;padding-top:6px;font-size:12px}.health-card.wounded{border-top-color:#ebc166}.health-card.critical{border-color:#ff8876;background:#371c18f0;box-shadow:0 0 24px #ec513935}.health-card.critical #health-state,.health-card.critical .health-heading b{color:#ffac98}.health-card.critical .hp-track{animation:vital-pulse 1.2s ease-in-out infinite}.health-card.damaged{animation:health-impact .38s ease-out}#damage-notice{position:absolute;top:100%;left:0;right:0;margin-top:6px;background:#51281aee;border:1px solid #ec957575;padding:7px 12px;text-align:center;color:#ffe1c6;font-size:15px;font-weight:700;border-radius:5px;box-shadow:0 4px 20px #05100770}
@keyframes health-impact{0%,45%{box-shadow:0 0 28px #ff7855b0;border-color:#fff3df}100%{box-shadow:0 0 0 transparent}}@keyframes vital-pulse{50%{opacity:.45}}
#threat-banner{top:auto;bottom:168px;font-size:14px;z-index:6}#escape-warning{position:absolute;left:50%;top:calc(50% + 88px);transform:translateX(-50%);z-index:7;text-align:center;padding:10px 20px;border:1px solid #f9a177;background:#56231ded;border-radius:7px;display:flex;flex-direction:column;gap:5px;color:#ffe1bd;min-width:285px}#escape-warning strong{font-size:17px}#escape-warning b{font:26px ui-monospace,monospace;color:#fff3d9}#escape-warning span{font-size:14px}#crowd-warning{position:absolute;left:50%;bottom:141px;transform:translateX(-50%);color:#ffe3b0;background:#462f1bd9;border:1px solid #cc9d5659;border-radius:5px;padding:6px 12px;font-size:14px;white-space:nowrap}.brief-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brief-shell{max-height:calc(100dvh - 100px);overflow-y:auto}.brief-grid p{font-size:14px;line-height:1.7}.brief-grid article{padding:14px}.result-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.boards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.boards-grid>section{min-width:0;padding:18px}.boards-grid .score-table{font-size:14px}.boards-grid .score-table td{padding:10px 4px}.boards-grid .score-table th{padding:8px 4px;font-size:12px}
@media(max-width:1100px){.health-card{width:340px;top:84px}.mission{max-width:220px}.mission>div{font-size:13px}.boards-grid{grid-template-columns:1fr}.goal-radar{width:66vw}}
@media(max-width:760px){.health-card{top:72px;width:min(360px,calc(100vw - 28px));padding:8px 12px}.health-heading b{font-size:29px}.health-heading>span:last-child{font-size:12px}.health-card .ground-wear{display:none}.game-only .mission{display:none}.timer-panel{top:auto;bottom:147px;right:15px}.timer-panel strong{font-size:17px}.timer-panel>.eyebrow{font-size:12px}.goal-radar{top:49%;width:92vw;height:32vh;opacity:1}.goal-radar .hud-bearing{left:0;right:0;font-size:12px}.goal-radar .hud-flight{top:100%}.goal-radar .hud-range strong{font-size:18px}#escape-warning{top:calc(50% + 42px);padding:8px 12px}#threat-banner{bottom:126px;max-width:94%;font-size:13px}#crowd-warning{bottom:103px;font-size:12px}.brief-grid{grid-template-columns:1fr}.brief-shell{max-height:calc(100dvh - 78px)}.result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.health-meta{gap:8px}}
@media(prefers-reduced-motion:reduce){.health-card.damaged,.health-card.critical .hp-track{animation:none}}
/* Full-page species index with independently scrollable reading pane. */
#inspect-panel[data-content=research] #inspect-content{padding:15px 28px 24px;overflow:hidden;display:flex}.field-browser{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}.field-browser>.field-intro{font-size:14px;line-height:1.7;margin:0 0 15px;flex-shrink:0}.field-layout{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(0,1.25fr);gap:28px;min-height:0;flex:1}.field-list{overflow:auto;min-height:0;padding:0 10px 0 0;scrollbar-gutter:stable}.field-list-heading{display:flex;justify-content:space-between;align-items:center;padding:13px 4px 10px;border-bottom:1px solid #acc99b33}.field-list-heading h3{font-size:16px;margin:0}.field-list-heading>span{color:var(--muted);font-size:12px}.field-row{width:100%;display:flex;align-items:center;gap:14px;padding:10px;margin:6px 0;background:#0c201849;border:1px solid transparent;border-radius:7px;text-align:left}.field-row:hover{background:#3046309c}.field-row.selected{border-color:#d6f06e99;background:#314629aa}.field-row-copy{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.field-row-copy strong{font-size:16px;font-weight:600;line-height:1.5}.field-row-copy>span{font-size:14px;line-height:1.5;color:#b6c5ac;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.field-chevron{font-size:24px;color:var(--acid);padding:0 3px}.field-portrait{flex:none;width:76px;height:76px;aspect-ratio:1;border-radius:6px;background-repeat:no-repeat;background-color:#11281c}.field-portrait.roach-art{background-size:400% 200%}.snakes-art{background-image:url('./assets/snakes-cartoon-atlas.webp');background-size:500% 200%}.birds-art{background-image:url('./assets/birds-cartoon-atlas.webp');background-size:500% 200%}.rats-art{background-image:url('./assets/rats-cartoon-atlas.webp');background-size:300% 300%}.field-detail{min-height:0;overflow:auto;background:#0c2019d9;border:1px solid #9ebb8438;border-radius:9px;padding:24px;scrollbar-gutter:stable}.field-detail-top{display:flex;align-items:center;gap:20px;margin-bottom:18px}.field-detail-top .field-portrait{width:120px;height:120px}.field-detail-top h3{font-size:26px;margin:8px 0}.field-detail-top p{font:italic 14px/1.6 Georgia,serif;color:var(--muted);overflow-wrap:anywhere}.field-detail>p{font-size:16px;line-height:1.9;color:#e3ead9;margin:20px 0}.field-detail>p>b,.photo-frame>p>b{display:block;font-size:14px;color:#c0d4aa;margin-bottom:5px}.field-detail .field-badge{font-size:13px}.field-detail .field-badge.dangerous{color:#ffc29b;border-color:#dd8c674d}.field-detail h4{font-size:16px;margin:25px 0 8px}.field-detail .field-scope{font-size:13px;line-height:1.8;color:var(--muted)}.photo-disclosure{border:1px solid #c4db9655;border-radius:7px;overflow:hidden;margin:25px 0;background:#182c20}.photo-disclosure summary{padding:14px 16px;font-size:16px;font-weight:600;color:var(--acid);cursor:pointer}.photo-disclosure summary:focus-visible{outline:2px solid var(--acid);outline-offset:-3px}.photo-frame{padding:0 16px 16px}.photo-frame img{width:100%;height:auto;max-height:380px;object-fit:contain;display:block;background:#06120e;border-radius:5px}.photo-frame p{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.photo-frame .photo-credit{font-size:13px;color:#c6d7b6}.photo-frame .photo-note{font-size:13px;color:var(--muted)}.field-detail .species-sources{display:flex;flex-wrap:wrap;gap:9px 16px}.field-detail .species-sources a{font-size:13px;line-height:1.7}
@media(max-width:1000px){.field-layout{grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:15px}.field-detail{padding:18px}.field-detail-top{gap:12px}.field-detail-top .field-portrait{width:90px;height:90px}.field-detail-top h3{font-size:22px}.field-portrait{width:64px;height:64px}.field-row{gap:10px}}
@media(max-width:760px){#inspect-panel[data-content=research] #inspect-content{padding:12px}.field-browser>.field-intro{font-size:12px;margin-bottom:10px}.field-layout{grid-template-columns:1fr;grid-template-rows:36% minmax(0,1fr);gap:12px}.field-list{padding-right:0;border-bottom:1px solid var(--line)}.field-row{padding:6px 9px;margin:4px 0}.field-row .field-portrait{width:52px;height:52px}.field-row-copy{gap:2px}.field-row-copy strong{font-size:15px}.field-row-copy>span{font-size:13px;-webkit-line-clamp:1}.field-list-heading{padding:8px 4px}.field-detail{padding:15px}.field-detail-top .field-portrait{width:75px;height:75px}.field-detail>p{font-size:16px}.field-detail-top h3{font-size:20px}}
/* Site-wide flow rule: fixed outer frame, scrolling content, persistent actions. */
.screen{overflow:hidden;padding:82px 22px 22px}.flow-panel{width:min(1050px,100%);height:min(650px,calc(100dvh - 104px));max-height:none;margin:0;overflow:hidden;padding:24px 28px;border-radius:12px;min-height:0}.flow-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.flow-heading h2{font-size:27px;margin:8px 0 0;line-height:1.4}.flow-heading>#brief-progress{font:18px ui-monospace,monospace;color:var(--acid);white-space:nowrap}.brief-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:15px}.brief-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.brief-steps button{background:transparent;border-bottom:2px solid #77916944;border-radius:0;padding:10px 5px;font-size:14px;color:var(--muted)}.brief-steps button.selected{color:var(--acid);border-color:var(--acid);background:#d6f06e0b}.brief-viewport{min-height:0;overflow:hidden;touch-action:pan-y}.brief-slide{height:100%;overflow:auto;padding:8px 5px 8px 0;scrollbar-gutter:stable}.brief-slide h3{font-size:24px;line-height:1.5;margin:12px 0 7px}.brief-slide p{font-size:16px;line-height:1.8;margin:9px 0}.brief-slide .brief-small{font-size:14px;color:var(--muted)}.brief-diagram{display:flex;align-items:center;justify-content:space-evenly;gap:20px;padding:18px 16px;background:#10271b80;border:1px solid var(--line);border-radius:8px;min-height:150px}.diagram-unit{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:0;flex:1}.diagram-unit strong{font-size:14px;font-weight:500;text-align:center}.diagram-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;color:var(--acid)}.diagram-icon svg{width:52px;height:52px;stroke-width:1.1;fill:none;stroke:currentColor}.diagram-unit>svg{width:150px;height:78px;fill:none;stroke:var(--acid);stroke-width:1.4}.diagram-unit>svg text{font:16px ui-monospace,monospace;fill:var(--acid);stroke:none}.diagram-arrow{font-size:26px;color:#b5cd8480}.key-grid{text-align:center;height:75px}.key-grid kbd{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:16px;margin:2px}.key-grid>kbd{display:flex;margin:0 auto 4px}.big-key{font-size:36px;width:68px;height:70px;display:grid;place-items:center;border-radius:8px;border-width:1px}.diagram-number{font:52px/70px ui-monospace,monospace;color:var(--acid)}.diagram-number span{font-size:20px}.rule-strip{display:flex;gap:18px;margin-top:18px;border-top:1px solid var(--line);padding-top:15px}.rule-strip>span{flex:1;font-size:14px;color:var(--muted);line-height:1.8}.rule-strip b{display:block;color:#eaf1d4;font-size:16px;font-weight:500}.rule-strip.danger b{color:#ffba98}.damage-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.damage-chips span{padding:8px 12px;border:1px solid #bfa98940;border-radius:4px;font-size:14px}.damage-chips b{color:#f2b490;margin-left:5px}.brief-bottom{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:16px;margin:0;flex-wrap:nowrap}.brief-bottom button{white-space:nowrap;font-size:15px;padding:12px 20px}.brief-footer-hint{flex:1;text-align:center;font-size:13px;color:var(--muted)}.status-text:empty{display:none}.flow-panel>.status-text{margin:0;font-size:14px;max-height:3.5em;overflow:auto}
.result-shell{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto auto;gap:14px;text-align:left}.result-heading h2{font-size:32px;margin:7px 0}.result-heading p{font-size:15px;line-height:1.7;margin:4px 0}.result-shell .result-stats{margin:0;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.result-shell .result-stats strong{font-size:28px}.result-shell .result-stats span{font-size:14px}.result-shell .personal-ranks{margin:0;gap:12px;display:flex;flex-wrap:wrap;font-size:14px}.result-records{min-height:0;overflow:auto;padding-right:8px;scrollbar-gutter:stable}.result-buttons{display:flex;gap:12px;margin:0;padding-top:16px;border-top:1px solid var(--line)}.result-buttons button{flex:1;white-space:nowrap;font-size:16px;padding:15px 20px}.result-buttons .primary{flex:1.4;background:var(--acid);color:#203014;border:1px solid var(--acid);font-weight:700}.result-buttons .secondary{background:#dfe8d5;color:#273a27;border:1px solid #dfe8d5;box-shadow:none}.result-buttons .secondary:hover{background:#f1f6eb}.pause-shell{max-height:100%;overflow:auto}
.topbar{justify-content:flex-start}.topbar>.mode-label{margin-left:8px;font-size:13px;letter-spacing:1px;white-space:nowrap}.header-actions{margin-left:auto}.health-card{top:21px;left:50%;bottom:auto;width:320px;height:42px;display:flex;align-items:center;gap:9px;padding:8px 13px;transform:translateX(-50%);border:1px solid #c3d49b70;border-radius:6px;background:#102419db;box-shadow:0 3px 14px #05150a50}.health-card #health-state{font-size:12px;white-space:nowrap}.health-card #hp-number{font:700 23px ui-monospace,monospace;color:var(--acid);margin:0}.health-card .hp-track{flex:1;height:7px;min-width:70px;margin:0}.health-card>small{font:12px ui-monospace,monospace;color:#a5bda0}.health-card.critical #hp-number{color:#ffa089}#damage-notice{font-size:14px;padding:6px 9px;margin-top:5px}.run-extras{position:absolute;left:30px;top:164px;display:grid;grid-template-columns:auto auto;gap:7px 17px;color:#b4c5a7;text-shadow:0 1px 5px #05100a;font-size:12px;pointer-events:none}.run-extras #character-name{grid-column:1/-1;color:#d6e4c3;font-size:13px}.run-extras b{color:#d6f06e;font-size:14px}.run-extras #motion-state{grid-column:1/-1}.run-extras .ground-wear{margin:0;padding:0;border:0;font-size:12px}.run-extras .ground-wear b{font-size:12px}.ally-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#78dbea}.abilities .ability{min-width:115px;padding:10px 13px}.ability.available{border-color:#a6e99e;background:#355235}.ability.unavailable{opacity:.65}
#inspect-panel[data-content=research]{padding:14px 20px}#inspect-panel[data-content=research] .inspect-modal{width:100%;max-height:none}#inspect-panel[data-content=research] .inspect-modal-top{padding:14px 24px;align-items:center}#inspect-panel[data-content=research] #inspect-eyebrow{display:none}#inspect-panel[data-content=research] #inspect-title{font-size:25px;margin:0}#inspect-panel[data-content=research] .inspect-modal-bottom{display:none}#inspect-panel[data-content=research] #inspect-content{padding:14px 20px 20px}.field-layout{grid-template-columns:minmax(270px,340px) minmax(0,1fr);gap:20px}.field-detail{padding:22px 28px}.field-detail-top .field-portrait{width:100px;height:100px}.field-detail-top{margin-bottom:12px}.field-detail>p{margin:15px 0}.field-detail .field-scope{font-size:13px}
@media(max-width:1200px){.header-actions button>span:not([data-icon]){display:none}.header-actions button{min-width:38px;justify-content:center}.health-card{width:290px}.topbar>.mode-label{margin-left:0}.field-layout{grid-template-columns:290px minmax(0,1fr)}}
@media(max-width:900px){.flow-panel{padding:19px 21px}.brief-slide h3{font-size:22px}.brief-diagram{gap:10px;padding:14px 10px;min-height:128px}.diagram-icon{width:55px;height:55px}.diagram-icon svg{width:45px;height:45px}.diagram-unit strong{font-size:13px}.diagram-arrow{font-size:20px}.diagram-unit>svg{width:130px;height:70px}.topbar>.mode-label{display:none}.run-extras{left:20px;top:147px}.abilities .ability{min-width:98px;padding:9px 10px}.abilities .ability small{font-size:11px}}
@media(max-width:760px){.screen{padding:76px 12px 12px}.flow-panel{height:calc(100dvh - 88px);padding:17px 16px;border-radius:9px}.flow-heading h2{font-size:21px}.flow-heading>#brief-progress{font-size:16px}.brief-shell{gap:10px}.brief-steps{gap:4px}.brief-steps button{font-size:12px;padding:8px 2px}.brief-bottom{padding-top:12px;gap:7px}.brief-bottom button{font-size:13px;padding:11px 12px}.brief-footer-hint{display:none}.brief-bottom .primary{margin-left:auto}.brief-diagram{gap:5px;padding:14px 7px;min-height:110px}.diagram-unit{gap:7px}.diagram-unit strong{font-size:12px}.diagram-icon{width:45px;height:45px}.diagram-icon svg{width:36px;height:36px}.diagram-unit>svg{width:110px;height:62px}.diagram-arrow{font-size:16px}.big-key{width:45px;height:47px;font-size:27px}.diagram-number{font-size:39px;line-height:47px}.brief-slide h3{font-size:20px}.brief-slide p{font-size:15px}.rule-strip{gap:9px;margin-top:12px;padding-top:10px}.rule-strip b{font-size:14px}.rule-strip>span{font-size:12px}.damage-chips span{padding:6px 9px;font-size:12px}.result-shell{gap:10px}.result-heading h2{font-size:27px}.result-heading p{font-size:14px}.result-shell .result-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px 0}.result-shell .result-stats strong{font-size:19px}.result-shell .result-stats span{font-size:12px}.result-shell .personal-ranks{font-size:12px;gap:7px}.result-buttons{gap:7px;padding-top:12px;flex-wrap:wrap}.result-buttons .primary{flex-basis:100%;padding:12px}.result-buttons .secondary{font-size:13px;padding:11px}.health-card{top:68px;width:min(310px,calc(100vw - 28px));height:34px;padding:5px 12px}.health-card #hp-number{font-size:21px}.run-extras{left:15px;top:116px;gap:5px 11px;font-size:11px}.run-extras #character-name,.run-extras #motion-state,.run-extras .ground-wear{display:none}.run-extras b{font-size:13px}.abilities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:calc(100vw - 24px);bottom:16px;gap:5px}.abilities .ability{min-width:0;padding:8px 4px}.ability>span{font-size:11px}.abilities .ability small{font-size:10px}.abilities kbd{font-size:10px}.header-actions button{padding:9px 11px}.field-layout{grid-template-columns:1fr;grid-template-rows:32% minmax(0,1fr);gap:10px}#inspect-panel[data-content=research]{padding:8px}#inspect-panel[data-content=research] .inspect-modal-top{padding:12px 15px}#inspect-panel[data-content=research] #inspect-content{padding:8px 12px 12px}.field-detail{padding:15px}.field-detail-top .field-portrait{width:75px;height:75px}}
/* The same fixed-frame rule also applies outside laptop breakpoints. */
.menu-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;height:min(710px,calc(100dvh - 104px));min-height:0;overflow:hidden;gap:10px;margin:0}.selection-layout{min-height:0;overflow:hidden}.selected-detail{min-height:0;overflow:auto;scrollbar-gutter:stable}.menu-bottom,.selection-title{margin-top:0}.load-status{margin:0}.brief-viewport .brief-slide:focus-visible,.result-records:focus-visible{outline:1px solid var(--acid);outline-offset:-2px}.result-shell .result-stats>div{min-width:0}.result-shell .result-stats strong{overflow-wrap:anywhere}#scare-button.available kbd{background:#d6f06e;color:#18331a;border-color:#d6f06e}
@media(max-width:899px),(max-height:579px){.menu-shell{padding:16px 20px}.menu-title h1{font-size:24px;line-height:1.3}.menu-title h1 br{display:none}.menu-title>p{display:none}.menu-title .eyebrow{font-size:10px}.selection-title{padding-top:8px;margin:0}.selection-layout{overflow:auto;margin:0;scrollbar-gutter:stable}.roster{grid-template-columns:repeat(4,minmax(0,1fr))}.character-card .roach-art{width:min(100%,120px);margin:auto;aspect-ratio:1}.menu-bottom{gap:10px;padding-top:10px}.menu-note{display:none}.menu-bottom input{padding:8px 10px}.menu-bottom .primary{padding:11px 14px}.selected-detail{max-height:230px}.load-status{font-size:11px;line-height:1.5}}
@media(max-width:760px){.menu-shell{height:calc(100dvh - 88px);padding:15px}.menu-bottom{flex-wrap:nowrap;align-items:flex-end}.menu-bottom label{min-width:90px}.menu-bottom .primary{width:auto;min-width:145px;font-size:12px}.menu-title h1{font-size:23px}.selection-title>span:last-child{font-size:11px}.result-shell .result-stats>div{padding-left:8px}.abilities{left:12px;transform:none}.mission{display:none}.timer-panel{top:115px}.result-shell .result-stats strong{font-size:clamp(15px,4.6vw,19px)}}
@media(max-height:580px) and (min-width:761px){.flow-panel{padding:15px 22px;gap:9px}.flow-heading h2{font-size:23px}.brief-steps button{padding:6px}.brief-diagram{min-height:104px;padding:10px}.brief-bottom{padding-top:9px}.brief-bottom button{padding:9px 18px}.result-heading h2{font-size:26px}.result-heading p{font-size:13px}.result-shell .result-stats{padding:9px 0}.result-shell .result-stats strong{font-size:22px}.result-buttons{padding-top:9px}.result-buttons button{padding:10px 15px}}
@media(min-width:761px) and (max-width:1100px){.topbar>.mode-label{display:none}}@media(min-width:761px) and (max-width:900px){.topbar .brand{font-size:16px}.topbar .brand small{display:none}.topbar .brand-mark{width:34px;height:34px}}
/* Keep range and flight readouts under their corresponding side instruments. */
.goal-radar .hud-range{left:4%;top:calc(50% + 52px);transform:none;flex-direction:row;gap:8px;white-space:nowrap;align-items:baseline}.goal-radar .hud-range strong{font-size:15px}.goal-radar .hud-range>span{font-size:12px}.goal-radar .hud-flight{left:auto;right:4%;top:calc(50% + 52px);transform:none;gap:5px;font-size:12px}.goal-radar .hud-bearing{opacity:.8}.goal-radar #goal-arrow{width:54px;height:29px;left:50%;top:calc(50% - 46px);margin-left:-27px;opacity:.86}.goal-radar #goal-arrow svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.goal-radar .hud-flight .flight-meter{display:none}.result-buttons .secondary{background:#243c258c;border-color:#a4c86566;color:#d6e8bc;backdrop-filter:blur(8px)}.result-buttons .secondary:hover{background:#3b542dcc}.cast-grid .cast-row b a{display:inline!important;margin:0!important}.ally-dot{background:#70c8ff}.abilities .ability{min-width:106px;padding:9px 11px}.abilities .ability small{max-width:160px}#poison-status{grid-column:1/-1;color:#d9b7ff}#poison-status b{color:#e4caff}#surface-status{grid-column:1/-1;color:#9cdfef}.health-card.poisoned:not(.critical){border-color:#b290d4}
@media(max-width:1000px){.abilities .ability{min-width:96px;padding:8px}.goal-radar .hud-range{left:0}.goal-radar .hud-flight{right:0}}
@media(max-width:760px){.abilities{grid-template-columns:repeat(5,minmax(0,1fr))}.abilities .ability{min-width:0;padding:7px 3px}.abilities .ability small{font-size:10px}.goal-radar .hud-range{top:calc(50% + 48px);gap:4px}.goal-radar .hud-range strong{font-size:13px}.goal-radar .hud-range>span{font-size:10px}.goal-radar .hud-flight{top:calc(50% + 74px);font-size:11px}.goal-radar #goal-arrow{width:48px;margin-left:-24px}}
#inspect-content .vehicle-sources a{display:inline-block;margin-right:16px}.run-extras #poison-status{font-size:12px}
/* Handheld play is a landscape surface; menus keep their footer outside scrolling content. */
.mobile-copy,.touch-joystick{display:none}
#orientation-gate{position:absolute;inset:0;z-index:100;display:grid;place-items:center;background:#0c1d17f5;backdrop-filter:blur(16px);padding:30px;text-align:center}
#orientation-gate>div{max-width:390px}#orientation-gate svg{width:130px;height:110px;fill:none;stroke:var(--acid);stroke-width:2.4;stroke-linecap:round}#orientation-gate h2{font-size:26px;line-height:1.5;margin:16px 0}#orientation-gate p{font-size:16px;line-height:1.9;color:#d2dfc8}#orientation-gate small{font-size:14px;color:var(--muted)}
.handheld{--safe-left:max(14px,env(safe-area-inset-left));--safe-right:max(14px,env(safe-area-inset-right));--safe-bottom:max(10px,env(safe-area-inset-bottom));touch-action:manipulation}
.handheld .desktop-copy{display:none}.handheld .mobile-copy{display:inline}.handheld .touch-pad{display:none!important}
.handheld .touch-joystick{position:absolute;z-index:8;left:var(--safe-left);bottom:var(--safe-bottom);width:126px;height:126px;border:1px solid #c4e79968;border-radius:50%;background:#172d216e;box-shadow:inset 0 0 0 15px #c7e79b09;touch-action:none;user-select:none;-webkit-user-select:none}
.handheld:is([data-phase=playing],[data-phase=inspect]):not(.inspect-open) .touch-joystick{display:block}
.joystick-axis{position:absolute;inset:20px;border:1px dashed #bfdb9945;border-radius:50%;pointer-events:none}.joystick-knob{position:absolute;width:46px;height:46px;left:calc(50% - 23px);top:calc(50% - 23px);border:1px solid #d6f06eb3;border-radius:50%;background:#abc77545;box-shadow:0 3px 12px #06170d88;pointer-events:none}.touch-joystick.active .joystick-knob{background:#c4eb8a85}.joystick-label{position:absolute;left:0;right:0;bottom:8px;text-align:center;font-size:12px;color:#c6d9b3;pointer-events:none}
@media(orientation:landscape){
 .handheld .topbar{left:var(--safe-left);right:var(--safe-right);top:max(8px,env(safe-area-inset-top));gap:12px;height:38px}.handheld .brand{font-size:16px;gap:7px}.handheld .brand-mark{width:30px;height:30px;font-size:15px}.handheld .brand small{display:none}.handheld .topbar>.mode-label{display:none}.handheld .header-actions{gap:6px}.handheld .header-actions button{min-width:44px;min-height:40px;padding:8px}.handheld .header-actions button>span:not([data-icon]){display:none}
 .handheld .health-card{top:max(10px,env(safe-area-inset-top));left:50%;width:clamp(200px,30vw,290px);height:34px;padding:5px 10px;gap:7px}.handheld .health-card #hp-number{font-size:21px}.handheld .health-card .hp-track{min-width:35px}.handheld .health-card #damage-notice{font-size:13px;white-space:nowrap}
 .handheld .mission,.handheld .movement-help{display:none}.handheld .run-extras{left:var(--safe-left);top:56px;gap:3px 12px;grid-template-columns:auto auto auto;font-size:12px}.handheld .run-extras #character-name{display:none}.handheld .run-extras #motion-state{display:none}.handheld .run-extras .ground-wear{display:block;grid-column:1/-1;font-size:12px}.handheld .run-extras #surface-status{max-width:240px;line-height:1.5}.handheld .run-extras b{font-size:13px}
 .handheld .timer-panel{top:57px;right:var(--safe-right);bottom:auto;gap:2px}.handheld .timer-panel strong{font-size:19px}.handheld .timer-panel .eyebrow{font-size:12px}
 .handheld .goal-radar{top:48%;width:min(660px,76vw);height:43dvh}.handheld .reticle-ticks{opacity:.25}.handheld .goal-radar .hud-range{left:0;top:calc(50% + 32px);gap:5px}.handheld .goal-radar .hud-range strong{font-size:14px}.handheld .goal-radar .hud-range>span{font-size:12px}.handheld .goal-radar .hud-bearing{padding-top:12px;left:0;right:0;font-size:12px}.handheld .goal-radar .hud-flight{top:calc(50% + 32px);right:0;width:auto;font-size:12px}.handheld .goal-radar #goal-arrow{width:48px;height:26px;margin-left:-24px;top:calc(50% - 36px)}
 .handheld .abilities{position:absolute;inset:auto var(--safe-right) var(--safe-bottom) auto;left:auto;transform:none;width:204px;height:128px;display:block;pointer-events:none}.handheld .abilities .ability{position:absolute;min-width:0;min-height:44px;padding:6px;border-radius:50%;background:#192e21a8;border:1px solid #b8d99088;pointer-events:auto;gap:3px}.handheld .abilities .ability>small{display:none}.handheld .abilities .ability>span{font-size:12px}.handheld .abilities .ability kbd{border:0;font-size:16px;padding:0;line-height:1}.handheld #jump-button{right:0;bottom:0;width:76px;height:76px;border-color:#d6f06ebe;background:#455e2e99;justify-content:center}.handheld #jump-button>kbd{display:none}.handheld #jump-button>span{font-size:16px}.handheld #pheromone-button{right:86px;bottom:8px;width:60px;height:60px;justify-content:center}.handheld #pheromone-button kbd{font-size:20px}.handheld #pheromone-button>span{font-size:12px}.handheld #scare-button{right:1px;bottom:82px;width:44px;height:44px}.handheld #surface-button{right:54px;bottom:82px;width:44px;height:44px}.handheld #camera-button{right:107px;bottom:82px;width:44px;height:44px}.handheld #scare-button>span,.handheld #surface-button>span,.handheld #camera-button>span{font-size:0}.handheld #scare-button>span:after{content:'嚇人';font-size:12px}.handheld #surface-button>span:after{content:'攀附';font-size:12px}.handheld #camera-button>span:after{content:'視角';font-size:12px}
 .handheld .map-card{right:var(--safe-right);bottom:auto;top:92px;left:auto;width:106px;padding:6px;z-index:7}.handheld .map-card canvas{height:30px}.handheld .map-card:not(.expanded) .map-legend,.handheld .map-card:not(.expanded) .map-distance,.handheld .map-card:not(.expanded) .attribution,.handheld .map-card:not(.expanded) .map-follow{display:none}.handheld .map-header{font-size:12px;letter-spacing:0}.handheld .map-header button{width:38px;height:36px;font-size:24px;border:0}.handheld .map-card.expanded{inset:54px var(--safe-right) auto auto;width:min(330px,46vw);max-height:calc(100dvh - 72px);overflow:auto}.handheld .map-card.expanded canvas{height:calc(100dvh - 215px);min-height:90px}
 .handheld #threat-banner{top:94px;bottom:auto;max-width:58vw;font-size:13px;padding:7px 12px}.handheld #toast{top:66px;max-width:65vw;padding:8px 14px;font-size:13px}.handheld #escape-warning{top:calc(50% + 56px);padding:7px 10px;font-size:13px;max-width:55vw}.handheld #crowd-warning{bottom:12px;font-size:12px}
 .handheld .screen{padding:54px var(--safe-right) var(--safe-bottom) var(--safe-left);align-items:stretch}.handheld .menu-shell,.handheld .flow-panel{width:min(1050px,100%);height:100%;max-height:none;padding:12px 18px;margin:auto;gap:8px}.handheld .menu-title h1{font-size:21px;margin:0;letter-spacing:1px}.handheld .menu-title h1 br{display:none}.handheld .menu-title .eyebrow,.handheld .menu-title>p{display:none}.handheld .selection-title{padding-top:6px;font-size:14px}.handheld .selection-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,29%);gap:15px;overflow:hidden;margin:0}.handheld .roster{min-height:0;overflow:auto;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start}.handheld .character-card{padding-bottom:7px}.handheld .character-card .roach-art{width:min(100%,100px);aspect-ratio:1}.handheld .character-card strong{font-size:13px;padding:0 7px}.handheld .character-card small{font-size:12px;padding:0 7px}.handheld .selected-detail{display:block;border-top:0;border-left:1px solid var(--line);margin:0;padding:0 0 0 14px;overflow:auto;max-height:none}.handheld .selected-detail .roach-art{display:none}.handheld .selected-detail h2{font-size:20px;margin:6px 0}.handheld .selected-detail #selected-size{float:none;font-size:12px}.handheld .species-facts{display:block}.handheld .selected-detail p,.handheld .species-facts dd{font-size:14px;line-height:1.7}.handheld .menu-bottom{flex-wrap:nowrap;padding-top:6px;gap:12px}.handheld .menu-bottom label{font-size:12px;min-width:100px}.handheld .menu-bottom input{font-size:16px;padding:6px 9px}.handheld .menu-bottom .primary{width:auto;font-size:14px;padding:10px 16px;min-height:44px}.handheld .menu-note,.handheld .load-status:empty{display:none}.handheld .load-status{font-size:12px}
 .handheld .flow-heading h2{font-size:21px;margin:2px 0 0}.handheld .flow-heading .eyebrow{font-size:12px}.handheld .brief-steps button{font-size:13px;padding:7px 3px;min-height:38px}.handheld .brief-footer-hint{display:none}.handheld .brief-bottom{padding-top:6px;gap:9px}.handheld .brief-bottom button{font-size:14px;padding:8px 14px;min-height:42px}.handheld .brief-bottom .primary{margin-left:auto}.handheld .brief-slide{padding:0 6px 0 0}.handheld .brief-diagram{min-height:86px;padding:8px;gap:12px}.handheld .diagram-unit{gap:4px}.handheld .diagram-unit>svg{height:50px}.handheld .diagram-unit strong{font-size:13px}.handheld .diagram-icon{height:45px}.handheld .diagram-icon svg{height:38px}.handheld .brief-slide h3{font-size:19px;margin:9px 0 4px}.handheld .brief-slide p{font-size:15px;line-height:1.7}.handheld .rule-strip{margin-top:10px;padding-top:8px}.handheld .brief-slide .key-grid{height:65px}.handheld .key-grid kbd{width:26px;height:26px;font-size:14px}
 .handheld .result-shell{grid-template-rows:auto auto auto minmax(0,1fr) auto auto;gap:6px}.handheld .result-heading h2{font-size:24px;margin:3px 0}.handheld .result-heading p{font-size:14px;line-height:1.5;margin:3px 0}.handheld .result-heading .eyebrow{display:none}.handheld .result-shell .result-stats{grid-template-columns:repeat(4,minmax(0,1fr));padding:7px 0;gap:8px}.handheld .result-shell .result-stats strong{font-size:21px}.handheld .result-shell .personal-ranks{font-size:13px;margin:0}.handheld .result-buttons{flex-wrap:nowrap;gap:9px;padding-top:7px}.handheld .result-buttons .primary{flex-basis:auto}.handheld .result-buttons button{padding:9px 14px;min-height:42px;font-size:14px}.handheld .pause-shell{align-self:center;max-height:100%;overflow:auto;padding:20px}.handheld .pause-shell h2{font-size:26px;margin:8px 0}.handheld .volume-controls{margin-top:12px}
 .handheld #inspect-panel,.handheld #inspect-panel[data-content=research]{inset:0;padding:8px var(--safe-right) 8px var(--safe-left);max-height:none}.handheld .inspect-modal{height:100%;max-height:none}.handheld .inspect-modal-top{padding:10px 16px}.handheld .inspect-modal-top h2{font-size:23px;margin:0}.handheld .inspect-modal-top .eyebrow{display:none}.handheld #inspect-content{padding:12px 16px}.handheld .inspect-modal-bottom{padding:5px 14px}.handheld .inspect-modal-bottom>span{display:none}.handheld .field-layout{grid-template-columns:minmax(210px,35%) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:12px}.handheld .field-row{padding:7px;gap:9px}.handheld .field-portrait{width:52px;height:52px}.handheld .field-row-copy strong{font-size:14px}.handheld .field-row-copy>span{font-size:13px}.handheld .field-detail{padding:15px}.handheld .field-detail-top .field-portrait{width:70px;height:70px}
 .handheld .inspect-heading{display:none}.handheld .inspect-compass{display:none}.handheld .inspect-actions{top:58px;left:var(--safe-left);right:var(--safe-right);gap:6px;justify-content:flex-end}.handheld .scene-action{font-size:13px;padding:8px;min-height:40px}.handheld .scene-action svg{width:17px}.handheld .inspect-location{display:none}.handheld .inspect-help{display:none}.handheld .inspect-viewbar{left:calc(var(--safe-left) + 142px);right:var(--safe-right);width:auto;transform:none;bottom:var(--safe-bottom);gap:4px;padding:5px}.handheld .inspect-viewbar button{font-size:13px;min-width:0;padding:10px 7px;gap:5px}.handheld .inspect-viewbar button small{font-size:12px}.handheld[data-phase=inspect] .map-card{left:auto;right:var(--safe-right);bottom:92px;width:130px}.handheld[data-phase=inspect] .map-card canvas{height:76px}.handheld[data-phase=inspect] .map-card.expanded{top:105px;bottom:auto;left:auto;right:var(--safe-right);width:min(330px,46vw)}
}

.handheld .ability,.handheld #world{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
/* Results: personal performance at left, a medal-led leaderboard at right. */
#result-screen .result-shell{width:min(1140px,100%);display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:16px;padding:25px}
.result-layout{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(0,1.25fr);gap:30px;min-height:0;overflow:hidden}
.result-personal{min-height:0;overflow:auto;padding-right:10px;scrollbar-gutter:stable}
.result-personal .result-heading h2{font-size:32px;line-height:1.35;margin:10px 0}.result-personal .result-heading p{font-size:15px;line-height:1.8;margin:12px 0;color:#b9cbb0}
#result-screen .result-personal .result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px;border-top:0;padding:14px 0 21px;margin:0}
#result-screen .result-personal .result-stats>div{border:0;padding:0;min-width:0}.result-personal .result-stats>div:first-child{grid-column:1/-1}
#result-screen .result-personal .result-stats>div:first-child strong{font:600 clamp(40px,4.5vw,62px)/1.2 ui-monospace,monospace;letter-spacing:-2px;color:var(--acid);margin:7px 0 4px}
#result-screen .result-personal .result-stats strong{font-size:23px;letter-spacing:-.6px}.result-personal .result-stats span{font-size:13px}
#result-screen .result-personal .personal-ranks{display:flex;flex-direction:column;gap:8px;margin:0;border-top:1px solid var(--line);padding-top:15px;font-size:14px;line-height:1.7}
.result-personal .personal-ranks>span{padding:7px 10px;background:#bdd5900a;border-left:2px solid #d6f06e70;border-radius:0 4px 4px 0}
#result-screen .result-records{display:flex;flex-direction:column;padding:0;overflow:hidden;min-height:0;border-left:1px solid #b9cf993b;padding-left:27px;scrollbar-gutter:auto}
.result-ranking-heading{display:flex;align-items:center;gap:12px;flex:none;padding:0 0 15px;border-bottom:1px solid var(--line)}.result-ranking-heading h3{font-size:23px;margin:3px 0 0}.result-ranking-heading .eyebrow{font-size:11px;letter-spacing:1.6px}.result-trophy{display:grid;place-items:center;color:#efd383;width:49px;height:49px;background:#dbc97413;border:1px solid #e4cf7745;border-radius:9px;flex:none}.result-trophy svg{width:29px;height:29px;stroke-width:1.4}.top-ten{font:12px ui-monospace,monospace;color:#d3ddbe;margin-left:auto;white-space:nowrap}
#result-status{font-size:13px;line-height:1.6;flex:none;margin:9px 0;max-height:70px;overflow:auto}#retry-submit{align-self:flex-start;flex:none;margin-bottom:10px}
#result-board{flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable;padding-right:5px}#result-board .leader-switch{position:sticky;top:0;z-index:1;background:#192d21;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px 0 12px;margin:0}#result-board .leader-switch button{font-size:14px;padding:10px 5px;white-space:nowrap}#result-board .score-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}#result-board .score-table th:first-child{width:66px}#result-board .score-table th:nth-child(3){width:25%}#result-board .score-table th:last-child{width:20%}#result-board .score-table td{height:62px;overflow-wrap:anywhere;padding:10px 7px}#result-board .score-table th{font-size:12px;padding:12px 7px;color:#abbea0;font-weight:500}#result-board .score-table tr.self{background:#c4e58914;color:#effbcc}#result-board .board-note{font-size:12px;line-height:1.8;color:#9fb395}
.rank-cell{font:14px ui-monospace,monospace;color:#a8bc9d}.rank-medal{display:inline-flex;align-items:center;gap:6px;color:#e2c876}.rank-medal svg{width:23px;height:29px;stroke-width:1.5}.rank-medal b{font-size:14px;font-weight:600}.rank-medal.place-2{color:#c0d2d6}.rank-medal.place-3{color:#cb9e7a}.own-rank-tag{display:inline-block;margin-left:7px;padding:2px 5px;border-radius:3px;border:1px solid #cce69266;font-size:11px;color:var(--acid)}
#result-screen .result-buttons{margin:0;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-wrap:nowrap;gap:11px}#result-screen .result-buttons .primary{flex:1.3;flex-basis:auto}#result-screen .result-buttons .secondary{flex:1}#result-screen .result-buttons button{min-height:44px;font-size:15px}
@media(max-width:900px){#result-screen .result-shell{padding:18px;gap:12px}.result-layout{grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr);gap:18px}#result-screen .result-records{padding-left:18px}.result-personal .result-heading h2{font-size:27px}#result-screen .result-personal .result-stats strong{font-size:19px}#result-board .score-table th:first-child{width:57px}.result-ranking-heading{gap:9px}.result-ranking-heading h3{font-size:20px}.result-ranking-heading .eyebrow{display:none}.result-trophy{width:40px;height:40px}}
@media(max-width:540px) and (orientation:portrait){.result-layout{grid-template-columns:1fr;grid-template-rows:minmax(100px,.8fr) minmax(140px,1fr);gap:12px}#result-screen .result-records{border-left:0;border-top:1px solid var(--line);padding:10px 0 0}#result-screen .result-buttons button{padding:9px 5px;font-size:13px}}
@media(orientation:landscape){
 .handheld #result-screen .result-shell{padding:12px 16px;gap:8px;grid-template-rows:minmax(0,1fr) auto auto}.handheld .result-layout{grid-template-columns:minmax(175px,.72fr) minmax(0,1.28fr);gap:17px}.handheld #result-screen .result-records{padding-left:17px}.handheld .result-personal{padding-right:5px}.handheld .result-personal .result-heading h2{font-size:23px;margin:2px 0 5px}.handheld .result-personal .result-heading p{font-size:13px;line-height:1.65;margin:5px 0}.handheld #result-screen .result-personal .result-stats{gap:10px 8px;padding:8px 0 12px}.handheld #result-screen .result-personal .result-stats>div:first-child strong{font-size:38px;letter-spacing:-1px;margin:3px 0}.handheld #result-screen .result-personal .result-stats strong{font-size:17px}.handheld .result-personal .result-stats span{font-size:12px}.handheld #result-screen .result-personal .personal-ranks{padding-top:9px;font-size:13px;gap:5px}.handheld .result-personal .personal-ranks>span{padding:4px 7px}
 .handheld .result-ranking-heading{padding-bottom:8px;gap:8px}.handheld .result-ranking-heading h3{font-size:19px}.handheld .result-ranking-heading .eyebrow{display:none}.handheld .result-trophy{width:34px;height:34px;border-radius:6px}.handheld .result-trophy svg{width:23px;height:23px}.handheld .top-ten{font-size:12px}.handheld #result-status{font-size:12px;line-height:1.5;margin:5px 0;max-height:40px}.handheld #result-board .leader-switch{padding:3px 0 7px}.handheld #result-board .leader-switch button{font-size:13px;padding:8px 3px;min-height:38px}.handheld #result-board .score-table{font-size:13px}.handheld #result-board .score-table td{height:44px;padding:6px 5px}.handheld #result-board .score-table th{padding:6px 5px}.handheld #result-board .score-table th:first-child{width:51px}.handheld .rank-medal{gap:4px}.handheld .rank-medal svg{width:20px;height:24px}.handheld #result-screen .result-buttons{padding-top:8px;gap:9px}.handheld #result-screen .result-buttons button{font-size:14px;min-height:42px;padding:8px 12px}
}

@media(orientation:landscape){.handheld #result-screen .result-personal .result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.handheld .result-personal .result-stats>div:nth-child(2){grid-column:1/-1}}
.result-personal:focus-visible,#result-board:focus-visible{outline:1px solid var(--acid);outline-offset:-2px}

/* The opening view belongs to the street; the only invitation is the start cue. */
#scene-loading{position:absolute;inset:0;display:grid;place-items:center;background:#112018;color:#d5dec7;font-size:16px;letter-spacing:2px;z-index:20}
#app[data-phase=loading] .game-only,#app[data-phase=loading] #map-card,#app[data-phase=loading] .header-actions{visibility:hidden}
#inspect-return.start-game-cue{background:#f3df75;color:#253017;border:1px solid #fff0a1;font-weight:700;box-shadow:0 0 18px #f3df7533;animation:start-game-glow 2.4s ease-in-out infinite}
#inspect-return.start-game-cue svg{transform:none;fill:currentColor;stroke-width:1.2}
#inspect-return.start-game-cue:hover,#inspect-return.start-game-cue:focus-visible{background:#fff1a0;box-shadow:0 0 26px #f3df7570}
@keyframes start-game-glow{0%,100%{box-shadow:0 0 12px #f3df7520,0 0 0 0 #f3df7520}50%{box-shadow:0 0 27px #f3df7566,0 0 0 5px #f3df7509}}
@media(prefers-reduced-motion:reduce){#inspect-return.start-game-cue{animation:none;box-shadow:0 0 19px #f3df7548}}

/* 靜音鈕移入音量面板後的顯示覆寫；必須排在前面的 .header-actions #sound-toggle 隱藏規則之後。 */
.header-actions #volume-panel #sound-toggle{display:flex;width:100%;justify-content:center;gap:8px;padding:9px;border:1px solid var(--line);border-radius:5px;background:#1c3324;font-size:13px}.header-actions #volume-panel #sound-toggle[aria-pressed=true]{color:var(--red);border-color:#ef786055}
.header-actions #volume-panel #sound-toggle span{display:inline}
.header-actions .sound-menu>#volume-toggle span{display:inline;font-size:13px}
