.online-shell{background:var(--ink);color:var(--cream)}.online-lobby{background:radial-gradient(at 85% 15%,#3a3f2a 0,#0000 55%),linear-gradient(160deg,#1b1d16,#0d0e0b);position:absolute;inset:0;overflow:auto}.online-lobby-content{max-width:820px;margin:auto;padding:40px 32px 60px}.online-back{margin-bottom:28px;display:block}.online-eyebrow{color:var(--accent);font:800 14px var(--display);letter-spacing:3px;text-transform:uppercase;display:block}.online-lobby h1{font:800 clamp(52px, 8vw, 96px)/.98 var(--display);letter-spacing:1px;text-shadow:0 5px 0 var(--ink);margin:14px 0 18px}.online-lobby h1 em{color:var(--accent);font-style:normal}.online-lobby p{color:var(--muted);max-width:640px;font-size:16px;line-height:1.55}.online-shell button{border:2px solid var(--ink);background:var(--panel-2);color:var(--cream);font:600 18px var(--display);letter-spacing:1px;text-transform:uppercase;box-shadow:0 3px 0 var(--ink);cursor:pointer;border-radius:8px;padding:11px 18px;transition:transform 80ms,box-shadow 80ms,background .12s}.online-shell button:hover:not(:disabled){background:#383c30}.online-shell button:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.online-shell button:disabled{opacity:.45;cursor:default}.online-shell .online-primary{background:var(--accent);min-width:220px;color:var(--accent-ink);box-shadow:var(--drop);margin:8px 12px 8px 0;font-size:22px;font-weight:800}.online-shell .online-primary:hover:not(:disabled){background:#ffb646}.online-field{max-width:320px;color:var(--muted);font:600 14px var(--display);letter-spacing:2px;text-transform:uppercase;gap:8px;display:grid}.online-field input{border:2px solid var(--ink);width:100%;color:var(--cream);font:600 18px var(--body);letter-spacing:0;text-transform:none;background:#0c0d0a;border-radius:8px;padding:12px 14px;box-shadow:inset 0 3px #0006}.online-modes{grid-template-columns:1fr 1fr;gap:14px;margin:24px 0;display:grid}.online-shell .online-modes button{text-align:left;background:var(--panel);text-transform:none;letter-spacing:0;box-shadow:var(--drop);gap:10px;padding:20px 22px;display:grid}.online-shell .online-modes button[aria-pressed=true]{background:var(--panel-2);border-color:var(--accent);box-shadow:0 0 0 2px var(--ink), var(--drop)}.online-modes b{font:800 24px/1 var(--display);letter-spacing:1px;text-transform:uppercase}.online-modes button[aria-pressed=true] b{color:var(--accent)}.online-modes span{color:var(--muted);font:400 15px/1.45 var(--body)}.online-join{border-top:2px solid #ffffff12;align-items:end;gap:12px;margin-top:24px;padding-top:24px;display:flex}.online-room-code{flex-wrap:wrap;align-items:center;gap:20px;margin:28px 0 10px;display:flex}.online-room-code>span{color:var(--muted);font:800 14px var(--display);letter-spacing:3px}.online-room-code strong{border:2px solid var(--ink);background:var(--cream);color:var(--ink);font:800 44px/1.1 var(--display);letter-spacing:6px;font-variant-numeric:tabular-nums;box-shadow:var(--drop);border-radius:8px;padding:4px 16px}.online-seats{gap:10px;margin:24px 0;display:grid}.online-seats>div{border:2px solid var(--ink);background:var(--panel);box-shadow:0 3px 0 var(--ink);border-radius:10px;align-items:center;gap:18px;padding:14px 18px;display:flex}.online-seats span{color:var(--accent);font:800 22px var(--display)}.online-seats b{font:600 20px var(--display);letter-spacing:1px}.online-seats small{color:var(--muted);font:600 14px var(--display);letter-spacing:2px;text-transform:uppercase;margin-left:auto}.online-controls{font-size:14px!important}.online-error{color:var(--danger)!important}.online-topbar{left:max(22px, env(safe-area-inset-left));right:max(22px, env(safe-area-inset-right));top:max(20px, env(safe-area-inset-top));z-index:10;pointer-events:none;justify-content:space-between;align-items:start;display:flex;position:absolute}.online-topbar h1{font:800 26px/1.05 var(--display);text-transform:uppercase;-webkit-text-stroke:6px var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink);margin:6px 0}.online-topbar .online-eyebrow{-webkit-text-stroke:4px var(--ink);paint-order:stroke fill}.online-topbar button{pointer-events:auto}.online-shell .map-stack{top:112px;bottom:auto}.online-bearing{border:2px solid var(--ink);background:var(--panel);text-align:center;font:800 16px var(--display);box-shadow:0 3px 0 var(--ink);border-radius:6px;margin-top:8px;padding:4px 10px}.online-bearing span{color:var(--accent)}.online-vitals{z-index:10;pointer-events:none;gap:12px;display:flex;position:absolute;bottom:30px;left:24px}.online-vitals section{border:2px solid var(--ink);border-left:8px solid var(--good);background:var(--panel);box-shadow:var(--drop);font:600 16px var(--display);letter-spacing:.5px;border-radius:10px;gap:4px;padding:10px 14px;display:grid}.online-vitals .blue{border-left-color:var(--cool)}.online-vitals b{text-transform:uppercase;font-size:20px}.online-vitals span{color:var(--muted)}.online-connection{bottom:max(8px, env(safe-area-inset-bottom));right:max(16px, env(safe-area-inset-right));background:var(--panel);color:var(--muted);font:600 12px var(--display);letter-spacing:1px;border-radius:4px;padding:3px 8px;position:absolute}.online-center,.online-interact{z-index:12;text-align:center;pointer-events:none;gap:10px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.online-center span{font:600 18px var(--display);letter-spacing:1px;text-transform:uppercase;-webkit-text-stroke:4px var(--ink);paint-order:stroke fill}.online-center strong{font:800 140px/1 var(--display);color:var(--accent);-webkit-text-stroke:10px var(--ink);paint-order:stroke fill;text-shadow:0 8px 0 var(--ink)}.status-card{border:2px solid var(--ink);background:var(--panel);box-shadow:var(--drop);font:800 30px var(--display);text-transform:uppercase;border-radius:12px;padding:20px 26px}.status-card span{-webkit-text-stroke:0;color:var(--muted);text-transform:none;font:400 16px var(--body);letter-spacing:0}.online-interact{border:2px solid var(--ink);background:var(--panel);min-width:230px;box-shadow:var(--drop);font:600 18px var(--display);letter-spacing:1px;text-transform:uppercase;border-radius:10px;padding:10px 18px;top:65%}.online-interact progress{appearance:none;border:2px solid var(--ink);background:#0c0d0a;border-radius:4px;width:100%;height:12px;overflow:hidden}.online-interact progress::-webkit-progress-bar{background:#0c0d0a}.online-interact progress::-webkit-progress-value{background:var(--accent)}.online-interact progress::-moz-progress-bar{background:var(--accent)}.online-shell .touch-pause,.app-shell.online-shell.touch-mode .online-connection{display:none}.app-shell.online-shell.touch-mode .map-stack{top:95px}.online-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d0e0be6;place-items:center;padding:24px;display:grid;position:absolute;inset:0;overflow:auto}.online-overlay>div{width:100%;max-width:720px}.online-overlay h2{color:var(--cream);font:800 clamp(56px, 8vw, 104px)/.9 var(--display);text-shadow:0 5px 0 var(--ink);margin:14px 0}.online-overlay p{color:var(--muted);font-size:16px;line-height:1.5}@media (width<=650px){.online-lobby-content{padding:24px 20px 40px}.online-modes{gap:9px}.online-shell .online-modes button{padding:14px 12px}.online-topbar{top:12px;left:12px;right:12px}.online-topbar h1{-webkit-text-stroke-width:4px;max-width:240px;font-size:17px}.online-topbar .online-eyebrow{font-size:11px}.online-vitals{flex-direction:column;gap:6px;top:90px;bottom:auto;left:10px}.online-vitals section{max-width:170px;padding:6px 10px;font-size:13px}.online-vitals b{font-size:15px}.online-shell .map-stack{top:95px}.online-interact{max-width:80vw;top:48%}.online-join{align-items:stretch}.online-room-code{gap:10px}.online-room-code strong{font-size:34px}}@media (height<=500px){.online-vitals{flex-direction:column;gap:5px;top:82px;bottom:auto}.online-vitals section{padding:5px 10px;font-size:12px}.online-shell .map-stack{top:76px}.online-interact{top:50%}.online-overlay h2{margin:8px 0;font-size:44px}.online-center strong{font-size:90px}.app-shell.online-shell.touch-mode .map-stack{top:82px}}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2)format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-vietnamese-800-normal-CpjukuLw.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-800-normal-BZxKbt5V.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-ext-800-normal-DGNyg4u8.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-800-normal-gY_0Gifi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-800-normal-BKzMuPgK.woff2)format("woff2"),url(/assets/barlow-condensed-latin-800-normal-e9GbPXiK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#10110d;--panel:#1d1f19;--panel-2:#2a2d24;--cream:#f2ead3;--muted:#aaa68e;--accent:#f4a32b;--accent-ink:#241604;--good:#9fcf55;--danger:#ee5a43;--cool:#6cc4e8;--display:"Barlow Condensed", "Arial Narrow", sans-serif;--body:"Barlow", "Segoe UI", Arial, sans-serif;--drop:0 4px 0 var(--ink);font-family:var(--body);color:var(--cream);background:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}kbd{background:var(--cream);min-width:26px;color:var(--ink);font:600 13px/1.4 var(--body);text-align:center;white-space:nowrap;box-shadow:0 0 0 2px var(--ink), 0 3px 0 2px var(--ink);border-radius:5px;margin:0 2px;padding:2px 7px;display:inline-block}.app-shell{height:100dvh;min-height:0;overflow:hidden}.play-area,.game-canvas{width:100%;height:100%;position:relative}.game-canvas canvas{touch-action:none;display:block}.playing .game-canvas{cursor:none}.in-menu .game-canvas{filter:saturate(.6)brightness(.7)}.primary-button{border:2px solid var(--ink);background:var(--accent);width:100%;color:var(--accent-ink);font:800 22px/1 var(--display);letter-spacing:1px;text-transform:uppercase;box-shadow:var(--drop);border-radius:8px;padding:12px 20px;transition:transform 80ms,box-shadow 80ms,background .12s;display:block}.primary-button:hover:not(:disabled){background:#ffb646}.primary-button:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.icon-button{border:2px solid var(--ink);background:var(--panel-2);width:40px;height:40px;color:var(--cream);box-shadow:0 3px 0 var(--ink);border-radius:8px;place-items:center;padding:0;font-size:26px;line-height:1;display:grid}.icon-button:hover{background:#383c30}.splash-screen{background:#000;flex-direction:column;justify-content:center;align-items:center;height:100dvh;min-height:360px;display:flex}.splash-brand{text-align:center;width:min(560px,86vw);margin:0;font-weight:400}.splash-name{color:#4b9fa9;letter-spacing:-1.5px;white-space:nowrap;font:400 clamp(36px,12vw,80px)/1.2 Segoe UI,Arial,sans-serif;display:block}.splash-side,.splash-project{animation:.65s cubic-bezier(.16,1,.3,1) both splash-word-in;display:inline-block}.splash-project{animation-delay:.14s}.splash-games{color:#123f45;letter-spacing:1px;margin-top:3px;font:800 clamp(34px,11vw,70px)/1 Arial,sans-serif;animation:.6s cubic-bezier(.16,1,.3,1) .28s both splash-games-in;display:block}.splash-lite{text-align:right;letter-spacing:2px;color:#2c6570;margin-top:16px;padding-right:12px;font-size:clamp(18px,3.5vw,24px);font-weight:500;animation:.45s ease-out 1.15s both splash-lite-in;display:block}@keyframes splash-word-in{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes splash-games-in{0%{opacity:0;letter-spacing:6px;transform:translateY(9px)scale(.92)}to{opacity:1;letter-spacing:1px;transform:translateY(0)scale(1)}}@keyframes splash-lite-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.main-menu{background:linear-gradient(90deg,#0d0e0bf5 0%,#0d0e0be0 30%,#0d0e0b70 62%,#0d0e0b10 100%);align-items:center;padding:48px clamp(24px,8vw,128px);animation:.22s ease-out menu-in;display:flex;position:absolute;inset:0;overflow:auto}@keyframes menu-in{0%{opacity:0}to{opacity:1}}.menu-content{flex-direction:column;align-items:flex-start;width:min(560px,100%);display:flex}.menu-heading{width:100%}.menu-content h1{color:var(--cream);font:800 clamp(72px, 9vw, 132px)/.84 var(--display);letter-spacing:1px;text-shadow:0 6px 0 var(--ink);margin:0}.menu-content h1 span{color:var(--accent);letter-spacing:4px;margin-top:10px;font-size:.48em;display:block}.main-menu nav{flex-direction:column;align-items:flex-start;gap:2px;margin-top:48px;display:flex}.main-menu nav>button{isolation:isolate;box-shadow:none;color:var(--cream);opacity:.72;font:600 32px/1.15 var(--display);letter-spacing:1px;text-align:left;text-transform:uppercase;white-space:nowrap;text-shadow:0 3px 0 var(--ink);background:0 0;border:0;border-radius:0;margin-left:-14px;padding:6px 18px 6px 14px;transition:color .12s,opacity .12s,transform .16s cubic-bezier(.2,.9,.3,1.3);position:relative}.main-menu nav>button:before{content:"";z-index:-1;border:2px solid var(--ink);background:var(--accent);box-shadow:var(--drop);transform-origin:0;transition:transform .16s cubic-bezier(.2,.9,.3,1.1);position:absolute;inset:4px -4px 4px 4px;transform:skew(-12deg)scaleX(0)}.main-menu nav>.primary-button{color:var(--accent);opacity:1;font-weight:800}.main-menu nav>button:hover:not(:disabled),.main-menu nav>button:focus-visible,.main-menu nav>button[aria-expanded=true]{color:var(--accent-ink);opacity:1;text-shadow:none;outline:none;transform:translate(8px)}.main-menu nav>button:hover:not(:disabled):before,.main-menu nav>button:focus-visible:before,.main-menu nav>button[aria-expanded=true]:before{transform:skew(-12deg)scaleX(1)}.main-menu nav>button:active:not(:disabled){transform:translate(8px)translateY(2px)}.main-menu nav>button:disabled{opacity:.4}.menu-help{border:2px solid var(--ink);background:var(--panel);width:min(460px,100%);box-shadow:var(--drop);color:var(--cream);border-radius:10px;margin-top:28px;padding:16px 20px;font-size:15px;line-height:1.55;animation:.16s ease-out menu-in}.menu-help p{margin:0 0 10px}.menu-help p:first-child{color:var(--muted)}.keys{grid-template-columns:auto 1fr;align-items:center;gap:8px 16px;margin:14px 0 4px;display:grid}.keys dt{gap:2px;display:flex}.keys dd{font:600 17px var(--display);text-transform:uppercase;letter-spacing:1px;margin:0}.pause-menu{z-index:50;-webkit-backdrop-filter:blur(6px)}.pause-menu .eyebrow{border:2px solid var(--ink);background:var(--cream);color:var(--ink);font:800 15px/1 var(--display);letter-spacing:3px;box-shadow:0 3px 0 var(--ink);border-radius:4px;margin:0 0 14px;padding:4px 10px;display:inline-block}.pause-menu.is-dead .eyebrow{background:var(--danger)}.pause-menu.is-complete .eyebrow{background:var(--good)}.pause-menu .menu-content h1{font-size:clamp(60px,7.5vw,112px)}.pause-menu .menu-content h1 span{color:var(--muted);letter-spacing:3px;text-transform:uppercase;font-size:.3em}.pause-menu.is-complete .menu-content h1 span{color:var(--good)}.pause-menu .run-stats{border:2px solid var(--ink);background:var(--panel);box-shadow:var(--drop);border-radius:10px;gap:32px;margin-top:24px;padding:12px 20px;display:inline-flex}.pause-menu .run-stats span{font:600 13px var(--display);letter-spacing:2px;color:var(--muted);text-transform:uppercase}.pause-menu .run-stats b{font:800 34px/1 var(--display);color:var(--cream);font-variant-numeric:tabular-nums;margin-top:4px;display:block}.pause-menu nav{margin-top:36px}.settings-panel{border:2px solid var(--ink);background:var(--panel);width:min(460px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--cream);box-shadow:0 6px 0 var(--ink), 0 30px 80px #0009;border-radius:14px;padding:22px 24px 24px;overflow:auto}.settings-panel[open]{animation:.18s cubic-bezier(.2,.9,.3,1.2) pop-in}@keyframes pop-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:none}}.settings-panel::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0b08b8}.settings-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.settings-head h2{font:800 44px/1 var(--display);text-transform:uppercase;letter-spacing:1px;text-shadow:0 3px 0 var(--ink);margin:0}.settings-group h3{color:var(--accent);font:800 15px var(--display);letter-spacing:3px;text-transform:uppercase;margin:0 0 6px}.slider{grid-template-columns:92px 1fr 34px;align-items:center;gap:14px;padding:10px 0;font-weight:600;display:grid}.slider output{text-align:right;font:800 20px var(--display);font-variant-numeric:tabular-nums}.slider input{appearance:none;border:2px solid var(--ink);background:linear-gradient(90deg, var(--accent) var(--fill), #0c0d0a var(--fill));cursor:pointer;border-radius:6px;width:100%;height:12px;margin:0}.slider input:disabled{filter:grayscale();opacity:.45;cursor:default}.slider input::-webkit-slider-thumb{appearance:none;border:2px solid var(--ink);background:var(--cream);width:22px;height:22px;box-shadow:0 2px 0 var(--ink);border-radius:50%}.slider input::-moz-range-thumb{border:2px solid var(--ink);background:var(--cream);border-radius:50%;width:18px;height:18px}.toggle{cursor:pointer;border-top:2px solid #ffffff12;align-items:center;gap:12px;margin-top:8px;padding-top:16px;font-weight:600;display:flex}.toggle input{appearance:none;border:2px solid var(--ink);cursor:pointer;background:#0c0d0a;border-radius:13px;flex:none;width:46px;height:26px;margin:0;transition:background .12s;position:relative}.toggle input:before{content:"";background:var(--muted);border-radius:50%;width:18px;height:18px;transition:transform .14s cubic-bezier(.2,.9,.3,1.3),background .12s;position:absolute;top:2px;left:2px}.toggle input:checked{background:var(--accent)}.toggle input:checked:before{background:var(--cream);box-shadow:0 0 0 2px var(--ink);transform:translate(20px)}.toggle kbd{margin-left:auto}.settings-panel .primary-button{margin-top:22px}.engine-error{z-index:99;border:2px solid var(--ink);color:#ffd6ba;box-shadow:var(--drop);background:#3a2019;border-radius:10px;padding:24px;position:absolute;inset:40% 10% auto}.engine-error button{border:2px solid var(--ink);background:var(--accent);color:var(--accent-ink);border-radius:6px;margin-top:15px;padding:9px 14px;font-weight:600;display:block}.hud-top,.hud-bottom{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:20px;display:flex;position:absolute;left:24px;right:24px}.hud-top{top:22px}.hud-bottom{align-items:flex-end;bottom:24px}.objective{max-width:min(420px,100%)}.objective h1{color:var(--cream);font:800 28px/1.05 var(--display);letter-spacing:.5px;text-transform:uppercase;-webkit-text-stroke:6px var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink);margin:0}.vitals-stack{max-width:calc(100% - 260px)}.vitals{border:2px solid var(--ink);background:var(--panel);box-shadow:var(--drop);border-radius:10px;flex-wrap:wrap;align-items:center;gap:0;padding:8px 4px;display:flex}.vital-stat{color:var(--cream);align-items:center;gap:8px;padding:0 14px;display:flex}.vital-stat+.vital-stat{border-left:2px solid #ffffff14}.hud-icon{object-fit:contain;width:22px;height:22px;filter:drop-shadow(0 2px 0 var(--ink))}.vital-stat strong{min-width:1.4em;font:800 32px/1 var(--display);font-variant-numeric:tabular-nums}.vital-stat small{color:var(--muted);font:600 16px/1 var(--display);align-self:flex-end;margin:0 0 3px -4px}.health-bar{border:2px solid var(--ink);background:#0c0d0a;border-radius:4px;width:112px;height:14px;overflow:hidden}.health-bar i{background:var(--good);height:100%;transition:width .18s ease-out;display:block;box-shadow:inset 0 3px #ffffff40}.vital-stat.critical strong{color:var(--danger)}.vital-stat.critical .health-bar i{background:var(--danger);animation:.9s ease-in-out infinite alternate low-health}@keyframes low-health{0%{opacity:.55}to{opacity:1}}.ammo-stat[aria-busy=true] strong,.ammo-stat[aria-busy=true] .hud-icon{animation:.5s ease-in-out infinite alternate reload-flash}@keyframes reload-flash{0%{opacity:.3}to{opacity:1}}.zone-status{border:2px solid var(--ink);background:var(--panel);color:var(--accent);font:600 15px var(--display);letter-spacing:1px;text-transform:uppercase;box-shadow:0 3px 0 var(--ink);border-radius:6px;margin-top:10px;padding:5px 10px;display:inline-block}.map-stack{pointer-events:none;width:228px;position:absolute;bottom:20px;right:24px}.minimap{border:3px solid var(--ink);width:228px;height:228px;box-shadow:inset 0 0 0 3px #f2ead326, var(--drop);background:#22301f;border-radius:50%;position:relative;overflow:hidden}.minimap svg{border-radius:50%;width:100%;height:100%;padding:8px;display:block}.map-title{z-index:1;border:2px solid var(--ink);background:var(--cream);color:var(--ink);font:800 12px/1.2 var(--display);border-radius:4px;padding:1px 6px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.interact-prompt{border:2px solid var(--ink);background:var(--panel);box-shadow:var(--drop);color:var(--cream);font:600 19px var(--display);letter-spacing:1px;text-transform:uppercase;pointer-events:none;border-radius:10px;align-items:center;gap:12px;padding:10px 16px 10px 12px;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.interact-prompt>kbd{min-width:32px;font:800 18px/1.3 var(--display)}.interact-prompt.transferring{width:190px;box-shadow:none;-webkit-text-stroke:5px var(--ink);paint-order:stroke fill;background:0 0;border:0;flex-direction:column;gap:8px;padding:0;top:50%;bottom:auto;transform:translate(-50%,-50%)translateY(-70px)}.interaction-track{border:2px solid var(--ink);width:100%;height:14px;box-shadow:0 3px 0 var(--ink);background:#0c0d0a;border-radius:5px;overflow:hidden}.interaction-track span{background:var(--accent);height:100%;transition:width .1s linear;display:block;box-shadow:inset 0 3px #ffffff50}.idle-warning{border:2px solid var(--ink);border-left:8px solid var(--accent);background:var(--panel);color:var(--accent);font:800 20px var(--display);letter-spacing:1px;text-transform:uppercase;box-shadow:var(--drop);border-radius:8px;padding:8px 14px;position:absolute;top:82px;left:24px}.idle-warning b{color:var(--cream);font-variant-numeric:tabular-nums;margin-left:14px}.idle-warning.critical{border-left-color:var(--danger);color:var(--danger);animation:.45s ease-in-out infinite alternate low-health}.screen-objective-indicator{z-index:40;pointer-events:none;color:var(--cream);font:800 18px var(--display);font-variant-numeric:tabular-nums;white-space:nowrap;-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;align-items:center;gap:6px;display:flex;position:absolute;transform:translate(-50%,-50%)}.indicator-arrow{color:var(--accent);font-size:20px;line-height:1;display:inline-block}@media (width<=900px){.hud-top,.hud-bottom{left:16px;right:16px}.map-stack{width:152px;bottom:14px;right:16px}.minimap{width:152px;height:152px}.vitals-stack{max-width:calc(100% - 168px)}.health-bar{width:72px}.objective h1{font-size:22px}}@media (width<=600px){.main-menu{background:#0d0e0bd9;align-items:flex-start;padding:48px 20px 28px}.menu-content h1{font-size:clamp(64px,19vw,100px)}.main-menu nav{margin-top:36px}.main-menu nav>button{font-size:28px}.map-stack{width:122px}.minimap{width:122px;height:122px}.vitals-stack{max-width:calc(100% - 138px)}.vital-stat{padding:0 8px}.vital-stat strong{font-size:24px}.health-bar{display:none}.objective h1{-webkit-text-stroke-width:4px;font-size:18px}.interact-prompt{width:max-content;max-width:94%;font-size:16px;bottom:160px}.hud-bottom{bottom:16px}.idle-warning{top:70px;left:16px}}@media (height<=650px){.main-menu{padding-top:28px;padding-bottom:24px}.menu-content h1{font-size:72px}.main-menu nav{margin-top:26px}.main-menu nav>button{font-size:26px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.app-shell:not(.touch-mode) .touch-controls{display:none!important}.touch-mode{--safe-left:max(16px, env(safe-area-inset-left));--safe-right:max(16px, env(safe-area-inset-right));--safe-top:max(12px, env(safe-area-inset-top));--safe-bottom:max(18px, env(safe-area-inset-bottom));overscroll-behavior:none}.touch-controls{z-index:10;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.touch-controls button,.touch-stick{pointer-events:auto;touch-action:none;-webkit-touch-callout:none;border:2px solid var(--ink);color:var(--cream);box-shadow:0 3px 0 var(--ink);background:#1d1f19cc}.touch-controls button{min-width:48px;min-height:48px;font:800 15px var(--display);letter-spacing:1px;text-transform:uppercase;border-radius:12px}.touch-controls button:active{background-color:var(--accent);color:var(--accent-ink)}.touch-controls button:disabled{opacity:.38}.touch-stick{bottom:calc(var(--safe-bottom) + 20px);background:radial-gradient(circle,#f2ead314 0 38%,#0000 39% 65%,#f2ead314 66%),#1d1f1999;border-radius:50%;place-items:center;width:128px;height:128px;display:grid;position:absolute}.touch-move{left:var(--safe-left)}.touch-aim{right:var(--safe-right)}.touch-stick-knob{background:var(--cream);border:2px solid var(--ink);width:50px;height:50px;box-shadow:0 3px 0 var(--ink);pointer-events:none;border-radius:50%}.touch-aim .touch-stick-knob{background:var(--accent)}.touch-stick-label{font:800 11px var(--display);letter-spacing:1px;white-space:nowrap;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;pointer-events:none;position:absolute;bottom:-22px}.touch-pause{top:var(--safe-top);right:var(--safe-right);position:absolute;font-size:22px!important}.touch-actions{right:var(--safe-right);bottom:calc(var(--safe-bottom) + 164px);gap:8px;display:flex;position:absolute}.touch-actions button{padding:8px 12px}.touch-interact{left:var(--safe-left);bottom:calc(var(--safe-bottom) + 164px);width:128px;padding:7px 12px;position:absolute}.touch-interact small{opacity:.7;margin-top:2px;font-size:10px;display:block}.touch-mode .hud-top{top:var(--safe-top);left:var(--safe-left);right:calc(var(--safe-right) + 60px)}.touch-mode .objective{max-width:100%}.touch-mode .objective h1{-webkit-text-stroke-width:4px;font-size:18px}.touch-mode .hud-bottom{top:calc(var(--safe-top) + 44px);bottom:auto;left:var(--safe-left);right:auto}.touch-mode .vitals-stack{max-width:none}.touch-mode .vitals{padding:6px 2px}.touch-mode .vital-stat{padding:0 8px}.touch-mode .vital-stat strong{font-size:20px}.touch-mode .vital-stat small{display:none}.touch-mode .hud-icon{width:18px;height:18px}.touch-mode .health-bar{display:none}.touch-mode .zone-status{max-width:190px;font-size:12px}.touch-mode .map-stack{top:calc(var(--safe-top) + 60px);right:var(--safe-right);width:104px;bottom:auto}.touch-mode .minimap{width:104px;height:104px}.touch-mode .minimap svg{padding:4px}.touch-mode .idle-warning{top:calc(var(--safe-top) + 115px);left:var(--safe-left);max-width:calc(100% - 150px);padding:6px 10px;font-size:14px}.touch-mode .idle-warning b{margin-left:8px}.touch-mode .interact-prompt:not(.transferring){display:none}.touch-mode .main-menu{padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));padding-bottom:max(24px, env(safe-area-inset-bottom))}.touch-mode .settings-panel{margin-top:max(16px, env(safe-area-inset-top))}.touch-mode .icon-button{min-width:44px;min-height:44px}@media (height<=500px) and (orientation:landscape){.touch-mode .main-menu{padding-top:max(20px, env(safe-area-inset-top));align-items:center}.touch-mode .menu-content{flex-flow:wrap;align-items:center;gap:16px 40px;width:100%}.touch-mode .menu-heading{flex:1;width:auto}.touch-mode .menu-content h1{font-size:60px}.touch-mode .main-menu nav{flex:1;gap:0;min-width:240px;margin:0}.touch-mode .main-menu nav>button{font-size:24px}.touch-mode .menu-help{flex-basis:100%}.touch-mode .pause-menu .menu-content h1 span{font-size:18px}.touch-mode .map-stack{right:calc(var(--safe-right) + 64px);top:var(--safe-top)}.touch-mode .minimap,.touch-mode .map-stack{width:88px;height:88px}.touch-mode .hud-top{right:calc(var(--safe-right) + 164px)}.touch-mode .touch-stick{width:112px;height:112px}.touch-mode .touch-actions{bottom:calc(var(--safe-bottom) + 40px);right:calc(var(--safe-right) + 128px);flex-direction:column}.touch-mode .touch-interact{bottom:calc(var(--safe-bottom) + 40px);left:calc(var(--safe-left) + 128px);width:100px}.touch-mode .idle-warning{top:calc(var(--safe-top) + 88px)}}@media (width<=360px){.touch-mode .touch-stick{width:112px;height:112px}.touch-mode .touch-interact{width:112px}.touch-mode .touch-actions,.touch-mode .touch-interact{bottom:calc(var(--safe-bottom) + 148px)}}
