@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color-scheme:dark;--bg: #090d16;--panel: #101724;--line: #233248;--line-bright: #314762;--ink: #ecf6ff;--muted: #9badc3;--dim: #778ca6;--cyan: #00f0ff;--mint: #44e7ad;--amber: #ffc366;--red: #ff667b;--mono: ui-monospace, "SFMono-Regular", Consolas, monospace;--safe-bottom: env(safe-area-inset-bottom, 0px);background:var(--bg);font-family:Space Grotesk Variable,system-ui,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}html{min-width:280px}body{min-height:100vh;margin:0;background:radial-gradient(ellipse at 10% -10%,#142639 0,transparent 42rem),radial-gradient(ellipse at 100% 20%,#101d2d 0,transparent 34rem),var(--bg)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.46}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}p,h1,h2,h3{margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.shell{max-width:1180px;margin:0 auto;padding:0 32px calc(142px + var(--safe-bottom))}.topbar{padding:max(22px,env(safe-area-inset-top,0px)) 0 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;flex:none}.brand-mark{display:grid;place-items:center;width:45px;height:45px;background:#112630;border:1px solid #235568;color:var(--cyan);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}.brand-name{font-size:24px;font-weight:760;line-height:.98;letter-spacing:-.07em}.brand-name span{color:var(--cyan)}.brand-sub,.eyebrow{color:#8eabc5;font:700 10px/1.35 var(--mono);letter-spacing:.13em;text-transform:uppercase}.brand-sub{margin-top:6px;font-size:8px;white-space:nowrap}.brand-sub b{color:var(--cyan)}.eyebrow{display:flex;align-items:center;gap:7px}.eyebrow>span{width:13px;height:2px;background:var(--cyan)}.live-chip,.meta-chip{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:6px 10px;flex:none;border:1px solid var(--line-bright);border-radius:4px;background:#131d2b;color:#a6bfd2;font:700 10px/1.15 var(--mono);letter-spacing:.065em}.live-chip.active{background:#102a2a;border-color:#23514b;color:#8cf1c5}.live-chip.disconnected{border-color:#733f49;color:var(--red)}.live-dot{display:block;border-radius:50%;background:currentColor;width:7px;height:7px;box-shadow:0 0 10px currentColor}.hud-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px;padding-top:24px}.hud-main,.hud-side{min-width:0}.mission-panel{isolation:isolate;position:relative;overflow:hidden;padding:26px 27px 22px;border:1px solid #245367;background:linear-gradient(115deg,#132636,#0e1828 66%,#0d2633);border-radius:13px 3px}.mission-panel:before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;opacity:.55;background:radial-gradient(circle at 90% 30%,#02e7ff23,transparent 54%),repeating-linear-gradient(90deg,transparent 0 33px,#8fd7ff16 34px 35px),repeating-linear-gradient(0deg,transparent 0 33px,#8fd7ff13 34px 35px);-webkit-mask-image:linear-gradient(110deg,transparent 15%,black 64%);mask-image:linear-gradient(110deg,transparent 15%,black 64%)}.mission-panel:after{content:"";position:absolute;right:0;top:0;width:39px;height:3px;background:var(--cyan);box-shadow:0 0 15px var(--cyan)}.mission-panel.won{border-color:#2c6e5c}.mission-panel.won:after{background:var(--mint)}.mission-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.mission-top h1{font-weight:760;font-size:clamp(42px,7vw,74px);line-height:.87;letter-spacing:-.075em;margin:12px 0}.mission-top p{color:#a2bdd2;font-size:14px;line-height:1.4}.progress-ring{color:var(--cyan);position:relative;width:clamp(94px,20vw,150px);aspect-ratio:1;flex:none}.won .progress-ring{color:var(--mint)}.progress-ring svg{width:100%;height:100%;filter:drop-shadow(0 0 10px #00f0ff25)}.progress-ring>div{position:absolute;inset:0;display:grid;align-content:center;text-align:center}.progress-ring strong{font:730 clamp(24px,5vw,45px)/1 var(--mono);letter-spacing:-.13em;padding-right:5px}.progress-ring strong small{font-size:.46em;padding-left:.13em;letter-spacing:0}.progress-ring span{margin-top:6px;font:700 8px/1 var(--mono);letter-spacing:.15em;color:#a7c9df}.mission-stats{display:grid;grid-template-columns:1.05fr 1.1fr 1fr;margin:22px 0 14px;border-top:1px solid #2b4759;padding-top:15px;gap:12px}.mission-stats div{padding-left:12px;border-left:1px solid #2b4759;min-width:0}.mission-stats div:first-child{padding-left:0;border-left:0}.mission-stats div>span{color:#9eb6cc;font:700 9px/1 var(--mono);letter-spacing:.07em;display:block;margin-bottom:8px}.mission-stats strong{font:700 clamp(16px,3.2vw,24px)/1 var(--mono);white-space:nowrap;display:block;letter-spacing:-.045em}.mission-stats small{color:#97b0c5;font-size:.68em}.progress-track{height:5px;background:#182d3c;border-radius:2px;overflow:hidden}.progress-track span{display:block;height:100%;background:repeating-linear-gradient(90deg,var(--cyan) 0 14px,#219fb6 15px 16px);box-shadow:0 0 12px #00f0ff77;transition:width .45s ease}.won .progress-track span{background:var(--mint)}.hud-notice{display:flex;gap:8px;align-items:center;background:#112331;border:1px solid #24475b;border-radius:7px;padding:10px 12px;color:#b4cde0;font-size:13px;line-height:1.4;margin:12px 0 0}.hud-notice svg{flex:none;color:#8cd8ef}.hud-notice.late{color:#ffdaab;background:#2a211c;border-color:#6b492c}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin:25px 0 12px}.hud-side .section-head{margin-top:3px}.section-head h2{font-size:24px;line-height:1.12;letter-spacing:-.045em;margin-top:3px;font-weight:720}.targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.target-card{--signal: #66c7ff;--signal-line: #254866;--signal-bg: #122236;color:var(--ink);text-align:left;min-width:0;min-height:144px;border:1px solid var(--signal-line);border-left:3px solid var(--signal);border-radius:7px 2px;padding:13px 13px 11px;background:linear-gradient(130deg,var(--signal-bg),var(--panel) 75%);overflow-wrap:anywhere}button.target-card:hover{border-color:var(--signal);background:var(--signal-bg)}.target-card.cooldown{--signal: #ffbb54;--signal-line: #624b37;--signal-bg: #2d241e}.target-card.again{--signal: #ff7884;--signal-line: #693d49;--signal-bg: #2d1d28}.target-card.complete{--signal: #56dfb5;--signal-line: #24514c;--signal-bg: #142b2c}.target-top{display:flex;justify-content:space-between;gap:5px;color:var(--signal)}.target-state{display:flex;gap:5px;align-items:center;font:700 9px/1.15 var(--mono);letter-spacing:.06em}.target-state svg,.target-top>svg{flex:none}.again .target-state{animation:ready-pulse 1.7s ease-in-out infinite}@keyframes ready-pulse{50%{opacity:.68}}.gold{color:#ffe19d}.target-zone{margin-top:10px;color:var(--muted);font-size:12px}.target-card h3{font-size:19px;line-height:1.05;letter-spacing:-.038em;font-weight:710;margin:2px 0 11px}.target-meter{display:flex;align-items:center;gap:7px}.target-meter span{color:var(--signal);font:700 11px/1 var(--mono);white-space:nowrap}.target-meter b{color:var(--dim);font-weight:400}.target-bars{display:flex;gap:3px;width:100%;min-width:0}.target-bars i{flex:1;height:4px;background:var(--signal-line);border-radius:1px}.target-bars i.filled{background:var(--signal)}.target-time,.target-history,.target-action{color:var(--muted);font-size:11px;line-height:1.3;margin-top:9px}.target-time{display:flex;gap:5px;align-items:center;flex-wrap:wrap;color:var(--signal);font-family:var(--mono)}.target-time span{color:#bdafa3;font-family:inherit;font-size:9px}.target-history{display:flex;flex-wrap:wrap;gap:4px 10px;font-family:var(--mono)}.target-history b{color:var(--ink)}.target-action{display:flex;align-items:center;gap:4px;color:var(--signal)}.empty-panel{display:flex;gap:12px;align-items:center;padding:18px 15px;border:1px dashed var(--line-bright);border-radius:8px;color:var(--muted)}.empty-panel strong{color:var(--ink)}.empty-panel p{margin-top:3px;font-size:13px}.streak-card,.rank-card,.utility-panel{border:1px solid var(--line);background:#121c2b;border-radius:9px;margin-bottom:12px}.streak-card{display:flex;gap:12px;align-items:center;padding:14px}.side-icon{color:var(--amber);background:#2e2421;border:1px solid #614333;border-radius:7px;padding:9px}.streak-card strong{font-size:25px;line-height:1.1}.streak-card strong span{color:var(--muted);font-size:14px;font-weight:500}.rank-card{padding:14px}.rank-card header{display:flex;align-items:flex-start;gap:9px}.rank-card header svg{color:var(--cyan);margin-top:2px}.rank-card small{display:block;color:var(--muted);text-transform:capitalize}.rank-card p{font-size:13px;color:var(--muted);margin-top:10px}.rank-card ol{list-style:none;margin:10px 0 0;padding:0}.rank-card li{display:grid;grid-template-columns:22px 1fr auto auto;gap:7px;align-items:center;border-top:1px solid var(--line);padding:7px 0;color:var(--muted);font:12px/1.4 var(--mono)}.rank-card li b{color:var(--ink)}.rank-card li strong{color:var(--cyan)}.rank-number{color:#91a4bd}.utility-panel{overflow:hidden}.utility{width:100%;text-align:left;display:flex;gap:8px;align-items:center;padding:11px 13px;min-height:43px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font-size:13px}.utility:hover,.utility[aria-expanded=true]{background:#16273a}.utility>svg:first-child{color:#86b8d5;flex:none}.utility>svg:last-child,.toggle-indicator{margin-left:auto;color:var(--dim)}.toggle-indicator{width:7px;height:7px;border-radius:50%;background:#506179}.utility[aria-pressed=true] .toggle-indicator{background:var(--mint)}.push-inner{padding:10px 13px 12px;color:var(--muted);font-size:13px}.push-inner .button-row{margin:8px 0}.admin-link{display:inline-flex;align-items:center;gap:7px;color:#9db5d1;font-size:13px}.admin-link:hover{color:var(--cyan)}.aim-dock{position:fixed;z-index:5;left:0;right:0;bottom:0;display:grid;place-items:center;padding:14px 18px calc(13px + var(--safe-bottom));background:linear-gradient(0deg,#090d16 67%,#090d1600);pointer-events:none}.aim-trigger{pointer-events:auto;display:grid;grid-template-columns:33px 1fr 24px;align-items:center;gap:13px;width:min(100%,500px);min-height:69px;text-align:left;padding:9px 21px;color:#081922;background:linear-gradient(105deg,#67f6ff,#00d9f0);border:1px solid #a9fcff;border-radius:9px 2px;box-shadow:0 0 30px #00e0fc40}.aim-trigger:hover:enabled{background:#90faff}.aim-trigger:disabled{background:#304757;border-color:#577084;box-shadow:none;color:#d9e6f1;opacity:.88}.aim-trigger strong{font-size:27px;letter-spacing:-.06em;line-height:.93;display:block;font-weight:800}.aim-trigger small{display:block;font:750 9px/1 var(--mono);letter-spacing:.16em;margin-top:6px}.aim-chevron{justify-self:end}.entry-shell{width:min(100% - 32px,460px);margin:max(22px,env(safe-area-inset-top,0px)) auto 40px}.entry-shell .brand{margin-bottom:22px}.entry-shell>.admin-link{margin-top:18px}.entry-card h1{font-size:40px;font-weight:760;letter-spacing:-.065em;margin:4px 0 8px;line-height:1.03}.entry-icon{display:grid;place-items:center;width:53px;height:53px;color:var(--cyan);background:#132f3a;border:1px solid #2b5667;border-radius:9px 3px;margin-bottom:17px}.dialog{position:relative;color:var(--ink);background:linear-gradient(145deg,#152638,#111a29 72%);border:1px solid #34546b;border-radius:13px 3px;padding:22px;width:100%;box-shadow:0 18px 55px #03090c80}.modal-overlay{position:fixed;z-index:20;inset:0;display:flex;justify-content:center;align-items:center;padding:max(12px,env(safe-area-inset-top,0px)) 14px calc(12px + var(--safe-bottom));background:#060b13f0;overflow:auto;overscroll-behavior:contain}.modal-overlay .dialog{max-width:460px;max-height:100%;overflow:auto}.modal-overlay.mode-aim,.modal-overlay.mode-decoding{background:#080e19;padding:0;overflow:hidden}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.modal-head h2{font-size:35px;font-weight:760;letter-spacing:-.065em;line-height:1.02;margin-top:6px;overflow-wrap:anywhere}.modal-copy{color:#b3c6d9;font-size:14px;line-height:1.47;margin:8px 0 16px}.icon-btn{width:40px;height:40px;border:1px solid var(--line-bright);border-radius:6px;flex:none;display:inline-grid;place-items:center;background:#121f2bdc;color:#b9d0e1}.icon-btn:hover{border-color:var(--cyan);color:var(--cyan)}.pin-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pin-slots>div{height:48px;display:grid;place-items:center;border:1px solid #324b61;background:#0b1725;font:700 13px/1 var(--mono);color:#829ab4;border-radius:6px 2px}.pin-slots .entered,.pin-slots .next{border-color:#388c9f;background:#112d37}.pin-slots i{width:12px;height:12px;transform:rotate(45deg);background:var(--cyan);box-shadow:0 0 14px #00f0ff8c}.pin-status{color:#9eb4ca;margin:10px 0;min-height:20px;font:650 10px/1.3 var(--mono);display:flex;align-items:center;gap:7px}.pin-status[role=alert]{color:var(--red);font-size:12px}.keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.keypad button{display:grid;place-items:center;min-height:49px;background:#19293c;border:1px solid #314a62;border-radius:5px;color:var(--ink);font:730 23px/1 var(--mono)}.keypad button:hover:enabled,.keypad button:active:enabled{color:var(--cyan);background:#153643;border-color:#4599a8}.keypad .key-action{background:#131e2c;color:#9bb5cd}.camera-feed{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;background:#080e19}.mode-pin .camera-feed{opacity:0;pointer-events:none}.viewfinder{--scope: #24f4ff;position:absolute;inset:0;color:var(--scope)}.viewfinder.acquired{--scope: #ffcb6c}.view-shade{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 47%,transparent 11%,#020b143b 44%,#03070de0 100%),linear-gradient(0deg,#070e19e8,transparent 25%,transparent 78%,#08121b9c)}.view-top{position:absolute;top:max(17px,env(safe-area-inset-top,0px));inset-inline:max(15px,calc((100vw - 580px)/2));display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;background:#0a1622d9;border:1px solid #355a70;border-radius:7px}.view-top strong{color:var(--ink);font-size:17px}.view-top .eyebrow{color:var(--scope)}.scope{position:absolute;top:47%;left:50%;transform:translate(-50%,-50%);width:min(72vw,44dvh,355px);aspect-ratio:1;color:var(--scope);filter:drop-shadow(0 0 6px #04ecff83)}.scope svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor}.scope-edges{stroke-width:2.8;stroke-linecap:square}.scope-edges.thin{stroke-width:1;opacity:.85}.scope-circle{stroke-width:.85;stroke-dasharray:2.4 6.3;opacity:.82}.scope-inner{stroke-width:.65;opacity:.75}.scope-axis{stroke-width:1.1;stroke-dasharray:3 4;opacity:.8}.scope-dot{stroke-width:1.65}.scope-core{fill:#f46;stroke:#fff0f3;stroke-width:.8;filter:drop-shadow(0 0 5px #ff305a)}.laser-sweep{position:absolute;top:19%;width:89%;left:5.5%;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--scope) 22%,#ebffff 50%,var(--scope) 78%,transparent);box-shadow:0 0 8px 2px #00f0ff99,0 0 25px 7px #00f0ff35;animation:laser-track 2.3s ease-in-out infinite alternate}@keyframes laser-track{to{top:81%}}.acquired .laser-sweep{top:50%;animation:none;box-shadow:0 0 12px 2px #ffc263bc}.scope-number{position:absolute;right:6%;bottom:8%;font:700 9px/1 var(--mono)}.view-bottom{position:absolute;bottom:calc(16px + var(--safe-bottom));left:50%;transform:translate(-50%);width:min(calc(100% - 30px),580px)}.scope-readout{color:var(--scope);background:#0b1825e0;border:1px solid #3a687b;border-radius:6px;padding:11px 10px;display:flex;justify-content:space-between;align-items:center;gap:6px;text-align:center;font:700 10px/1.3 var(--mono)}.scope-readout>strong{color:var(--ink);font-size:10px}.view-hint,.view-error{background:#08101de8;color:#b8cce0;text-align:center;font-size:13px;padding:6px;border-radius:6px;margin-top:5px}.view-error{color:#ffb6c0}.view-actions{display:flex;gap:8px;margin-top:9px}.view-actions>button{flex:1}.view-retry{width:100%;margin-top:7px}.form-stack{display:grid;gap:13px}.field{display:grid;gap:5px;color:#c6d8e8;font-weight:650;font-size:13px;min-width:0}.field input,.field select,.field textarea{width:100%;min-height:41px;padding:8px 10px;color:var(--ink);background:#0b1321;border:1px solid #33495f;border-radius:5px;font-size:16px;font-weight:480;min-width:0}.field textarea{resize:vertical}.field small{color:var(--muted);font-size:12px}.primary-btn,.secondary-btn,.text-btn{min-height:39px;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-align:center;border:1px solid transparent;border-radius:6px;padding:7px 13px;font-size:13px;font-weight:700;line-height:1.2}.primary-btn{color:#061c24;background:#61eaf5;border-color:#87f6ff}.primary-btn:hover:enabled{background:#a0f9ff}.secondary-btn{color:var(--ink);background:#172839;border-color:#39556e}.secondary-btn:hover:enabled,.secondary-btn[aria-pressed=true]{border-color:#65c9dd;color:#a1f7ff}.text-btn{padding-inline:5px;min-height:35px;color:#a8cce6;background:none;justify-content:flex-start}.text-btn:hover:enabled{color:var(--cyan)}.text-btn.amber{color:var(--amber)}.text-btn.danger{color:#ff9ead}.error-text{color:#ff9aa9;font-size:13px;line-height:1.4}.success-text{color:#80edbf;font-size:13px;line-height:1.4}.muted{color:var(--muted);font-size:13px;line-height:1.45}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.button-row>*{min-width:0}.task-readout{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;background:#142d39;border:1px solid #31596a;border-radius:5px;color:#99e9fa;font:700 10px/1.1 var(--mono);margin:14px 0}.task-readout span{display:flex;align-items:center;gap:6px}.question-text{font-size:20px;line-height:1.17;margin-bottom:12px;overflow-wrap:anywhere}.binary-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.binary-picks button,.tag-picks button{background:#112331;border:1px solid #355571;padding:8px;border-radius:5px;min-height:44px}.binary-picks button.selected,.tag-picks button.selected{color:var(--cyan);border-color:#64dcf0;background:#163a47}.tag-picks{display:flex;gap:6px;flex-wrap:wrap}.tag-picks button{padding:7px 10px;min-height:37px;font-size:13px}.photo-dialog{align-self:flex-end;background:#111c2aee}.photo-controls img{max-height:120px;width:auto;border:1px solid var(--line-bright);border-radius:5px;margin:0 0 8px}.screen-flash{position:fixed;inset:0;z-index:25;background:#1ffac658;pointer-events:none;opacity:0;animation:flash-out .32s ease-out}.screen-flash.miss{background:#ff37495a}.screen-flash.win{background:#ffda734a;animation-duration:.7s}.screen-flash.issue{background:#ffc4773a}@keyframes flash-out{0%{opacity:1}to{opacity:0}}.feedback{--feedback: var(--mint);position:fixed;bottom:calc(95px + var(--safe-bottom));left:50%;transform:translate(-50%);z-index:26;width:min(calc(100% - 30px),500px);display:grid;grid-template-columns:33px 1fr 30px;gap:8px;align-items:start;padding:13px;color:var(--ink);border:1px solid var(--feedback);border-left-width:4px;border-radius:8px;background:#101d2af5;box-shadow:0 12px 34px #0009;animation:toast-in .23s ease-out}.feedback.win,.feedback.issue{--feedback: var(--amber)}.feedback.miss{--feedback: var(--red)}.feedback-icon,.feedback .eyebrow{color:var(--feedback)}.feedback strong{display:block;font-size:20px;line-height:1.05;letter-spacing:-.04em;margin:3px 0}.feedback p{font-size:13px;line-height:1.3;color:#b7cadd}.feedback .icon-btn{width:30px;height:30px}.bonus-line{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.bonus-line span{border:1px solid #426777;border-radius:3px;color:#d1f1fc;padding:3px 4px;font:700 8px/1 var(--mono)}@keyframes toast-in{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}.admin-shell{padding-bottom:42px}.admin-main{max-width:100%}.admin-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin:24px 0 17px}.admin-hero h1{font-size:clamp(35px,7vw,57px);line-height:1;font-weight:760;letter-spacing:-.07em;margin-top:5px}.admin-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:15px}.admin-tabs button{min-height:40px;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;color:var(--muted);border:1px solid var(--line);border-radius:6px;background:#101b29;font-size:13px;font-weight:670}.admin-tabs button[aria-current]{color:#9ef6ff;border-color:#318598;background:#14313e}.admin-tabs b{color:#ffe0a0;font-family:var(--mono)}.admin-panel{padding:18px;border:1px solid var(--line-bright);border-radius:9px;background:#121d2c;margin-bottom:13px}.admin-panel h2{font-size:24px;font-weight:720;letter-spacing:-.04em;line-height:1.16}.admin-panel h3{font-size:17px;font-weight:720;margin:14px 0 7px}.admin-panel>p.muted,.admin-panel>p.error-text{margin:6px 0 11px}.admin-panel>.form-stack,.admin-panel>.inline-form,.admin-panel>.button-row,.admin-panel>.field{margin-top:12px}.form-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:10px}.check-field{min-height:33px;display:flex;align-items:center;gap:7px;color:#c4d4e5;font-size:13px}.check-field input{accent-color:#3bdeed;width:17px;height:17px;flex:none}.staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:5px;margin:8px 0 12px}.inline-form{display:flex;flex-wrap:wrap;gap:9px;align-items:flex-end}.inline-form .field{min-width:135px}.admin-list{margin-top:10px}.admin-list>div{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding:9px 0}.admin-list strong{font-weight:690}.admin-list p,.admin-list>div>span{color:var(--muted);font-size:13px;line-height:1.35}.admin-list p.answer-text{color:#e1f0fc;margin-top:4px}.admin-message{display:flex;align-items:center;gap:7px;border:1px solid currentColor;background:#131f2c;border-radius:6px;padding:8px 12px;margin-bottom:10px}.pair-result{border:1px dashed #3a6a7f;background:#102733;margin:13px 0;padding:9px;display:flex;gap:7px;justify-content:space-between;flex-wrap:wrap;align-items:center;border-radius:7px}.pair-result small{display:block;color:#a3c7da;font:700 9px/1 var(--mono);margin-bottom:5px}.pair-result code{color:var(--cyan);font-size:clamp(11px,3.2vw,19px);overflow-wrap:anywhere;-webkit-user-select:all;-moz-user-select:all;user-select:all}.status-lines{display:grid;gap:7px;font-size:13px;color:var(--muted);margin:12px 0}.status-lines strong{color:var(--ink);margin-right:6px}.issue-note{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:5px}.month-field{max-width:240px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:12px 0}.calendar-head{text-align:center;color:var(--muted);font:700 10px/1 var(--mono);padding:5px}.calendar-cell{position:relative;text-align:left;min-height:48px;background:#17263a;border:1px solid #345575;border-radius:6px;padding:5px;color:var(--ink)}.calendar-cell.quiet{background:#0d1623;border-color:var(--line);color:#8498af}.calendar-cell.done{background:#15332f;border-color:#3e7f6c}.calendar-cell.partial{background:#302326;border-color:#77505b}.calendar-cell[aria-pressed=true]{border:2px solid var(--cyan)}.calendar-cell small{display:block;color:#b5cde1;font:650 9px/1.2 var(--mono)}.calendar-cell i{width:6px;height:6px;background:var(--amber);border-radius:50%;position:absolute;top:6px;right:6px}.report-score{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:12px;color:var(--muted);font-size:13px}.report-score strong{color:var(--cyan);font:700 21px/1.1 var(--mono)}.print-actions{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}.print-sheet{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:8px;margin-top:12px}.qr-label{display:grid;justify-items:center;gap:2px;padding:7px 6px;text-align:center;background:#fff;border:1px solid #a9a9a9;color:#000;overflow-wrap:anywhere}.qr-label small{font:700 8px/1 var(--mono);letter-spacing:.09em}.qr-label span{font-size:12px}.qr-label img{width:144px;height:144px}@media(max-width:805px){.shell{padding-inline:18px}.hud-grid{grid-template-columns:minmax(0,1fr) 235px;gap:15px}.mission-panel{padding-inline:18px}}@media(max-width:620px){.shell{padding-inline:13px}.topbar{padding-top:max(14px,env(safe-area-inset-top,0px));padding-bottom:11px}.brand{gap:8px}.brand-mark{width:40px;height:40px}.brand-name{font-size:21px}.brand-sub{font-size:7px}.live-chip{font-size:8px;padding-inline:6px;gap:5px}.hud-grid{display:block;padding-top:13px}.hud-side .section-head{margin-top:22px}.mission-panel{padding:17px 14px 15px}.mission-top h1{font-size:clamp(40px,11.5vw,61px);margin:8px 0}.mission-top p{font-size:12px}.mission-stats{margin-top:16px;gap:7px;padding-top:11px}.mission-stats div{padding-left:7px}.mission-stats div>span{font-size:8px}.mission-stats strong{font-size:clamp(15px,4.45vw,20px)}.progress-ring{width:min(29vw,112px)}.progress-ring strong{font-size:clamp(25px,7.2vw,36px)}.targets{gap:8px}.target-card{padding:10px 9px;min-height:125px}.target-card h3{font-size:17px}.target-state{font-size:8px;letter-spacing:.025em}.section-head{margin-top:18px}.section-head h2{font-size:22px}.admin-hero{margin-top:18px}.admin-panel{padding:12px}.admin-links{gap:4px}.admin-links .secondary-btn{font-size:11px;padding-inline:5px;min-height:34px}.admin-tabs{gap:5px}.admin-tabs button{font-size:11px;padding-inline:7px}}@media(max-height:600px){.keypad button{min-height:36px}.pin-dialog{padding:12px}.pin-dialog .modal-copy{margin-bottom:8px}.pin-slots>div{height:38px}.view-top{top:8px}.view-bottom{bottom:calc(8px + var(--safe-bottom))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@page{size:A4;margin:10mm}@media print{body:has(.print-sheet),body:has(.print-sheet) .admin-shell{background:#fff;color:#000;padding:0}body:has(.print-sheet) .topbar,body:has(.print-sheet) .admin-main>:not(.print-preview),.print-actions{display:none!important}.print-preview{display:block;border:0;padding:0;margin:0;background:#fff}.print-sheet{margin:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:2mm}.qr-label{-moz-column-break-inside:avoid;break-inside:avoid;padding:3mm}.qr-label img{width:36mm;height:36mm}}
