:root{--ink:#133936;--paper:#e9ece2;--mint:#cce3cf;--green:#84bba4;--dim:#a5b5ae;--line:rgba(221,237,224,.26);font-family:"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;color:var(--paper);background:#173a39;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible{outline:2px solid #d9efbe;outline-offset:6px}button{color:inherit}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.game{position:relative;min-height:740px;height:100svh;overflow:hidden;isolation:isolate}.room{position:absolute;inset:0;z-index:-3;background:#416562;overflow:hidden}.room img{width:100%;height:100%;object-fit:cover;object-position:50% 52%;filter:saturate(.72) brightness(.87);transition:filter 1.2s,transform 1.6s;transform:scale(1.035)}.game:not(.intro) .room img{filter:saturate(.8) brightness(.94);transform:scale(1)}.room-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,35,34,.72),transparent 24%,transparent 46%,rgba(8,31,28,.67)),linear-gradient(90deg,rgba(8,34,31,.15),transparent 55%)}.intro .room-shade{background:linear-gradient(180deg,rgba(10,35,34,.65),transparent 32%,rgba(8,29,26,.87)),linear-gradient(90deg,rgba(6,29,27,.2),transparent 65%)}.grain{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='white' filter='url(%23n)' opacity='.8' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}.topbar{height:112px;padding:0 4.7%;display:flex;align-items:center;justify-content:space-between;gap:24px}.identity{display:flex;align-items:center;gap:12px;letter-spacing:5px;font-size:21px;font-weight:600}.brand-mark{font-family:Georgia,serif;font-size:53px;font-weight:400;letter-spacing:-5px;line-height:1;margin-right:8px}.latin{display:block;font-size:9px;letter-spacing:2px;font-weight:400;margin-top:6px}.location{font-size:13px;letter-spacing:2px;display:flex;align-items:center;gap:10px;color:#d3ddd5}.divider{margin:0 10px;opacity:.4}.status-light{width:5px;height:5px;border-radius:50%;background:#cbe2ae;display:inline-block;box-shadow:0 0 10px #cbe2ae40}.top-actions{display:flex;align-items:center;gap:24px}.quiet-button{background:none;border:0;padding:10px 0;font-size:13px;letter-spacing:1px}.quiet-button>span:first-child{font-size:22px;vertical-align:-2px;margin-right:7px}.help-button{border:1px solid var(--line);background:transparent;border-radius:50%;width:29px;height:29px;font-family:Georgia,serif;font-size:16px}.welcome{position:absolute;left:8.1%;right:7%;bottom:15%;display:flex;align-items:flex-end;justify-content:space-between;gap:48px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:400}.welcome-title{padding-bottom:18px}.welcome-title>.eyebrow{color:#ccdacd;letter-spacing:3px}.welcome h1{font-family:"Songti SC","Noto Serif CJK SC",SimSun,serif;font-size:clamp(68px,6.7vw,104px);font-weight:400;letter-spacing:15px;margin:24px 0 29px;line-height:1.12;text-shadow:0 3px 30px #0a252655}.welcome h1 span{display:block;font-family:Georgia,"Times New Roman",serif;font-size:18px;letter-spacing:11px;margin-top:22px;margin-left:4px}.edition{font-size:13px;letter-spacing:3px;display:flex;align-items:center;gap:17px;color:#c9d8ce}.fine-line{display:block;width:44px;height:1px;background:#acbead}.welcome-card{width:340px;background:rgba(226,232,219,.94);padding:25px 29px 19px;color:var(--ink);box-shadow:0 12px 60px #051c2530;flex-shrink:0}.card-top{display:flex;justify-content:space-between;padding-bottom:19px;border-bottom:1px solid #234f402b;font-size:11px;letter-spacing:2px}.welcome-card h2{font-family:"Songti SC",SimSun,serif;font-size:27px;line-height:1.65;font-weight:400;margin:22px 0 13px}.welcome-card p{font-size:14px;line-height:1.9;color:#53675c;margin:0 0 24px}.primary{width:100%;background:#1e4940;border:1px solid #1e4940;color:#f0f2df;min-height:52px;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;font-size:15px;letter-spacing:2px;transition:background .2s}.primary:hover{background:#306355}.primary span{font-size:23px;line-height:1}.welcome-meta{margin-top:15px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1px;color:#607063}.intro-footer{position:absolute;bottom:31px;left:4.7%;right:4.7%;display:flex;justify-content:space-between;color:#c0cfc5;font-size:11px;letter-spacing:2px}.intro-footer .status-light{margin-left:8px}.play{position:absolute;inset:112px 0 0}.shift-card{position:absolute;left:4.7%;top:17px;width:240px;background:#153b356e;padding:20px 22px;border:1px solid #ceddcc36;backdrop-filter:blur(16px)}.shift-card .eyebrow{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.3px;color:#c3d4c7}.shift-card h2{font-size:20px;font-weight:400;margin:15px 0 18px;letter-spacing:2px}.progress-row{display:flex;align-items:center;gap:16px;font-size:11px;letter-spacing:2px}.progress-track{height:2px;flex:1;background:#b9d4bd36}.progress-track>span{display:block;background:#d6e4bd;height:100%;width:0;transition:width .4s}.hotspots{position:fixed;inset:0;pointer-events:none}.hotspot{position:absolute;left:var(--x);top:var(--y);display:flex;align-items:center;gap:10px;transform:translate(-16px,-16px);background:none;border:0;padding:0;pointer-events:auto;filter:drop-shadow(0 2px 12px #07282966)}.target-dot{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border:1px solid #e2eada9c;border-radius:50%;background:#254e428f;font-family:Arial,sans-serif;font-size:20px;font-weight:300;transition:background .2s,transform .2s}.target-label{display:flex;align-items:center;gap:13px;font-size:13px;letter-spacing:1px;background:#173c34e8;border:1px solid #d5e1ce32;padding:10px 14px;backdrop-filter:blur(8px);white-space:nowrap}.target-label small{font-size:10px;color:#b8cbb9}.hotspot:hover .target-dot,.hotspot:focus-visible .target-dot{background:#d9e8ca;color:#163e35;transform:scale(1.12)}.hotspot:hover .target-label{background:#264f43}.main-hotspot .target-dot{background:#e0ebcc;color:#153e34;box-shadow:0 0 0 7px #d0e3c628}.main-hotspot .target-label{border-color:#cfe3bd88}.bottom-bar{position:absolute;bottom:40px;left:4.7%;right:4.7%;display:flex;align-items:center;justify-content:space-between;gap:24px}.broadcast{display:flex;align-items:center;gap:17px;max-width:75%}.broadcast-icon{font-size:35px;color:#c5d6c5}.broadcast .eyebrow{color:#b4c9bb;font-size:10px}.broadcast p{font-size:14px;letter-spacing:1px;line-height:1.7;margin:7px 0 0}.notebook{background:#1f443db3;border:1px solid #c7dbc440;padding:14px 18px;font-size:13px;letter-spacing:1px;white-space:nowrap}.notebook span{margin-left:15px;color:#cfdfba}.toast{position:fixed;bottom:35px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#e3eadb;color:#193c32;padding:15px 22px;font-size:14px;max-width:90vw;z-index:40;box-shadow:0 4px 35px #052c3140;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{padding:0;border:1px solid #728b7855;max-width:min(700px,calc(100vw - 32px));width:700px;max-height:calc(100svh - 48px);background:#e5e9de;color:var(--ink);box-shadow:0 24px 100px #031d2480}dialog::backdrop{background:#062925b3;backdrop-filter:blur(8px)}.modal-shell{padding:24px 36px 34px}.modal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-top .eyebrow{font-size:10px;letter-spacing:2px;color:#647969}.close-button{border:0;background:none;font-size:26px;line-height:1;padding:5px 2px 5px 16px;color:#4d685a}.modal-shell h2{font-family:"Songti SC",SimSun,serif;font-size:32px;line-height:1.4;font-weight:400;margin:6px 0 18px;letter-spacing:3px}.body-copy{font-size:16px;line-height:1.95;color:#496153}.body-copy p{margin:14px 0}.note-quote{border-left:2px solid #6e9380;padding:12px 22px;margin:23px 0;background:#d8dfd0;font-family:"Songti SC",SimSun,serif;font-size:21px;line-height:1.8}.fine{font-size:12px;line-height:1.7;color:#647a69;letter-spacing:.5px}.modal-actions{display:flex;gap:12px;margin-top:25px;flex-wrap:wrap}.modal-actions button{flex:1}.secondary{background:transparent;border:1px solid #8fa48e;color:#244b3c;padding:14px 20px;font-size:14px;letter-spacing:1px;min-height:50px}.secondary:hover{background:#d0ddcc}.terminal-modal{width:760px;max-width:min(760px,calc(100vw - 24px));background:#152f2d;border:7px solid #bcc4b6;box-shadow:0 0 0 2px #879489,0 25px 100px #041c24aa;color:#c7e5c6}.terminal-modal .modal-shell{padding:20px 29px 27px}.terminal-modal .modal-top{margin-bottom:12px}.terminal-modal .modal-top .eyebrow,.terminal-modal .close-button{color:#9cbea6}.terminal-modal h2{font-family:inherit;font-size:22px;letter-spacing:3px;margin:0}.terminal-head{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #c5e8c536;padding-top:23px}.file-num{font-family:"Courier New",monospace;color:#98b8a0;font-size:14px;white-space:nowrap}.terminal-rule{font-size:14px;line-height:1.8;color:#d0e3c6;margin:17px 0 20px}.terminal-rule strong{font-weight:400;border-bottom:1px solid #b5dca484;padding-bottom:3px}.number-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;padding:19px;background:radial-gradient(ellipse,#284b3b,#1a372f);border:1px solid #67886a55;box-shadow:inset 0 0 35px #061e2970;position:relative}.number-grid:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(transparent,transparent 3px,#12281f18 3px,#12281f18 4px);pointer-events:none}.number{min-height:48px;border:1px solid transparent;color:#b9d7a8;background:transparent;font-family:"Courier New",monospace;font-size:24px;letter-spacing:4px;text-shadow:0 0 7px #9bda9830;transition:background .1s}.number:hover{border-color:#abc79769;background:#adcfa215}.number.selected{background:#c6ddb6;color:#183a2c;border-color:#e2f0d7;text-shadow:none}.terminal-status{display:flex;justify-content:space-between;gap:14px;font-family:"Courier New",monospace;font-size:12px;color:#a4b9a3;margin-top:15px}.terminal-status .error{color:#f6c298}.terminal-actions{display:flex;gap:14px;margin-top:21px}.terminal-actions .primary{flex:1;background:#b9d3ad;color:#17392d;border-color:#b9d3ad;font-size:14px}.terminal-actions .primary:hover{background:#dae9cc}.terminal-actions .secondary{color:#c7dbba;border-color:#718e73;font-size:13px}.receipt{padding:22px 24px;background:#dce5d2;color:#2d4e38;font-family:"Courier New","PingFang SC",monospace;font-size:14px;line-height:2;margin:18px 0;border-bottom:5px dotted #152f2d}.terminal-modal .body-copy{color:#c2d4bc}.terminal-modal .fine{color:#9ab29d}.records{display:grid;gap:14px;margin:20px 0}.record{padding:17px 20px;background:#d9e0d3;border-left:2px solid #6e9077}.record h3{font-size:14px;letter-spacing:1px;margin:0 0 8px}.record p{font-size:14px;line-height:1.8;margin:0;color:#4c6655}.ending-modal{max-width:620px}.ending-number{font-family:Georgia,serif;font-size:80px;color:#859d82;margin:2px 0;line-height:1}.ending-caption{font-size:11px;letter-spacing:4px;margin:15px 0 12px}.ending-modal .body-copy{margin:23px 0}.help-steps{padding-left:23px;font-size:15px;line-height:1.9}.help-steps li{padding-left:6px;margin:12px 0}.no-motion *{transition:none!important}@media(min-width:1600px){.welcome-card{width:360px;padding:30px 32px 24px}.welcome{bottom:16%}}@media(max-width:900px){.game{min-height:700px}.topbar{padding:0 5%;height:90px}.location{display:none}.welcome{left:7%;right:7%;gap:24px;bottom:15%}.welcome h1{font-size:65px;letter-spacing:9px}.welcome h1 span{font-size:13px;letter-spacing:7px}.welcome-title>.eyebrow{font-size:10px;letter-spacing:1px}.welcome-card{width:300px;padding:23px}.welcome-card h2{font-size:24px}.welcome-meta{font-size:9px}.play{inset:90px 0 0}.target-label{padding:9px 10px;font-size:12px}.target-label small{display:none}.hotspot[data-place=phone]{transform:translate(-85%,-16px)}.shift-card{top:8px;width:225px}.broadcast{max-width:67%}.broadcast p{font-size:13px}.bottom-bar{bottom:30px}.intro-footer{font-size:10px}}@media(max-width:600px){.game{min-height:760px}.room img{width:170%;max-width:none;transform:translateX(-21%);object-position:50% 50%;filter:saturate(.7) brightness(.78)}.game:not(.intro) .room img{transform:translateX(-21%)}.topbar{height:84px}.identity{font-size:18px;letter-spacing:4px;gap:7px}.brand-mark{font-size:43px}.latin{font-size:8px;letter-spacing:1.3px}.top-actions{gap:16px}.quiet-button{font-size:11px}.welcome{top:27%;bottom:68px;left:7%;right:7%;flex-direction:column;gap:20px;align-items:stretch;justify-content:space-between}.welcome-title{padding:0}.welcome-title>.eyebrow{font-size:10px;letter-spacing:2px}.welcome h1{font-size:58px;letter-spacing:10px;margin:16px 0}.welcome h1 span{font-size:12px;letter-spacing:7px;margin-top:13px}.edition{font-size:11px;letter-spacing:2px}.welcome-card{width:100%;padding:20px 23px 16px}.card-top{padding-bottom:12px;font-size:10px}.welcome-card h2{font-size:23px;line-height:1.5;margin:15px 0 10px}.welcome-card h2 br{display:none}.welcome-card p{font-size:13px;margin-bottom:17px}.welcome-card p br{display:none}.welcome-meta{font-size:10px;justify-content:center;gap:12px}.primary{min-height:47px;padding:12px 16px;font-size:14px}.intro-footer{bottom:25px;left:7%;right:7%;font-size:9px;letter-spacing:1px}.intro-footer>span:first-child{max-width:65%}.play{inset:84px 0 0}.shift-card{padding:15px 18px;width:205px}.shift-card h2{font-size:17px;margin:12px 0 14px}.shift-card .eyebrow{font-size:9px}.hotspot[data-place=cabinet]{left:12%;top:56%}.hotspot[data-place=elevator]{left:57%;top:40%}.hotspot[data-place=terminal]{left:45%;top:68%}.hotspot[data-place=phone]{left:89%;top:53%}.target-dot{width:30px;height:30px}.target-label{font-size:11px;padding:9px}.hotspot{gap:6px}.bottom-bar{bottom:26px;left:6%;right:6%;display:block}.broadcast{max-width:100%;gap:12px}.broadcast p{font-size:12px;letter-spacing:.5px}.notebook{margin-top:18px;font-size:12px;padding:12px 16px;float:right}.modal-shell{padding:17px 22px 26px}.modal-shell h2{font-size:26px}.body-copy{font-size:15px}.note-quote{font-size:19px;padding:12px 15px;margin:19px 0}.terminal-modal .modal-shell{padding:13px 14px 20px}.terminal-head{padding-top:15px}.terminal-head h2{font-size:18px;letter-spacing:1px}.file-num{font-size:12px}.terminal-rule{font-size:13px}.number-grid{grid-template-columns:repeat(6,1fr);gap:3px;padding:10px 5px}.number{font-size:19px;letter-spacing:1px;min-height:46px;padding:4px}.terminal-actions{gap:8px}.terminal-actions .secondary{padding:12px;font-size:12px}.terminal-status{font-size:10px}.modal-actions{gap:10px}.modal-actions button{font-size:13px;letter-spacing:1px}.fine{font-size:11px}.receipt{font-size:12px;padding:17px}.toast{bottom:20px;font-size:13px;width:max-content}.ending-number{font-size:68px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
