:root{font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;color:#f6f3ec;background:#0b0b10;font-synthesis:none;--paper:#f4f1ea;--text:#f6f3ec;--muted:#f6f3ec99;--brand:#e0262f;--brand-deep:#a8121b;--gold:#ffcf4d;--amber:#ffb13d;--pink:#ff3d9a;--green:#3ddc84;--ink:#0b0b10;--glass:#0a0c12d6;--line:#ffffff24;--orange:var(--amber);--pad:clamp(14px,2.8vmin,34px);--mm:clamp(128px,26vmin,232px);--tu:min(1vmin,4.6px);--tb:max(32px,calc(9 * var(--tu)));--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--num:"DIN Condensed","Bahnschrift","Avenir Next Condensed","Arial Narrow",sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden;overscroll-behavior:none;touch-action:none}button,select,input{font:inherit}button{color:inherit;cursor:pointer;min-height:44px;padding:.7em 1em;border:1px solid var(--line);border-radius:2px;background:#ffffff0a;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:hover{background:#ffffff18}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--paper);outline-offset:3px}button:disabled{opacity:.38;cursor:default}button.primary{background:var(--brand);border-color:var(--brand);font-weight:800}button.primary:hover{background:#f3323c}button.held,button:active{transform:scale(.96)}[hidden]{display:none!important}#game{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#app{position:fixed;inset:0;z-index:20;pointer-events:none;color:var(--text);font-size:clamp(12.5px,1.5vmin,17px);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}#app button,#app select,#app input,#app summary,.overlay,.stick{pointer-events:auto}.hud,.touch{position:absolute;inset:0;pointer-events:none}body[data-playing=false] .hud,body[data-playing=false] .touch{visibility:hidden}kbd{display:inline-block;padding:.12em .35em;border:1px solid #ffffff38;border-radius:.22em;background:#ffffff12;font:700 .85em var(--num)}.eyebrow{font-size:.75em;color:var(--gold);letter-spacing:.26em;font-weight:800}.game-status{position:absolute;top:calc(var(--pad) + var(--sat));right:calc(var(--pad) + var(--sar));text-align:right;text-shadow:0 1px 2px #000d}.game-status>div:first-child{font:700 1.28em var(--num);letter-spacing:.05em}.game-status>div:first-child>small{opacity:.8;font-size:.75em}.game-status strong{display:block;color:#9cf6b8;font:700 2.25em/1.1 var(--num);letter-spacing:.025em}.game-status strong small{color:var(--amber);font-size:.57em}.top-actions{display:flex;justify-content:flex-end;gap:.45em;margin-top:.65em}.top-actions button{display:grid;place-items:center;min-width:2.7em;min-height:2.45em;padding:.3em .55em;border-radius:.35em;border:1px solid #ffffff47;background:#0c0e1480;font-size:.82em;font-weight:700}.action-status{position:absolute;top:calc(var(--pad) + var(--sat) + 8em);right:calc(var(--pad) + var(--sar));display:flex;flex-direction:column;align-items:flex-end;text-shadow:0 1px 3px #000}#wanted{min-height:1.8em;font-size:1.55em;line-height:1.15;letter-spacing:.13em;color:#fff;filter:drop-shadow(0 0 .2em #ffd678)}.action-status button{min-height:2.3em;padding:.35em .8em;border:0;background:#0a0c12b3;font-weight:700;font-size:.9em}.action-status small{margin-top:.25em;font-size:.8em;color:var(--amber)}.bottom-left{position:absolute;left:calc(var(--pad) + var(--sal));bottom:calc(var(--pad) + var(--sab));width:var(--mm)}.minimap-wrap{position:relative;display:block;width:var(--mm);height:var(--mm);min-height:0;padding:0;border:0;border-radius:50%;background:#0b0e14;box-shadow:0 0 0 .22em #080a10eb,0 0 0 .34em #ffffff29,0 .8em 2em #0008}.minimap-wrap:hover{background:#0b0e14;box-shadow:0 0 0 .22em #080a10eb,0 0 0 .34em #ffffff70,0 .8em 2em #0008}#minimap{display:block;width:100%;height:100%;border-radius:50%}.health-track{position:absolute;top:calc(100% + .5em);left:8%;right:8%;height:.4em;min-height:4px;overflow:hidden;border-radius:.2em;background:#080a10d9;box-shadow:0 0 0 1px #080a10}.health-bar{width:100%;height:100%;background:var(--green);transition:width .25s}.objective{position:absolute;left:50%;bottom:calc(var(--pad) + var(--sab) + 4.6em);display:flex;align-items:baseline;justify-content:center;gap:.55em;max-width:min(46em,64vw);transform:translate(-50%);font-size:1.2em;font-weight:600;line-height:1.4;text-align:center;text-shadow:0 0 2px #000,0 1px 3px #000,0 0 .9em #000b}.objective>span:first-child{flex:none;color:var(--gold)}.objective small{flex:none;color:var(--gold);font:700 .95em var(--num)}.dialogue{position:absolute;left:50%;bottom:calc(var(--pad) + var(--sab) + 1.2em);width:max-content;max-width:min(52em,70vw);transform:translate(-50%);font-size:1.28em;font-weight:600;line-height:1.5;text-align:center;text-shadow:0 0 2px #000,0 2px 4px #000,0 0 1em #000c}.dialogue b{color:var(--amber);font-weight:800}.interact-hint{position:absolute;bottom:25%;left:50%;transform:translate(-50%);padding:.55em 1.2em;border:1px solid #ffffff24;border-radius:999px;background:#0a0c12d1;font-size:1.14em;font-weight:600;white-space:nowrap;box-shadow:0 .5em 1.4em #0006}.toast{position:absolute;left:calc(var(--pad) + var(--sal));bottom:calc(var(--pad) + var(--sab) + var(--mm) + 2.6em);width:max-content;max-width:min(25em,40vw);border-left:.2em solid var(--gold);border-radius:2px;padding:.7em 1em;background:#0a0c12d6;font-size:.98em;line-height:1.5;box-shadow:0 .5em 1.5em #0005}.mission-banner{position:absolute;top:22%;left:50%;transform:translate(-50%);max-width:92vw;text-align:center;text-shadow:0 .06em #0009,0 0 .6em #0009}.mission-banner small{display:block;font:800 .95em var(--num);letter-spacing:.6em;color:var(--gold);text-shadow:0 0 .6em #ffcf4d99}.mission-banner b{display:block;margin:.22em 0;font-size:clamp(26px,3.3em,62px);line-height:1.1;letter-spacing:.1em;font-weight:900}.mission-banner>span{font:700 1.05em var(--num);letter-spacing:.35em;opacity:.85}.down-screen{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#16080a75;-webkit-backdrop-filter:grayscale(1);backdrop-filter:grayscale(1)}.down-screen:before{content:"";position:absolute;top:35%;height:28%;left:0;right:0;background:linear-gradient(90deg,#0000,#000b 22% 78%,#0000)}.down-screen strong,.down-screen span{position:relative}.down-screen strong{color:#ff3b4a;font-size:min(6.2em,23vw);letter-spacing:.14em;font-weight:900;text-shadow:0 .05em #0009,0 0 .45em #ff3b4a6e}.down-screen span{margin-top:.6em;font-size:1.2em}.overlay{position:absolute;inset:0;z-index:25;display:flex;align-items:center;justify-content:center;padding:max(16px,var(--sat)) max(16px,var(--sar)) max(16px,var(--sab)) max(16px,var(--sal));background:#050509b8}.panel{width:min(430px,94vw);max-height:calc(100dvh - 32px);padding:1.7em;overflow-y:auto;border:1px solid #ffffff1a;border-top:3px solid var(--brand);border-radius:3px;background:#0d0e13;box-shadow:0 2em 5em #0009}.panel h2{margin:.3em 0 .65em;font-size:1.65em;letter-spacing:.06em}.panel p{color:#f4f1eabf;font-size:.98em;line-height:1.65}.stack{display:grid;gap:.35em;margin-top:1.5em}.setting{display:flex;justify-content:space-between;align-items:center;gap:1.2em;margin:1.5em 0;font-size:1em}select{color:var(--paper);background:#202127;border:1px solid #ffffff26;border-radius:2px;min-height:40px;padding:.55em .8em}input[type=range],input[type=checkbox]{accent-color:var(--brand)}.close-panel{display:grid;place-items:center;float:right;width:2.6em;height:2.6em;min-height:0;padding:0;border:0;border-radius:50%;background:#ffffff14;font-size:1.1em;line-height:1}#pause-panel{--px:calc(6vw + var(--sal));--pxr:calc(6vw + var(--sar));display:block;padding:0;background:linear-gradient(90deg,#050509eb,#050509b8 45%,#05050999),radial-gradient(at 15% 20%,#e0262f2e,#0000 55%);-webkit-backdrop-filter:blur(10px) saturate(.9);backdrop-filter:blur(10px) saturate(.9);font-size:clamp(12px,1.55vmin,17px)}#pause-panel>.panel,.pause-shell{position:absolute;inset:0;width:100%;height:100%;max-height:none;padding:0;border:0;border-radius:0;box-shadow:none;background:none;overflow:hidden}.pause-header{position:absolute;top:calc(4.5vh + var(--sat));left:var(--px);right:var(--pxr);display:flex;align-items:center;gap:2em;padding-bottom:1.1em;border-bottom:1px solid #ffffff1f}.pause-logo{width:8em;height:auto}.pause-heading{padding-left:2em;border-left:1px solid #ffffff24}.pause-heading b{display:block;font-size:1.6em;letter-spacing:.14em}.pause-heading small{display:block;opacity:.5;font:700 .8em var(--num);letter-spacing:.32em}.pause-info{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5em;margin-left:auto}.pause-chip{display:inline-flex;align-items:center;gap:.35em;padding:.45em .7em;border:1px solid #ffffff14;border-radius:3px;background:#ffffff09;font-size:.92em}.pause-chip.character{color:#ff9fa5;border-color:#e0262f45;background:#e0262f26}.pause-chip.money{color:#8dffb4;font:700 1.1em var(--num)}.pause-body{position:absolute;top:calc(4.5vh + var(--sat) + 5.8em);bottom:calc(4.5em + var(--sab));left:var(--px);right:var(--pxr);display:flex;gap:4vw}.pause-nav{display:flex;flex-direction:column;flex:none;gap:.15em;width:17em;overflow-y:auto;scrollbar-width:none}.pause-nav button{position:relative;display:flex;align-items:center;gap:.9em;width:100%;flex:none;padding:.7em 1.1em;border:0;border-radius:2px;background:none;text-align:left;font-size:1.25em;font-weight:800}.pause-nav button:before{content:"›";flex:none;width:1.1em;font-size:1.2em;opacity:.72}.pause-nav button small{display:block;font:700 .65em var(--num);opacity:.6;letter-spacing:.22em;margin-top:.2em}.pause-nav button:hover,.pause-nav button:focus-visible,.pause-nav button.primary{background:var(--paper);color:var(--ink);outline:0;box-shadow:inset .22em 0 0 var(--brand)}.pause-nav button.primary:before{color:var(--brand)}.pause-content{flex:1;min-width:0;overflow-y:auto;padding-right:.5em;scrollbar-width:thin;scrollbar-color:#ffffff47 transparent}.pause-location{position:relative;border:1px solid #ffffff1a;border-left:3px solid var(--brand);border-radius:3px;padding:2em 2.3em;background:linear-gradient(135deg,#e0262f2e,#ffffff08 60%);overflow:hidden}.pause-location .eyebrow{color:var(--muted)}.pause-location h2{margin:.1em 0;font-size:4.2em;line-height:1.1;font-weight:900;letter-spacing:.08em}.pause-location .location-en{font:800 .86em var(--num);letter-spacing:.27em;color:var(--gold)}.pause-location p{font-size:1.05em;line-height:1.6;color:#f4f1eae0;margin:.8em 0 0}.pause-mission{margin-top:1em;padding:1.1em 1.4em;border:1px solid #ffcf4d38;border-radius:3px;background:#ffcf4d09}.pause-mission b{display:block;color:var(--gold);font-size:1.4em;margin-top:.2em}.pause-mission p{margin-bottom:0}.pause-foot{position:absolute;left:var(--px);bottom:calc(1.6em + var(--sab));display:flex;gap:1.6em;font-size:.9em;opacity:.85}#pause-panel>.panel>.eyebrow{position:absolute;top:6vh;left:var(--px)}#pause-panel>.panel>h2{position:absolute;top:11vh;left:var(--px);font-size:3em}#pause-panel>.panel>.stack{position:absolute;top:29vh;left:var(--px);width:17em}#pause-panel>.panel>.stack button{text-align:left;border:0;font-size:1.2em}#map-panel{display:block;padding:0;background:#0b0e14;font-size:clamp(12px,1.5vmin,15px)}#map-panel .map-panel{position:absolute;inset:0;width:100%;height:100%;max-height:none;padding:0;border:0;border-radius:0;background:#0b0e14;overflow:hidden}#city-map{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;margin:0;border-radius:0;touch-action:none;cursor:crosshair}.map-panel>h2,.map-panel>.eyebrow{position:absolute;z-index:2;left:calc(1.6em + var(--sal));margin:0;text-shadow:0 1px 4px #000}.map-panel>h2{top:calc(1em + var(--sat));font-size:1.8em;letter-spacing:.14em}.map-panel>.eyebrow{top:calc(4em + var(--sat));font-size:.7em;color:var(--amber)}.map-panel>.close-panel{position:absolute;top:calc(1em + var(--sat));right:calc(1.4em + var(--sar));z-index:3}.map-legend,.map-panel>.map-places{position:absolute;z-index:2;right:calc(1.4em + var(--sar));top:calc(5.4em + var(--sat));width:13.5em;max-height:calc(100% - 13em - var(--sat) - var(--sab));padding:.8em .6em .7em;border:1px solid #ffffff14;border-radius:.6em;background:#0a0c12db;overflow-y:auto;scrollbar-width:thin;touch-action:pan-y}.map-legend summary{padding:.2em .4em .65em;color:var(--paper);font-size:.95em;font-weight:800;letter-spacing:.13em;cursor:pointer}.map-places{display:flex;flex-direction:column;gap:.12em}.map-places button{display:flex;align-items:center;gap:.6em;width:100%;min-height:2.25em;padding:.3em .45em;border:0;border-radius:.35em;background:none;font-size:.92em;text-align:left}.map-places button:before{content:"◆";color:var(--gold);font-size:.7em}.map-places button:hover,.map-places button:focus-visible{background:#ffffff14;outline-offset:-2px}.map-panel>p,.map-hints{position:absolute;left:50%;bottom:calc(1.2em + var(--sab));z-index:2;transform:translate(-50%);padding:.55em 1.4em;width:max-content;max-width:78%;border-radius:999px;background:#0a0c12d1;color:var(--paper);font-size:.9em;text-align:center;margin:0}#clear-waypoint{position:absolute;z-index:2;right:calc(1.4em + var(--sar));bottom:calc(5.2em + var(--sab));border-radius:.35em;padding:.55em .8em;background:#0a0c12db;font-size:.88em}.map-zoom{position:absolute;z-index:2;right:calc(1.4em + var(--sar));bottom:calc(9em + var(--sab));display:flex;flex-direction:column;gap:.45em}.map-zoom button{width:2.7em;height:2.7em;min-height:0;padding:0;border-radius:.35em;background:#0a0c12db;font-size:1.1em}.touch{display:none}.stick{position:absolute;left:calc(var(--sal) + 8 * var(--tu));bottom:calc(var(--sab) + 7 * var(--tu));width:calc(34 * var(--tu));height:calc(34 * var(--tu));border:2px solid #ffffff4d;border-radius:50%;background:radial-gradient(circle,#ffffff17,#ffffff05 70%);display:grid;place-items:center;touch-action:none}.knob{width:calc(15 * var(--tu));height:calc(15 * var(--tu));border-radius:50%;background:#ffffffe0;box-shadow:0 4px 12px #00000059}.touch-actions{position:absolute;right:0;bottom:0;width:1px;height:1px}.touch-actions button{--s:16;--r:0;--b:0;position:absolute;right:calc(var(--r) * var(--tu) + var(--sar));bottom:calc(var(--b) * var(--tu) + var(--sab));width:calc(var(--s) * var(--tu));height:calc(var(--s) * var(--tu));min-height:0;padding:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.2em;border:2px solid #ffffff6b;border-radius:50%;background:#0c0e146b;box-shadow:0 4px 14px #0004;font-size:max(10.5px,calc(2.6 * var(--tu)));font-weight:800;line-height:1;text-shadow:0 1px 2px #000;touch-action:none}.touch-actions button:before{content:"";display:block;width:36%;height:36%;background:currentColor;mask:var(--action-icon) center/contain no-repeat;-webkit-mask:var(--action-icon) center/contain no-repeat}.touch-actions button.held,.touch-actions button:active{background:#e0262f9e;border-color:#fff;transform:scale(.93)}.touch-actions #touch-attack{--s:22;--r:4;--b:5;border-color:#fff9;background:#0c0e1480;--action-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M5 5h3V3h3v1h3v1h3v5l3-1 2 4-5 9H8l-5-8V8h2zm2 7v5h8l3-4-3 1V8h-2v5h-2V7H9v6H7z'/%3E%3C/svg%3E")}.touch-actions #sprint{--r:9;--b:35;--action-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='15' cy='4' r='2.5' fill='white'/%3E%3Cpath d='m6 10 5-3 4 2 3 3h3M12 8l-3 7-6 5m6-5 5 2 1 5' stroke='white' fill='none' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}.touch-actions #touch-interact{--s:14;--r:42;--b:38;--action-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 13V4a2 2 0 0 1 4 0v7l1-5h3l1 6 2-2 3 3-5 9H9l-5-7a2 2 0 0 1 4-2Z' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E")}.touch-actions #brake{--r:28;--b:8;--action-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='7' fill='none' stroke='white' stroke-width='2'/%3E%3Cpath d='M2 6v12M22 6v12M10 7v10M14 7v10' stroke='white' stroke-width='2'/%3E%3C/svg%3E") }body[data-driving=true] .touch-actions #brake{--r:23;--b:5;height:calc(21 * var(--tu));border-radius:calc(4 * var(--tu))}.phone-app-overlay{align-items:flex-end;justify-content:flex-end;background:#05050940;padding:0 clamp(16px,6vw,110px) 3.5vh}.phone-app-panel{position:relative;display:flex;flex-direction:column;aspect-ratio:9/19.2;height:min(88vh,640px);width:auto;max-height:none;padding:4.3em 1.2em 2.2em;border:.7em solid #11131a;border-radius:3em;background:#0e1016;font-size:min(13px,2vh);box-shadow:0 0 0 1.5px #3a3e4a,0 0 0 5px #0b0c10,0 2.5em 6em #000a;overflow:hidden}.phone-app-panel:before{content:"";position:absolute;top:.65em;left:50%;width:7.2em;height:2em;transform:translate(-50%);border-radius:1.2em;background:#000}.phone-app-panel:after{content:"";position:absolute;bottom:.5em;left:50%;width:8.5em;height:.3em;transform:translate(-50%);border-radius:.2em;background:#ffffffbf}.phone-app-status{position:absolute;left:1.6em;right:1.3em;top:1em;display:flex;justify-content:space-between;font:700 1em var(--num)}.phone-app-status span:last-child{font-size:.8em;letter-spacing:.08em}.phone-app-head{display:flex;flex:none;align-items:center;gap:.6em;margin-bottom:.9em}.phone-app-head .close-panel{float:none;flex:none;width:2.4em;height:2.4em;font-size:1em}.phone-app-head h2{margin:0;font-size:1.55em;font-weight:800;line-height:1.2;letter-spacing:.04em}.phone-app-head small{display:block;margin-top:.35em;font:700 .61em var(--num);color:#ffffff73;letter-spacing:.2em}.phone-app-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ffffff30 transparent;touch-action:pan-y;padding:.1em .15em .6em}.phone-app-summary{flex:none;font-size:.85em!important;line-height:1.5!important;color:#ffffff8c!important;margin:0 0 .9em}.activity-tabs{display:flex;flex:none;gap:.4em;margin:0 0 .8em;padding-bottom:.2em;border-bottom:1px solid #ffffff14}.activity-tabs button{flex:1;min-height:2.9em;padding:.5em;border:0;border-radius:.45em .45em 0 0;color:#ffffffa6;font-size:.9em;font-weight:700}.activity-tabs button[aria-selected=true]{color:#fff;background:#ff3d9a1a;box-shadow:inset 0 -.2em 0 var(--pink)}.activity-card{padding:.9em 1em;margin-bottom:.65em;border:0;border-radius:1em;background:#1a1d26}.activity-card.active{box-shadow:inset .18em 0 0 var(--gold)}.activity-card-header{display:flex;justify-content:space-between;align-items:baseline;gap:.6em}.activity-card b{display:block;font-size:1.1em;line-height:1.4}.activity-card .activity-reward{color:var(--gold);font:700 1.15em var(--num);white-space:nowrap}.activity-card p{margin:.5em 0 .7em;color:#ffffffa8;font-size:.9em;line-height:1.55}.activity-card>small{display:block;color:#ffffff73;font-size:.78em;margin:.6em 0;line-height:1.5}.activity-card button{display:block;width:100%;min-height:2.85em;padding:.7em;border:0;border-radius:.7em;background:#242938;font-size:.95em;font-weight:700}.activity-card button.accept{background:linear-gradient(135deg,#ff3d9a,#ff7a5c);color:#fff}.activity-card button.danger{color:#ffb0b8;background:#3b1a20}.activity-tag{display:block;color:#e8b4cc;font-size:.74em;font-weight:700;letter-spacing:.12em;margin-bottom:.45em}.activity-choices{position:absolute;bottom:29%;left:50%;transform:translate(-50%);display:flex;flex-wrap:wrap;justify-content:center;gap:.6em;width:min(44em,65vw);pointer-events:auto}.activity-choices button{min-height:2.8em;padding:.6em 1.1em;border:1px solid #e0262f8c;border-radius:.8em;background:#0a0a0ee0;font-size:.98em;font-weight:700}.activity-timer{position:absolute;top:calc(var(--pad) + var(--sat) + 3em);left:50%;transform:translate(-50%);color:var(--gold);font:700 2em var(--num);font-variant-numeric:tabular-nums;text-shadow:0 1px 4px #000}.food-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6em;align-content:start}.food-card{min-width:0;padding:.65em;border-radius:.9em;background:#1a1d26;text-align:center}.food-card b{display:block;margin:.35em 0;font-size:.97em;line-height:1.3}.food-card small{display:block;margin-bottom:.5em;color:#ffffff8c;font-size:.75em;line-height:1.5}.food-icon{width:100%;aspect-ratio:1;border-radius:.5em;background-image:url(/food/tianjin-food-atlas.webp);background-size:400% 400%;background-repeat:no-repeat}.food-icon.undiscovered{filter:grayscale(1);opacity:.35}.food-card button{display:block;width:100%;min-height:2.75em;margin-top:.35em;padding:.55em .3em;border:0;border-radius:.65em;background:#242938;font-size:.86em;font-weight:700}.food-card button.buy{background:linear-gradient(135deg,#ff3d9a,#ff7a5c)}.food-card button:disabled{opacity:.32}.photo-flash:after{content:"";position:fixed;inset:0;z-index:1000;background:#ffffffbf;pointer-events:none}.debug{position:absolute;top:calc(var(--pad) + var(--sat) + 12em);right:calc(var(--pad) + var(--sar));width:236px;padding:14px 16px;border:1px solid #ffffff26;border-top:2px solid var(--brand);border-radius:3px;background:#0a0c12f2;font:11px/1.8 ui-monospace,monospace;pointer-events:auto}.debug-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6em;font-weight:700}.debug-head button{min-height:28px;padding:.2em .7em;font-size:12px;border:0}.debug-row{display:flex;justify-content:space-between;gap:.7em}.debug-row span:last-child{color:#aee5ba;font-variant-numeric:tabular-nums}.debug-note{margin:.8em 0 0;color:#ffffff80;font:10px/1.5 system-ui,sans-serif}@media(any-pointer:coarse),(max-width:700px),(max-height:519px){:root{--mm:clamp(84px,25vmin,150px);--pad:clamp(8px,2vmin,20px);--gl:calc(46 * var(--tu) + 6px + var(--sal));--gr:calc(var(--sar) + 60 * var(--tu))}#app{font-size:11.5px}.touch{display:block}.bottom-left{top:calc(var(--pad) + var(--sat));bottom:auto}.game-status strong{font-size:1.85em}.game-status>div:first-child{font-size:1.12em}.game-status .top-actions{position:fixed;top:calc(var(--pad) + var(--sat));left:calc(var(--pad) + var(--sal) + var(--mm) + 12px);right:auto;margin:0;gap:8px}.top-actions button{width:var(--tb);height:var(--tb);min-height:0;padding:0;border-radius:10px;font-size:max(10.5px,.86em)}.action-status{top:calc(var(--pad) + var(--sat) + 4.1em)}.action-status button{min-height:2.5em;font-size:max(10.5px,.85em)}#wanted{min-height:1.65em;font-size:1.4em}.objective{top:calc(var(--pad) + var(--sat) + .1em);bottom:auto;left:calc(var(--pad) + var(--sal) + var(--mm) + 12px + 2 * var(--tb) + 22px);right:calc(var(--pad) + var(--sar) + 8.2em);max-width:none;width:auto;transform:none;align-items:flex-start;font-size:max(12.5px,1em);line-height:1.35}.dialogue{left:var(--gl);right:var(--gr);bottom:calc(var(--pad) + var(--sab));width:auto;max-width:none;transform:none;font-size:max(12.5px,1.02em);line-height:1.4}.interact-hint{left:var(--gl);right:var(--gr);bottom:calc(var(--pad) + var(--sab) + 4.1em);width:fit-content;max-width:calc(100vw - var(--gl) - var(--gr));margin:auto;transform:none;white-space:normal;text-align:center;border-color:#e0262f8c;border-radius:.8em;padding:.42em .9em;background:#0a0a0ee0;font-size:max(12.5px,.98em);line-height:1.35}.toast{top:calc(var(--pad) + var(--sat) + var(--tb) + 10px);bottom:auto;left:calc(var(--pad) + var(--sal) + var(--mm) + 12px);max-width:min(22em,34vw)}.mission-banner{top:24%}.mission-banner b{font-size:2.8em}.activity-choices{bottom:calc(var(--pad) + var(--sab) + 6em);left:var(--gl);right:var(--gr);width:auto;transform:none}.activity-timer{top:calc(var(--pad) + var(--sat) + 3.6em);font-size:1.45em}.debug{top:calc(var(--pad) + var(--sat) + var(--mm) + 3em);max-height:calc(100dvh - var(--mm) - 5em);overflow-y:auto}}@media(max-height:519px),(max-width:519px){.pause-header{top:calc(2vh + var(--sat));padding-bottom:.6em}.pause-logo,.pause-heading{display:none}.pause-info{margin-left:0;justify-content:flex-start}.pause-body{top:calc(2vh + var(--sat) + 3.4em);bottom:calc(1em + var(--sab));gap:3vw}.pause-nav{width:14.5em}.pause-nav button{gap:.7em;padding:.36em .8em;font-size:1.12em}.pause-nav button small{display:none}.pause-location{padding:1em 1.2em}.pause-location h2{font-size:2.3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pause-location p{font-size:1em;margin-top:.5em}.pause-mission{padding:.8em 1em}.pause-foot{display:none}.map-header{padding:calc(.6em + var(--sat)) calc(1em + var(--sar)) 1.6em calc(1em + var(--sal))}.map-legend{top:calc(4.6em + var(--sat));right:calc(.8em + var(--sar));width:14em;max-height:calc(100% - 10em - var(--sat) - var(--sab))}.map-legend:not([open]){width:auto}.map-legend summary{font-size:max(12px,.95em)}.map-places button{min-height:2.6em;font-size:max(12px,.92em)}.map-panel>p,.map-hints{bottom:calc(.6em + var(--sab));max-width:75%;padding:.4em 1em;font-size:.78em}.phone-app-overlay{justify-content:center;padding:0 0 4vh}.phone-app-panel{width:min(640px,86vw);height:90vh;aspect-ratio:auto;border-radius:2.2em;border-width:.55em;padding:2.5em 1.3em 1.1em 3.4em;font-size:11px}.phone-app-panel:before{top:50%;left:.35em;transform:translateY(-50%);width:1.5em;height:5.5em}.phone-app-panel:after{display:none}.phone-app-status{left:3.4em;top:.3em}.phone-app-head{margin-bottom:.5em}.food-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.activity-card{padding:.7em 1em}}@media(orientation:portrait){.objective{top:calc(var(--pad) + var(--sat) + var(--mm) + 2.4em);bottom:auto;left:calc(var(--pad) + var(--sal));right:calc(var(--pad) + var(--sar));width:auto;max-width:none;transform:none;font-size:max(12.5px,1em)}.dialogue{left:calc(var(--pad) + var(--sal));right:calc(var(--pad) + var(--sar));bottom:38%;width:auto;max-width:none;transform:none;font-size:max(12.5px,1.02em)}.interact-hint{bottom:calc(38% + 4em);left:8%;right:8%;max-width:84%}.toast{top:calc(var(--pad) + var(--sat) + var(--mm) + 6em);left:calc(var(--pad) + var(--sal));max-width:64vw}.touch-actions #touch-interact{--r:40;--b:44}.activity-choices{left:6%;right:6%;bottom:calc(38% + 6.5em);width:auto}.activity-timer{top:calc(var(--pad) + var(--sat) + var(--mm) + 5em)}#pause-panel{--px:calc(4vw + var(--sal));--pxr:calc(4vw + var(--sar))}.pause-header{flex-wrap:wrap;gap:.5em}.pause-body{top:calc(2vh + var(--sat) + 3.6em);flex-direction:column;gap:.8em}.pause-nav{flex-direction:row;flex:none;gap:.3em;width:auto;overflow:auto hidden;padding:.1em .1em .35em}.pause-nav button{width:auto;flex:none;padding:.55em .95em;font-size:1.05em;white-space:nowrap}.pause-nav button:before{width:.6em}.pause-content{padding-right:0}.pause-location{padding:1.2em}.pause-location h2{font-size:2.4em}.map-header h2{font-size:1.55em}.map-header .eyebrow{font-size:.65em;letter-spacing:.35em}.map-legend{top:calc(5.5em + var(--sat));max-height:48vh}.map-panel>p,.map-hints{max-width:88%}.phone-app-overlay{justify-content:center;padding:max(8px,var(--sat)) 3vw max(3.5vh,var(--sab))}.phone-app-panel{width:min(92vw,300px);height:min(88dvh,640px);aspect-ratio:9/19.2;border-width:.7em;border-radius:3em;padding:4.3em 1.2em 2.2em;font-size:min(13px,2vh)}.phone-app-panel:before{width:7.2em;height:2em;top:.65em;left:50%;transform:translate(-50%)}.phone-app-panel:after{display:block}.phone-app-status{left:1.6em;top:1em}.food-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.reference-phone{position:absolute;inset:0;z-index:28;pointer-events:none;font-size:min(13px,2vh);color:#fff}.reference-phone button{border:0;min-height:0;padding:0;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation}.reference-phone svg{display:block;width:1.4em;height:1.4em}.phone-device{position:absolute;right:clamp(16px,6vw,110px);bottom:3.5vh;aspect-ratio:9/19.2;height:min(88vh,640px);padding:.7em;border-radius:3em;background:linear-gradient(145deg,#1d2029,#0a0b0f 40%);box-shadow:0 0 0 1.5px #3a3e4a,0 0 0 5px #0b0c10,0 2.5em 6em #000a,0 0 3em #ff3d9a1f;pointer-events:auto;animation:phone-rise .35s cubic-bezier(.2,.95,.25,1.04) both}.phone-notch{position:absolute;top:1.35em;left:50%;transform:translate(-50%);z-index:6;width:7.2em;height:2em;border-radius:1.2em;background:#000;pointer-events:none}.phone-screen{position:relative;width:100%;height:100%;border-radius:2.4em;overflow:hidden;background:linear-gradient(185deg,#140d2b,#3c1c55 38%,#9a3565 64%,#ff8a5c 86%,#ffc36b)}.phone-skyline{position:absolute;bottom:0;left:0;right:0;height:42%;pointer-events:none}.phone-skyline svg{width:100%;height:100%}.phone-status{position:absolute;top:1.55em;left:2.2em;right:1.8em;z-index:5;display:flex;align-items:center;justify-content:space-between;font:700 1.05em var(--num);pointer-events:none}.phone-indicators{display:flex;align-items:center;gap:.4em}.phone-indicators>b{font-size:.8em}.phone-signal{display:flex;align-items:flex-end;gap:1px;height:.8em}.phone-signal>i{display:block;width:.2em;background:#fff;border-radius:1px}.phone-signal>i:nth-child(1){height:30%}.phone-signal>i:nth-child(2){height:55%}.phone-signal>i:nth-child(3){height:78%}.phone-signal>i:nth-child(4){height:100%}.phone-battery{position:relative;width:1.7em;height:.8em;border:1.5px solid #ffffffe6;border-radius:.2em}.phone-battery>i{position:absolute;inset:1px 30% 1px 1px;border-radius:1px;background:#fff}.phone-page{position:absolute;inset:0;display:flex;flex-direction:column;padding:4.3em 1.2em 2.2em}.phone-widget{margin-top:1.2em;text-align:center;text-shadow:0 1px 6px #00000059}.phone-clock{font:200 5.4em/1 "Helvetica Neue","Avenir Next",var(--num);letter-spacing:-.02em}.phone-date{margin-top:.3em;font-size:1.05em;font-weight:600;opacity:.9}.phone-weather{margin-top:.2em;font-size:.95em;opacity:.8}.phone-apps{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:1.3em .6em;margin-top:auto;margin-bottom:1.2em}.reference-phone .phone-app-button{display:flex;flex-direction:column;align-items:center;gap:.45em;background:none;outline:0}.phone-app-icon{display:grid;place-items:center;width:4.3em;height:4.3em;border-radius:1.15em;box-shadow:0 .45em 1em #00000059,inset 0 1px #ffffff59;transition:transform .15s}.phone-app-icon svg{width:2.1em;height:2.1em}.phone-app-button:hover .phone-app-icon,.phone-app-button:focus-visible .phone-app-icon{transform:scale(1.08);box-shadow:0 0 0 .2em #fff,0 .45em 1.2em #0006}.phone-app-name{font-size:.9em;font-weight:600;text-shadow:0 1px 3px #000b}.phone-dock{position:relative;z-index:1;text-align:center;opacity:.6;font-size:.75em;letter-spacing:.08em}.phone-appview{background:#0e1016}.phone-head{display:flex;align-items:center;gap:.5em;margin-bottom:.9em;flex:none}.reference-phone .phone-back{display:grid;place-items:center;width:2.4em;height:2.4em;flex:none;border-radius:50%;background:#ffffff14}.phone-back svg{width:1.3em;height:1.3em}.phone-title{font-size:1.55em;font-weight:800;letter-spacing:.04em}.phone-body{display:flex;flex-direction:column;flex:1;min-height:0;gap:.6em;overflow-y:auto;scrollbar-width:none;padding-bottom:.6em;touch-action:pan-y}.phone-item{display:block;width:100%;flex:none;padding:.9em 1em;border-radius:1em;background:#1a1d26;text-align:left}.phone-item h3{font-size:1.15em;line-height:1.4;margin:.25em 0 .45em}.phone-item p{font-size:.95em;line-height:1.6;margin:.4em 0 .8em;color:#ffffffb8}.phone-card-kicker{font-size:.76em;letter-spacing:.12em;color:var(--gold);font-weight:700}.reference-phone .phone-button{display:flex;align-items:center;justify-content:center;gap:.5em;flex:none;padding:.95em;width:100%;border-radius:1em;background:#242938;font-size:1.05em;font-weight:700;line-height:1.35}.phone-button svg{flex:none;width:1.3em;height:1.3em}.reference-phone .phone-button.primary{background:linear-gradient(135deg,#ff3d9a,#ff7a5c)}.phone-button:focus-visible,.phone-back:focus-visible,.phone-item:focus-visible{outline:2px solid #fff;outline-offset:2px}.phone-note{padding:0 .3em;font-size:.85em;line-height:1.5;color:#ffffff8c;margin:.25em 0 .6em}.reference-phone .phone-homebar{position:absolute;z-index:6;bottom:.2em;left:50%;transform:translate(-50%);width:10em;height:1.3em;background:none}.phone-homebar:after{content:"";position:absolute;bottom:.4em;left:.75em;right:.75em;height:.3em;border-radius:.2em;background:#ffffffbf}.reference-phone .phone-close{position:absolute;top:max(8px,var(--sat));right:max(8px,var(--sar));display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#090b13b8;pointer-events:auto}.phone-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6em;margin-bottom:.5em}.phone-stat{padding:.9em .75em;border-radius:1em;background:#1a1d26}.phone-stat small{display:block;font-size:.85em;color:#ffffff8c}.phone-stat b{display:block;margin-top:.4em;color:#f4d27e;font:700 1.8em var(--num)}.phone-weather-page{text-align:center;margin:auto 0}.phone-weather-symbol svg{width:5em;height:5em;margin:1em auto;color:#ffd875}.phone-weather-temperature{font:300 6em/1 var(--num)}.phone-weather-page h3{font-size:1.5em;margin:.4em 0}.phone-weather-page p{color:#ffffffa6}.reference-phone .phone-station{display:flex;align-items:center;gap:.7em;padding:.9em 1em;background:#1a1d26;border-radius:1em;text-align:left}.phone-station.selected{box-shadow:inset 0 0 0 .14em var(--pink)}.phone-station-icon{color:#ff8cac}.phone-station b{display:block;font-size:1.05em}.phone-station small{display:block;margin-top:.35em;font-size:.78em;line-height:1.4;color:#ffffff80}.phone-station-check{margin-left:auto;color:#ff8cac;opacity:0}.phone-station.selected .phone-station-check{opacity:1}.phone-volume{display:flex;flex-direction:column;gap:1em;margin-top:1em;padding:.8em .3em;font-size:.95em}.phone-volume input{width:100%;accent-color:var(--pink)}body:has(.reference-phone:not([hidden]),.phone-app-overlay:not([hidden])) .game-status,body:has(.reference-phone:not([hidden]),.phone-app-overlay:not([hidden])) .action-status,body:has(.reference-phone:not([hidden]),.phone-app-overlay:not([hidden])) .interact-hint{opacity:0;visibility:hidden}@keyframes phone-rise{0%{opacity:0;translate:0 3em}to{opacity:1;translate:0 0}}@media(max-height:519px),(max-width:519px){.reference-phone{font-size:11px}.phone-device{bottom:4vh;right:50%;transform:translate(50%);aspect-ratio:auto;width:min(640px,86vw);height:90vh;border-radius:2.2em;padding:.55em}.phone-screen{border-radius:1.7em}.phone-skyline{height:60%;opacity:.8}.phone-notch{width:1.5em;height:5.5em;top:50%;left:.9em;transform:translateY(-50%)}.phone-status{top:.8em;left:3.4em;right:1.5em}.phone-page{padding:2.5em 1.3em 1.1em 3.4em}.phone-home{flex-direction:row;align-items:center;gap:1.4em}.phone-widget{flex:none;width:30%;margin:0;text-align:left}.phone-clock{font-size:4em}.phone-apps{flex:1;grid-template-columns:repeat(5,1fr);gap:1.1em .3em;margin:0}.phone-app-icon{width:3.7em;height:3.7em;border-radius:1em}.phone-app-icon svg{width:1.8em;height:1.8em}.phone-dock,.reference-phone .phone-homebar{display:none}.phone-head{margin-bottom:.5em}.phone-weather-page{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:.3em}.phone-weather-symbol{grid-row:1/3}.phone-weather-symbol svg{width:4em;height:4em;margin:0 auto}.phone-weather-temperature{font-size:4em}.phone-weather-page h3{margin:0}.phone-weather-page p{margin:.3em;grid-column:1/3}}@media(orientation:portrait){.reference-phone{font-size:min(13px,2vh)}.phone-device{right:50%;bottom:max(3.5vh,var(--sab));transform:translate(50%);width:min(92vw,300px);height:min(88dvh,640px);aspect-ratio:9/19.2;padding:.7em;border-radius:3em}.phone-screen{border-radius:2.4em}.phone-notch{top:1.35em;left:50%;width:7.2em;height:2em;transform:translate(-50%)}.phone-status{top:1.55em;left:2.2em;right:1.8em}.phone-page{padding:4.3em 1.2em 2.2em}.phone-home{flex-direction:column;align-items:stretch;gap:0}.phone-widget{width:auto;flex:none;text-align:center;margin-top:1.2em}.phone-clock{font-size:5.4em}.phone-apps{flex:none;grid-template-columns:repeat(3,1fr);gap:1.3em .6em;margin-top:auto;margin-bottom:1.2em}.phone-app-icon{width:4.3em;height:4.3em;border-radius:1.15em}.phone-app-icon svg{width:2.1em;height:2.1em}.phone-dock,.reference-phone .phone-homebar{display:block}.phone-skyline{height:42%;opacity:1}.phone-weather-page{display:block}.phone-weather-symbol svg{width:5em;height:5em;margin:1em auto}.phone-weather-temperature{font-size:6em}.phone-weather-page h3{margin:.4em 0}}body[data-aiming=true] .touch-actions #touch-aim{color:var(--gold);border-color:var(--gold);background:#72501c70}.map-legend #clear-waypoint{position:static;width:100%;margin-top:.6em;font-size:.85em;min-height:2.8em}.touch-actions #touch-jump{--r:34;--b:10;--action-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='13' cy='4' r='2.5' fill='white'/%3E%3Cpath d='m5 8 6-1 4 3 5-3m-9 1 1 7-6 2-2 4m8-6 5 2 3 5' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E")}.touch-actions #touch-aim{--r:26;--b:27;--action-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='7' fill='none' stroke='white' stroke-width='2'/%3E%3Cpath d='M12 1v6m0 10v6M1 12h6m10 0h6' stroke='white' stroke-width='2'/%3E%3C/svg%3E")}.touch-actions #touch-reload{--s:13;--r:72;--b:12;--action-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 9a8 8 0 1 0 1 7M19 3v7h-7' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E")}.touch-actions #touch-enter{--s:14;--r:53;--b:15;--action-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3 10 3-6h12l3 6v9H3zm0 0h18M6 15h3m6 0h3M5 19v3m14-3v3' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E")}.touch-actions #touch-horn{--s:13;--r:5;--b:37;--action-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9h5l7-5v16l-7-5H4zm16-2q5 5 0 10' fill='none' stroke='white' stroke-width='2.4' stroke-linejoin='round'/%3E%3C/svg%3E")}.touch-actions #touch-radio{--s:11;--r:40;--b:24;--action-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2' y='8' width='20' height='13' rx='2' fill='none' stroke='white' stroke-width='2'/%3E%3Cpath d='m4 8 14-6M5 12h4m-4 4h4m7-4v5' stroke='white' stroke-width='2'/%3E%3C/svg%3E")}.touch-actions #touch-camera{--s:11;--r:58;--b:8;--action-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 7h4l2-3h6l2 3h4v14H3Z' fill='none' stroke='white' stroke-width='2'/%3E%3Ccircle cx='12' cy='13' r='4' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E")}.touch-actions #touch-handbrake{--s:13;--r:40;--b:7;--action-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='7' fill='none' stroke='white' stroke-width='2'/%3E%3Cpath d='M2 6v12M22 6v12m-13-2V8h4q5 0 0 5H9' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E")}.touch-actions button.aiming{color:var(--gold);border-color:var(--gold);background:#72501c70}body[data-driving=true] .touch-actions #sprint{--s:16;--r:4;--b:5;height:calc(28 * var(--tu));border-radius:calc(4 * var(--tu));--action-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h10v18H7zm3 3v12m4-12v12' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E")}body[data-driving=true] .touch-actions #touch-interact,body[data-driving=true] .touch-actions #touch-enter{--s:13;--r:22;--b:31}body[data-driving=true] .touch-actions :is(#touch-jump,#touch-aim,#touch-reload,#touch-attack){display:none}body:not([data-driving=true]) .touch-actions :is(#touch-horn,#touch-radio,#touch-camera,#touch-handbrake){display:none}body:not([data-driving=true]) .touch-actions #brake{display:none}@media(orientation:portrait){.touch-actions #touch-enter{--r:20;--b:52}.touch-actions #touch-reload,.touch-actions #touch-camera{display:none!important}}.hud-center-stack{position:absolute;left:15%;right:15%;bottom:calc(var(--pad) + var(--sab));display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:.35em;pointer-events:none;transition:bottom .2s}.hud-center-stack>:is(.activity-choices,.interact-hint,.dialogue){position:static;transform:none;max-width:100%;margin:0}.hud-center-stack .dialogue{width:auto}.hud-center-stack .activity-choices{width:100%}.hud-center-stack .interact-hint{white-space:normal;text-align:center}body[data-driving=true] .hud-center-stack{bottom:calc(var(--pad) + var(--sab) + 2.9em)}body:has(#pause-panel:not([hidden]),#map-panel:not([hidden])) .hud{opacity:0;visibility:hidden}body:has(#pause-panel:not([hidden]),#map-panel:not([hidden]),.reference-phone:not([hidden]),.phone-app-overlay:not([hidden]),.ref-shell:not([hidden])) .touch{visibility:hidden;pointer-events:none}body:has(.reference-phone:not([hidden]),.phone-app-overlay:not([hidden])) :is(.hud-center-stack .interact-hint,.hud-center-stack .activity-choices){opacity:0;visibility:hidden;transition:opacity .2s}@media(any-pointer:coarse),(max-width:700px),(max-height:519px){.hud-center-stack{left:var(--gl);right:var(--gr)}.hud-center-stack .activity-choices{gap:.3em}#objective{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;min-width:0;overflow:hidden}.top-actions button{position:relative;font-size:0;min-width:0}.top-actions button:after{content:"";position:absolute;inset:min(-6px,calc((var(--tb) - 44px) / 2));border-radius:12px}.top-actions button:before{content:"";display:block;width:50%;height:50%;background:currentColor;mask:var(--top-icon) center/contain no-repeat;-webkit-mask:var(--top-icon) center/contain no-repeat}.top-actions #pause{--top-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4v16M17 4v16' stroke='white' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E")}.top-actions #touch-map{--top-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m2 5 6-3 8 3 6-3v17l-6 3-8-3-6 3Zm6-3v17m8-14v17' fill='none' stroke='white' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E")}.top-actions #phone{--top-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='6' y='2' width='12' height='20' rx='2' stroke='white' fill='none' stroke-width='2'/%3E%3Cpath d='M10 18h4' stroke='white' stroke-width='2'/%3E%3C/svg%3E")}}@media(orientation:landscape){@media(any-pointer:coarse),(max-width:700px),(max-height:519px){body:has(#touch-map) .objective{left:calc(var(--pad) + var(--sal) + var(--mm) + 12px + 3 * var(--tb) + 16px + 14px)}}}@media(orientation:landscape)and (max-height:399px){#objective{-webkit-line-clamp:1;line-clamp:1}}@media(orientation:portrait){.hud-center-stack,body[data-driving=true] .hud-center-stack{left:calc(var(--pad) + var(--sal));right:calc(var(--pad) + var(--sar));bottom:38%}}.ref-shell .ref-left{top:calc(var(--ref-bar) + var(--sat));bottom:calc(var(--ref-bar) + var(--sab))}.ref-shell .ref-panel-host{top:calc(var(--ref-bar) + var(--sat) + 2.4vh);bottom:calc(var(--ref-bar) + var(--sab) + 2.4vh)}@media(max-height:519px),(max-width:519px){.ref-shell .ref-panel-host{top:calc(var(--ref-bar) + var(--sat) + 8px);bottom:calc(var(--ref-bar) + var(--sab) + 8px)}.reference-phone .phone-device{max-width:calc(100vw - var(--sal) - var(--sar) - 16px);height:min(90dvh,calc(100dvh - var(--sat) - var(--sab) - 16px));bottom:max(4dvh,calc(var(--sab) + 8px))}.phone-app-panel{max-width:calc(100vw - var(--sal) - var(--sar) - 16px);max-height:calc(100dvh - var(--sat) - var(--sab) - 16px)}}@media(orientation:portrait){.ref-shell .ref-left{left:calc(6vw + var(--sal));right:calc(6vw + var(--sar))}.ref-shell .ref-panel-host,.ref-shell .ref-title:is([data-panel=character],[data-panel=help]) .ref-panel-host{left:calc(4vw + var(--sal));right:calc(4vw + var(--sar))}.ref-shell.ref-shell:not([data-preview-mode=world]):is([data-preview=ready],[data-preview=loading]) .ref-title[data-panel=character] .ref-panel-host{top:auto;bottom:calc(var(--ref-bar) + var(--sab) + 8px);max-height:min(48dvh,calc(100dvh - 2 * var(--ref-bar) - var(--sat) - var(--sab) - 16px))}.reference-phone .phone-device{height:min(88dvh,640px,calc(100dvh - var(--sat) - var(--sab) - 16px));bottom:max(3.5dvh,calc(var(--sab) + 8px))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}body:not([data-weapon=pistol]):not([data-weapon=smg]) .touch-actions :is(#touch-aim,#touch-reload){display:none}.action-status button.combat-weapon{display:flex;align-items:center;gap:.65em;min-width:11em;padding:.35em .2em .35em .9em;border:0;border-radius:0;background:linear-gradient(90deg,#080a1000,#080a108c 40%);text-align:right;opacity:0;visibility:hidden;pointer-events:none;transform:translate(.6em);transition:opacity .3s,transform .3s,visibility 0s linear .3s}.action-status button.combat-weapon:hover{background:linear-gradient(90deg,#080a1000,#080a108c 40%)}.action-status button.combat-weapon.show{opacity:1;visibility:inherit;pointer-events:auto;transform:none;transition:opacity .3s,transform .3s,visibility 0s}.combat-weapon-icon{display:grid;place-items:center;flex:none;width:2.5em;height:2em;filter:drop-shadow(0 1px 2px #000c)}.combat-weapon-icon svg{display:block;width:100%;height:100%}.combat-weapon-text{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.combat-weapon-name{opacity:.75;letter-spacing:.08em;font-size:.8em}.combat-weapon-ammo{font:700 1.6em/1 var(--num);font-variant-numeric:tabular-nums}.combat-weapon-mag.muted{opacity:.4}.combat-weapon-reload{display:none;position:relative;width:4.6em;height:.24em;margin-top:.3em;overflow:hidden;border-radius:.12em;background:#ffffff2e}.combat-weapon-reload i{position:absolute;inset:0;transform:scaleX(var(--v,0));transform-origin:left;background:var(--amber)}.combat-weapon.reloading .combat-weapon-reload{display:block}.combat-weapon.swap .combat-weapon-icon{animation:combat-weapon-in .35s cubic-bezier(.2,1.4,.4,1)}@keyframes combat-weapon-in{0%{opacity:0;transform:scale(1.4)}to{opacity:1;transform:none}}.action-status button.combat-weapon.driving{display:none}.down-screen{z-index:40;pointer-events:auto}.down-screen[data-reason=busted] strong{color:#84b7f9;text-shadow:0 .05em #0009,0 0 .45em #467bbe6e}.down-screen button{position:relative;margin-top:1.4em;background:#172131}body[data-incapacitated=true] .touch,body[data-incapacitated=true] .hud:after{display:none}.mission-result{position:absolute;left:0;right:0;top:36%;display:flex;justify-content:center;pointer-events:none;--result-tone:#ffc93a;text-align:center}.mission-result[data-outcome=failed]{--result-tone:#ff2f45}.result-band{width:100%;padding:1.4em 1em;background:linear-gradient(90deg,#0000,#000b 22% 78%,#0000);animation:result-band-in .55s ease-out both}.result-band strong{display:block;font-size:min(6.2em,20vw);font-weight:900;line-height:1;letter-spacing:.14em;color:var(--result-tone);text-shadow:0 .05em #0009,0 0 .45em #0008;animation:result-title-in .8s cubic-bezier(.15,1.1,.3,1) both}.result-band>span{display:block;margin-top:.35em;font:800 min(1.45em,4vw)/1.2 var(--num);letter-spacing:.4em;color:#fff}.result-band>p{max-width:38em;margin:.4em auto 0;font-weight:700;font-size:min(1.3em,4vw);line-height:1.35;color:#fff}@keyframes result-band-in{0%{transform:scaleX(.8);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes result-title-in{0%{transform:scale(1.2);opacity:0}to{transform:scale(1);opacity:1}}@media(pointer:coarse),(max-width:900px){.mission-result{top:26%}.result-band strong{font-size:min(4.4em,20vw)}}@media(prefers-reduced-motion:reduce){.result-band,.result-band strong{animation:none}}.map-attribution{display:block;width:max-content;max-width:100%;margin:.35em auto 0;color:#b9cdd2;font-size:10px;pointer-events:auto;text-decoration:underline}.minimap-attribution{display:block;margin-top:5px;color:#d4deda;font:9px sans-serif;text-align:center;text-shadow:0 1px 2px #000;pointer-events:auto}.map-data-download{color:#b9cdd2;font-size:10px;pointer-events:auto;text-decoration:underline}.map-legend{display:block}.map-legend>summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15em .6em;padding:.2em .4em .7em;list-style:none;cursor:pointer;color:var(--paper)}.map-legend>summary::-webkit-details-marker{display:none}.map-legend>summary::marker{content:""}.map-legend-title b{font-size:1.02em;font-weight:800;letter-spacing:.2em}.map-legend-title small{margin-left:.5em;font-size:.78em;letter-spacing:.2em;opacity:.5}.map-legend>summary em{flex-basis:100%;font-style:normal;font-size:.9em;letter-spacing:.04em;opacity:.5}.map-legend>summary:after{content:"";position:absolute;top:1.15em;right:1.1em;width:.55em;height:.55em;border:solid currentColor;border-width:0 .14em .14em 0;opacity:.6;transform:rotate(45deg);transition:transform .2s}.map-legend[open]>summary:after{top:1.35em;transform:rotate(-135deg)}.map-legend-rows{display:flex;flex-direction:column;gap:.1em}.map-legend .map-leg{display:flex;align-items:center;gap:.65em;width:100%;min-height:2.3em;padding:.18em .4em;border:0;border-radius:.35em;background:none;color:inherit;font-size:.95em;text-align:left;transition:background .15s,opacity .15s}.map-legend button.map-leg:hover,.map-legend button.map-leg:focus-visible{background:#ffffff14;outline-offset:-2px}.map-legend .map-leg.fixed{cursor:default}.map-leg-icon{flex:none;display:block;width:22px;height:22px}.map-leg-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.map-leg-count{flex:none;padding:.05em .5em;border-radius:999px;background:#ffffff14;font:700 .92em var(--num);font-variant-numeric:tabular-nums;opacity:.85}.map-legend .map-leg.off{opacity:.42}.map-legend .map-leg.off .map-leg-icon{filter:grayscale(1)}.map-legend .map-leg.empty:not(.off){opacity:.6}.map-destinations{margin-top:.45em;padding-top:.35em;border-top:1px solid #ffffff14}.map-destinations>summary{padding:.3em .4em;font-size:.9em;font-weight:700;letter-spacing:.1em;opacity:.8;cursor:pointer}.map-destinations .map-places{margin-top:.2em}.map-legend #clear-waypoint{position:static;display:block;width:100%;margin-top:.5em;min-height:2.6em;font-size:.88em}@media(min-width:520px)and (min-height:520px){.map-zoom{bottom:calc(5.2em + var(--sab))}.map-legend{max-height:calc(100% - 21.4em - var(--sat) - var(--sab))}}@media(max-height:519px),(max-width:519px){.map-zoom{right:auto;left:calc(1em + var(--sal))}.map-legend{width:15em}.map-legend:not([open]){width:auto;padding:.4em .8em}.map-legend:not([open])>summary{padding:.35em .1em}.map-legend:not([open])>summary em,.map-legend:not([open])>summary small{display:none}.map-legend:not([open])>summary:after{position:static;margin-left:.4em;align-self:center}.map-legend .map-leg{min-height:2.75em;font-size:max(12px,.95em)}}.map-header{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;gap:1em;min-height:calc(4.1em + var(--sat));padding:var(--sat) calc(1.2em + var(--sar)) 0 calc(1.5em + var(--sal));background:linear-gradient(#070a10f7,#070a10e6 70%,#070a1000);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none}.map-title{display:flex;flex-direction:column;gap:.28em;line-height:1;text-shadow:0 1px 4px #000}.map-title b{font-size:1.7em;font-weight:800;letter-spacing:.2em}.map-title small{font-size:.62em;font-weight:800;letter-spacing:.5em;color:var(--amber)}.map-sep{flex:none;align-self:center;width:1px;height:2.1em;background:#fff3}#map-location{min-width:0;overflow:hidden;color:#f4f1eadd;font-size:1em;font-weight:600;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis}#map-status{display:flex;flex:none;align-items:baseline;gap:1em;margin-left:auto;font-family:var(--num);font-size:1.3em;font-weight:700;letter-spacing:.04em;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000}#map-status .map-money{color:#9cf6b8}#map-status .map-money small{margin-right:.2em;color:var(--amber);font-size:.62em}.map-header .close-panel{flex:none;float:none;position:static;width:2.4em;height:2.4em;border:1px solid #ffffff38;background:#0a0c12cc;pointer-events:auto}#map-panel .map-panel:after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:1;height:calc(5.6em + var(--sab));background:linear-gradient(#070a1000,#070a10b3);pointer-events:none}.map-keys{position:absolute;left:50%;bottom:calc(2.6em + var(--sab));z-index:2;display:flex;align-items:center;gap:.4em 1.5em;max-width:calc(100% - 2em);padding:.5em 1.3em;border:1px solid #ffffff14;border-radius:999px;background:#0a0c12e6;color:#f4f1ecb0;font-size:.88em;white-space:nowrap;transform:translate(-50%);pointer-events:none}.map-keys span{display:inline-flex;align-items:center;gap:.4em}.map-keys kbd{min-width:1.8em;padding:.2em .5em;border:1px solid #ffffff40;border-radius:.3em;background:#ffffff17;color:#fff;font:700 .92em var(--num);text-align:center}.map-keys em{font-style:normal;opacity:.62}.map-keys .touch-keys{display:none}.map-credit{position:absolute;left:calc(1.5em + var(--sal));bottom:calc(.8em + var(--sab));z-index:2;display:flex;flex-wrap:wrap;gap:.2em 1em;font-size:.8em;color:#c3d0d3;text-shadow:0 1px 2px #000,0 0 4px #000}.map-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px;pointer-events:auto}@media(max-width:900px){.map-keys .opt-key{display:none}}@media(any-pointer:coarse),(max-width:700px),(max-height:519px){.map-keys{bottom:calc(2.4em + var(--sab));padding:.45em 1.1em;font-size:.82em}.map-keys .desk-keys{display:none}.map-keys .touch-keys{display:inline-flex}}@media(max-width:519px){.map-title small,.map-sep{display:none}.map-title b{font-size:1.45em}#map-status{font-size:1.1em;gap:.5em}#map-status .map-money{display:none}.map-credit{font-size:.72em}}.hud-br{position:absolute;right:calc(var(--pad) + var(--sar));bottom:calc(var(--pad) + var(--sab));display:flex;flex-direction:column;align-items:flex-end;gap:.55em;max-width:min(24em,42vw);text-align:right;pointer-events:none}.hud-br.above-speedo{bottom:calc(var(--pad) + var(--sab) + 14.1em)}.district{text-shadow:0 .05em #0009,0 0 .8em #000b;animation:district-in .5s ease both}.district b{display:block;font-size:1.3em;line-height:1.1;font-weight:900;letter-spacing:.1em}.district>span{display:block;margin-top:.3em;font:700 .66em var(--num);letter-spacing:.3em;opacity:.9;text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000,0 0 .55em #000a}.district.muted{display:none}@keyframes district-in{0%{opacity:0}to{opacity:1}}.district-banner{text-shadow:0 .05em #0009,0 0 .8em #000b;opacity:0;transform:translate(1.4em);transition:opacity .45s,transform .45s}.district-banner.show{opacity:1;transform:none}.district-banner .area-name{display:block;font-size:2.7em;line-height:1.05;font-weight:900;letter-spacing:.12em}.district-banner .area-alt{display:block;margin:.15em -.5em 0 0;font:800 1.05em/1.3 var(--num);letter-spacing:.5em;color:var(--amber);text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000,0 0 .55em #000a}.district-banner .area-tag{display:block;margin-top:.2em;font-size:.95em;opacity:.92;text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000,0 0 .55em #000a}.hud-street{display:flex;flex-direction:column;align-items:center;min-width:9em;max-width:100%;padding:.34em 1em .4em;border-radius:.3em;background:#1c4c9c;color:#fff;text-align:center;box-shadow:inset 0 0 0 .12em #1c4c9c,inset 0 0 0 .21em #ffffffeb,0 .3em .9em #0007;transform-origin:50% 0}.hud-street .st-zh{max-width:100%;font-size:1.15em;font-weight:800;letter-spacing:.08em;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-street .st-en{max-width:100%;font-size:.78em;letter-spacing:.04em;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-street.flip{animation:street-flip .45s ease}@keyframes street-flip{0%{opacity:.2;transform:perspective(500px) rotateX(-80deg)}to{opacity:1;transform:none}}.hud-speedo{position:absolute;right:calc(var(--pad) + var(--sar));bottom:calc(var(--pad) + var(--sab) + 1.6em);width:11.5em;height:11.5em;pointer-events:none;contain:layout style;animation:speedo-in .3s ease both}.hud-speedo:before{content:"";position:absolute;inset:7%;border-radius:50%;background:radial-gradient(circle,#080a10bf 52%,#080a1000 71%)}.spd-gauge{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.spd-track{fill:none;stroke:#ffffff1f;stroke-width:7;stroke-linecap:round}.spd-fill{fill:none;stroke-width:7;stroke-linecap:round;stroke-dasharray:235.62;stroke-dashoffset:235.62;filter:drop-shadow(0 0 3px #ff3d9ab3);transition:stroke-dashoffset .1s linear}.spd-tick{stroke:#ffffff73;stroke-width:1.4;stroke-linecap:round}.spd-tick.red{stroke:#ff3d5a}.spd-center{position:absolute;top:30%;left:0;right:0;text-align:center;text-shadow:0 1px 3px #000c}.spd-num{font:700 3.3em/1 var(--num);font-variant-numeric:tabular-nums}.spd-unit{font:600 .78em var(--num);letter-spacing:.1em;opacity:.7}.hud-speedo.redline .spd-num{color:#ff6b8a}.spd-gear{position:absolute;bottom:13%;left:50%;transform:translate(-50%);font:800 1.05em var(--num);color:#35e0ff;text-shadow:0 0 .4em #35e0ffcc}.spd-gear[data-gear=R]{color:#ffb13d;text-shadow:0 0 .4em #ffb13dcc}.spd-name{position:absolute;bottom:-1.5em;left:0;right:0;text-align:center;font-weight:700;font-size:.88em;letter-spacing:.08em;text-shadow:0 1px 2px #000}@keyframes speedo-in{0%{opacity:0;transform:translateY(.8em)}to{opacity:1;transform:none}}body:has(.reference-phone:not([hidden]),.phone-app-overlay:not([hidden])) :is(.hud-br,.hud-speedo){opacity:0;visibility:hidden;transition:opacity .2s}@media(any-pointer:coarse),(max-width:700px),(max-height:519px){.hud-br{right:auto;left:calc(var(--pad) + var(--sal));top:calc(var(--pad) + var(--sat) + var(--mm) + 2.2em);bottom:auto;align-items:flex-start;gap:.4em;max-width:calc(var(--mm) + 5em);text-align:left}.hud-br.above-speedo{bottom:auto}.district b{font-size:1.3em;letter-spacing:.08em}.district>span{font-size:max(9.5px,.62em);letter-spacing:.24em}.district-banner .area-name{font-size:1.75em;letter-spacing:.1em}.district-banner .area-alt{margin-right:0;font-size:max(10px,.8em);letter-spacing:.32em}.district-banner .area-tag{display:none}.hud-street{align-items:flex-start;min-width:0;font-size:.9em;text-align:left}.hud-speedo{right:auto;left:var(--gl);bottom:calc(var(--pad) + var(--sab));width:7.6em;height:2.4em;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#080a109e;animation:none}.hud-speedo[hidden]{display:none}.hud-speedo:before,.spd-gauge,.spd-gear,.spd-name{display:none}.spd-center{position:static;display:flex;align-items:baseline;gap:.45em}.spd-num{font-size:1.65em}.spd-unit{font-size:.7em;opacity:.8}}@media(orientation:portrait)and (any-pointer:coarse),(orientation:portrait)and (max-width:700px){.hud-br{top:auto;bottom:calc(38% - 7.7em)}.hud-br.above-speedo{bottom:calc(38% - 7.7em)}.hud-speedo{left:calc(var(--pad) + var(--sal));bottom:calc(38% - 10.6em)}}.story-scene-overlay[hidden]{display:none!important}.story-scene-overlay{position:fixed;inset:0;z-index:19;overflow:hidden;pointer-events:none;color:#fff;font-family:Helvetica Neue,Avenir Next,system-ui,sans-serif;font-size:clamp(11px,1.5vmin,16px)}.story-scene-bar{position:absolute;left:0;right:0;height:0;background:#000;transition:height .7s cubic-bezier(.3,.8,.3,1)}.story-scene-bar-top{top:0}.story-scene-bar-bottom{bottom:0}.story-scene-overlay[data-framing=true] .story-scene-bar{height:11.5vh}.story-scene-caption{position:absolute;left:50%;bottom:calc(clamp(8px,2vmin,20px) + 1.2em + env(safe-area-inset-bottom));width:max-content;max-width:min(52em,70vw);text-align:center;opacity:0;transform:translate(-50%);transition:opacity .3s ease;text-shadow:0 0 2px #000,0 2px 4px #000,0 0 1em #000c}.story-scene-overlay.has-subtitle .story-scene-caption{opacity:1}.story-scene-speaker{color:#ffb13d;font-weight:800}.story-scene-subtitle{font-size:1.28em;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.story-scene-skip{position:absolute;right:max(16px,calc(env(safe-area-inset-right) + 12px));bottom:max(10px,calc(5.75vh - 22px + env(safe-area-inset-bottom)/2));display:flex;min-width:44px;width:auto;height:44px;align-items:center;justify-content:center;padding:0 16px 0 18px;border:1px solid #ffffff57;border-radius:22px;background:#0c0c10a0;color:#fff;font:700 15px/1 system-ui,sans-serif;letter-spacing:.12em;opacity:0;visibility:hidden;pointer-events:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:opacity .35s ease,visibility 0s linear .35s}.story-scene-skip:not([hidden]):not(:disabled){opacity:.92;visibility:visible;pointer-events:auto;cursor:pointer;transition:opacity .35s ease}.story-scene-skip:active{background:#ffc83d59}.story-scene-skip:focus-visible{outline:2px solid #fff;outline-offset:3px}.story-scene-skip kbd{padding:3px 7px;border:1px solid #ffffff66;border-bottom-width:2px;border-radius:5px;background:#ffffff24;font:700 12px system-ui,sans-serif;letter-spacing:0}.story-scene-skip-fast-forward{display:none;font-size:12px;letter-spacing:-2px}.story-scene-overlay[data-paused=true] .story-scene-skip{opacity:.45}body[data-story-scene-active=true] :is(.hud,.touch){visibility:hidden!important}body[data-story-scene-active=true] .touch{pointer-events:none!important}@media(max-width:700px),(max-height:520px){.story-scene-caption{max-width:calc(100vw - (2*max(8px,env(safe-area-inset-left),env(safe-area-inset-right))))}.story-scene-subtitle{font-size:max(12.5px,1.02em);line-height:1.4}}@media(any-pointer:coarse){.story-scene-caption{max-width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 16px)}.story-scene-skip kbd{display:none}.story-scene-skip-fast-forward{display:inline}}@media(orientation:portrait)and (max-width:600px){.story-scene-caption{left:calc(clamp(8px,2vmin,20px) + env(safe-area-inset-left));right:calc(clamp(8px,2vmin,20px) + env(safe-area-inset-right));bottom:38%;width:auto;max-width:none;box-sizing:border-box;transform:none}}@media(prefers-reduced-motion:reduce){.story-scene-bar,.story-scene-caption,.story-scene-skip{transition:none}}.chase-hud{position:absolute;right:var(--pad, 2.8vmin);bottom:var(--pad, 2.8vmin);z-index:4;display:flex;flex-direction:column;align-items:flex-end;gap:.4em;margin:0;pointer-events:none;font-family:inherit;color:var(--text, #f6f3ec);text-shadow:0 1px 2px #000c}.chase-hud .hb{background:linear-gradient(90deg,#080a1000,#080a10c7 30%);justify-content:space-between;align-items:center;gap:1.2em;min-width:15.5em;padding:.45em .2em .45em 2em;display:flex;animation:.3s chase-hb-in}.chase-hud .hb-label{font-family:inherit;font-size:.9em;font-weight:700;line-height:normal;letter-spacing:.14em;opacity:.85}.chase-hud .hb-val{font:700 2em/1 var(--num, "Arial Narrow", sans-serif);text-align:right;min-width:3em}.chase-hud .hb-timer.urgent .hb-val{color:#ff5160;animation:.5s step-end infinite chase-urgent}.chase-hud .hb-bar{background:#ffffff24;border-radius:.3em;width:9em;height:.6em;position:relative;overflow:hidden}.chase-hud .hb-bar i{transform-origin:0;transform:scaleX(var(--v, 0));background:var(--green, #3ddc84);transition:transform .25s,background .4s;position:absolute;inset:0}.chase-hud .hb-prog[data-tone=warn] .hb-bar i{background:var(--amber, #ffb13d)}.chase-hud .hb-prog[data-tone=bad] .hb-bar i{background:var(--red, #ff3b4a)}.chase-hud[hidden],.chase-hud .hb[hidden]{display:none}@keyframes chase-hb-in{0%{opacity:0;transform:translate(1em)}}@keyframes chase-urgent{50%{opacity:.55}}@media(pointer:coarse),(max-width:850px),(max-height:520px){.chase-hud{top:calc(var(--pad, 2.8vmin) + 7.2em);right:var(--pad, 2.8vmin);bottom:auto;gap:.2em;margin:.15em 0 0}.chase-hud .hb{gap:.8em;min-width:0;padding:.22em .2em .22em 1.4em}.chase-hud .hb-label{letter-spacing:.06em;font-size:max(11px,.85em)}.chase-hud .hb-val{min-width:2.4em;font-size:1.45em}.chase-hud .hb-bar{width:5.2em}}.story-retry-fade{position:fixed;z-index:45;inset:0;background:#000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility 0s linear .35s}.story-retry-fade.is-active{opacity:0;visibility:visible;transition:opacity .35s ease,visibility 0s}.story-retry-fade.is-active.is-opaque{opacity:1}.story-retry-fade[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){.story-retry-fade,.story-retry-fade.is-active{transition:none}}.ref-shell{--ref-red: #e0262f;--ref-paper: #f4f1ea;--ref-ink: #09090c;--ref-x: calc(clamp(22px, 5.2vw, 104px) + env(safe-area-inset-left, 0px)) ;--ref-xr: calc(clamp(22px, 5.2vw, 104px) + env(safe-area-inset-right, 0px)) ;--ref-bar: clamp(40px, 7.2vh, 82px);--ref-panel-gap: 2.4vh;position:fixed;inset:0;z-index:40;color:var(--ref-paper);font:clamp(12px,1.45vmin,18px)/1.4 "PingFang SC","Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;-webkit-font-smoothing:antialiased;pointer-events:auto;text-align:left;outline:0;touch-action:manipulation}.ref-shell,.ref-shell *{box-sizing:border-box}.ref-shell[hidden],.ref-shell [hidden]{display:none!important}.ref-shell button{color:inherit;font:inherit;border:0;border-radius:2px;min-height:0;margin:0;padding:0;background:transparent;box-shadow:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.ref-shell button:hover{background:transparent}.ref-shell button:active{transform:none}.ref-shell button:focus-visible{outline:2px solid var(--ref-paper);outline-offset:2px}.ref-shell svg{width:1.35em;height:1.35em;flex:none;display:block}.ref-title,.ref-loader,.ref-intro{position:absolute;inset:0;overflow:hidden}.ref-backdrop{position:absolute;inset:0;pointer-events:none;background-position:64% 30%;background-size:cover}.ref-backdrop.has-photo{background-color:#090a0f}.ref-title .ref-backdrop.has-responsive-photo{background-image:linear-gradient(180deg,#481c16,#301621 60%,#10111c)}.ref-loader .ref-backdrop.has-responsive-photo{background-image:linear-gradient(180deg,#151424,#492e36 42%,#0b0c14)}.ref-backdrop-picture{position:absolute;inset:0;display:block;overflow:hidden}.ref-backdrop-picture img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .22s ease-out}.ref-backdrop-picture[data-decoded=true] img{opacity:1}.ref-backdrop-picture-menu img{object-position:64% 18%}.ref-backdrop-picture-loader img{object-position:66% 40%}.ref-title .ref-backdrop:not(.has-photo){background:linear-gradient(180deg,#481c1608 10%,#30162105 60%,#10111c40)}.ref-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#050509db,#05050999 26%,#0505091f 50%,#05050900 62%),linear-gradient(#05050900 74%,#0505098c),radial-gradient(at 62% 46%,#0000 48%,#00000080)}.ref-bar{position:absolute;left:0;right:0;height:var(--ref-bar);display:flex;align-items:center;justify-content:space-between;gap:2em;padding:0 var(--ref-xr) 0 var(--ref-x);background:#050507}.ref-bar-top{top:0;height:calc(var(--ref-bar) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}.ref-bar-bottom{bottom:0;height:calc(var(--ref-bar) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px)}.ref-legal{display:flex;gap:.9em;align-items:center;min-width:0;overflow:hidden;white-space:nowrap;color:#f4f1ea9e;font-size:.78em;letter-spacing:.08em}.ref-dot{flex:none;width:3px;height:3px;border-radius:50%;background:#f4f1ea66}.ref-tools{display:flex;flex:none;gap:.6em;align-items:center}.ref-shell .ref-tool{display:inline-flex;gap:.55em;align-items:center;height:2.35em;padding:0 1em 0 .85em;background:#ffffff08;border:1px solid #f4f1ea38;font-size:.86em;font-weight:700;letter-spacing:.06em}.ref-tool svg{width:1.25em;height:1.25em}.ref-shell .ref-tool:hover,.ref-shell .ref-tool:focus-visible{color:var(--ref-ink);background:var(--ref-paper);border-color:var(--ref-paper)}.ref-language span{display:inline-flex;align-items:baseline;gap:.35em}.ref-language b{opacity:.5}.ref-language b.on{opacity:1}.ref-language i{font-style:normal;opacity:.35}.ref-left{position:absolute;left:var(--ref-x);top:var(--ref-bar);bottom:var(--ref-bar);display:flex;flex-direction:column;justify-content:center;width:min(26em,44vw);transition:opacity .35s,transform .35s}.ref-logo{display:block;flex:none;width:clamp(250px,27vw,540px);height:auto;margin-left:-.2em;overflow:visible;filter:drop-shadow(0 .5vw 1.3vw #0009)}.ref-menu{display:flex;flex-direction:column;gap:.2em;width:min(21em,100%);margin-top:clamp(16px,4.6vh,58px);min-height:0;overflow-y:auto;scrollbar-width:thin}.ref-shell .ref-menu-button{position:relative;display:flex;align-items:center;gap:1em;width:100%;min-height:44px;text-align:left;border-radius:2px;padding:.6em 1.1em .6em 1.2em;text-shadow:0 1px 3px #0009;transition:background .15s,color .15s}.ref-menu-icon{flex:none;opacity:.8}.ref-menu-icon svg{width:1.35em;height:1.35em}.ref-menu-label b{display:block;letter-spacing:.1em;font-size:1.3em;font-weight:800;line-height:1.2}.ref-menu-label small{display:block;margin-top:.1em;font:700 .7em/1.3 Avenir Next Condensed,Arial Narrow,sans-serif;letter-spacing:.3em;opacity:.66}.ref-save-summary{display:block;margin-top:.25em;color:#ffe2a0;opacity:.85;font-size:.8em;font-weight:600;line-height:1.3;letter-spacing:.02em}.ref-menu-button:hover .ref-save-summary,.ref-menu-button.focus .ref-save-summary{color:#7a4b00}.ref-primary .ref-menu-label b{font-size:1.55em}.ref-primary .ref-menu-icon{opacity:1}.ref-primary .ref-menu-icon svg{width:1.55em;height:1.55em}.ref-shell .ref-menu-button.focus{color:var(--ref-ink);background:var(--ref-paper);text-shadow:none;outline:0}.ref-menu-button.focus:before{content:"";position:absolute;top:0;bottom:0;left:0;width:.28em;background:var(--ref-red)}.ref-menu-button.focus .ref-menu-icon{color:var(--ref-red);opacity:1}.ref-menu-button:hover{color:var(--ref-ink);background:var(--ref-paper);text-shadow:none;outline:0}.ref-menu-button:hover:before{content:"";position:absolute;top:0;bottom:0;left:0;width:.28em;background:var(--ref-red)}.ref-menu-button:hover .ref-menu-icon{color:var(--ref-red);opacity:1}.ref-shell .ref-menu-button.ref-support{border-top:1px solid #f4f1ea26;margin-top:.5em;min-height:44px}.ref-support .ref-menu-icon{color:var(--ref-red)}.ref-support .ref-menu-label b{font-size:1.05em;letter-spacing:.04em;font-weight:700}.ref-title-tip{display:flex;align-items:center;gap:.9em;min-width:0;color:#f4f1eae0;font-size:.92em}.ref-title-tip b{flex:none;background:var(--ref-red);padding:.22em .6em;font-size:.78em;font-weight:800;color:#fff;letter-spacing:.12em}.ref-title-tip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ref-shot{display:flex;align-items:baseline;flex:none;gap:.9em;text-align:right;white-space:nowrap}.ref-shot:before{content:"";align-self:center;width:2.2em;height:2px;background:var(--ref-red)}.ref-shot b{font-size:1.2em;letter-spacing:.16em;font-weight:800}.ref-shot span{font:700 .72em Avenir Next Condensed,Arial Narrow,sans-serif;opacity:.7;letter-spacing:.28em}.ref-title.panel-open .ref-left{opacity:.16;pointer-events:none;transform:translate(-1em)}.ref-title.panel-open[data-panel=character] .ref-left{opacity:0}.ref-panel-host{position:absolute;right:var(--ref-xr);top:calc(var(--ref-bar) + 2.4vh);bottom:calc(var(--ref-bar) + 2.4vh);display:flex;flex-direction:column;justify-content:center;width:min(44em,54vw);animation:ref-panel-in .3s ease-out both}.ref-title[data-panel=character] .ref-panel-host{right:auto;left:var(--ref-x);width:min(34em,46vw)}.ref-title[data-panel=help] .ref-panel-host{width:min(64em,66vw)}.ref-character-preview{position:absolute;left:46%;right:var(--ref-xr);top:calc(var(--ref-bar) + 1vh);bottom:calc(var(--ref-bar) + 1vh);z-index:1;pointer-events:none}.ref-character-canvas{display:block;width:100%;height:100%;pointer-events:none}.ref-character-preview #game.ref-character-canvas{position:static;inset:auto;width:100%!important;height:100%!important;pointer-events:none;mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000),linear-gradient(#0000,#000 10% 94%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12%,#000 88%,#0000)}.ref-character-preview[data-state=loading]:after{content:"";position:absolute;top:48%;left:50%;width:22px;height:22px;margin:-11px;border:2px solid #ffffff28;border-top-color:#f4f1ea;border-radius:50%;animation:ref-spin .8s linear infinite}.ref-character-preview[data-mode=world]{inset:0;width:auto;height:auto;z-index:0}.ref-character-preview[data-mode=world] #game.ref-character-canvas{mask:none;-webkit-mask:none}.ref-shell[data-preview-mode=world] .ref-title .ref-backdrop{z-index:1;transition:opacity .45s}.ref-shell.ref-character-live .ref-title .ref-backdrop{opacity:0}.ref-shell[data-preview-mode=world] .ref-vignette{z-index:2}.ref-shell[data-preview-mode=world] .ref-title .ref-left{z-index:3}.ref-shell[data-preview-mode=world] .ref-title .ref-panel-host,.ref-shell[data-preview-mode=world] .ref-title .ref-bar{z-index:4}.ref-shell[data-preview-mode=world] .ref-title .ref-panel-host{top:calc(var(--ref-bar) + var(--ref-panel-gap) + env(safe-area-inset-top,0px));bottom:calc(var(--ref-bar) + var(--ref-panel-gap) + env(safe-area-inset-bottom,0px))}.ref-shell.ref-character-live .ref-shot{visibility:hidden}.ref-title[data-panel=character] .ref-panel-host{z-index:2}.ref-title[data-panel=character] .ref-bar{z-index:3}.ref-panel{display:flex;flex-direction:column;min-height:0;max-height:100%;padding:1.2em 1.4em 1.3em;border-top:3px solid var(--ref-red);border-radius:3px;background:#08080ce8;box-shadow:0 2em 5em #0000008c}.ref-panel-head{flex:none;display:flex;gap:.8em;align-items:center;margin-bottom:.8em}.ref-shell .ref-back{display:grid;place-items:center;width:2.8em;height:2.8em;flex:none;background:#ffffff0a}.ref-shell .ref-back:hover{background:#ffffff21}.ref-panel-heading b{font-size:1.45em;letter-spacing:.12em;font-weight:900}.ref-panel-heading small{margin-left:.8em;font:700 .75em Avenir Next Condensed,Arial Narrow,sans-serif;opacity:.55;letter-spacing:.28em}.ref-panel-body{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ffffff47 transparent;padding:2px 2px 1em;overscroll-behavior:contain;touch-action:pan-y}.ref-panel-copy{margin:0 0 1.5em;font-size:1em;line-height:1.9;color:#f4f1eabd}.ref-panel-body select{color:var(--ref-paper);background:#202127;border:1px solid #ffffff26;border-radius:2px;min-height:40px;padding:.55em .8em;font:inherit}.ref-panel-body input[type=checkbox]{accent-color:var(--ref-red);width:18px;height:18px}.ref-shell .ref-panel-body button:not([class]){padding:.7em 1.4em;min-height:44px;background:var(--ref-red);font-weight:700}.ref-shell .ref-panel-body button:not([class]):hover{background:#f1323b}.ref-shell .ref-character{--character-accent: #f4f1ea;display:flex;align-items:stretch;gap:1em;width:100%;padding:.9em;margin-bottom:.8em;min-height:11.7em;color:var(--ref-paper);text-align:left;border-radius:3px;background:linear-gradient(120deg,#ffffff0f,#ffffff05);box-shadow:inset 0 0 0 1px #ffffff14}.ref-character[data-character=female]{--character-accent: #ffd27a}.ref-shell .ref-character.selected{box-shadow:inset .3em 0 0 var(--ref-red),inset 0 0 0 1px #ffffff24}.ref-shell .ref-character:hover{background:#ffffff15}.ref-character-art{flex:none;width:7.5em;overflow:hidden;border-radius:2px;background:radial-gradient(circle at 50% 35%,#e0262f38,#0000 70%),#0b0c12}.ref-character-art img{display:block;width:100%;height:100%;object-fit:cover}.ref-character-text{display:flex;flex-direction:column;flex:1;min-width:0}.ref-character-name b{letter-spacing:.1em;font-size:2em;font-weight:900}.ref-character-name small{margin-left:.6em;font-size:.8em;letter-spacing:.2em;opacity:.6}.ref-character-tag{display:block;color:var(--character-accent);margin-top:.1em;letter-spacing:.24em;font-size:.8em;font-weight:800}.ref-character-desc{margin:.5em 0 .7em;font-size:.95em;line-height:1.55;opacity:.85}.ref-character-pick{align-self:flex-start;margin-top:auto;padding:.3em .9em;border-radius:2px;background:#ffffff1a;font-size:.8em;letter-spacing:.1em;font-weight:800}.ref-character.selected .ref-character-pick{background:var(--ref-red);color:#fff}.ref-panel-actions{display:flex;gap:.7em;justify-content:flex-end}.ref-shell .ref-action{padding:.7em 1.4em;min-height:44px;background:#ffffff14;font-size:1em;font-weight:700}.ref-shell .ref-action-primary{background:var(--ref-red)}.ref-shell .ref-action:hover{background:#ffffff2a}.ref-shell .ref-action-primary:hover{background:#f1323b}.ref-control-tabs{display:flex;gap:.6em;margin-bottom:1em}.ref-shell .ref-tab{padding:.6em 1em;background:#ffffff0c;border-bottom:2px solid transparent}.ref-shell .ref-tab.selected{border-bottom-color:var(--ref-red);background:#ffffff18}.ref-controls{display:grid;grid-template-columns:1fr 1fr;column-gap:2em}.ref-control-row{display:flex;justify-content:space-between;align-items:center;gap:1.2em;padding:.7em 0;border-bottom:1px solid #ffffff12;font-size:.96em}.ref-shell kbd{display:inline-block;font:600 .88em system-ui,sans-serif;padding:.22em .6em;color:#e6e3dc;border:1px solid #ffffff30;border-radius:3px;background:#ffffff0c;white-space:nowrap}.ref-loader{--ref-margin: clamp(20px, 3.4vw, 68px);z-index:5;background:transparent}.ref-loader .ref-backdrop:not(.has-photo){background:linear-gradient(180deg,#151424e8,#492e36a8 42%,#0b0c14eb)}.ref-loader-grade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#05050900 63%,#0505092e 75%,#0505099e 89%,#050509e6),linear-gradient(90deg,#05050980,#05050900 34%),radial-gradient(at 62% 40%,#0000 55%,#0006)}.ref-loader-logo{position:absolute;left:calc(var(--ref-margin) + env(safe-area-inset-left,0px));bottom:calc(var(--ref-margin) + env(safe-area-inset-bottom,0px));width:clamp(230px,27vw,520px);height:auto;filter:drop-shadow(0 .6vw 1.4vw #0000008c)}.ref-loader-progress{position:absolute;right:calc(var(--ref-margin) + env(safe-area-inset-right,0px));bottom:calc(var(--ref-margin) + env(safe-area-inset-bottom,0px));width:clamp(220px,21vw,420px)}.ref-loader-row{display:flex;align-items:center;gap:12px}.ref-spinner{flex:none;width:22px;height:22px;border:2.5px solid #ffffff2e;border-top-color:#fff;border-radius:50%;animation:ref-spin .8s linear infinite}.ref-loader-stage{flex:1;min-width:0;line-height:1.25;text-shadow:0 1px 3px #00000080}.ref-loader-stage b{display:block;font-size:clamp(14px,.85vw,18px);font-weight:700;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ref-loader-stage small{display:block;margin-top:3px;font:700 clamp(10.5px,.6vw,12.5px)/1.2 "Avenir Next Condensed","Arial Narrow",sans-serif;color:#f4f1eab3;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ref-loader-percent{flex:none;min-width:2.3em;text-align:right;font:600 clamp(28px,2vw,42px)/1 "DIN Condensed","Avenir Next Condensed","Arial Narrow",sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.02em;text-shadow:0 1px 4px #00000073}.ref-loader-percent i{font-style:normal;opacity:.6;margin-left:2px;font-size:.5em}.ref-loader-track{position:relative;height:3px;margin-top:14px;background:#fff3;overflow:hidden}.ref-loader-fill{position:absolute;inset:0;background:#fff;transform-origin:0;transform:scaleX(0);transition:transform .6s cubic-bezier(.3,.7,.3,1)}.ref-loader-fill:after{content:"";position:absolute;top:-3px;bottom:-3px;right:0;width:36px;background:linear-gradient(90deg,#0000,#e0262f)}.ref-loader-tip{position:absolute;left:50%;bottom:calc(var(--ref-margin) + env(safe-area-inset-bottom,0px) - 2px);width:min(36vw,620px);transform:translate(-46%)}.ref-tip-kicker{display:inline-flex;align-items:center;gap:8px;color:#ff6a6f;font-size:clamp(11px,.65vw,13px);letter-spacing:.3em}.ref-tip-kicker:before{content:"";width:18px;height:2px;background:var(--ref-red)}.ref-loader-tip>span{display:block;margin-top:10px;color:#f4f1eaeb;font-size:clamp(14px,.9vw,19px);line-height:1.55;text-shadow:0 1px 3px #0000008c}.ref-loader-rotate{display:none}.ref-loader.ref-leaving{pointer-events:none;opacity:0;transition:opacity .42s ease-in .24s}.ref-loader.ref-leaving .ref-loader-progress,.ref-loader.ref-leaving .ref-loader-tip,.ref-loader.ref-leaving .ref-loader-rotate{opacity:0;transition:opacity .16s linear}.ref-loader.ref-leaving .ref-loader-logo{opacity:0;transition:opacity .2s linear}.ref-intro{pointer-events:none}.ref-departure{position:absolute;inset:0;background:#050507;animation:ref-departure .6s ease-in both}.ref-intro-bar{position:absolute;left:0;right:0;height:max(10vh,env(safe-area-inset-top,0px));background:#050507}.ref-intro-top{top:0}.ref-intro-bottom{bottom:0;height:max(13vh,env(safe-area-inset-bottom,0px))}.ref-intro-heading{position:absolute;left:var(--ref-x);bottom:28%;animation:ref-heading 7s both;text-shadow:0 3px 8px #0009}.ref-intro-heading small{color:#fff;letter-spacing:.32em;font-size:.85em;font-weight:700}.ref-intro-heading h1{color:var(--ref-paper);margin:.12em 0 0;font-size:clamp(30px,5vw,70px);letter-spacing:.08em;font-weight:900}.ref-intro-caption{position:absolute;left:15%;right:15%;bottom:5vh;text-align:center;font-size:clamp(13px,1.5vw,20px);line-height:1.6;text-shadow:0 1px 4px #000}.ref-intro-caption b{color:#f3c074;margin-right:.8em}.ref-shell .ref-intro-skip{position:absolute;right:var(--ref-xr);top:max(2.6vh,env(safe-area-inset-top,0px));pointer-events:auto;padding:.6em .7em;color:#f4f1eaa6;font-size:.92em}.ref-intro-skip kbd{margin-left:.5em}@keyframes ref-spin{to{transform:rotate(360deg)}}@keyframes ref-departure{0%{opacity:1}to{opacity:0}}@keyframes ref-panel-in{0%{opacity:0;transform:translate(2em)}to{opacity:1;transform:none}}@keyframes ref-heading{0%,to{opacity:0;transform:translateY(12px)}12%,75%{opacity:1;transform:none}}@media(max-width:1080px){.ref-loader-tip{display:none}}@media(max-height:519px),(max-width:519px){.ref-shell{--ref-bar: 36px;--ref-panel-gap: 8px;font-size:12px}.ref-left{width:auto;right:var(--ref-xr);flex-direction:row;align-items:center;gap:5vw}.ref-logo{width:min(36vw,280px)}.ref-menu{width:min(17em,40vw);margin-top:0;max-height:100%}.ref-shell .ref-menu-button{padding:.42em .9em;min-height:39px}.ref-menu-label b{font-size:1.12em}.ref-menu-label small{font-size:.62em;letter-spacing:.22em}.ref-primary .ref-menu-label b{font-size:1.3em}.ref-legal-extra,.ref-legal .ref-dot{display:none}.ref-title-tip{font-size:.85em}.ref-shot span{display:none}.ref-panel{padding:.8em 1em}.ref-panel-host{width:min(40em,62vw);top:calc(var(--ref-bar) + 8px);bottom:calc(var(--ref-bar) + 8px)}.ref-title[data-panel=help] .ref-panel-host{width:auto;left:var(--ref-x)}.ref-shell .ref-tool{height:26px;font-size:11px}.ref-loader-logo,.ref-loader-progress{width:clamp(170px,34vw,300px)}.ref-loader-percent{font-size:24px}.ref-intro-caption{bottom:3vh}}@media(orientation:portrait){.ref-shell{--ref-bar: 44px}.ref-left{left:6vw;right:6vw;width:auto;flex-direction:column;justify-content:flex-end;align-items:center;gap:0;padding-bottom:max(0px,calc(4vh - 10px))}.ref-logo{width:min(80vw,380px);margin:0 0 4vh}.ref-menu{width:min(86vw,22em);max-height:50vh}.ref-vignette{background:linear-gradient(#0505091a,#0505098c 45%,#050509f0)}.ref-panel-host,.ref-title[data-panel=character] .ref-panel-host,.ref-title[data-panel=help] .ref-panel-host{width:auto;left:4vw;right:4vw}.ref-shot,.ref-legal-extra,.ref-legal .ref-dot,.ref-tool>span{display:none}.ref-shell .ref-tool{padding:0 .7em}.ref-backdrop{background-position:50% 30%}.ref-backdrop-picture img{object-position:50% 30%}.ref-loader-logo{left:50%;bottom:calc(var(--ref-margin) + env(safe-area-inset-bottom,0px) + 110px);width:min(78vw,340px);transform:translate(-50%)}.ref-loader-progress{left:50%;right:auto;width:min(78vw,340px);transform:translate(-50%)}.ref-loader-grade{background:linear-gradient(#05050900 42%,#050509b8 70%,#050509f2),radial-gradient(at 55% 35%,#0000 50%,#00000073)}.ref-loader-rotate{position:absolute;left:50%;top:calc(env(safe-area-inset-top,0px) + 7vh);display:flex;align-items:center;gap:12px;padding:9px 16px 9px 12px;border-left:3px solid var(--ref-red);background:#08080cb8;font-size:14px;font-weight:700;letter-spacing:.06em;white-space:nowrap;transform:translate(-50%)}.ref-loader-rotate i{width:22px;height:13px;border:2px solid #fff;border-radius:3px}.ref-controls{grid-template-columns:1fr}.ref-intro-caption{left:6%;right:6%;bottom:3vh}.ref-intro-heading{bottom:31%}.ref-character-preview:not([data-mode=world]){left:4vw;right:4vw;top:calc(var(--ref-bar) + 8px);bottom:auto;height:calc(46vh - var(--ref-bar) - 8px)}.ref-shell:not([data-preview-mode=world])[data-preview=ready] .ref-title[data-panel=character] .ref-panel-host,.ref-shell:not([data-preview-mode=world])[data-preview=loading] .ref-title[data-panel=character] .ref-panel-host{top:auto;bottom:calc(var(--ref-bar) + 8px);max-height:48vh}.ref-shell:not([data-preview-mode=world])[data-preview=ready] .ref-title[data-panel=character] .ref-character-art,.ref-shell:not([data-preview-mode=world])[data-preview=loading] .ref-title[data-panel=character] .ref-character-art{width:6em}}@media(orientation:landscape)and (max-height:519px){.ref-backdrop-picture-menu img{object-position:100% 40%}}@media(orientation:landscape)and (max-height:370px){.ref-shell{--ref-bar: 31px}.ref-shell .ref-menu-button{min-height:33px;padding:.25em .9em}.ref-shell .ref-menu-button.ref-support{min-height:34px;margin-top:.3em}.ref-character-art{width:6em}.ref-shell .ref-character{min-height:9em}}@media(prefers-reduced-motion:reduce){.ref-shell *,.ref-shell *:before,.ref-shell *:after{animation:none!important;transition-duration:.01ms!important}}@media(orientation:portrait){.ref-backdrop.has-photo{background-position:77% center}}.reference-phone .phone-weather-page{--wx-accent: #9bdcff;display:flex;flex:none;flex-direction:column;gap:.5em;min-width:0;width:100%;align-self:stretch;box-sizing:border-box;margin:0;color:#f5f8ff;text-align:left}.phone-weather-main{position:relative;flex:none;width:100%;box-sizing:border-box;overflow:hidden;padding:1.2em 1.3em;border-radius:1.3em;background:linear-gradient(160deg,#2f7fd6,#7cc4ff)}.phone-weather-main.phone-weather-night{background:linear-gradient(160deg,#161d44,#3b3f82)}.phone-weather-main.phone-weather-rain,.phone-weather-main.phone-weather-storm{background:linear-gradient(160deg,#2f3848,#5f6e86)}.phone-weather-main.phone-weather-cloud,.phone-weather-main.phone-weather-fog{background:linear-gradient(160deg,#56657d,#9aa9bf)}.phone-weather-place{font-weight:700}.reference-phone .phone-weather-temperature{margin-top:.02em;font:200 4.6em/1.05 "Helvetica Neue","Avenir Next",var(--num);letter-spacing:-.035em;white-space:nowrap}.phone-weather-condition{margin:0;opacity:.9;font-size:1.05em;font-weight:500}.phone-weather-symbol{position:absolute;top:1em;right:.9em;display:block;width:5em;height:5em;color:#fff;opacity:.95;filter:drop-shadow(0 .3em .8em #00000040)}.phone-weather-symbol svg{display:block;width:100%;height:100%}.reference-phone .phone-weather-main .phone-weather-symbol,.reference-phone .phone-weather-main .phone-weather-symbol svg{color:#fff}.phone-weather-metrics{display:grid;flex:none;width:100%;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5em}.phone-weather-metric{display:flex;min-width:0;box-sizing:border-box;flex-direction:column;padding:.75em .9em;border-radius:1em;background:#1a1d26}.phone-weather-metric span{opacity:.55;font-size:.8em}.phone-weather-metric b{font:700 1.55em/1.2 var(--num);white-space:nowrap}.phone-weather-metric small{margin-top:.12em;opacity:.62;font-size:.72em}.phone-weather-hours{display:flex;flex:none;min-width:0;width:100%;box-sizing:border-box;justify-content:space-between;padding:.8em .7em;border-radius:1em;background:#1a1d26}.phone-weather-hour{display:flex;min-width:0;flex-direction:column;align-items:center;gap:.35em;font-size:.8em}.phone-weather-hour span,.phone-weather-hour b{white-space:nowrap}.phone-weather-hour i{display:block;width:1.5em;height:1.5em;color:var(--wx-accent);font-style:normal}.phone-weather-hour i svg{display:block;width:100%;height:100%}.phone-weather-hour b{font:700 1.1em/1 var(--num)}.phone-weather-note{flex:none;width:100%;box-sizing:border-box;margin:.15em 0 0}@media(any-pointer:coarse),(max-width:519px),(max-height:519px){.phone-weather-main{display:none}.reference-phone .phone-weather-page{gap:.5em}.phone-weather-metric{padding:.75em .9em}.phone-weather-hour{font-size:.8em}}@media(prefers-reduced-motion:reduce){.reference-phone .phone-weather-page *{scroll-behavior:auto}}.recent-messages{position:fixed;z-index:88;inset:0;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));color:#f5f2ec;font:14px/1.45 system-ui,PingFang SC,Microsoft YaHei,sans-serif;pointer-events:auto;isolation:isolate}.recent-messages[hidden]{display:none}.recent-messages-backdrop{position:absolute;z-index:-1;inset:0;background:#080a0edb;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.recent-messages-dialog{display:flex;flex-direction:column;width:min(620px,100%);max-height:min(82dvh,720px);min-height:min(260px,72dvh);overflow:hidden;border:1px solid #ffffff2b;border-top:3px solid #e6b65f;background:linear-gradient(150deg,#20242c,#11151c 72%);box-shadow:0 1.4em 4em #0009,inset 0 1px #ffffff12;outline:none}.recent-messages-header{display:flex;flex:none;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px 15px;border-bottom:1px solid #ffffff19;background:#ffffff06}.recent-messages-title-block{min-width:0}.recent-messages-kicker{display:block;margin-bottom:3px;color:#e6b65f;font-size:10px;font-weight:800;letter-spacing:.17em}.recent-messages-header h2{margin:0;font-size:clamp(20px,4vw,27px);line-height:1.2;letter-spacing:.035em}.recent-messages-close{flex:none;min-height:40px;padding:8px 12px;border:1px solid #ffffff2c;border-radius:3px;background:#ffffff0b;color:#f5f2ec;font:inherit;cursor:pointer;touch-action:manipulation}.recent-messages-close:hover,.recent-messages-close:focus-visible{border-color:#e6b65f;background:#e6b65f1c;outline:2px solid #f4cf86;outline-offset:2px}.recent-messages-list{display:flex;flex:1;flex-direction:column;gap:3px;min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px 18px 20px;scrollbar-width:thin;scrollbar-color:#aaa5 #0000;touch-action:pan-y}.recent-message-row{--recent-accent: #61d9e8;display:flex;align-items:baseline;gap:13px;padding:8px 10px;border-left:3px solid var(--recent-accent);border-radius:0 3px 3px 0;background:#ffffff08;overflow-wrap:anywhere}.recent-message-row.kind-good{--recent-accent: #63df91}.recent-message-row.kind-bad{--recent-accent: #fa6670}.recent-message-row.kind-mission{--recent-accent: #f2c75d}.recent-message-row.kind-sub{--recent-accent: #ffffff57}.recent-message-time{flex:0 0 3.4em;color:#ffffff78;font:700 12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.recent-message-text{min-width:0;margin:0;color:#f3f2ee;font-size:14px;line-height:1.55;white-space:pre-wrap}.recent-message-text b{color:#efc274;font-weight:750}.recent-messages-empty{display:grid;flex:1;place-items:center;margin:0;padding:30px 12px;color:#ffffff8a;text-align:center}@media(max-width:620px)and (orientation:portrait){.recent-messages{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.recent-messages-dialog{width:100%;max-height:min(88dvh,820px);min-height:min(300px,78dvh)}.recent-messages-header{padding:15px 15px 12px}.recent-messages-list{padding:10px 11px 16px}.recent-message-row{gap:9px;padding:8px 7px}.recent-message-text{font-size:13px}}@media(max-height:480px)and (orientation:landscape){.recent-messages-dialog{width:min(760px,100%);max-height:90dvh;min-height:0}.recent-messages-header{padding:8px 15px}.recent-messages-header h2{font-size:19px}.recent-messages-list{padding:7px 12px 10px}.recent-message-row{padding:5px 8px}.recent-message-text{font-size:12px}}@media(prefers-reduced-motion:reduce){.recent-messages-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}.pause-home .recent-messages-preview{display:block}.pause-recent-menu-entry{display:none!important}.pause-log-host{display:none}.recent-messages-preview{margin-top:1em;padding:1em 1.2em;border:1px solid #ffffff0f;border-radius:3px;background:#ffffff0a}.recent-messages-preview h3{margin:0 0 .5em;color:#ffffffc7;font-size:.82em;font-weight:750;letter-spacing:.1em}.recent-messages-preview-list{display:flex;flex-direction:column;gap:2px}.recent-messages-preview .recent-message-row{margin:0;padding:.35em .5em;font-size:.88em}.recent-messages-preview .recent-message-time{font-size:.9em}.recent-messages-embedded{position:relative;z-index:auto;inset:auto;display:block;width:auto;height:auto;padding:0;color:inherit;font:inherit;pointer-events:auto;isolation:auto}.recent-messages-embedded[hidden],.recent-messages-embedded .recent-messages-backdrop{display:none}.recent-messages-embedded .recent-messages-dialog{display:block;width:auto;max-height:none;min-height:0;overflow:visible;border:0;border-radius:3px;border-top:0;background:#ffffff0a;box-shadow:none}.recent-messages-embedded .recent-messages-header{min-height:0;padding:.8em 1em;border-bottom:1px solid #ffffff14;background:transparent}.recent-messages-embedded .recent-messages-header h2{font-size:1.3em}.recent-messages-embedded .recent-messages-close{min-height:36px;padding:.4em .7em;font-size:.88em}.recent-messages-embedded .recent-messages-list{display:flex;flex:none;min-height:0;overflow:visible;padding:.45em .65em .8em}.recent-messages-embedded .recent-message-row{gap:.9em;margin:0 0 .25em;padding:.4em .5em;border-left-width:.18em;border-radius:2px;background:#0000;font-size:.95em;line-height:1.45}.recent-messages-embedded .recent-message-time{min-width:3.2em;font-size:.95em}.recent-messages-embedded .recent-message-text{font-size:inherit}.recent-messages-embedded .recent-messages-empty{opacity:.55;padding:2em 1em}@media(any-pointer:coarse),(max-width:700px),(max-height:519px){.pause-home .recent-messages-preview{display:none}.pause-recent-menu-entry{display:flex!important}.pause-log-host{display:block}}.recent-messages-embedded .recent-messages-dialog{background:transparent}.recent-messages-embedded .recent-messages-header{background:#ffffff0a;border-bottom:0;padding:.8em 1em .4em}.recent-messages-embedded .recent-messages-header h2{font-size:.82em;letter-spacing:.1em;color:#ffffffc7}.recent-messages-embedded .recent-messages-list{background:#ffffff0a}.recent-messages-embedded .recent-messages-close{position:sticky;top:0;z-index:3;display:grid;place-items:center;width:2.4em;height:2.4em;min-height:0;padding:.45em;margin:0 0 .5em}.recent-messages-embedded .recent-messages-close svg{width:100%;height:100%}@media(any-pointer:coarse),(max-width:700px),(max-height:519px){#pause-panel:not([data-tab=home]) .pause-nav{display:none}}
