@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/app/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(/app/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(/app/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(/app/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(/app/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/app/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:500;src:url(/app/barlow-vietnamese-500-normal-zTViEIzf.woff2)format("woff2"),url(/app/barlow-vietnamese-500-normal-GNfB7rCE.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:500;src:url(/app/barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2"),url(/app/barlow-latin-ext-500-normal-CJPcKP2Q.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:500;src:url(/app/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(/app/barlow-latin-500-normal-C1h8hMer.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(/app/barlow-vietnamese-600-normal-DcjprdFV.woff2)format("woff2"),url(/app/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(/app/barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2"),url(/app/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(/app/barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(/app/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:Saira Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/app/saira-semi-condensed-vietnamese-500-normal-DaSOOpQd.woff2)format("woff2"),url(/app/saira-semi-condensed-vietnamese-500-normal-Dvrr_M0-.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:Saira Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/app/saira-semi-condensed-latin-ext-500-normal-DcBBbpUL.woff2)format("woff2"),url(/app/saira-semi-condensed-latin-ext-500-normal-CBunCqud.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:Saira Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/app/saira-semi-condensed-latin-500-normal-OkPZo89y.woff2)format("woff2"),url(/app/saira-semi-condensed-latin-500-normal-DNw5c0PQ.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:Saira Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/app/saira-semi-condensed-vietnamese-700-normal-CydgS1-X.woff2)format("woff2"),url(/app/saira-semi-condensed-vietnamese-700-normal-Wp1D8kAu.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:Saira Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/app/saira-semi-condensed-latin-ext-700-normal-B2SOp30D.woff2)format("woff2"),url(/app/saira-semi-condensed-latin-ext-700-normal-xWD0nNWp.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:Saira Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/app/saira-semi-condensed-latin-700-normal-DrSnQFZS.woff2)format("woff2"),url(/app/saira-semi-condensed-latin-700-normal-BeJ8KZkF.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:Saira Extra Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/app/saira-extra-condensed-vietnamese-600-normal-Bw3T_v08.woff2)format("woff2"),url(/app/saira-extra-condensed-vietnamese-600-normal-BorKTLJT.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:Saira Extra Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/app/saira-extra-condensed-latin-ext-600-normal-D5rDoqDL.woff2)format("woff2"),url(/app/saira-extra-condensed-latin-ext-600-normal-DUTQ9dai.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:Saira Extra Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/app/saira-extra-condensed-latin-600-normal-DDND9nMt.woff2)format("woff2"),url(/app/saira-extra-condensed-latin-600-normal-BP5a5JUL.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:Saira Extra Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/app/saira-extra-condensed-vietnamese-800-normal-BVxowfiw.woff2)format("woff2"),url(/app/saira-extra-condensed-vietnamese-800-normal-CdfA7Jvg.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:Saira Extra Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/app/saira-extra-condensed-latin-ext-800-normal-a1G3PWPn.woff2)format("woff2"),url(/app/saira-extra-condensed-latin-ext-800-normal-zZyBruoR.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:Saira Extra Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/app/saira-extra-condensed-latin-800-normal-CKchDMnX.woff2)format("woff2"),url(/app/saira-extra-condensed-latin-800-normal-8_tzNIYp.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:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(/app/courier-prime-latin-ext-400-normal-B-EsvyE4.woff2)format("woff2"),url(/app/courier-prime-latin-ext-400-normal-CKOCNFvK.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:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(/app/courier-prime-latin-400-normal-BbyBr73r.woff2)format("woff2"),url(/app/courier-prime-latin-400-normal-BAlbUm6l.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:Courier Prime;font-style:normal;font-display:swap;font-weight:700;src:url(/app/courier-prime-latin-ext-700-normal-ByMJlNdM.woff2)format("woff2"),url(/app/courier-prime-latin-ext-700-normal-BIFoAzHx.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:Courier Prime;font-style:normal;font-display:swap;font-weight:700;src:url(/app/courier-prime-latin-700-normal-D1YCjmaD.woff2)format("woff2"),url(/app/courier-prime-latin-700-normal-CVvp4Sof.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{--night:#0b1013;--engrave:#c7d0cf;--engrave-dim:#8c9a9c;--amber:#ffb547;--amber-hot:#ffd27a;--amber-glow:#ff8f1f;--crimson:#c8283a;--crimson-ink:#b3202f;--brass:#c49a4a;--paper:#efe4c8;--paper-2:#e6d8b6;--typed:#23201a;--card:#f1e7d0;--card-peer:#e6d6b2;--ink:#18222c;--entry:#23548f;--note:#4f6a80;--tube:#cdbd97;--tube-edge:#9c8b6b;--tube-shine:#ece2c8;--bulb-ring:#6f6147;--sel:#f6c86e;--same:#f3d79c;--hint:#2f8f86;--conflict:#c23b46;--t:1;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,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;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root.high-contrast{--card:#fff;--card-peer:#e4ecf2;--ink:#000;--entry:#0a3c9a;--tube:#c9c9c9;--tube-edge:#555;--tube-shine:#e9e9e9;--bulb-ring:#000;--sel:#ffd84a;--same:#ffe999;--engrave:#fff;--engrave-dim:#d7dfe2;--paper:#fff;--paper-2:#fff;--typed:#000}:root.large-text{--t:1.18}*{box-sizing:border-box}html,body{background:var(--night);min-height:100%;margin:0}body{color:var(--engrave);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-family:Barlow,system-ui,sans-serif;font-size:calc(16px * var(--t))}body:after{content:"";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:.9s steps(4,end) infinite grain;position:fixed;inset:-50%}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-1%,-2%)}}button,input,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.boot{min-height:100dvh;font:600 18px var(--display);letter-spacing:.4em;color:var(--brass);place-items:center;display:grid}#app{min-height:100dvh}.screen{min-height:100dvh;position:relative}.screw{background:radial-gradient(circle at 35% 30%,#d9dee0,#6c7a80 55%,#2a3438);border-radius:50%;width:11px;height:11px;position:absolute;box-shadow:0 1px 1px #000a,inset 0 0 0 1px #0006}.screw:after{content:"";background:#2a3236;height:1.5px;position:absolute;top:5px;left:2px;right:2px;transform:rotate(35deg)}.screw.tl{top:7px;left:7px}.screw.tr{top:7px;right:7px}.screw.bl{bottom:7px;left:7px}.screw.br{bottom:7px;right:7px}.screw.tr:after{transform:rotate(-20deg)}.screw.bl:after{transform:rotate(80deg)}.screw.br:after{transform:rotate(10deg)}.lamp{background:radial-gradient(circle at 40% 35%,#6b5130,#2a1d10 70%);border-radius:50%;flex:none;width:14px;height:14px;transition:background .2s,box-shadow .2s;box-shadow:inset 0 1px 2px #000c,0 0 0 2px #11181c,0 0 0 3px #4d5c62}.btn{background:var(--brushed), linear-gradient(180deg, #4b5f67, #2b3a41);min-height:46px;color:var(--engrave);font:600 calc(18px * var(--t)) var(--display);letter-spacing:.12em;text-transform:uppercase;text-shadow:0 1px #000a;border:0;border-radius:6px;padding:10px 18px;box-shadow:0 4px #0d1418,0 5px 8px #0008,inset 0 1px #ffffff30,inset 0 -2px #0004}.btn:hover{filter:brightness(1.12)}.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.ghost{box-shadow:none;color:var(--engrave-dim);background:0 0}.btn.danger{background:var(--brushed), linear-gradient(180deg, #5a2a2f, #3a171b);color:#ffc2c7}.btn.wide{width:100%}.btn:disabled{opacity:.45;cursor:default}.link{color:var(--engrave-dim);min-height:40px;font:600 calc(15px * var(--t)) var(--display);letter-spacing:.16em;text-transform:uppercase;background:0 0;border:0;padding:8px 6px}.link:hover{color:var(--amber)}.row-buttons{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.iconbtn{width:44px;height:44px;color:var(--engrave);background:var(--brushed), linear-gradient(180deg, #3f525a, #26343b);border:0;border-radius:6px;place-items:center;font-size:22px;line-height:1;display:grid;box-shadow:0 3px #0b1114,inset 0 1px #ffffff28}.iconbtn:active{transform:translateY(2px);box-shadow:0 1px #0b1114}.title-bg,.scene-bg{background:center / cover no-repeat, radial-gradient(ellipse at 30% 30%, #3a2a17, var(--night) 70%);position:absolute;inset:0}.title-bg{animation:40s ease-in-out infinite alternate drift}@keyframes drift{0%{transform:scale(1.06)translate(-1%)}to{transform:scale(1.06)translate(1%,-1%)}}.title-shade{background:linear-gradient(#0b101322 0%,#0b101366 40%,#0b1013ee 80%),radial-gradient(at 50% 20%,#0000,#000a);position:absolute;inset:0}.motes{pointer-events:none;position:absolute;inset:0;overflow:hidden}.motes:before,.motes:after{content:"";opacity:.8;background-image:radial-gradient(1.5px 1.5px at 20% 30%,#ffd9a0aa,#0000),radial-gradient(1px 1px at 60% 70%,#ffd9a088,#0000),radial-gradient(1.2px 1.2px at 80% 20%,#ffd9a099,#0000),radial-gradient(1px 1px at 35% 80%,#ffd9a077,#0000),radial-gradient(1.6px 1.6px at 70% 45%,#ffd9a066,#0000);background-size:240px 260px;animation:26s linear infinite motes;position:absolute;inset:-20%}.motes:after{opacity:.5;background-size:330px 300px;animation-duration:41s;animation-direction:reverse}@keyframes motes{0%{transform:translate(0)}to{transform:translate(-60px,-240px)}}.title-inner{max-width:520px;padding:calc(22px + var(--safe-t)) 16px calc(16px + var(--safe-b));flex-direction:column;min-height:100dvh;margin:0 auto;display:flex;position:relative}.logo{text-align:center;margin:3vh 0 0}.logo img{filter:drop-shadow(0 8px 20px #000d);width:min(100%,500px);height:auto;animation:1.1s cubic-bezier(.2,.9,.2,1) both logoIn}@keyframes logoIn{0%{opacity:0;transform:translate(-24px)skew(-6deg)}}.logo-text{font:800 64px var(--display);color:var(--crimson);-webkit-text-stroke:2px #fff;display:block;transform:skew(-10deg)}.logo-sub{font:800 28px var(--display);color:#fff;display:block}.tagline{text-align:center;color:#f0e6d2;font:400 calc(15px * var(--t)) var(--typewriter);text-shadow:0 1px 6px #000;margin:4px 0 auto}.rack{background:var(--brushed), linear-gradient(180deg, #2f4048ee, #1b282fee);border-radius:10px;gap:8px;margin-top:16px;padding:22px 14px 18px;animation:.7s cubic-bezier(.2,.9,.2,1) .15s both rackIn;display:grid;position:relative;box-shadow:0 18px 40px #000c,inset 0 1px #fff2,inset 0 0 0 1px #0008}@keyframes rackIn{0%{opacity:0;transform:translateY(18px)}}.plate{text-align:left;background:linear-gradient(#1b262c,#121b20);border:0;border-radius:5px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;min-height:56px;padding:9px 14px;display:grid;box-shadow:inset 0 2px 4px #000c,inset 0 -1px #ffffff12,0 1px #ffffff14}.plate .lamp{grid-row:span 2}.pl-l{font:800 calc(22px * var(--t)) var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--engrave);text-shadow:0 -1px #000,0 1px #ffffff12}.pl-s{font:400 calc(13px * var(--t)) var(--typewriter);color:var(--engrave-dim)}.plate:hover .lamp,.plate:focus-visible .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 14px 3px var(--amber-glow)}.plate:hover .pl-l{color:#fff}.plate.primary .lamp{background:radial-gradient(circle at 40% 35%, #ff8a95, var(--crimson) 50%, #6e0f19);animation:2.6s ease-in-out infinite pulse;box-shadow:inset 0 1px 1px #fff8,0 0 0 2px #11181c,0 0 0 3px #4d5c62,0 0 14px 3px #e2384a}@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:active{transform:translateY(1px)}.title-foot{flex-wrap:wrap;justify-content:center;gap:4px 14px;margin-top:10px;display:flex}.title-status{text-align:center;color:var(--engrave-dim);font:400 12px var(--typewriter);min-height:16px;margin:4px 0 0}.topbar{padding:calc(6px + var(--safe-t)) calc(8px + var(--safe-r)) 7px calc(8px + var(--safe-l));background:var(--brushed), linear-gradient(180deg, #2b3a41, #1a252b);z-index:3;border-bottom:2px solid #0a0f12;align-items:center;gap:8px;display:flex;position:relative;box-shadow:0 2px #ffffff10,0 6px 14px #0008}.play-head{flex:1;min-width:0}.play-title{font:800 calc(18px * var(--t)) var(--display);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;color:var(--engrave);text-shadow:0 -1px #000;overflow:hidden}.play-sub{font:400 calc(12px * var(--t)) var(--typewriter);color:var(--engrave-dim);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.readout{background:#0a0806;border-radius:4px;align-items:center;gap:7px;padding:4px 8px;display:flex;box-shadow:inset 0 2px 4px #000,0 1px #ffffff1a}.timer{font:600 17px var(--display);letter-spacing:.08em;color:var(--amber);text-shadow:0 0 6px var(--amber-glow);font-variant-numeric:tabular-nums;text-align:right;min-width:2.6em}.timer:empty{display:none}.savemark{background:#3b2a18;border-radius:50%;flex:none;width:10px;height:10px;font-size:0;transition:background .2s,box-shadow .2s;box-shadow:inset 0 1px 1px #000}.savemark.pending{background:var(--amber);box-shadow:0 0 8px var(--amber-glow)}.savemark.ok{background:#79e08f;box-shadow:0 0 8px #3fcf66}.savemark.bad{background:var(--crimson);box-shadow:0 0 8px #e2384a}.play{background:var(--brushed), linear-gradient(180deg, #2a3940, #1b272d 60%, #141d22);flex-direction:column;min-height:100dvh;display:flex}.play-room{padding:8px 8px 0;position:relative}.room{background:#0d151c;border-radius:10px;width:100%;height:clamp(110px,24dvh,250px);transition:height .35s;position:relative;overflow:hidden;box-shadow:0 0 0 3px #0b1114,0 0 0 5px #4b5c63,0 0 0 6px #0b1114,inset 0 0 30px #000c}.play.room-collapsed .room{height:46px}.play.room-collapsed .room-caption .room-state{display:none}.room-fallback{background:radial-gradient(at 70% 30%,#4a3418,#0d151c 70%);position:absolute;inset:0}.plate-img{object-fit:cover;object-position:50% 55%;opacity:0;width:100%;height:100%;transition:opacity 1.4s;position:absolute;inset:0}.plate-img.on{opacity:1}.room.flash .plate-img.on{animation:2.2s lightsOn}@keyframes lightsOn{0%{filter:brightness(.35)}18%{filter:brightness(1.35)saturate(1.2)}26%{filter:brightness(.7)}34%{filter:brightness(1.25)}to{filter:none}}.room-vignette{pointer-events:none;background:linear-gradient(#0000 45%,#0b1013dd),radial-gradient(#0000 55%,#0008);position:absolute;inset:0}.room-caption{pointer-events:none;flex-direction:column;gap:1px;display:flex;position:absolute;bottom:8px;left:12px;right:56px}.room-name{font:600 12px var(--display);letter-spacing:.22em;text-transform:uppercase;color:#111;background:var(--amber);align-self:flex-start;padding:1px 7px 0;box-shadow:0 1px #0008}.room-state{font:400 calc(12.5px * var(--t)) var(--typewriter);color:#f1e6cf;text-shadow:0 1px 3px #000}.room-toggle{background:var(--brushed), linear-gradient(180deg, #3f525a, #26343b);border:0;border-radius:5px;width:40px;height:30px;position:absolute;bottom:8px;right:8px;box-shadow:0 2px #0b1114,inset 0 1px #ffffff28}.room-toggle:before{content:"▴";color:var(--engrave);font-size:14px}.play.room-collapsed .room-toggle:before{content:"▾"}.name-plate{font:800 15px var(--display);letter-spacing:.18em;text-transform:uppercase;color:#3a2a0c;text-shadow:0 1px #f6dc9a;background:linear-gradient(#f5d690,#c99b45 60%,#a87a2c);border:1px solid #6e4e18;border-radius:3px;padding:4px 14px 3px;position:absolute;top:12px;right:14px;box-shadow:0 2px 6px #000a,inset 0 1px #fff8}.play-main{padding:14px 8px calc(12px + var(--safe-b));flex-direction:column;flex:1;align-items:center;gap:12px;display:flex}.board-wrap{justify-content:center;width:100%;display:flex}.bezel{--bw:min(calc(100vw - 20px), calc(100dvh - 345px), 560px);width:max(var(--bw), 280px);background:linear-gradient(145deg,#e9c77d,#9a7232 38%,#d2ab60 55%,#7a5822 100%);border-radius:12px;padding:9px;position:relative;box-shadow:0 12px 28px #000c,inset 0 1px #fff7,inset 0 -2px #0007,0 0 0 1px #3a2a0e}.play.room-collapsed .bezel{--bw:min(calc(100vw - 20px), calc(100dvh - 215px), 560px)}.clip{z-index:2;pointer-events:none;background:linear-gradient(#f1d38e,#a57a30);border-radius:3px 3px 6px 6px;width:42px;height:18px;position:absolute;top:-6px;box-shadow:0 3px 4px #0008,inset 0 1px #fff8}.clip.l{left:22%}.clip.r{right:22%}.clip:after{content:"";background:radial-gradient(circle at 35% 30%,#fff6,#6b4c18);border-radius:50%;width:7px;height:7px;margin-left:-3.5px;position:absolute;top:5px;left:50%}.board{aspect-ratio:1;border-radius:6px;width:100%;position:relative;overflow:hidden}.board-svg{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.cellbtn{touch-action:manipulation;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:0;margin:0;padding:0}.cellbtn:focus-visible{outline:3px solid var(--entry);outline-offset:-3px}.board{background:radial-gradient(at 40% 30%,#1d5079,#123553 70%,#0d2a44);box-shadow:inset 0 0 0 1px #0007,inset 0 0 40px #0006}.board-grid{inset:var(--inset,5%);grid-auto-rows:1fr;display:grid;position:absolute}.room-cell{fill:#174268}.room-cell.t1{fill:#1a4a72}.room-lit{fill:#9a6420;fill-opacity:0;transition:fill-opacity .6s,fill .3s}.room-lit.on{fill-opacity:.94}.room-lit.over{fill:#8e1f2b;fill-opacity:.94}.stencil{font:800 24px var(--display);fill:#dcecf7;opacity:.6;letter-spacing:.06em;pointer-events:none}.gl{stroke:#dcecf7;stroke-opacity:.13;stroke-width:1.5px;stroke-dasharray:4 6}.wall{stroke:#eaf3fa;stroke-width:6px;stroke-linecap:round}.hull{fill:none;stroke:#eaf3fa;stroke-width:8px}.cable-shadow{fill:none;stroke:#081a2b;stroke-width:26px;stroke-linecap:round;stroke-linejoin:round;opacity:.55}.cable{fill:none;stroke:#6f5629;stroke-width:16px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .4s}.cable-core{fill:none;stroke:#a8874a;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .4s;transform:translate(-2px,-2px)}.cable-flow{fill:none;stroke:#fff1c4;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3 24;opacity:.75;animation:1.4s linear infinite flow}@keyframes flow{to{stroke-dashoffset:-54px}}.clamp{fill:#0d2235;stroke:#dcecf7;stroke-opacity:.35;stroke-width:1.5px}.jbox{fill:url(#boxBrass);stroke:#3a2a0e;stroke-width:2px}.socket{fill:#1a120b;stroke:#f1d38e;stroke-width:2.5px;transition:fill .4s}.socket-pin{fill:#6b5130;transition:fill .4s}.junction{cursor:help}.feedline.on .cable{stroke:#f2a93b;filter:drop-shadow(0 0 6px #ff9a1f)}.feedline.on .cable-core{stroke:#ffe3a3}.feedline.on .cable-flow{opacity:0;animation:none}.feedline.on .socket{fill:#ffb547}.feedline.on .socket-pin{fill:#fff3d0}.feedline.over .cable{stroke:#d8404f;animation:.8s steps(2,end) infinite alarm}.feedline.over .cable-flow{opacity:0}@keyframes alarm{50%{stroke:#7a1d26}}.mach-body{fill:#0f2c47;stroke:#dcecf7;stroke-width:3px}.machine .valve{fill:#0f2c47;stroke:#dcecf7;stroke-width:3.5px}.machine .valve-x{stroke:#dcecf7;stroke-width:4px;stroke-linecap:round}.crew-ring{fill:#0f2c47;stroke-width:5px}.crew-initial{font:800 34px var(--display);fill:#f1e6cf;text-anchor:middle;dominant-baseline:central}.crew-badge circle{fill:#0b1013;stroke:#dcecf7;stroke-width:3px;transition:fill .3s}.crew-badge text{font:800 26px var(--display);fill:#ffd27a;text-anchor:middle;dominant-baseline:central}.crew-badge.on circle{fill:#ffb547;stroke:#fff3d0}.crew-badge.on text{fill:#2a1606}.crew-badge.over circle{fill:#c8283a}.crew-badge.over text{fill:#fff}.mark{stroke:#eaf3fa;stroke-width:5px;stroke-linecap:round;fill:none;opacity:.85}.mark.auto{stroke-width:3.5px;opacity:.4}.mark.proposed{stroke:#ffd27a;stroke-width:4.5px;stroke-dasharray:5 5;opacity:1}.hint-cell{fill:#dcecf722;stroke:#eaf3fa;stroke-width:4px;stroke-dasharray:10 6}.focus-cell{fill:#ffd27a40;stroke:#ffb547;stroke-width:5px}.suspect-cell{fill:#c8283a44;stroke:#ff7a86;stroke-width:4px}.cursor{fill:none;stroke:#ffd27a;stroke-width:4px;stroke-dasharray:8 6}.drag{fill:#eaf3fa22;stroke:#eaf3fa;stroke-width:3px}.lamp .glow{opacity:.95}.lamp .glass{stroke:#8a5414;stroke-width:2.5px}.lamp-base{stroke:#5b4116;stroke-width:5px;stroke-linecap:round}.lamp.new{animation:.35s cubic-bezier(.2,1.4,.4,1) lampIn}@keyframes lampIn{0%{opacity:0;transform:scale(.4)}}.lamp.bad .glass{fill:#e05a66}.lamp.bad .glow{opacity:.25}.lamp.flare{animation:1.2s ease-out both flare}@keyframes flare{0%{filter:brightness()}35%{filter:brightness(1.8)drop-shadow(0 0 18px #ffb547)}to{filter:brightness(1.15)drop-shadow(0 0 8px #ffb547)}}.cmark{fill:var(--conflict)}.board.done .room-lit.on{fill:#b5762a}.controls{flex-direction:column;gap:10px;width:max(min(100vw - 20px,560px),280px);display:flex}.keypad{background:#0c1215;border-radius:9px;grid-template-columns:repeat(6,1fr);gap:7px;padding:7px;display:grid;box-shadow:inset 0 2px 6px #000,0 1px #ffffff18}.key{background:linear-gradient(#2a2117,#18120c);border:0;border-radius:6px;height:clamp(50px,8.2dvh,64px);padding:0;transition:transform 50ms,box-shadow 50ms;position:relative;box-shadow:0 4px #050302,inset 0 1px #ffffff14,inset 0 0 0 1px #000}.key-d{font:800 calc(30px * var(--t)) var(--display);color:var(--amber);text-shadow:0 0 8px var(--amber-glow), 0 0 2px #fff6}.key-n{font:400 10px var(--typewriter);color:#b9864a;position:absolute;top:3px;right:5px}.key:active{transform:translateY(3px);box-shadow:0 1px #050302,inset 0 1px #ffffff10}.key.active{background:linear-gradient(#ffcf7a,#f29b2e);box-shadow:0 4px #6a3f0c,0 0 18px #ff9a1f88}.key.active .key-d{color:#2a1606;text-shadow:none}.key.full .key-d{color:#6d5233;text-shadow:none}.notes-mode .key-d{color:#a9dcf2;font-size:calc(22px * var(--t));text-shadow:0 0 8px #3aa5d8}.notes-mode .key{background:linear-gradient(#17232a,#0e161b)}.tools{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.tools.four{grid-template-columns:repeat(4,1fr)}.tray{background:#0c1215;border-radius:9px;justify-content:center;gap:10px;padding:9px 10px;display:flex;box-shadow:inset 0 2px 6px #000,0 1px #ffffff18}.ember{background:radial-gradient(circle at 45% 40%,#fff2c2,#ffb547 40%,#d2601a 75%,#6b250c);border-radius:50%;width:22px;height:22px;animation:2.8s ease-in-out infinite ember;box-shadow:0 0 12px 3px #ff8f1faa}.ember:nth-child(2n){animation-delay:-1.1s}.ember:nth-child(3n){animation-delay:-1.9s}@keyframes ember{50%{filter:brightness(.85);box-shadow:0 0 6px 1px #ff8f1f88}}.ember.spent{background:radial-gradient(circle at 45% 40%,#3a2a1a,#1a120b);animation:none;box-shadow:inset 0 1px 2px #000}.tool{background:var(--brushed), linear-gradient(180deg, #3d5058, #26343b);border:0;border-radius:6px;place-items:center;gap:2px;min-height:58px;padding:5px 2px;display:grid;box-shadow:0 4px #0b1114,inset 0 1px #ffffff28}.tool:active{transform:translateY(3px);box-shadow:0 1px #0b1114}.tool:disabled{opacity:.4}.tool-i{height:22px;color:var(--engrave);place-items:center;font-size:20px;line-height:1;display:grid}.tool-l{font:600 calc(13px * var(--t)) var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--engrave);text-shadow:0 -1px #000}.lever{background:#0b1013;border-radius:8px;width:34px;height:16px;position:relative;box-shadow:inset 0 2px 3px #000}.lever:after{content:"";background:radial-gradient(circle at 35% 30%,#e9eef0,#8695a0 60%,#3a464c);border-radius:50%;width:14px;height:14px;transition:left .15s;position:absolute;top:1px;left:2px}.tool.on .lever{background:#12344a;box-shadow:inset 0 2px 3px #000,0 0 8px #3aa5d855}.tool.on .lever:after{left:18px}.tool.on .tool-l{color:#a9dcf2}.bulb-lamp{background:radial-gradient(circle at 40% 35%,#6b5130,#2a1d10 70%);border-radius:50%;width:16px;height:16px;box-shadow:inset 0 1px 2px #000c,0 0 0 2px #11181c}.play.hinting .bulb-lamp,.tool.hint:hover .bulb-lamp{background:radial-gradient(circle at 40% 35%, var(--amber-hot), var(--amber) 45%, #b8661a);box-shadow:0 0 0 2px #11181c, 0 0 12px 3px var(--amber-glow)}.hintpanel{color:var(--typed);font-family:var(--typewriter);background:repeating-linear-gradient(180deg, #0000 0 23px, #c9b98f55 23px 24px), var(--paper);border-radius:2px 2px 6px 6px;padding:12px 14px 10px;animation:.35s cubic-bezier(.2,.9,.2,1) feed;position:relative;box-shadow:0 8px 22px #000a}.hintpanel:before{content:"";background:radial-gradient(circle at 6px 6px, var(--paper) 4px, #0000 4.5px) repeat-x;background-size:12px 6px;height:6px;position:absolute;top:-6px;left:0;right:0}@keyframes feed{0%{opacity:0;clip-path:inset(0 0 100%);transform:translateY(-14px)}to{clip-path:inset(0)}}.hint-stage{font:800 13px var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--crimson-ink)}.hint-lead{margin:4px 0;font-weight:700}.hintpanel p{font-size:calc(15px * var(--t));margin:4px 0;line-height:1.45}.hint-steps{font-size:calc(14.5px * var(--t));gap:5px;margin:6px 0;padding-left:22px;line-height:1.45;display:grid}.hint-steps strong{color:var(--crimson-ink)}.hintpanel .btn.ghost{color:#5d5340}.hintpanel .row-buttons{margin-top:8px}.play.hinting .key{height:clamp(44px,7dvh,56px)}.play.hinting .room{height:46px}.play.hinting .room-caption .room-state{display:none}@media (min-aspect-ratio:5/4) and (min-width:820px){.play{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) auto;display:grid}.play>.topbar{grid-column:1/-1}.play-room{grid-area:2/1;padding:16px 0 16px 16px}.room,.play.room-collapsed .room,.play.hinting .room{height:100%;min-height:320px}.play.hinting .room-caption .room-state{display:block}.play-main{grid-area:2/2;justify-content:center;padding:16px 20px}.bezel,.play.room-collapsed .bezel{--bw:min(calc(100dvh - 265px), 600px, calc(100vw - 480px))}.controls{width:min(100dvh - 247px,618px,100vw - 462px);min-width:300px}.room-toggle{display:none}}@media (orientation:landscape) and (max-height:520px){.play-room{display:none}.play-main{flex-direction:row;justify-content:center;align-items:center}.bezel,.play.room-collapsed .bezel{--bw:calc(100dvh - 90px)}.controls{width:min(360px,45vw)}}.scrim{z-index:50;background:#04070acc;place-items:center;padding:16px;animation:.18s fadeIn;display:grid;position:fixed;inset:0;overflow-y:auto}.scrim.out{animation:.18s forwards fadeOut}@keyframes fadeIn{0%{opacity:0}}@keyframes fadeOut{to{opacity:0}}.modal{width:min(100%,470px);max-height:calc(100dvh - 32px);color:var(--typed);font-family:var(--typewriter);background:radial-gradient(circle at 13px 60px, #04070a 6px, #0000 6.5px) 0 0 / 26px 140px repeat-y, repeating-linear-gradient(180deg, #0000 0 25px, #c9b98f66 25px 26px), linear-gradient(180deg, var(--paper), var(--paper-2));border-radius:3px;padding:0 20px 18px 34px;animation:.24s cubic-bezier(.2,.9,.2,1) rise;position:relative;overflow-y:auto;box-shadow:0 24px 60px #000e,0 0 0 1px #8a7a52}@keyframes rise{0%{opacity:0;transform:translateY(16px)rotate(-1deg)}}.modal-title{font:800 calc(22px * var(--t)) var(--display);letter-spacing:.12em;text-transform:uppercase;color:#fff4e6;background:var(--crimson);margin:0 -20px 14px -34px;padding:12px 54px 10px 34px;box-shadow:inset 0 -3px #0003}.modal:not(:has(.modal-title)){padding-top:22px}.modal h3{font:800 15px var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--crimson-ink);border-bottom:2px solid var(--crimson-ink);margin:18px 0 6px}.modal p{margin:8px 0;line-height:1.5}.modal-x{color:#fff4e6;z-index:1;background:0 0;border:0;width:44px;height:44px;font-size:28px;position:absolute;top:4px;right:6px}.modal:not(:has(.modal-title)) .modal-x{color:var(--typed)}.menu-list{gap:10px;display:grid}.menu-list .btn{text-align:left}.card-lines{gap:4px;margin:0;padding-left:20px;line-height:1.55;display:grid}.small{font-size:calc(14px * var(--t));color:#5d5340}.profiles{gap:10px;display:grid}.profile-card{text-align:left;color:var(--engrave);background:var(--brushed), linear-gradient(180deg, #3d5058, #26343b);border:0;border-radius:4px;gap:3px;padding:12px 14px;display:grid;box-shadow:0 4px #0b1114,inset 0 1px #ffffff28}.profile-card:active{transform:translateY(3px);box-shadow:0 1px #0b1114}.profile-card.primary{background:var(--brushed), linear-gradient(180deg, #d8404f, #9e1d2b);color:#fff3e6;box-shadow:0 4px #5a0f18,inset 0 1px #ffffff40}.pc-name{font:800 24px var(--display);letter-spacing:.14em;text-transform:uppercase}.pc-text{font:400 13px var(--typewriter);opacity:.9}.set-row{border-bottom:1px dashed #b5a47a;justify-content:space-between;align-items:center;gap:12px;min-height:46px;display:flex}.set-row input[type=range]{width:46%;accent-color:var(--crimson)}.set-row input[type=checkbox]{width:24px;height:24px;accent-color:var(--crimson)}.set-row select{color:var(--typed);max-width:55%;font-family:var(--typewriter);background:#fff8e8;border:1px solid #8a7a52;border-radius:3px;padding:6px}.res-stats{grid-template-columns:auto 1fr;gap:6px 14px;margin:10px 0;display:grid}.res-stats dt{color:#5d5340}.res-stats dd{margin:0;font-weight:700}.res-lead{font-weight:700}.log-line{border:2px dashed var(--crimson-ink);color:var(--typed);padding:10px 12px;font-weight:700;transform:rotate(-.6deg)}.brief{font:700 calc(18px * var(--t)) var(--typewriter)}.brief-room{color:#5d5340}.share-input,.name-input{width:100%;min-height:46px;color:var(--typed);font-family:var(--typewriter);background:#fff8e8;border:1px solid #8a7a52;border-radius:3px;padding:8px 10px}.name-input{font:800 24px var(--display);text-transform:uppercase;letter-spacing:.16em;text-align:center}.chips{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.chip{min-height:38px;color:var(--typed);font-family:var(--typewriter);background:#fff8e8;border:1px solid #8a7a52;border-radius:3px;padding:4px 12px}.lesson{align-items:center;gap:12px;display:flex}.ls-no{background:var(--amber);color:#2a1606;width:30px;height:30px;font:800 16px var(--display);box-shadow:0 0 10px var(--amber-glow);border-radius:50%;place-items:center;display:grid}.modal.result .modal-title{background:#2f6f4e}#toast{left:50%;bottom:calc(18px + var(--safe-b));z-index:80;color:#f4f4f4;opacity:0;pointer-events:none;max-width:min(92vw,480px);font:600 calc(15px * var(--t)) var(--display);letter-spacing:.12em;text-transform:uppercase;text-align:center;text-shadow:0 1px #000,0 -1px #fff5;clip-path:polygon(0 0,100% 0,98.5% 50%,100% 100%,0 100%,1.5% 50%);background:linear-gradient(#2a2a2a,#111 60%,#050505);padding:9px 18px 8px;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,20px)rotate(-1deg);box-shadow:0 6px 18px #000c}#toast.on{opacity:1;transform:translate(-50%)rotate(-1deg)}#gate{right:10px;bottom:calc(10px + var(--safe-b));z-index:90;max-width:320px;font:400 12px var(--typewriter);color:var(--engrave-dim);position:fixed}.log{background:var(--brushed), linear-gradient(180deg, #24323a, #141d22)}.log-body{max-width:640px;padding:16px 12px calc(28px + var(--safe-b));margin:0 auto}.logbook{color:var(--typed);font-family:var(--typewriter);background:linear-gradient(90deg, #0000 22px, #d4505a88 22px 24px, #0000 24px), repeating-linear-gradient(180deg, #0000 0 27px, #b8a77c66 27px 28px), linear-gradient(180deg, var(--paper), var(--paper-2));border-radius:2px;gap:16px;padding:18px 16px 24px 34px;display:grid;position:relative;box-shadow:0 20px 50px #000c,0 0 0 1px #8a7a52}.lb-head{border-bottom:3px double var(--typed);flex-direction:column;padding-bottom:6px;display:flex}.lb-title{font:800 30px var(--display);letter-spacing:.1em;text-transform:uppercase}.lb-sub{letter-spacing:.12em;color:#5d5340;font-size:12px}.log-list{gap:22px;display:grid}.log-watch{position:relative}.log-watch.locked{opacity:.4}.lw-photo{float:right;aspect-ratio:16/10;background:50%/cover;border:6px solid #fbf6ea;border-bottom-width:14px;width:42%;margin:0 0 8px 12px;position:relative;transform:rotate(2deg);box-shadow:0 6px 14px #0006}.lw-photo:before{content:"";background:#e8dcb4cc;width:40%;height:18px;position:absolute;top:-14px;left:30%;transform:rotate(-3deg);box-shadow:0 1px 2px #0003}.lw-head{gap:1px;display:grid}.lw-no{font:800 14px var(--display);letter-spacing:.24em;color:var(--crimson-ink)}.lw-title{font:800 calc(24px * var(--t)) var(--display);letter-spacing:.04em;text-transform:uppercase;line-height:1}.lw-place{letter-spacing:.12em;color:#5d5340;font-size:11.5px}.lw-context{font-size:calc(14px * var(--t));margin:8px 0 6px;line-height:1.45}.log-job{clear:right;text-align:left;width:100%;min-height:52px;color:var(--typed);font-family:var(--typewriter);background:0 0;border:0;grid-template-columns:34px 1fr;column-gap:6px;padding:6px 70px 6px 0;display:grid;position:relative}.log-job:disabled{cursor:default;opacity:.5}.log-job.next{background:#ffd27a40}.lj-no{color:#5d5340;grid-row:span 2;padding-top:2px;font-size:13px}.lj-title{font-weight:700;font-size:calc(15px * var(--t))}.lj-log{font-size:calc(13.5px * var(--t));color:#4a4232}.stamp{font:800 16px var(--display);letter-spacing:.18em;color:var(--crimson-ink);border:2.5px solid var(--crimson-ink);opacity:.85;mix-blend-mode:multiply;border-radius:3px;padding:2px 7px 1px;position:absolute;top:50%;right:2px;transform:translateY(-50%)rotate(-9deg)}.stamp.next-stamp{color:#2f6f4e;border-color:#2f6f4e;transform:translateY(-50%)rotate(4deg)}.log-done{text-align:center;font-weight:700}.scene{z-index:60;opacity:0;cursor:pointer;background:#000;outline:none;transition:opacity .4s;position:fixed;inset:0;overflow:hidden}.scene.in{opacity:1}.scene.out{opacity:0}.scene-bg{animation:30s ease-out forwards push}.scene-card{transition:opacity 1.2s}.scene-card.gone{opacity:0}@keyframes push{0%{transform:scale(1.02)}to{transform:scale(1.1)}}.scene-shade{background:linear-gradient(#0000 40%,#000c 88%);position:absolute;inset:0}.portrait{opacity:0;filter:drop-shadow(0 10px 30px #000c);pointer-events:none;max-width:none;height:min(76dvh,150vw);transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:0;left:50%;transform:translate(-50%,40px)}.portrait.in{opacity:1;transform:translate(-50%)}@media (min-aspect-ratio:1){.portrait{height:88dvh;left:28%}}.say{left:50%;bottom:calc(16px + var(--safe-b));border-left:5px solid var(--c,var(--brass));background:linear-gradient(#0d1418f2,#070b0ef2);border-radius:4px;width:min(94vw,760px);min-height:96px;padding:14px 18px 16px;position:absolute;transform:translate(-50%);box-shadow:0 10px 40px #000,inset 0 0 0 1px #ffffff14}.who{font:800 15px var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--c,var(--amber))}.say-id{font-size:calc(18px * var(--t));color:#f6efe0;margin:6px 0 2px;font-weight:600}.say-en{font-size:calc(18px * var(--t));color:#f0e8d8;margin:4px 0 0}.say-id:not([hidden])+.say-en{font-size:calc(15px * var(--t));color:#b8b2a4;font-style:italic}.say.recorded{border-left-style:dashed}.say.recorded .say-en,.say.recorded .say-id{font-family:var(--typewriter)}.say-more{color:var(--amber);font-size:11px;animation:1.2s steps(2,end) infinite blink;position:absolute;bottom:8px;right:14px}@keyframes blink{50%{opacity:0}}.skip{top:calc(10px + var(--safe-t));z-index:2;position:absolute;right:10px}.ova-card{padding:0 0 0 6vw;transition:opacity .6s,transform .6s;position:absolute;bottom:24%;left:0}.ova-card.gone{opacity:0;transform:translate(-30px)}.ova-place{background:var(--crimson);font:800 calc(16px * var(--t)) var(--display);letter-spacing:.24em;color:#fff;padding:6px 22px 5px 16px;animation:.6s cubic-bezier(.2,.9,.2,1) both barIn;display:inline-block;box-shadow:0 4px #0008}.ova-title{font:800 clamp(34px, 8vw, 72px) var(--display);color:#fff;text-transform:uppercase;letter-spacing:.02em;text-shadow:0 3px #0009,0 0 30px #000;margin-top:10px;line-height:.95;animation:.7s cubic-bezier(.2,.9,.2,1) .15s both barIn;transform:skew(-8deg)}@keyframes barIn{0%{opacity:0;transform:translate(-40px)skew(-8deg)}}.scene-plate{top:calc(56px + var(--safe-t));right:16px}.ending .credits{text-align:center;justify-items:center;gap:14px;animation:3s fadeIn;display:grid;position:absolute;bottom:120px;left:0;right:0}.cr{display:grid}.cr-a{font:600 13px var(--display);letter-spacing:.24em;text-transform:uppercase;color:var(--brass)}.cr-b{font:800 24px var(--display);letter-spacing:.06em;color:#f4ead6}.small-credits{gap:8px;margin-top:14px;display:grid}.small-credits .cr-a{color:var(--crimson-ink)}.small-credits .cr-b{color:var(--typed);font-size:18px}.ending-plate{top:30%;right:50%;transform:translate(50%)scale(1.4)}.ending-btn{left:50%;bottom:calc(40px + var(--safe-b));position:absolute;transform:translate(-50%)}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.reduce-motion .title-bg,.reduce-motion .scene-bg,.reduce-motion .motes:before,.reduce-motion .motes:after{animation:none!important}:root.reduce-motion body:after{animation:none}
