@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap";:root{font-family:DM Sans,sans-serif;color:#f2ead9;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;background:#172638}button{font:inherit}#game,canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.grain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.27'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.topbar{height:74px;position:absolute;z-index:2;inset:0 0 auto;display:flex;align-items:center;padding:0 3.2vw;border-bottom:1px solid #e8e4db20;background:linear-gradient(#111b2cbb,#111b2c22);font-family:DM Mono,monospace;font-size:10px;letter-spacing:1.2px}.brand{font-size:12px;font-weight:500;letter-spacing:1.7px}.brand-icon{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:10px;border:1px solid #d7b980;border-radius:50%;color:#d7b980;font-size:17px}.brand i{font-style:normal;color:#929ba4;margin-left:10px;font-size:9px}.night{position:absolute;left:50%;transform:translate(-50%);color:#c4c4be}.night span{color:#d7b980;padding:0 7px}.sound{margin-left:auto;border:0;background:none;color:#e6c989;font:inherit;letter-spacing:1px;cursor:pointer}.sound span{color:#9da5a7;margin-left:6px;font-size:9px}.mission-card{position:absolute;z-index:2;left:3.2vw;top:16vh;width:306px;padding:21px 22px 16px;background:linear-gradient(145deg,#192331f2,#141f2bdc);border:1px solid #f0e2c22a;box-shadow:0 14px 48px #080d1680;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.eyebrow{font:10px DM Mono,monospace;letter-spacing:1.2px;color:#d8ba7f}.live-dot{display:inline-block;width:6px;height:6px;background:#8daf82;border-radius:50%;margin:0 7px 1px 0;box-shadow:0 0 8px #85bd78}.district{float:right;color:#828e96;font-size:9px}.mission-card h1{font:600 30px/1.13 Playfair Display,serif;margin:20px 0 7px;letter-spacing:-.7px}.mission-card h1 em,.intro-box h2 em{color:#dfbf7e}.mission-copy{font-size:12px;color:#9ea6a8;margin:0 0 23px}.objective{display:flex;flex-direction:column}.objective-row{display:grid;grid-template-columns:20px 1fr;align-items:center;position:relative;min-height:48px;padding:6px 0;border-top:1px solid #eff0ec12;font-size:10px;letter-spacing:.35px;color:#e3e0d6}.objective-row small{grid-column:2;color:#858f94;font:9px DM Mono,monospace;letter-spacing:.2px;margin-top:3px}.objective-row .check{color:#9ba3a1;font-size:15px}.objective-row.done,.objective-row.done .check{color:#9fbd8d}.objective-row.done small{color:#84a27a}.progress-line{height:2px;background:#ffffff1b;margin-top:12px}.progress-line div{height:100%;width:0;background:#dbbe7e;transition:width .5s}.mission-foot{display:flex;justify-content:space-between;margin-top:11px;color:#858f94;font:9px DM Mono,monospace;letter-spacing:.5px}.stealth-label{color:#a9b09f}.stealth-label b{display:inline-block;width:5px;height:5px;border-radius:50%;background:#9fbd8d;margin:0 4px 1px 0}.alert-panel{position:absolute;z-index:2;right:3.2vw;top:16vh;width:155px;padding:13px 14px 11px;background:#182331dc;border:1px solid #f0e2c223;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .25s,border-color .25s}.alert-panel.hot{background:#402923e8;border-color:#d67858aa}.alert-title{font:9px DM Mono,monospace;letter-spacing:1px;color:#d8d0bd}.alert-title span{color:#d9a15e;margin-right:6px;font-size:12px}.alert-bars{display:flex;gap:3px;margin:11px 0 8px}.alert-bars i{height:5px;flex:1;background:#5c686b;opacity:.45}.alert-bars i.lit{background:#d69a5c;opacity:1}.alert-panel.hot .alert-bars i.lit{background:#df7259}.alert-caption{font:8px DM Mono,monospace;letter-spacing:1px;color:#9eaaa0}.hot .alert-caption{color:#ffb092}.controls{position:absolute;z-index:2;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:19px;padding:10px 16px;background:#111c2bc9;border:1px solid #f3ead51e;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.control{display:flex;align-items:center;gap:4px;white-space:nowrap}.control kbd{min-width:21px;height:21px;display:grid;place-items:center;padding:0 5px;background:#eee7d9;color:#26303a;border-radius:2px;font:10px DM Mono,monospace;box-shadow:0 2px #a99e88}.control span{margin-left:6px;color:#d2d3cc;font:8px DM Mono,monospace;letter-spacing:.8px}.crosshair{position:absolute;z-index:2;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);opacity:.6;pointer-events:none}.crosshair:before,.crosshair:after,.crosshair span:before,.crosshair span:after{content:"";position:absolute;background:#fff6dd;box-shadow:0 1px 4px #18202a}.crosshair:before,.crosshair:after{left:10px;width:1px;height:5px}.crosshair:before{top:0}.crosshair:after{bottom:0}.crosshair span:before,.crosshair span:after{top:10px;height:1px;width:5px}.crosshair span:before{left:0}.crosshair span:after{right:0}.interaction{position:absolute;z-index:3;bottom:94px;left:50%;transform:translate(-50%,12px);display:flex;align-items:center;gap:11px;padding:10px 15px;background:#182331e8;border:1px solid #dfc18477;opacity:0;transition:.18s;pointer-events:none}.interaction.active{opacity:1;transform:translate(-50%)}.keycap{width:28px;height:28px;display:grid;place-items:center;color:#222c35;background:#e5d7b6;font:13px DM Mono,monospace}.interaction b{display:block;font:9px DM Mono,monospace;letter-spacing:.7px}.interaction small{display:block;margin-top:4px;color:#a4aaa5;font:8px DM Mono,monospace;letter-spacing:.5px}.toast{position:absolute;z-index:4;left:50%;top:17vh;transform:translate(-50%,-8px);opacity:0;padding:10px 17px;background:#202b34e8;border:1px solid #d8ba7f77;color:#f0d59b;font:10px DM Mono,monospace;letter-spacing:.8px;transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%)}.intro,.result{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;background:#0e1724c9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:opacity .35s}.intro.hidden,.result:not(.visible){opacity:0;pointer-events:none}.intro.hidden{visibility:hidden}.intro-box{width:min(420px,calc(100vw - 38px));padding:38px 42px 31px;background:#172331f5;border:1px solid #e5d5b336;box-shadow:0 20px 80px #0008;text-align:left}.intro-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid #d8ba7f;border-radius:50%;color:#d8ba7f;font-size:18px;margin-bottom:26px}.intro-box h2{font:600 48px/.98 Playfair Display,serif;letter-spacing:-1.4px;margin:17px 0}.intro-box p{color:#c1c2ba;font-size:13px;line-height:1.7;margin:17px 0}.intro-box .intro-tip{padding-top:13px;border-top:1px solid #ffffff18;color:#989f9e;font-size:11px}.intro-box button{width:100%;height:46px;margin-top:12px;border:0;background:#d9bd82;color:#202833;font:500 10px DM Mono,monospace;letter-spacing:1.3px;cursor:pointer;transition:background .15s}.intro-box button:hover{background:#f0d99e}.intro-box button span{float:right;font-size:16px;margin-top:-3px}.intro-small{margin-top:20px;text-align:center;color:#8b9497;font:8px DM Mono,monospace;letter-spacing:.6px}.intro-small b{color:#d6b879;padding:0 6px}.result{z-index:6}.result.visible{opacity:1;pointer-events:auto}.result:not(.visible){display:none}.result .intro-mark{font-size:16px}.result .intro-box p{margin:20px 0 25px}@media(max-width:700px){.mission-card{left:12px;top:85px;width:260px;padding:16px}.mission-card h1{font-size:25px;margin:13px 0 6px}.mission-copy{margin-bottom:14px}.objective-row{min-height:42px}.alert-panel{right:12px;top:85px;width:125px;padding:11px}.topbar{height:58px;padding:0 14px}.brand{font-size:10px}.brand i,.sound span,.night{display:none}.controls{bottom:12px;gap:9px;padding:8px}.control kbd{min-width:18px;height:19px;font-size:9px}.control span{font-size:7px;margin-left:3px}.interaction{bottom:76px}.intro-box{padding:28px 26px}.intro-box h2{font-size:42px}}
