:root{--green:#4dff8f;--orange:#ff9a5a;--bg:#0a0f14f0;--panel-border:#fff3;--mono:"DejaVu Sans Mono", "Menlo", "Consolas", monospace;--ui-scale:clamp(.7, calc(100vh / 720px * 1), 1.2)}*{box-sizing:border-box}html,body{color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#101418;height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#game,#ui,#menu{position:fixed;inset:0}#menu{pointer-events:none;font-size:clamp(13px,2.4vh,18px)}#menu>*{pointer-events:auto}#ui{pointer-events:none;font-size:clamp(13px,2.4vh,18px)}#ui>*>*,#ui>.dialogue-overlay,#ui>.lockpick,#ui>.computer,#ui>.fatal,#ui>.wifi-tool{pointer-events:auto}[hidden]{display:none!important}.mono{font-family:var(--mono)}.panel{background:var(--bg);border:2px solid var(--panel-border);border-radius:8px;padding:.8em}.btn{font:inherit;color:#fff;cursor:pointer;background:#2a3038;border:1px solid #ffffff40;border-radius:6px;min-height:44px;padding:.4em 1em}.btn:hover:not(:disabled){background:#36404a}.btn:active:not(:disabled){background:#46525e}.btn:disabled{opacity:.4;cursor:default}.btn.small{min-height:36px;padding:.2em .7em}.hud>*{position:absolute}.objective{white-space:pre-line;background:#0000008c;max-width:45vw;top:12px;left:12px;pointer-events:none!important}.status{color:var(--green);white-space:nowrap;text-shadow:0 0 4px #000;top:14px;left:50%;transform:translate(-50%);pointer-events:none!important}.toast{z-index:6;color:#ffe58a;text-shadow:0 0 4px #000,0 0 2px #000;opacity:0;white-space:nowrap;font-size:1.2em;font-weight:600;transition:opacity .5s;top:52px;left:50%;transform:translate(-50%);pointer-events:none!important}.toast.show{opacity:1;transition:opacity .1s}.tool-buttons{gap:8px;display:flex;top:12px;right:12px;pointer-events:none!important}.tool-button{letter-spacing:.1em;pointer-events:auto;min-width:100px;min-height:56px;font-weight:600}.use-button{background:#2a3038d9;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;width:160px;height:100px;display:flex;bottom:20px;right:20px}.use-label{font-size:1.2em;font-weight:700}.use-name{opacity:.85;font-size:.85em}.joystick{touch-action:none;background:#ffffff14;border:2px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:180px;height:180px;display:flex;bottom:20px;left:20px}.joystick-knob{pointer-events:none;background:#ffffff38;border-radius:50%;width:42%;height:42%}.joystick.active .joystick-knob{background:#fff6}.dialogue-overlay{z-index:5;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:absolute;inset:0}.dialogue{border-color:#d8d8e8cc;width:min(900px,100%);min-height:150px}.dialogue-speaker{color:#ffd36b;min-height:1.2em;font-weight:600}.dialogue-text{margin:.3em 0;font-size:1.25em;line-height:1.35}.dialogue-text.narration{color:#a8c6e8}.dialogue-choices{flex-direction:column;gap:6px;margin-top:.4em;display:flex}.choice{text-align:left}.dialogue-hint{text-align:right;opacity:.45;font-size:.75em}.wifi-tool{border-color:var(--green);width:min(540px,48vw);font-size:.85em;position:absolute;top:80px;bottom:136px;right:12px;overflow-y:auto}.wifi-header{justify-content:space-between;align-items:center;display:flex}.wifi-title{color:var(--green);font-size:1.1em}.wifi-section{opacity:.6;margin:.6em 0 .3em}.wifi-list{flex-direction:column;gap:4px;display:flex}.btn.net{font-family:var(--mono);text-align:left;white-space:pre;min-height:38px;overflow:hidden}.wifi-detail{border-top:1px solid #fff3;margin-top:.6em;padding-top:.6em}.wifi-target{font-size:1.15em}.wifi-info{opacity:.8;margin:.4em 0;font-family:system-ui,sans-serif}.green{color:var(--green)}.orange{color:var(--orange)}.bar{background:#ffffff14;height:12px;margin:3px 0 8px}.bar .fill{width:0;height:100%}.iv-bar .fill{background:#3fd67a}.heat-bar .fill{background:#ff6a3a}.wifi-buttons{flex-wrap:wrap;gap:6px;display:flex}.btn.wide{width:100%;margin-top:6px;display:block}.wifi-log{color:#7dffb0;white-space:pre-wrap;border-top:1px solid #fff3;margin:.6em 0 0;padding-top:.6em;font-size:.85em}.item-gains{z-index:6;flex-direction:column;align-items:flex-end;gap:4px;display:flex;top:76px;right:12px;pointer-events:none!important}.item-gain{color:#ffe58a;background:#000000b3;border:1px solid #ffe58a99;border-radius:6px;padding:.25em .7em;font-weight:600;animation:3s ease-out forwards item-gain}@keyframes item-gain{0%{opacity:0;transform:translateY(8px)}10%{opacity:1;transform:translateY(0)}75%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.item-gain.tool{color:#9fe0ff;border-color:#3fa7d6b3}.item-gain.note{color:#ffd0f0;border-color:#ff78c899}.item-gain.job{color:#b7ffcf;border-color:#4dff8f99}.phone-button{position:relative}.phone-button.has-badge:after,.badge{content:"";background:#ff4d5e;border-radius:50%;width:9px;height:9px;position:absolute;top:6px;right:6px;box-shadow:0 0 0 2px #10141a}.tool-button.pulse{animation:.5s ease-out 3 pulse}@keyframes pulse{50%{background:#7a6a2a;border-color:#ffe58a}}.phone-screen{padding:12px}.phone{background:#0b1016;border:2px solid #2c3742;border-radius:18px;flex-direction:column;width:min(1100px,100%);height:100%;max-height:680px;display:flex;overflow:hidden;box-shadow:0 0 0 6px #151b22,0 10px 40px #0009}.phone-bar{background:#121a22;border-bottom:1px solid #2c3742;align-items:center;gap:8px;padding:8px 10px;display:flex}.phone-tabs{flex:1;gap:6px;display:flex;overflow-x:auto}.phone-tab{letter-spacing:.1em;min-width:84px;font-weight:600;position:relative}.phone-tab.selected{border-color:var(--green);background:#1f4a33}.phone-body{flex:1;min-height:0;padding:12px;display:flex;overflow:hidden}.phone-split{gap:12px;width:100%;min-height:0;display:flex}.phone-list{flex-direction:column;flex:0 0 min(34%,320px);gap:6px;display:flex;overflow-y:auto}.phone-detail{background:#ffffff08;border-radius:8px;flex:1;min-width:0;padding:4px 8px 12px;overflow-y:auto}.phone-empty{opacity:.55;padding:.6em 0}.job-btn{text-align:left;justify-content:space-between;align-items:center;display:flex;position:relative}.job-btn.selected,.kit-slot.selected{border-color:var(--green);background:#233b2e}.job-btn-tag{color:var(--green)}.job-head{justify-content:space-between;align-items:baseline;gap:8px;margin-top:6px;display:flex}.job-title{font-size:1.3em;font-weight:700}.job-giver{color:var(--green);white-space:nowrap;border:1px solid #4dff8f80;border-radius:10px;padding:0 .6em;font-size:.8em}.job-summary{opacity:.85;font-style:italic}.job-section{letter-spacing:.12em;opacity:.55;margin:.9em 0 .3em;font-size:.75em}.job-step{margin:.2em 0}.job-step.done{opacity:.5;text-decoration:line-through}.job-tracked{color:var(--green);margin-top:.8em;font-size:.85em}.phone-detail>.btn{margin-top:.8em}.job-journal{margin:.4em 0 .7em;line-height:1.45}.kit-grid{grid-template-columns:auto repeat(var(--cols,4), 52px);flex:none;align-content:start;gap:6px;padding-right:4px;display:grid;overflow-y:auto}.kit-row-label{letter-spacing:.1em;opacity:.6;text-transform:uppercase;align-self:center;padding-right:4px;font-size:.72em}.kit-slot{background:#161d24;justify-content:center;align-items:center;width:52px;height:52px;min-height:0;padding:0;display:flex;position:relative}.kit-slot img{width:40px;height:40px;image-rendering:pixelated}.kit-slot.owned{background:#1d2a33}.kit-q{opacity:.25;font-weight:700}.kit-slot.glitched{background:repeating-linear-gradient(90deg,#222 0 3px,#3a3a3a 3px 5px,#111 5px 9px);animation:.4s steps(2,end) infinite static}@keyframes static{50%{filter:brightness(1.3);background-position:4px 0}}.glitch-text{font-family:var(--mono);color:#b37cff;text-shadow:1px 0 #f0f,-1px 0 #0ff}.kit-head{align-items:center;gap:12px;margin-top:6px;display:flex}.kit-detail-icon{width:64px;height:64px;image-rendering:pixelated}.kit-name{font-size:1.3em;font-weight:700}.kit-level{align-items:center;gap:4px;margin-top:4px;display:flex}.kit-level .pip{background:#ffffff26;border-radius:3px;width:14px;height:6px}.kit-level .pip.on{background:var(--green)}.kit-level-text{opacity:.7;margin-left:4px;font-size:.8em}.kit-hint{opacity:.75;font-style:italic}.kit-ability{margin:.15em 0;font-size:.9em}.kit-ability.locked{opacity:.4}.kit-how{opacity:.85;line-height:1.45}.phone-bag,.phone-system{flex-direction:column;align-items:center;gap:8px;width:min(420px,100%);margin:0 auto;display:flex}.phone-bag{max-height:100%;overflow-y:auto}.phone-bag .btn{flex-shrink:0;position:relative}.phone-system .menu-buttons{width:100%}.phone-notes{overscroll-behavior:contain;outline:none;flex-direction:column;gap:8px;width:min(560px,100%);max-height:100%;margin:0 auto;padding-right:4px;display:flex;overflow-y:auto}.note-card{background:#ffffff0d;border:1px solid #ffffff26;border-radius:6px;flex-shrink:0;padding:.5em .8em;position:relative}.note-head{align-items:baseline;gap:.6em;display:flex}.note-label{flex:1;font-weight:600}.note-kind{text-transform:uppercase;letter-spacing:.08em;opacity:.55;margin-right:14px;font-size:.75em}.note-text{color:var(--green);word-break:break-word;margin:.25em 0}.note-source{opacity:.6;font-size:.85em}.computer{z-index:3;background:#040609f5;justify-content:center;align-items:center;padding:max(8px,2vh) max(8px,2vw);display:flex;position:absolute;inset:0}.pc-monitor{background:#1b1e23;border:1px solid #333a44;border-radius:12px;width:min(1100px,100%);height:100%;max-height:720px;padding:clamp(4px,1.2vh,12px);box-shadow:0 10px 40px #0009}.pc-screen{--pc-accent:#6bb8ff;background:radial-gradient(ellipse at 30% 20%, color-mix(in srgb, var(--pc-accent) 22%, #0b1018) 0%, #070a10 75%);color:#e8eef5;border-radius:6px;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.pc-view{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.pc-boot,.pc-login{justify-content:center;align-items:center}.pc-boot-os{color:var(--pc-accent);font-size:1.8em;font-weight:700}.pc-boot-text{opacity:.6;margin-top:.5em}.pc-login-box{flex-direction:column;align-items:center;gap:.5em;width:min(340px,90%);display:flex}.pc-login-box.shake{animation:.35s pc-shake}@keyframes pc-shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.pc-avatar{background:var(--pc-accent);color:#0b1018;border-radius:50%;justify-content:center;align-items:center;width:2.6em;height:2.6em;font-size:1.6em;font-weight:700;display:flex}.pc-login-user{font-size:1.2em;font-weight:600}.pc-field{font:inherit;text-align:left;color:#fff;border:1px solid color-mix(in srgb, var(--pc-accent) 60%, transparent);cursor:pointer;letter-spacing:.1em;background:#00000073;border-radius:6px;width:100%;min-height:44px;padding:.4em .8em}.pc-field.empty{color:#ffffff73;letter-spacing:normal}.pc-field:focus-visible,.pc-row:focus-visible,.pc-icon:focus-visible{outline:2px solid var(--pc-accent);outline-offset:1px}.pc-btn{background:color-mix(in srgb, var(--pc-accent) 35%, #1a2230);border-color:var(--pc-accent);width:100%}.pc-login-msg{text-align:center;color:#ffd36b;min-height:1.3em}.pc-login-links{gap:8px;display:flex}.pc-link{background:0 0}.pc-desktop{padding:12px}.pc-wallpaper{color:var(--pc-accent);opacity:.22;text-align:center;pointer-events:none;justify-content:center;align-items:center;padding:1em;font-size:1.6em;font-weight:700;display:flex;position:absolute;inset:0}.pc-icons{flex-flow:column wrap;align-content:flex-start;gap:8px;height:100%;display:flex;position:relative}.pc-icon{font:inherit;color:#fff;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:.2em;width:6em;min-height:44px;padding:.4em .2em;display:flex;position:relative}.pc-icon:hover{background:#ffffff14}.pc-icon-glyph{color:var(--pc-accent);font-size:2em;line-height:1}.pc-icon-img{width:32px;height:32px;image-rendering:pixelated}.pc-icon-name{text-shadow:0 1px 2px #000;font-size:.9em}.pc-badge{background:#ff4d5e;border-radius:.7em;min-width:1.4em;padding:0 .3em;font-size:.75em;font-weight:700;position:absolute;top:2px;right:14px}.pc-taskbar{border-top:1px solid color-mix(in srgb, var(--pc-accent) 40%, transparent);background:#0009;align-items:center;gap:8px;padding:4px 8px;display:flex}.pc-taskbar-os{color:var(--pc-accent);white-space:nowrap;font-weight:700}.pc-taskbar-apps{flex:1;gap:6px;display:flex;overflow:hidden}.pc-task.active{border-color:var(--pc-accent);background:color-mix(in srgb, var(--pc-accent) 25%, #1a2230)}.pc-clock{opacity:.8}.pc-window{border:1px solid color-mix(in srgb, var(--pc-accent) 50%, transparent);background:#10151d;border-radius:6px;flex-direction:column;display:flex;position:absolute;inset:8px;overflow:hidden;box-shadow:0 6px 24px #00000080}.pc-titlebar{background:color-mix(in srgb, var(--pc-accent) 20%, #151b24);align-items:center;gap:6px;padding:4px;display:flex}.pc-title{text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.pc-back,.pc-close{min-width:44px;font-size:1.2em}.pc-window-body{touch-action:pan-y;-webkit-user-select:text;user-select:text;flex:1;min-height:0;padding:8px 12px;overflow-y:auto}.pc-path{opacity:.6;margin-bottom:6px}.pc-list{flex-direction:column;gap:2px;display:flex}.pc-row{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:.7em;min-height:44px;padding:.3em .6em;display:flex}.pc-row:hover{background:#ffffff12}.pc-row-icon{background:#cfd8e3;border-radius:2px;flex:none;width:1.2em;height:1em}.pc-row-icon.folder{background:#f2c14e;border-top-left-radius:0;box-shadow:inset 0 .2em #00000026}.pc-row-icon.file{width:.85em;height:1.1em;margin:0 .175em}.pc-text{white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.4}.pc-mail-row{grid-template-columns:minmax(5em,10em) 1fr auto;display:grid}.pc-mail-row>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pc-mail-row.unread{font-weight:700}.pc-mail-row.unread .pc-mail-from:before{content:"● ";color:var(--pc-accent)}.pc-mail-date{opacity:.6;font-size:.9em}.pc-mail-head{border-bottom:1px solid #ffffff26;margin-bottom:8px;padding-bottom:6px}.pc-mail-subject{margin-bottom:4px;font-size:1.2em;font-weight:700}.pc-mail-label{opacity:.6;width:3.5em;display:inline-block}.pc-mail-body{white-space:pre-wrap;line-height:1.45}.pc-picker-overlay{z-index:2;background:#0000008c;justify-content:center;align-items:center;padding:12px;display:flex;position:absolute;inset:0}.pc-picker{border:1px solid var(--pc-accent);background:#121821;border-radius:8px;flex-direction:column;gap:8px;width:min(480px,100%);max-height:100%;padding:10px;display:flex;overflow-y:auto}.pc-picker-title{color:var(--pc-accent);font-weight:700}.pc-picker-empty{opacity:.75;padding:.4em 0}.pc-note-row{border-color:#ffffff1f;flex-direction:column;align-items:flex-start;gap:0}.pc-note-text{color:var(--green)}.pc-note-label{opacity:.7;font-size:.85em}.pc-picker-group{text-transform:uppercase;letter-spacing:.08em;opacity:.6;margin-top:4px;font-size:.75em}.pc-window-body.web-body{flex-direction:column;padding:0;display:flex;overflow:hidden}.web-toolbar{background:#1a2029;border-bottom:1px solid #ffffff1f;gap:4px;padding:4px;display:flex}.web-nav{min-width:40px;padding:0;font-size:1.15em}.web-address{letter-spacing:normal;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;min-height:36px;overflow:hidden}.web-view{touch-action:pan-y;background:#fff;flex:1;min-height:0;overflow-y:auto}.web-error{color:#333;background:#f4f5f7;min-height:100%;padding:2em;font-family:system-ui,sans-serif}.web-error-title{margin-bottom:.5em;font-size:1.4em;font-weight:700}.site{--site-accent:#1f4e8c;-webkit-user-select:text;user-select:text;flex-direction:column;min-height:100%;display:flex}.site-header{padding:.5em 1em}.site-title{font-size:1.2em;font-weight:700}.site-nav{margin-top:.2em}.site-main{flex:1;padding:.6em 1.2em 1em;line-height:1.45}.site-main h1{margin:.3em 0 .4em;font-size:1.5em}.site-main h2{margin:.9em 0 .3em;font-size:1.15em}.site-main p,.site-main ul{margin:.4em 0}.site-main blockquote{border-left:3px solid var(--site-accent);opacity:.85;margin:.6em 0;padding:.3em .8em}.site-main code{font-family:var(--mono);word-break:break-word;background:#7f7f7f2e;border-radius:3px;padding:.1em .3em;font-size:.9em}.site-footer{opacity:.75;padding:.6em 1em;font-size:.8em}.web-link{font:inherit;color:var(--site-accent);cursor:pointer;background:0 0;border:none;margin:-.35em 0;padding:.35em .1em;text-decoration:underline}.web-link:focus-visible{outline:2px solid var(--site-accent)}.web-banner{background:color-mix(in srgb, var(--site-accent) 15%, #fff);border:1px solid var(--site-accent);color:#222;border-radius:4px;margin:.4em 0;padding:.5em .8em}.web-form{flex-direction:column;gap:4px;max-width:360px;margin:.8em 0;display:flex}.web-label{margin-top:4px;font-size:.9em;font-weight:600}.site .pc-field{color:#222;background:#fff;border:1px solid #999}.site .pc-field.empty{color:#888}.web-submit{color:#fff;background:var(--site-accent);border-color:var(--site-accent);align-self:flex-start;margin-top:6px}.web-submit:hover:not(:disabled){background:color-mix(in srgb, var(--site-accent) 80%, #000)}.web-form-msg{min-height:1.2em}.web-form-msg.error{color:#c0182e;font-weight:600}.web-form-msg.sql-error{font-family:var(--mono);word-break:break-word;font-size:.85em;font-weight:400}.web-debug{color:#1d2430;word-break:break-word;white-space:pre-wrap;background:#fff8d6;border:1px dashed #c9a227;border-radius:4px;max-width:100%;margin:.6em 0;padding:.4em .6em;font-size:.85em}.web-debug-label{color:#8a6d00;font-weight:700}.pc-field-row{gap:4px;display:flex}.pc-field-row .pc-field{flex:1;min-width:0}.pc-erase{min-width:44px}.site .pc-erase{color:#222;background:#e8e8e8;border-color:#999}.theme-uni{color:#1d2430;background:#f4f5f7;font-family:system-ui,Segoe UI,sans-serif}.theme-uni .site-header{background:var(--site-accent);color:#fff}.theme-uni .site-nav .web-link{color:#fff}.theme-uni .site-main{background:#fff;border-radius:4px;margin:.8em;box-shadow:0 1px 3px #0000001f}.theme-uni .site-footer{text-align:center}.theme-retro{color:#ff6;text-align:center;background:#000 repeating-radial-gradient(circle at 20% 30%,#1a0033 0 2px,#000 2px 40px);font-family:Comic Sans MS,Comic Neue,Chalkboard SE,cursive}.theme-retro .site-title{color:var(--site-accent);text-shadow:2px 2px #0ff;font-size:1.8em;animation:1.2s steps(2,end) infinite retro-blink}@keyframes retro-blink{50%{opacity:.55}}.theme-retro .web-link{color:#0ff}.theme-retro h1{color:#f6f}.theme-retro blockquote{border:none}.theme-retro ul{padding:0;list-style:none}.theme-retro li:before{content:"★ ";color:#f6f}.theme-retro .site-footer{font-family:var(--mono);color:#6f6}.theme-plain{color:#000;background:#fff;font-family:Times New Roman,Times,serif}.theme-plain .web-link{color:#00e}#ui>.handheld{pointer-events:auto}.handheld{z-index:3;background:#040609f0;justify-content:center;align-items:center;padding:8px;display:flex;position:absolute;inset:0}.hh-close{z-index:2;min-width:44px;font-size:1.2em;position:absolute;top:10px;right:10px}.hh-device{--hh-body:#b9bbb6;background:linear-gradient(160deg, #d2d4cf, var(--hh-body) 60%, #a3a59f);border-radius:28px 28px 60px;align-items:center;gap:clamp(8px,3vw,36px);max-width:100%;max-height:100%;padding:clamp(10px,3vh,24px) clamp(14px,4vw,40px);display:flex;box-shadow:inset 0 -6px #0000002e,0 14px 40px #0009}.hh-mid{flex-direction:column;align-items:center;gap:6px;display:flex}.hh-bezel{background:#4d4f5a;border-radius:10px 10px 30px;padding:clamp(8px,2vh,16px)}.hh-screen{aspect-ratio:160/144;height:min(62vh,380px);image-rendering:pixelated;border-radius:2px;display:block}.hh-brand{letter-spacing:.1em;color:#2d3a8c;font-style:italic;font-weight:800}.hh-meta{gap:14px;display:flex}.hh-pill{font:inherit;letter-spacing:.08em;color:#3a3c40;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:64px;min-height:44px;padding:0;font-size:.65em;font-weight:700;display:flex}.hh-pill:before{content:"";background:#6c6e74;border-radius:6px;width:40px;height:10px;transform:rotate(-20deg)}.hh-pill.down:before{background:#4a4c50}.hh-btn{font:inherit;cursor:pointer;touch-action:none;border:none}.hh-dpad{grid-template:repeat(3,48px)/repeat(3,48px);display:grid}.hh-dpad .hh-btn{background:#2c2d31;box-shadow:0 3px #151518}.hh-dpad .hh-btn.down{box-shadow:none;background:#1b1c1f;transform:translateY(2px)}.hh-up{border-radius:6px 6px 0 0;grid-area:1/2}.hh-left{border-radius:6px 0 0 6px;grid-area:2/1}.hh-right{border-radius:0 6px 6px 0;grid-area:2/3}.hh-down{border-radius:0 0 6px 6px;grid-area:3/2}.hh-dpad:after{content:"";background:#2c2d31;grid-area:2/2}.hh-ab{gap:14px;display:flex;transform:rotate(-20deg)}.hh-round{color:#f2d7e6;background:#a3245a;border-radius:50%;width:60px;height:60px;font-weight:800;box-shadow:0 4px #5e1233}.hh-round.down{box-shadow:none;transform:translateY(3px)}.hh-b{margin-top:30px}.hh-info{z-index:3;touch-action:pan-y;width:min(560px,94vw);max-height:92vh;line-height:1.4;position:absolute;overflow-y:auto}.hh-info-head{align-items:center;gap:10px;display:flex}.hh-info-title{font-size:1.3em;font-weight:700}.hh-cart-label{border-radius:3px;width:18px;height:24px;box-shadow:inset 0 0 0 2px #0000004d}.hh-manual{white-space:pre-wrap;background:#ffffff0d;border-radius:4px;padding:.5em .7em;font-size:.9em}.hh-info-hint{opacity:.75;font-style:italic}.hh-exploit-name{color:#ffd36b;font-weight:700}.hh-repair{z-index:3;flex-direction:column;align-items:center;gap:12px;width:min(560px,94vw);display:flex;position:absolute}.hh-repair-text{text-align:center;min-height:2.6em}.hh-back{background:linear-gradient(160deg,#c8cac5,#9fa19b);border-radius:16px 16px 40px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:min(320px,80vw);height:min(200px,42vh);display:flex;position:relative;box-shadow:inset 0 0 0 3px #0000001f}.hh-back.open{background:#3b3d3a;flex-direction:row;align-items:stretch;gap:8px;padding:10px;box-shadow:inset 0 0 0 6px #9fa19b,inset 0 0 18px #0009}.hh-bay{background:#262826;border-radius:6px;gap:2px;padding:4px;display:flex}.hh-slot{flex-direction:column;align-items:center;width:44px;display:flex;position:relative}.hh-mark{font:bold 12px var(--mono);color:#6d716b;height:14px;line-height:14px}.hh-slot.plus-up .hh-mark.bottom,.hh-slot.plus-down .hh-mark.top{color:#0000;background:repeating-linear-gradient(90deg,#b8bcb4 0 2px,#0000 2px 4px);border-radius:2px;width:16px}.hh-cell{cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:stretch;width:44px;min-height:44px;padding:0;display:flex}.hh-cell:focus-visible{outline:2px solid var(--green);outline-offset:-2px;border-radius:6px}.hh-cell-body{background:linear-gradient(90deg,#1d1f22,#4a4f57 45%,#1d1f22);border-radius:4px;width:26px;margin:6px 0;transition:transform .25s ease-out;position:relative;transform:rotate(180deg);box-shadow:inset 0 9px #c9a227}.hh-slot.plus-down .hh-cell-body,.hh-slot.plus-up .hh-cell.ok .hh-cell-body{transform:rotate(0)}.hh-slot.plus-down .hh-cell.ok .hh-cell-body{transform:rotate(180deg)}.hh-cell-nub{background:#c0c4bd;border-radius:2px 2px 0 0;width:10px;height:5px;margin-left:-5px;position:absolute;top:-5px;left:50%}.hh-cell-label{writing-mode:vertical-rl;font:bold 10px var(--mono);color:#e8e8e0;text-align:center;white-space:pre;position:absolute;inset:12px 0 2px}.hh-board{background:linear-gradient(90deg,#0000 18%,#c9a227 18% 19%,#0000 19%) 0 0/100% 100%,linear-gradient(#0000 37%,#c9a22788 37% 38%,#0000 38%),#2f6b3a;border-radius:6px;flex:1;min-width:96px;position:relative;overflow:hidden}.hh-chip{font:8px var(--mono);color:#9a9a9a;background:#151515;border-radius:2px;padding:5px 3px;position:absolute;top:12px;right:7px;box-shadow:0 0 0 2px #151515,0 0 0 3px #b0b0b0}.hh-cap{background:linear-gradient(90deg,#233d8c,#4867c4 50%,#233d8c);border-radius:8px 8px 3px 3px;width:16px;height:22px;position:absolute;bottom:14px;right:10px}.hh-socket{z-index:2;background:#121212;border-radius:2px;width:48px;height:12px;position:absolute;bottom:14px;left:2px;box-shadow:inset 0 -3px #3a3a3a}.hh-cable{cursor:pointer;transform-origin:50% 0;background:linear-gradient(90deg,#b23a3a 0 3px,#0000 3px),repeating-linear-gradient(90deg,#d8d4c6 0 3px,#b9b5a6 3px 4px);border:none;width:36px;padding:0;transition:transform .2s ease-in,box-shadow .2s;animation:2.4s ease-in-out infinite hh-wiggle;position:absolute;top:-4px;bottom:18px;left:8px;transform:rotate(-9deg)translate(-4px,-16px);box-shadow:4px 8px 6px #00000073}.hh-cable-end{background:repeating-linear-gradient(90deg,#d9b84a 0 2px,#8c7426 2px 4px);height:8px;position:absolute;bottom:0;left:0;right:0}.hh-cable.seated{box-shadow:none;cursor:default;animation:none;transform:none}.hh-cable:focus-visible{outline:2px solid var(--green);outline-offset:2px}@keyframes hh-wiggle{0%,to{transform:rotate(-9deg)translate(-4px,-16px)}50%{transform:rotate(-7deg)translate(-4px,-14px)}}.hh-power{border-color:var(--green)}@media (height<=420px){.hh-dpad{grid-template:repeat(3,44px)/repeat(3,44px)}.hh-round{width:52px;height:52px}.hh-screen{height:min(66vh,380px)}.hh-meta{gap:6px}}.lockpick{background:#05080cf5;position:absolute;inset:0}.lockpick-canvas{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.lockpick-title{color:var(--green);pointer-events:none;font-size:1.2em;position:absolute;top:16px;left:20px}.lockpick-buttons{gap:8px;display:flex;position:absolute;top:12px;right:12px}.lockpick-hint{text-align:center;pointer-events:none;font-size:1.15em;position:absolute;bottom:20px;left:24px;right:24px}.saved-indicator{color:var(--green);opacity:0;text-shadow:0 0 4px #000;font-size:.8em;bottom:14px;left:50%;transform:translate(-50%);pointer-events:none!important}.saved-indicator.show{animation:2.2s ease-out forwards saved}@keyframes saved{0%,70%{opacity:.9}to{opacity:0}}.menu-screen{background:#06090de0;flex-direction:column;justify-content:center;align-items:center;gap:.8em;padding:16px;display:flex;position:absolute;inset:0;overflow-y:auto}.title-screen{background:radial-gradient(#15202a 0%,#06090d 70%),repeating-linear-gradient(0deg,#0000 0 2px,#ffffff05 2px 3px)}.game-title{letter-spacing:.12em;color:var(--green);text-shadow:0 0 18px #4dff8f59;margin:0;font-size:clamp(36px,11vh,96px);animation:6s infinite title-glitch}@keyframes title-glitch{0%,92%,to{text-shadow:0 0 18px #4dff8f59;transform:none}93%{text-shadow:-3px 0 #f0f,3px 0 #0ff;transform:translate(3px)skew(-8deg)}94%{text-shadow:2px 0 #f0f,-2px 0 #0ff;transform:translate(-2px)}95%{transform:none}}.game-subtitle{opacity:.55;margin-bottom:1em}.menu-title{letter-spacing:.08em;margin:0 0 .3em}.menu-buttons{flex-direction:column;gap:8px;width:min(340px,80vw);display:flex}.menu-btn{flex-direction:column;justify-content:center;align-items:center;min-height:50px;font-size:1.1em;display:flex}.menu-btn:focus-visible,.btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.menu-btn.primary{border-color:var(--green);background:#1f4a33}.menu-btn.danger{background:#4a1f22;border-color:#ff6a6a}.menu-btn.back{width:min(340px,80vw)}.menu-btn-detail{opacity:.75;font-size:.7em}.menu-row{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:.6em;display:flex}.menu-footer{opacity:.4;text-align:center;padding:0 12px;font-size:.8em;position:absolute;bottom:12px}.pause-info{opacity:.7}.confirm-screen{background:#0009}.confirm-box{text-align:center;max-width:460px}.slots-body{gap:14px;width:min(900px,100%);max-height:72vh;display:flex}.slot-list{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.slot-btn{text-align:left;flex-direction:column;align-items:flex-start;min-height:54px;display:flex}.slot-btn.selected{border-color:var(--green);background:#233b2e}.slot-btn-name{font-weight:600}.slot-btn-detail{opacity:.7;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.8em;overflow:hidden}.slot-preview{flex-direction:column;flex:1.2;gap:4px;min-width:0;display:flex;overflow-y:auto}.slot-thumb{color:#fff6;background:#0b1015;border:1px solid #ffffff26;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;height:clamp(70px,30vh,250px);display:flex;overflow:hidden}.slot-thumb img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.slot-name{font-size:1.1em;font-weight:700}.slot-location{color:var(--green)}.slot-objective{white-space:pre-line;opacity:.85;font-size:.85em}.slot-meta{opacity:.6;font-size:.8em}.settings-form{flex-direction:column;gap:14px;width:min(560px,100%);display:flex}.setting-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.setting-label{flex:0 0 9.5em}.setting-row input[type=range]{accent-color:var(--green);flex:1;min-width:120px;height:32px}.setting-value{text-align:right;opacity:.8;width:3em}.segmented{flex-wrap:wrap;gap:4px;display:flex}.btn.seg.selected{border-color:var(--green);background:#1f4a33}.loading-screen{z-index:20;background:#06090d;flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:clamp(13px,2.4vh,18px);transition:opacity .25s;display:flex;position:fixed;inset:0}.loading-screen.done{opacity:0;pointer-events:none}.loading-title{color:var(--green);letter-spacing:.15em;font-size:2em}.loading-text{opacity:.7}.loading-bar{background:#ffffff1a;border-radius:4px;width:min(360px,70vw);height:8px;overflow:hidden}.loading-bar .fill{background:var(--green);width:0;height:100%;transition:width .15s}.fatal{border-color:#ff5a5a;position:absolute;inset:20px;overflow:auto}.fatal pre{white-space:pre-wrap;color:#ffb0b0}#rotate{display:none}@media (orientation:portrait) and (width<=700px){#rotate{z-index:10;text-align:center;background:#101418;justify-content:center;align-items:center;padding:2em;font-size:1.4em;display:flex;position:fixed;inset:0}}@media (height<=450px){.joystick{width:130px;height:130px;bottom:12px;left:12px}.use-button{width:120px;height:76px;bottom:12px;right:12px}.wifi-tool{top:64px;bottom:96px}.dialogue{min-height:0}.slots-body{max-height:68vh}.slot-thumb{height:22vh}.slot-preview{gap:1px;padding:.5em .7em}.slot-objective,.slot-meta{font-size:.75em}.slot-preview .menu-row{margin-top:.2em}.menu-screen{gap:.4em}.phone-screen{padding:6px}.phone-bar{padding:4px 8px}.phone-tab{min-width:64px;min-height:38px}.phone-body{padding:8px}.kit-grid{grid-template-columns:auto repeat(var(--cols,4), 40px);gap:4px}.kit-slot{width:40px;height:40px}.kit-slot img{width:32px;height:32px}.kit-row-label{font-size:.62em}.kit-detail-icon{width:40px;height:40px}.job-title,.kit-name{font-size:1.1em}.menu-btn{min-height:44px}.menu-title{font-size:1.2em}}.sound-test{max-height:62vh;overflow-y:auto}.sound-test>*{flex-shrink:0}.sound-grid{flex-wrap:wrap;gap:4px;display:flex}.sound-test-label{opacity:.8}
