:root{color-scheme:dark;--bg:#07111d;--panel:#111e2dee;--line:#40556b;--text:#e6eef5;--muted:#98adbf;--cyan:#6ce7f4;--purple:#bd9dff;--orange:#ffb879;--gold:#f1db9a;--accent:var(--cyan);font-family:Segoe UI,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body,#scene,#app,#labels{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--bg);color:var(--text)}#scene,#labels,#app{position:absolute;top:0;right:0;bottom:0;left:0}#scene canvas{width:100%;height:100%;display:block}#app,#labels{pointer-events:none}button,input{font:inherit}button{color:var(--text);border:1px solid var(--line);background:#152536d9;border-radius:5px;padding:12px 18px;cursor:pointer;pointer-events:auto;transition:background .18s,border-color .18s,transform .18s;min-height:44px}button:hover{background:#223d50;border-color:#80b0c4}button:active,button.pressed{transform:translateY(1px);background:#31556b}button:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}button:disabled{opacity:.35;cursor:not-allowed}button.primary{background:#c4edf2;color:#10232e;border-color:#c4edf2;font-weight:650}button.primary:hover{background:#e6fbff}button small{color:inherit;opacity:.6}b,strong{font-weight:600}p{line-height:1.8}small{font-size:11px}h1,h2,h3,p{margin-top:0}h2{font-size:26px;letter-spacing:.05em;font-weight:500;line-height:1.5}h3{font-weight:500}.muted{color:var(--muted)}.fine{font-size:12px}.eyebrow{font-family:Consolas,monospace;font-size:11px;letter-spacing:.16em;color:var(--cyan);margin-bottom:18px}#hud{position:absolute;top:24px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;filter:drop-shadow(0 2px 6px #07111d)}[hidden]{display:none!important}.brand{display:flex;align-items:center;gap:10px;font-size:17px;letter-spacing:.1em}.brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:.18em;margin-top:6px}.brand-mark{font-size:40px;line-height:1;color:var(--cyan)}#cycle{font-size:11px;letter-spacing:0;color:var(--muted);margin-left:8px;padding:6px;border-left:1px solid var(--line)}.timer-wrap{position:absolute;left:50%;transform:translate(-50%);width:180px;text-align:center}.timer-wrap>div:nth-child(2){display:flex;gap:4px;align-items:baseline;justify-content:center}.timer-wrap small{color:var(--muted);font-size:10px}.timer-wrap strong{font-family:Consolas,monospace;font-weight:400;font-size:42px;line-height:1.3;letter-spacing:-2px}.timer-wrap span{font-size:12px;color:var(--muted)}.time-track{height:2px;background:#354252;margin-bottom:7px}.time-track i{display:block;height:100%;background:var(--cyan);transform-origin:left}.urgent .timer-wrap strong{color:var(--orange)}.urgent .time-track i{background:var(--orange)}.paused .timer-wrap{opacity:.5}.server{text-align:right}.server>small{color:var(--muted);font-size:10px}#checks{display:flex;gap:20px;margin-top:10px;font-size:12px;color:var(--muted)}#checks i{font-style:normal;color:#8295a7}#checks .complete,#checks .complete i{color:var(--gold)}#hud-bottom{position:absolute;bottom:64px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.physical{min-width:170px;text-shadow:0 2px 6px #07111d}.physical>div:first-child{display:flex;align-items:baseline;gap:8px}.physical strong{font-family:Consolas,monospace;font-size:27px;font-weight:400}.physical span{color:var(--cyan);font-size:21px}.physical small{color:var(--muted);font-size:10px}.energy-track{height:3px;background:#314252;margin:6px 0 12px}.energy-track i{display:block;background:var(--cyan);height:100%;transition:width .1s}#item{font-size:12px;color:var(--orange);margin:0}.rule-chip{display:flex;gap:13px;align-items:center;background:#101f2fdb;text-align:left;border-color:#3a4a60;padding:12px 15px}.rule-chip>span:first-child{font-size:30px}.rule-chip small{font-size:9px;color:var(--muted);letter-spacing:.08em}.rule-chip b{display:block;font-size:12px;margin-top:5px;font-weight:400}.chip-arrow{color:var(--muted);margin-left:10px}.context{position:absolute;bottom:0;left:50%;transform:translate(-50%);text-align:center;max-width:40%;padding:10px 16px;background:#091624e8;border-top:1px solid #7998aa;border-radius:4px}.context div:first-child{font-size:15px;margin-bottom:5px}.context small{font-size:11px;color:#b6c9d7}#progress-track{height:3px;background:#26384a;margin-top:8px}#progress{display:block;height:100%;background:var(--cyan)}#utility{position:absolute;bottom:16px;left:30px;right:30px;display:flex;gap:18px;align-items:center;color:var(--muted);font-size:10px}.desktop-help{margin-right:auto}#utility button{padding:4px 10px;min-height:30px;font-size:10px;background:#10203088;border-color:#2b3c50}.reset-hold{position:relative;overflow:hidden}.reset-hold i{position:absolute;left:0;top:0;height:100%;background:#6b4e3d}.reset-hold span{position:relative}.world-label{position:absolute;transform:translate(-50%,-100%);text-align:center;white-space:nowrap;text-shadow:0 2px 5px #020c16,0 0 10px #020c16;font-size:10px;letter-spacing:.06em}.world-label>b{font-size:12px;margin-right:4px}.world-label small{display:block;color:#b5c3d3;font-size:9px;margin-top:2px;letter-spacing:0}.world-label.exit{font-size:11px}#toast{position:absolute;top:125px;left:50%;transform:translate(-50%);max-width:min(85%,640px);background:#14283bef;border:1px solid #415a70;border-left:3px solid var(--cyan);padding:12px 18px;border-radius:4px;text-align:center;font-size:13px;box-shadow:0 5px 30px #0003;z-index:4;line-height:1.7}#toast.fail{border-left-color:var(--orange)}#toast.success,#toast.authorized{border-left-color:var(--gold)}#reset-notice{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);display:flex;gap:18px;align-items:center;padding:20px 28px;background:#0b1829e8;border:1px solid #7a8d9f66;box-shadow:0 15px 60px #0005;border-radius:6px;z-index:5;animation:reset-in .25s ease-out}#reset-notice>span{font-size:50px;animation:survive 1.8s ease-out}#reset-notice small{color:var(--muted);display:block;margin-bottom:7px}#reset-notice b{font-size:17px;white-space:nowrap}#reset-notice p{font-size:11px;margin:8px 0 0;color:var(--muted)}@keyframes survive{0%{transform:translateY(12px);filter:drop-shadow(0 0 18px currentColor)}to{transform:translateY(0)}}@keyframes reset-in{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}#overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:none;pointer-events:none;z-index:6}#overlay.visible{display:flex}.modal-overlay{align-items:center;justify-content:center;background:#040c18b0;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);padding:24px;pointer-events:auto!important}.modal{position:relative;background:linear-gradient(140deg,#1a2c3cfa,#0d1928fc);border:1px solid #4b6175;box-shadow:0 25px 120px #0008;border-radius:8px;padding:34px;max-height:calc(100% - 10px);width:min(880px,100%);overflow-y:auto;pointer-events:auto;scrollbar-color:#56758d #142131}.modal.narrow{width:min(490px,100%)}.modal>.primary{width:100%;margin-top:12px}.modal>.primary+button{width:100%;margin-top:10px}.modal p{font-size:14px}.close{position:absolute;top:12px;right:12px;font-size:24px;background:none;border:none;min-width:44px;padding:4px;color:var(--muted)}.back{background:none;border:0;padding:0;min-height:35px;margin:0 0 18px;color:var(--muted)}.intro-icons{padding:15px;border-block:1px solid var(--line);margin-bottom:20px;color:var(--cyan);font-size:22px;white-space:nowrap}.intro-icons span{font-size:13px;color:var(--muted)}.slot{border:1px solid var(--accent);padding:16px 22px;position:relative;margin:24px 0 20px;background:#070f1a66}.slot:after,.slot:before{content:"";position:absolute;top:50%;width:10px;height:22px;border:1px solid var(--accent);background:#172536;transform:translateY(-50%)}.slot:before{left:-5px}.slot:after{right:-5px}.slot>small{color:var(--muted);display:block;font-size:9px;letter-spacing:.15em}.slot strong{display:flex;align-items:center;gap:13px;font-size:22px;color:var(--accent);margin-top:8px}.slot strong span{font-size:30px}.slot p{margin:4px 0 0;color:var(--muted);font-size:12px}.protocol-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.protocol-card{text-align:left;position:relative;background:#101d2c;padding:19px;min-height:240px;display:flex;flex-direction:column;transition:transform .2s}.protocol-card:hover{transform:translateY(-3px);border-color:var(--accent)}.protocol-card.selected{border-color:var(--accent);background:linear-gradient(135deg,#22384b,#131f2d)}.protocol-card>small{font-family:Consolas,monospace;color:var(--muted);font-size:10px}.card-icon{font-size:44px;color:var(--accent);margin:10px 0;line-height:1.3}.battery-symbol{display:inline-block;position:relative;width:.82em;height:.44em;border:.055em solid currentColor;border-radius:.065em;vertical-align:middle;margin-right:.12em}.battery-symbol:before{content:"";position:absolute;top:.055em;right:.055em;bottom:.055em;left:.055em;background:currentColor;border-radius:.015em}.battery-symbol:after{content:"";position:absolute;left:100%;width:.09em;height:.19em;top:50%;transform:translateY(-50%);background:currentColor;border-radius:0 .04em .04em 0}.card-icon{min-height:57px;display:flex;align-items:center}.protocol-card h3{font-size:18px;margin-bottom:12px}.protocol-card p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:20px}.protocol-card b{font-size:11px;color:var(--accent);margin-top:auto}.protocol-panel>.fine{margin-top:20px;margin-bottom:8px}.tabs,.hint-groups{display:flex;gap:8px;margin-bottom:18px}.tabs{border-bottom:1px solid var(--line);padding-bottom:12px}.tabs button,.hint-groups button{padding:8px 14px;font-size:12px;background:none}.tabs .active,.hint-groups .active{border-color:var(--cyan);color:var(--cyan);background:#25414b66}.map-body{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:center}.map-body img{width:100%;display:block}.schedule-list p{margin:0 0 11px;line-height:1.5;font-size:11px}.schedule-list b,.schedule-list span{display:block}.schedule-list b{margin-bottom:3px}.schedule-list span{color:var(--muted);font-size:10px}.facts{max-height:370px;overflow-y:auto}.facts article{border-bottom:1px solid #344657;padding:12px 0}.facts small{color:var(--cyan);font-family:Consolas,monospace;font-size:10px}.facts p{margin:6px 0;font-size:13px}.hint-body{min-height:230px;padding:15px 0}.hint-body>small{color:var(--muted)}.hint-body p{padding:14px 0;margin:0;border-bottom:1px solid var(--line)}.hint-body p b{color:var(--cyan);margin-right:10px;font-family:Consolas,monospace}.hint-body>button{margin-top:20px}.menu-list{display:grid;gap:10px;margin:20px 0}.controls-list{display:grid;grid-template-columns:1fr 1.3fr;gap:15px 12px;font-size:13px;line-height:1.5}.controls-list dt{color:var(--cyan);font-family:Consolas,Microsoft YaHei,monospace}.controls-list dd{margin:0;color:var(--muted)}.setting{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0;font-size:14px}.setting input{accent-color:var(--cyan);pointer-events:auto;max-width:48%}.title-overlay{background:linear-gradient(90deg,#07111dfa 15%,#07111dd9 35%,#07111d22 85%)}.title-screen{width:100%;height:100%;position:relative;display:flex;align-items:center;padding:35px 8%}.title-copy{pointer-events:auto;position:relative;max-width:420px}.title-symbol{position:absolute;left:390px;top:30px;font-size:240px;color:#9cc8d51a;line-height:1;pointer-events:none}.title-symbol span{position:absolute;font-family:Consolas,monospace;font-size:32px;color:#94bac244;left:75px;top:105px}.title-copy h1{font-weight:350;font-size:clamp(44px,5.3vw,80px);letter-spacing:.13em;line-height:1.3;margin:14px 0 7px;white-space:nowrap}.english-title{font-family:Consolas,monospace;letter-spacing:.44em;font-size:13px;color:var(--muted)}.title-tagline{margin-top:32px;line-height:1.9;font-size:17px;letter-spacing:.1em;color:#b5c7d6}.title-buttons{display:grid;gap:10px;width:260px;margin-top:30px}.title-buttons>button{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:14px 18px}.title-buttons>div{display:flex;gap:10px}.title-buttons>div button{flex:1;background:none;border-color:#304357;font-size:12px}.title-foot{font-family:Consolas,Microsoft YaHei,monospace;font-size:10px;letter-spacing:.08em;color:#6c879f;line-height:1.9;margin-top:30px;margin-bottom:0}.title-caption{position:absolute;right:7%;bottom:13%;text-align:right;border-right:2px solid var(--cyan);padding-right:17px;display:grid;gap:8px;letter-spacing:.15em}.title-caption span{font-size:18px}.title-caption small{color:var(--muted);font-size:10px}.title-caption i{width:5px;height:5px;background:var(--cyan);position:absolute;top:5px;right:-3px;border-radius:50%;box-shadow:0 0 15px var(--cyan)}#cinema{position:absolute;top:0;right:0;bottom:0;left:0;padding:35px;text-shadow:0 2px 6px #000}#cinema>span{font-size:12px;letter-spacing:.16em;color:var(--gold)}#cinema>b{float:right;font-family:Consolas,monospace;font-size:20px}#cinema>p{position:absolute;bottom:40px;width:100%;text-align:center;left:0;font-size:16px}.ending-overlay{align-items:flex-end;justify-content:center;background:linear-gradient(0deg,#07111dfc 15%,#07111dbb 48%,transparent 95%);padding:35px}.ending-panel{text-align:center;max-width:760px;pointer-events:auto;padding-top:25px}.ending-panel h2{font-size:clamp(21px,2.8vw,32px);font-weight:400;line-height:1.8;letter-spacing:.08em}.results{display:flex;justify-content:center;gap:70px;margin:25px 0}.results small{display:block;color:var(--muted);font-size:10px}.results strong{font-family:Consolas,monospace;font-size:32px;font-weight:400;display:block;margin-top:4px}.ending-checks{color:var(--gold);font-size:12px}.ending-panel>.muted{font-size:11px}.ending-buttons{display:flex;justify-content:center;gap:12px}#touch-controls{position:absolute;left:20px;right:20px;bottom:90px;display:none;align-items:end;justify-content:space-between}.dpad{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,45px);gap:4px}.dpad button{padding:0;background:#15354bc9;border-color:#57768b;touch-action:none}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1;grid-row:2}.dpad button:nth-child(3){grid-column:2;grid-row:2}.dpad button:nth-child(4){grid-column:3;grid-row:2}.touch-e{border-radius:50%;width:64px;height:64px;font-size:20px;background:#bceaf0dd;color:#102535;padding:8px}.touch-e small{font-size:10px}button[data-hold-reset],#scene{touch-action:none}#touch-controls button{user-select:none;-webkit-user-select:none}@media(pointer:coarse){#touch-controls{display:flex}.desktop-help{visibility:hidden}}@media(max-width:900px){#hud{left:20px;right:20px;top:18px}.brand{font-size:14px}.brand small{font-size:7px}.brand-mark{font-size:32px}#cycle{display:none}.server>small{font-size:8px}#checks{gap:10px;font-size:10px}.timer-wrap{width:140px}.timer-wrap strong{font-size:34px}.timer-wrap>div:nth-child(2)>small{display:none}#hud-bottom{left:20px;right:20px;bottom:64px}.rule-chip{gap:8px;padding:10px}.rule-chip b{font-size:10px}.rule-chip .chip-arrow{display:none}.physical{min-width:135px}.context{bottom:90px;max-width:75%;width:max-content}#utility{left:20px;right:20px;gap:8px}.desktop-help{font-size:9px}.modal{padding:28px}.title-symbol{display:none}}@media(max-width:699px){#hud{top:12px;left:14px;right:14px}.brand{gap:7px;font-size:13px}.brand-mark{font-size:28px}.brand small{font-size:6px;letter-spacing:.06em}.server{padding-top:57px;margin-left:auto}.server>small{display:none}#checks{font-size:10px;gap:12px}.timer-wrap{left:auto;right:0;transform:none;width:106px}.timer-wrap strong{font-size:31px}.timer-wrap small{font-size:9px}#hud-bottom{bottom:48px;left:14px;right:14px;gap:12px}.physical{min-width:100px}.physical strong{font-size:22px}.physical small{font-size:8px}.physical span{font-size:16px}.energy-track{margin-bottom:7px}#item{font-size:9px}.rule-chip{padding:8px;max-width:60%;gap:8px}.rule-chip>span:first-child{font-size:24px}.rule-chip small{font-size:8px}.rule-chip b{font-size:9px;line-height:1.6}.context{bottom:180px;max-width:95%;padding:9px 12px}.context div:first-child{font-size:13px}.context small{font-size:10px}#utility{left:14px;right:14px;bottom:8px;gap:5px;justify-content:space-between}#utility button{font-size:9px;padding:4px 7px}.desktop-help{display:none}#touch-controls{display:flex;bottom:122px;left:14px;right:14px}#toast{top:115px;font-size:11px;padding:10px 13px;max-width:90%;width:max-content}.world-label{font-size:10px}.world-label small{font-size:8px}.modal-overlay{padding:12px}.modal{padding:24px 20px;max-height:100%}.modal h2{font-size:21px}.modal p{font-size:12px}.eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:12px}.protocol-cards{gap:7px}.protocol-card{padding:10px;min-height:230px}.protocol-card>small{font-size:8px}.protocol-card h3{font-size:13px}.protocol-card p{font-size:10px}.protocol-card b{font-size:9px}.card-icon{font-size:33px;margin:12px 0}.slot{margin:18px 0;padding:12px 17px}.slot strong{font-size:19px}.tabs{gap:6px}.tabs button{font-size:10px;padding:7px 10px}.map-body{grid-template-columns:1fr;gap:8px}.map-body img{max-height:230px;object-fit:contain}.schedule-list{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.schedule-list p{font-size:10px;margin-bottom:10px}.schedule-list span{font-size:9px}.journal-panel .fine{font-size:10px}.facts{max-height:45vh}.hint-groups button{font-size:10px;padding:7px}.controls-list{font-size:11px}.title-screen{padding:25px 9%;align-items:center}.title-copy h1{font-size:47px}.title-copy .eyebrow{font-size:9px}.english-title{font-size:10px}.title-tagline{font-size:15px;margin-top:24px}.title-buttons{width:250px;margin-top:24px}.title-caption{display:none}.title-foot{font-size:8px;margin-top:25px}.title-overlay{background:linear-gradient(90deg,#07111df5,#07111dc0)}#reset-notice{padding:15px;gap:12px;width:max-content;max-width:95%}#reset-notice>span{font-size:38px}#reset-notice b{font-size:13px}#reset-notice p{font-size:9px}#cinema{padding:20px}#cinema>span{font-size:9px}#cinema>b{font-size:13px}#cinema>p{bottom:35px;font-size:12px}.ending-overlay{padding:24px 18px}.ending-panel h2{font-size:20px}.ending-buttons{flex-direction:column;gap:9px}.results{margin:20px 0;gap:45px}.ending-panel .eyebrow{font-size:9px}.ending-checks{font-size:10px}}@media(max-height:650px)and (min-width:700px){.title-screen{padding-block:20px}.title-copy h1{font-size:49px}.title-tagline{margin-top:18px;font-size:14px}.title-buttons{margin-top:18px;gap:7px}.title-foot{margin-top:16px}.modal{padding:25px}.protocol-card{min-height:200px}.card-icon{margin:5px 0}.protocol-card p{margin-bottom:10px}.slot{margin:16px 0}.protocol-panel>.fine{margin-top:12px}.ending-panel h2{font-size:23px}.results{margin:15px 0}.ending-overlay{padding:20px}#toast{top:100px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
