@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-vietnamese-400-normal-Dpl4UHAZ.woff2) format("woff2"),url(./barlow-vietnamese-400-normal-BFeobeCK.woff) format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-latin-ext-400-normal-HxX4XjxC.woff2) format("woff2"),url(./barlow-latin-ext-400-normal-CvBsJvxq.woff) format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2"),url(./barlow-latin-400-normal-fsAxiSwU.woff) format("woff");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}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-vietnamese-600-normal-DcjprdFV.woff2) format("woff2"),url(./barlow-vietnamese-600-normal-CA_GiK2e.woff) format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-latin-ext-600-normal-B8NK_A3D.woff2) format("woff2"),url(./barlow-latin-ext-600-normal-DMVRjfRT.woff) format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-latin-600-normal-DILqtrty.woff2) format("woff2"),url(./barlow-latin-600-normal-CNwfPWQD.woff) format("woff");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}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(./courier-prime-latin-ext-400-normal-B-EsvyE4.woff2) format("woff2"),url(./courier-prime-latin-ext-400-normal-CKOCNFvK.woff) format("woff");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:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(./courier-prime-latin-400-normal-BbyBr73r.woff2) format("woff2"),url(./courier-prime-latin-400-normal-BAlbUm6l.woff) format("woff");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}@font-face{font-family:Saira Extra Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./saira-extra-condensed-vietnamese-600-normal-Bw3T_v08.woff2) format("woff2"),url(./saira-extra-condensed-vietnamese-600-normal-BorKTLJT.woff) format("woff");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:Saira Extra Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./saira-extra-condensed-latin-ext-600-normal-D5rDoqDL.woff2) format("woff2"),url(./saira-extra-condensed-latin-ext-600-normal-DUTQ9dai.woff) format("woff");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:Saira Extra Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./saira-extra-condensed-latin-600-normal-DDND9nMt.woff2) format("woff2"),url(./saira-extra-condensed-latin-600-normal-BP5a5JUL.woff) format("woff");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}@font-face{font-family:Saira Extra Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./saira-extra-condensed-vietnamese-700-normal-BKa7fQCU.woff2) format("woff2"),url(./saira-extra-condensed-vietnamese-700-normal-Co_Cu1bK.woff) format("woff");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:Saira Extra Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./saira-extra-condensed-latin-ext-700-normal-Ceok_LER.woff2) format("woff2"),url(./saira-extra-condensed-latin-ext-700-normal-CBv6A1AJ.woff) format("woff");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:Saira Extra Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./saira-extra-condensed-latin-700-normal-CZ0oVUm2.woff2) format("woff2"),url(./saira-extra-condensed-latin-700-normal-BUN7DA2r.woff) format("woff");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}@font-face{font-family:Saira Extra Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(./saira-extra-condensed-vietnamese-800-normal-BVxowfiw.woff2) format("woff2"),url(./saira-extra-condensed-vietnamese-800-normal-CdfA7Jvg.woff) format("woff");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:Saira Extra Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(./saira-extra-condensed-latin-ext-800-normal-a1G3PWPn.woff2) format("woff2"),url(./saira-extra-condensed-latin-ext-800-normal-zZyBruoR.woff) format("woff");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:Saira Extra Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(./saira-extra-condensed-latin-800-normal-CKchDMnX.woff2) format("woff2"),url(./saira-extra-condensed-latin-800-normal-8_tzNIYp.woff) format("woff");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}@font-face{font-family:Saira Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./saira-semi-condensed-vietnamese-600-normal-BleKkWhQ.woff2) format("woff2"),url(./saira-semi-condensed-vietnamese-600-normal-CtOKQqyp.woff) format("woff");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:Saira Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./saira-semi-condensed-latin-ext-600-normal-cD8iogYK.woff2) format("woff2"),url(./saira-semi-condensed-latin-ext-600-normal-gxH8H1Hk.woff) format("woff");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:Saira Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./saira-semi-condensed-latin-600-normal-BlCmTINa.woff2) format("woff2"),url(./saira-semi-condensed-latin-600-normal-CyCQx_HP.woff) format("woff");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}:root{--night: #0b1013;--engrave: #c7d0cf;--engrave-dim: #8c9a9c;--amber: #ffb547;--amber-hot: #ffd27a;--amber-glow: #ff8f1f;--crimson: #c8283a;--brass: #c49a4a;--brass-hi: #ecd08a;--mint: #5dffb0;--mint-hi: #d4fff0;--paper: #efe4c8;--typed: #23201a;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--brushed: repeating-linear-gradient(90deg, #ffffff06 0 1px, #0000 1px 3px), repeating-linear-gradient(90deg, #00000010 0 2px, #0000 2px 7px);--display: "Saira Extra Condensed", "Saira Semi Condensed", sans-serif;--typewriter: "Courier Prime", "Courier New", monospace;--nums: "Saira Semi Condensed", sans-serif;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:var(--night);color:var(--engrave);font-family:Barlow,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none;user-select:none;-webkit-user-select:none;touch-action:manipulation}body:after{content:"";position:fixed;top:-50%;right:-50%;bottom:-50%;left:-50%;z-index:100;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:grain .9s steps(4) infinite}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-1%,-2%)}}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}:focus-visible{outline:3px solid var(--amber);outline-offset:2px}#app{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:radial-gradient(120% 70% at 50% 0%,#1a252b,var(--night) 70%)}.screw{position:absolute;width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d9dee0,#6c7a80 55%,#2a3438);box-shadow:0 1px 1px #000a,inset 0 0 0 1px #0006;z-index:2}.screw:after{content:"";position:absolute;left:2px;right:2px;top:5px;height:1.5px;background:#2a3236;transform:rotate(35deg)}.screw.tl{left:6px;top:6px}.screw.tr{right:6px;top:6px}.screw.bl{left:6px;bottom:6px}.screw.br{right:6px;bottom:6px}.screw.tr:after{transform:rotate(-20deg)}.screw.bl:after{transform:rotate(80deg)}.screw.br:after{transform:rotate(10deg)}.lamp{width:14px;height:14px;border-radius:50%;flex:none;background:radial-gradient(circle at 40% 35%,#6b5130,#2a1d10 70%);box-shadow:inset 0 1px 2px #000c,0 0 0 2px #11181c,0 0 0 3px #4d5c62;transition:background .2s,box-shadow .2s}.lamp.on{background:radial-gradient(circle at 40% 35%,var(--amber-hot),var(--amber) 45%,#b8661a);box-shadow:inset 0 1px 1px #fff8,0 0 0 2px #11181c,0 0 0 3px #4d5c62,0 0 12px 2px var(--amber-glow)}.lamp.red{background:radial-gradient(circle at 40% 35%,#ff8a95,var(--crimson) 50%,#6e0f19);box-shadow:inset 0 1px 1px #fff8,0 0 0 2px #11181c,0 0 0 3px #4d5c62,0 0 14px 3px #e2384a}.btn{min-height:48px;padding:10px 18px;border-radius:6px;border:0;background:var(--brushed),linear-gradient(180deg,#4b5f67,#2b3a41);color:var(--engrave);font:600 18px var(--display);letter-spacing:.12em;text-transform:uppercase;text-shadow:0 1px 0 #000a;box-shadow:0 4px #0d1418,0 5px 8px #0008,inset 0 1px #ffffff30,inset 0 -2px #0004;display:flex;align-items:baseline;justify-content:center;gap:10px}.btn small{font:400 13px var(--typewriter);letter-spacing:.04em;text-transform:none;opacity:.75}.btn:active{transform:translateY(3px);box-shadow:0 1px #0d1418,inset 0 1px #ffffff20}.btn.primary{background:var(--brushed),linear-gradient(180deg,#d8404f,#9e1d2b);color:#fff3e6;box-shadow:0 4px #5a0f18,0 5px 10px #0008,inset 0 1px #ffffff40}.btn:disabled{opacity:.45;cursor:default}.link{background:none;border:0;color:var(--engrave-dim);padding:8px 6px;min-height:40px;font:600 15px var(--display);letter-spacing:.16em;text-transform:uppercase}.iconbtn{width:44px;height:44px;border-radius:6px;border:0;display:grid;place-items:center;font-size:20px;line-height:1;color:var(--engrave);flex:none;background:var(--brushed),linear-gradient(180deg,#3f525a,#26343b);box-shadow:0 3px #0b1114,inset 0 1px #ffffff28}.iconbtn.small{width:36px;height:32px;font-size:15px}.iconbtn.off{color:#5d6a6d}.iconbtn:active{transform:translateY(2px);box-shadow:0 1px #0b1114}.play{position:absolute;top:0;right:0;bottom:0;left:0;max-width:520px;margin:0 auto;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:8px;padding:calc(6px + var(--safe-t)) 8px 7px;background:var(--brushed),linear-gradient(180deg,#2b3a41,#1a252b);border-bottom:2px solid #0a0f12;box-shadow:0 2px #ffffff10,0 6px 14px #0008;position:relative;z-index:3}.play-head{flex:1;min-width:0}.play-title{font:800 19px var(--display);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--engrave);text-shadow:0 -1px 0 #000}.play-sub{font:400 12px var(--typewriter);color:var(--engrave-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vfd{min-width:96px;padding:3px 10px 4px;border-radius:4px;text-align:right;background:#050807;box-shadow:inset 0 2px 6px #000,0 0 0 1px #3a4a50,0 1px #ffffff14}.vfd small{display:block;font:600 9px var(--display);letter-spacing:.25em;color:#5dffb077;text-align:left}.vfd output{display:block;font:600 22px/1 var(--nums);color:var(--mint-hi);text-shadow:0 0 8px #5dffb0aa;font-variant-numeric:tabular-nums}.status{display:flex;align-items:center;gap:14px;padding:7px 12px 5px}.st-group{display:flex;align-items:center;gap:8px}.st-l{font:700 13px var(--display);letter-spacing:.16em;color:var(--engrave-dim);display:flex;flex-direction:column;line-height:1}.st-l small{font:600 9px var(--display);letter-spacing:.2em;color:#6b787a;margin-top:2px}.st-n{font:600 20px var(--nums);color:var(--amber-hot);text-shadow:0 0 6px #ff8f1f88;font-variant-numeric:tabular-nums}.hull{display:flex;gap:7px}.hull .lamp{width:16px;height:16px}.hull.low .lamp.on{animation:alarm .8s steps(2) infinite}@keyframes alarm{50%{background:radial-gradient(circle at 40% 35%,#ff8a95,var(--crimson) 50%,#6e0f19);box-shadow:inset 0 1px 1px #fff8,0 0 0 2px #11181c,0 0 0 3px #4d5c62,0 0 16px 4px #e2384a}}.status .iconbtn{margin-left:auto}.bezel{position:relative;flex:1 1 auto;min-height:0;margin:2px 10px 0;padding:12px;border-radius:16px;background:linear-gradient(160deg,#f0d896,#b8893a 30%,#7a5520 60%,#c49a4a 85%,#8a6428);box-shadow:0 10px 24px #000c,inset 0 1px #fff6,inset 0 -2px #0006}.scope-wrap{position:relative;width:100%;height:100%;border-radius:10px;overflow:hidden;box-shadow:0 0 0 2px #2a1c08,inset 0 0 0 1px #000;background:#04070a}#scope{display:block;width:100%;height:100%;touch-action:none}.glass{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(160deg,#ffffff12,#ffffff04 26%,#0000 44%),radial-gradient(130% 100% at 50% 50%,#0000 62%,#000a)}.comms{position:absolute;left:0;right:0;bottom:0;height:46%;pointer-events:none}.comms .cut{position:absolute;left:-4%;bottom:0;height:100%;width:auto;max-width:52%;object-fit:contain;object-position:left bottom;filter:drop-shadow(0 0 12px #000c);animation:cutIn .32s cubic-bezier(.2,.9,.2,1) both;mask-image:linear-gradient(180deg,#000 70%,#0000);-webkit-mask-image:linear-gradient(180deg,#000 70%,#0000 100%)}.comms .cut.radio{filter:drop-shadow(0 0 10px #000c) sepia(.2) hue-rotate(60deg) saturate(.8) brightness(.95)}.comms .say{position:absolute;left:34%;right:8px;bottom:10px;padding:8px 11px 9px;border-radius:4px;background:#0b1013e6;border-left:3px solid var(--who, var(--amber));box-shadow:0 6px 16px #000a;animation:sayIn .3s .06s cubic-bezier(.2,.9,.2,1) both}.comms.out .cut{animation:cutOut .3s ease-in both}.comms.out .say{animation:sayOut .25s ease-in both}.say-who{font:700 12px var(--display);letter-spacing:.22em;color:var(--who, var(--amber));text-transform:uppercase}.say-who em{font-style:normal;color:var(--mint);margin-left:6px;letter-spacing:.12em}.say-id{font:600 15px/1.3 Barlow,sans-serif;color:#fff4e2}.say-en{font:400 12px/1.3 var(--typewriter);color:var(--engrave-dim);margin-top:2px}@keyframes cutIn{0%{opacity:0;transform:translate(-30%)}}@keyframes cutOut{to{opacity:0;transform:translate(-30%)}}@keyframes sayIn{0%{opacity:0;transform:translateY(10px)}}@keyframes sayOut{to{opacity:0;transform:translateY(6px)}}.keys{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:12px 12px calc(12px + var(--safe-b));flex:none;background:var(--brushed),linear-gradient(180deg,#24323a,#151f24);border-top:2px solid #0a0f12;box-shadow:inset 0 1px #ffffff14;margin-top:10px}.key{position:relative;height:clamp(66px,11vh,92px);border:0;border-radius:8px;padding:6px;background:linear-gradient(180deg,#8a6a30,#5a4018);box-shadow:0 5px #20160a,0 6px 10px #000a,inset 0 1px #fff5;display:flex;touch-action:none;transition:transform 60ms}.key .lens{flex:1;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:radial-gradient(120% 90% at 50% 30%,#3a2a14,#1a1208 75%);box-shadow:inset 0 2px 6px #000d,inset 0 0 0 1px #0008;color:#7a6440;font:800 15px var(--display);letter-spacing:.14em}.key .num{font:600 11px var(--nums);opacity:.7}.key[data-tgt=hit] .lens{background:radial-gradient(120% 90% at 50% 30%,#b9813a,#7a4c18 55%,#3a220a);color:#ffe2a8;box-shadow:inset 0 1px 2px #fff4,inset 0 -6px 12px #0006}.key[data-tgt=lantern] .lens{background:radial-gradient(120% 90% at 50% 30%,#fffbe8,#ffd27a 40%,#e08a1a);color:#3a1d04;box-shadow:inset 0 1px 2px #fffc,0 0 22px 4px #ffb547aa;animation:lanternKey 1.4s ease-in-out infinite}.key[data-threat="1"] .lens{background:radial-gradient(120% 90% at 50% 30%,#ffb0b8,#e2384a 45%,#7a1220);color:#fff0f0;box-shadow:inset 0 1px 2px #fff8,0 0 18px 3px #e2384a99}.key[data-threat="1"][data-tgt=lantern] .lens{background:radial-gradient(120% 90% at 50% 30%,#fff1c8,#ffb547 40%,#e2384a)}@keyframes lanternKey{50%{box-shadow:inset 0 1px 2px #fffc,0 0 10px 1px #ffb547aa}}.key.aim,.key:active{transform:translateY(4px);box-shadow:0 1px #20160a,inset 0 1px #fff3}.key.aim .lens{filter:brightness(1.2)}#overlay:empty{display:none}#overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;animation:fade .25s ease-out}@keyframes fade{0%{opacity:0}}.screen{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.screen-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:center / cover no-repeat}.screen-bg.drift{animation:drift 40s ease-in-out infinite alternate}@keyframes drift{0%{transform:scale(1.06) translate(-1%)}to{transform:scale(1.06) translate(1%,-1%)}}.shade-v{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0b101300,#0b101322 35%,#0b1013dd 72%,#0b1013)}.shade-all{position:absolute;top:0;right:0;bottom:0;left:0;background:#0b1013cc;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.inner{position:relative;max-width:520px;height:100%;margin:0 auto;padding:calc(18px + var(--safe-t)) 16px calc(16px + var(--safe-b));display:flex;flex-direction:column;overflow-y:auto}.inner.center{justify-content:center}.title-logo{margin-top:2vh;text-align:center}.title-logo img{width:min(100%,480px);filter:drop-shadow(0 8px 20px #000e);animation:logoIn 1.1s cubic-bezier(.2,.9,.2,1) both}@keyframes logoIn{0%{opacity:0;transform:translate(-24px) skew(-6deg)}}.tagline{align-self:center;max-width:420px;text-align:center;color:#f0e6d2;margin:10px 8px auto;padding:8px 12px;background:#0b1013b0;border-left:3px solid var(--crimson);font:400 13px/1.45 var(--typewriter);text-shadow:0 1px 4px #000}.tap-hint{text-align:center;margin:0 0 6vh;font:700 18px var(--display);letter-spacing:.4em;color:var(--amber-hot);text-shadow:0 0 12px #ff8f1f;animation:blink 1.6s ease-in-out infinite}@keyframes blink{50%{opacity:.35}}.rack{position:relative;display:grid;gap:8px;margin-top:14px;padding:22px 14px 18px;border-radius:10px;background:var(--brushed),linear-gradient(180deg,#2f4048ee,#1b282fee);box-shadow:0 18px 40px #000c,inset 0 1px #fff2,inset 0 0 0 1px #0008;animation:rackIn .7s .15s cubic-bezier(.2,.9,.2,1) both}@keyframes rackIn{0%{opacity:0;transform:translateY(18px)}}.plate{position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:12px;align-items:center;text-align:left;min-height:58px;padding:9px 14px;border:0;border-radius:5px;overflow:hidden;background:linear-gradient(180deg,#1b262c,#121b20);box-shadow:inset 0 2px 4px #000c,inset 0 -1px #ffffff12,0 1px #ffffff14}.plate .lamp{grid-row:span 2}.plate .pl-l{font:800 21px var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--engrave);text-shadow:0 -1px 0 #000,0 1px 0 #ffffff12;position:relative}.plate .pl-s{font:400 13px var(--typewriter);color:var(--engrave-dim);position:relative}.plate .pl-r{grid-row:span 2;text-align:right;font:600 12px var(--display);letter-spacing:.14em;color:var(--engrave-dim);position:relative}.plate .pl-r b{display:block;font:600 18px var(--nums);color:var(--amber-hot);letter-spacing:0}.plate:active{transform:translateY(1px)}.plate.primary .lamp{background:radial-gradient(circle at 40% 35%,#ff8a95,var(--crimson) 50%,#6e0f19);box-shadow:inset 0 1px 1px #fff8,0 0 0 2px #11181c,0 0 0 3px #4d5c62,0 0 14px 3px #e2384a;animation:pulse 2.6s ease-in-out infinite}.plate.done .lamp{background:radial-gradient(circle at 40% 35%,var(--amber-hot),var(--amber) 45%,#b8661a);box-shadow:inset 0 1px 1px #fff8,0 0 0 2px #11181c,0 0 0 3px #4d5c62,0 0 10px 2px var(--amber-glow)}@keyframes pulse{50%{box-shadow:inset 0 1px 1px #fff8,0 0 0 2px #11181c,0 0 0 3px #4d5c62,0 0 6px 1px #e2384a}}.plate:disabled{opacity:.4;cursor:default}.plate.sky{background-size:cover;background-position:center 30%;min-height:64px}.plate.sky:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0b1013f2,#0b1013c0 55%,#0b101366)}.plate.sky .lamp{position:relative}.foot{display:flex;justify-content:center;gap:4px 14px;flex-wrap:wrap;margin-top:10px}.status-line{text-align:center;color:var(--engrave-dim);font:400 12px var(--typewriter);min-height:16px;margin:6px 0 0}h2.card-title{margin:0 0 4px;font:800 30px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:#fff;text-shadow:0 2px 10px #000}h2.card-title small{display:block;margin-top:4px;font:600 13px var(--display);letter-spacing:.3em;color:var(--amber)}.sheet{position:relative;padding:18px 16px;border-radius:4px;background:var(--paper);color:var(--typed);box-shadow:0 14px 30px #000c;font:400 15px/1.5 var(--typewriter)}.sheet:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:repeating-linear-gradient(90deg,var(--crimson) 0 18px,#fff 18px 36px);opacity:.85}.sheet ul{margin:6px 0 0;padding-left:18px}.sheet li{margin:0 0 7px}.kind{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:center;margin:8px 0}.kind img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 2px 3px #0008);background:radial-gradient(circle,#1b262c,#0b1013);border-radius:6px;padding:4px}.kind b{font:800 17px var(--display);letter-spacing:.1em;text-transform:uppercase}.kind b small{font:600 12px var(--display);letter-spacing:.2em;color:#8a6a30;margin-left:6px}.kind p{margin:0;font-size:13px}.stats{display:grid;grid-template-columns:1fr auto;gap:4px 12px}.stats b{font:600 18px var(--nums);text-align:right}.btns{display:grid;gap:10px;margin-top:16px}.scene .cut-big{position:absolute;bottom:0;left:50%;height:78%;max-width:110%;transform:translate(-50%);object-fit:contain;object-position:bottom;filter:drop-shadow(0 0 24px #000c);animation:cutUp .4s cubic-bezier(.2,.9,.2,1) both}.scene .cut-big.left{left:38%}.scene .cut-big.radio{height:54%;bottom:26%;left:72%;filter:drop-shadow(0 0 18px #000c) sepia(.25) hue-rotate(60deg) saturate(.8);mask-image:radial-gradient(70% 60% at 50% 40%,#000 60%,#0000);-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000 60%,#0000 100%)}@keyframes cutUp{0%{opacity:0;transform:translate(-50%,6%)}}.scene .scanlines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.dialog{position:absolute;left:12px;right:12px;bottom:calc(14px + var(--safe-b));max-width:500px;margin:0 auto;padding:14px 16px 16px 18px;background:#0b1013ee;border-left:4px solid var(--who, var(--amber));border-radius:3px;box-shadow:0 10px 30px #000c;animation:sayIn .3s cubic-bezier(.2,.9,.2,1) both}.dialog .say-who{font-size:14px}.dialog .say-id{font-size:18px;margin-top:4px}.dialog .say-en{font-size:13px;margin-top:5px}.dialog .more{position:absolute;right:12px;bottom:8px;color:var(--amber);font-size:12px;animation:blink 1.2s infinite}.skip{position:absolute;top:calc(12px + var(--safe-t));right:12px;z-index:2}.place{position:absolute;top:calc(16px + var(--safe-t));left:14px;right:80px;padding:8px 12px;background:#0b1013cc;border-left:4px solid var(--crimson);font:700 13px var(--display);letter-spacing:.24em;text-transform:uppercase;color:#fff;animation:sayIn .4s both}.place small{display:block;font:400 11px var(--typewriter);letter-spacing:.04em;text-transform:none;color:var(--engrave-dim)}.result-cut{position:absolute;right:-12%;bottom:0;height:62%;object-fit:contain;object-position:bottom right;filter:drop-shadow(0 0 20px #000c);animation:cutUp2 .5s both}@keyframes cutUp2{0%{opacity:0;transform:translateY(5%)}}.toast{position:fixed;left:50%;bottom:22%;transform:translate(-50%);background:#0b1013ee;border-left:3px solid var(--amber);color:var(--engrave);padding:8px 14px;border-radius:3px;font:400 13px var(--typewriter);z-index:40;pointer-events:none;max-width:90vw;text-align:center}#gate{position:fixed;left:50%;bottom:max(16px,var(--safe-b));transform:translate(-50%);z-index:30}#gate:empty{display:none}@media(max-height:680px){.key{height:58px}.keys{padding-top:8px;margin-top:6px}.status{padding:4px 12px 2px}}
