
:root{color-scheme:dark;--cream:#eadfc5;--muted:#a4b4b7;--gold:#ddbe80;--line:#b8cec324}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#080e15;color:var(--cream);font-family:"Microsoft YaHei UI","PingFang SC",sans-serif}body{display:grid;place-items:center}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);background:#12212bcc;padding:10px 17px;border-radius:4px;transition:background .2s,transform .2s}button:hover{background:#30434b;transform:translateY(-1px)}button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.hidden{display:none!important}#app{width:min(100vw,177.7778vh);aspect-ratio:16/9;position:relative;overflow:hidden;background:#0b1723}canvas{display:block;width:100%;height:100%}#hud{position:absolute;inset:0;pointer-events:none}header{display:flex;justify-content:space-between;align-items:center;padding:22px 32px;border-bottom:1px solid #b8cec31c;background:linear-gradient(#071019c9,transparent)}.brand{letter-spacing:3px;font-size:17px}.brand span{font-size:9px;letter-spacing:2px;color:var(--muted);margin-left:16px}.tools{display:flex;gap:8px;pointer-events:auto}.tools button{font-size:11px;padding:7px 11px}kbd{font:10px monospace;opacity:.6;margin-left:5px}.chapter{position:absolute;left:34px;top:93px;text-shadow:0 2px 15px #07121e}.chapter>span,.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold)}.chapter h2{font-family:Georgia,"SimSun",serif;font-weight:400;letter-spacing:5px;font-size:27px;margin:10px 0}.chapter p{font-size:12px;color:#b7c7c9;letter-spacing:1px}.status{position:absolute;right:34px;top:103px;display:flex;align-items:center;gap:12px;font-size:11px;color:#c7d2d0}.meter{width:85px;height:3px;background:#b8cec333}.meter i{display:block;height:100%;background:#a8c9bd;transition:width .3s}#memCount{margin-left:10px;color:var(--gold)}footer{position:absolute;bottom:0;left:0;right:0;padding:16px 32px 18px;background:linear-gradient(transparent,#071019ed 40%);display:flex;justify-content:space-between;align-items:end}.movement{font-size:10px;color:#b1bfbd;white-space:nowrap;padding-bottom:8px}#skills{display:flex;gap:8px}.skill{border:1px solid #cfdbca24;padding:8px 12px;min-width:92px;background:#10202bbb}.skill b{font-size:12px;font-weight:400}.skill span{display:block;font-size:9px;color:#9eb2b5;margin-top:5px}.skill em{font:10px monospace;color:var(--gold);margin-right:8px}.skill.unlocked{border-color:#ddbe8050}.skill.dim{opacity:.55}#prompt{position:absolute;left:50%;bottom:118px;transform:translateX(-50%);font-size:13px;letter-spacing:1px;padding:10px 18px;background:#0b1927e8;border:1px solid #ddbe804a;border-radius:30px;white-space:nowrap}#prompt:empty{display:none}#toast{position:absolute;top:30%;left:50%;transform:translateX(-50%);font-size:13px;text-align:center;max-width:600px;line-height:1.9;opacity:0;transition:opacity .3s;background:#10202be8;border-radius:4px;padding:12px 22px;pointer-events:none}#toast.show{opacity:1}.screen{position:absolute;inset:0}.title-art{position:absolute;inset:0;background:url(reference.jpg) center/cover}.title-shade{position:absolute;inset:0;background:linear-gradient(90deg,#06111bea 0%,#07121bbb 24%,transparent 65%),linear-gradient(0deg,#07111e 0%,transparent 30%)}.title-copy{position:absolute;top:13%;left:8%}h1{font:72px/1.22 "SimSun",serif;letter-spacing:13px;margin:24px 0 20px;color:#f0ecdc;text-shadow:0 4px 30px #061019}h1 span{display:block;font:10px/2 sans-serif;letter-spacing:6px;margin-top:15px;color:#c4cfc7}.title-copy p{font-size:13px;line-height:2.1;color:#b7c6c8;letter-spacing:2px}.title-actions{display:flex;gap:12px;margin-top:27px}.primary{background:#dfc795;color:#1e2c31;border-color:#dfc795;min-width:170px;padding:13px 23px}.primary:hover{background:#f1ddb5}.primary span{margin-left:24px}.small{font-size:10px;line-height:1.9;color:#8fa3af;margin-top:18px}.title-bottom{position:absolute;bottom:25px;left:8%;right:5%;font-size:10px;letter-spacing:2px;color:#91a6ad;display:flex;justify-content:space-between}.overlay{position:absolute;inset:0;background:#040c15bd;backdrop-filter:blur(9px);display:grid;place-items:center;z-index:10}.paper{width:min(610px,88%);max-height:88%;overflow:auto;padding:34px 42px;background:linear-gradient(135deg,#213640f5,#111f2cfb);border:1px solid #cfdbc237;box-shadow:0 30px 100px #0008;border-radius:6px}.paper h2{font:30px/1.5 "SimSun",serif;letter-spacing:3px;margin:13px 0 20px}.paper p{font-size:14px;line-height:2;color:#c6d1ce}.paper blockquote{margin:20px 0;padding:12px 20px;border-left:2px solid var(--gold);font:19px/1.8 "SimSun",serif;color:#e8d4ab}.paper .change{font-size:12px;color:#ddbe80;border-top:1px solid var(--line);padding-top:15px}.paper .entry{padding:9px 0;border-bottom:1px solid var(--line)}.entry b{font-size:13px;font-weight:400}.entry p{font-size:12px;margin:4px 0}.paper .hint{font-size:11px;color:#97adb1}#modalActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}#touch{position:absolute;left:20px;right:20px;bottom:82px;display:flex;gap:8px;pointer-events:auto}#touch button{touch-action:none;user-select:none;min-width:43px}#touch button:nth-child(3){margin-left:auto}@media(pointer:coarse){#touch:not(.hidden){display:flex}.movement{display:none}}@media(max-width:900px){header{padding:12px 18px}.brand span{display:none}.chapter{left:20px;top:65px}.chapter h2{font-size:21px;margin:6px 0}.status{top:72px;right:20px}.title-copy{top:8%}h1{font-size:48px;margin:13px 0}.title-copy p{font-size:11px}.title-actions{margin-top:12px}.small{font-size:9px;margin-top:12px}.eyebrow{font-size:9px}.title-bottom{bottom:15px}.skill{min-width:65px;padding:6px}.skill span{font-size:8px}footer{padding:10px 18px}.movement{font-size:8px}.paper{padding:22px 30px}.paper h2{font-size:24px}.paper p{font-size:12px}.paper blockquote{font-size:16px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}


.memory-symbol{display:block;width:78px;height:78px;margin:0 auto 18px;filter:drop-shadow(0 0 16px #d6c58b25)}.memory-story{min-height:130px;letter-spacing:.5px}.entry .memory-symbol{float:left;width:48px;height:48px;margin:5px 16px 0 0}.entry button{font-size:11px;padding:5px 10px;margin:4px 0 5px}.entry:after{content:"";display:block;clear:both}

#skills{pointer-events:auto}.skill{position:relative;text-align:left;min-width:104px;min-height:77px;padding-bottom:20px}.skill:hover{transform:none;background:#1d333d}.skill.cooling{border-color:#78949655;background:#11232de6}.skill.cooling b{opacity:.55}.skill .cd-value{position:absolute;bottom:8px;right:8px;font:10px monospace;color:#cddbc9}.cd-track{position:absolute;left:0;bottom:0;right:0;height:3px;background:#3e5056}.cd-fill{display:block;height:100%;background:#cdb77f}.just-ready{animation:skillReady .6s ease-out}@keyframes skillReady{from{box-shadow:0 0 15px #dfd19a99;border-color:#ecd7a5}to{box-shadow:0 0 0 transparent}}#puzzleStatus{font-size:11px;color:#d3c797;max-width:400px;line-height:1.65}.clue-card,.inventory-card{padding:14px 17px;background:#c5bd7d0c;border:1px solid #c5bd7d38;border-radius:4px}@media(max-width:900px){.skill{min-width:78px;min-height:72px}#puzzleStatus{font-size:9px;max-width:285px}.tools{gap:3px}.tools button{padding:6px 7px}.brand{font-size:13px}}@media(prefers-reduced-motion:reduce){.just-ready{animation:none}}

#world3d{position:absolute;inset:0}.game-overlay{position:relative;pointer-events:none}.tools{gap:5px}.tools button{padding:7px 8px}

