@font-face{font-family:"Desk Serif SC";src:url(../fonts/DeskSerifSC.woff) format("woff");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:"Desk Serif EN";src:url(../fonts/DeskSerifEN.woff) format("woff");font-style:normal;font-weight:300 700;font-display:swap}:root{font-family:"Desk Serif EN","Desk Serif SC",Songti SC,serif;color:#e8e3da;background:#070a10;font-synthesis:none;color-scheme:dark;--gold: #bba171;--gold-pale: #ddc493;--mist: #aaa9a5}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}body{min-width:320px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:1px solid var(--gold-pale);outline-offset:5px}#game{display:block;width:100%;height:100%;outline:none}.hidden{display:none!important}.grain,.vignette{position:fixed;inset:0;pointer-events:none;z-index:2}.grain{display:none}.vignette{background:radial-gradient(ellipse at 50% 44%,transparent 45%,rgba(0,0,0,.2) 76%,rgba(0,0,0,.42) 115%)}.screen{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:flex-start;padding:clamp(36px,7.5vw,120px);background:linear-gradient(90deg,rgba(3,6,10,.9),rgba(3,6,10,.47) 39%,rgba(3,6,10,.04) 72%,transparent);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 1s ease,visibility 1s}.screen:before,.screen:after{content:"";position:absolute;left:0;right:0;height:18px;background:#030507;transition:transform 1.1s cubic-bezier(.22,.7,.2,1)}.screen:before{top:0;transform:translateY(-100%)}.screen:after{bottom:0;transform:translateY(100%)}.screen.visible{opacity:1;visibility:visible;pointer-events:auto}.screen.visible:before,.screen.visible:after{transform:translateY(0)}.title-card{width:min(500px,88vw);text-shadow:0 3px 24px #000;transform:translateY(12px);opacity:0;transition:transform 1.1s .12s cubic-bezier(.22,.7,.2,1),opacity 1.1s .12s}.screen.visible .title-card{transform:translateY(0);opacity:1}.eyebrow{margin-bottom:24px;font:500 11px/1.6 "Desk Serif EN","Desk Serif SC",serif;letter-spacing:.36em;color:#a99678}h1,h2{font-family:inherit;font-weight:400}h1{margin:0 0 10px;font-size:clamp(50px,6.4vw,86px);line-height:1.25;letter-spacing:.16em}h2{margin:0 0 18px;font-size:34px;line-height:1.5;letter-spacing:.18em}.en{margin:0;font:500 11px/1.6 "Desk Serif EN","Desk Serif SC",serif;letter-spacing:.52em;color:#969593}.title-rule{display:flex;align-items:center;width:190px;height:1px;margin:30px 0 28px;background:linear-gradient(90deg,rgba(185,154,101,.58),transparent)}.title-rule span{width:4px;height:4px;background:#b89c6c;transform:rotate(45deg);box-shadow:0 0 12px #d6b77d4d}.intro{margin:0 0 30px;font-size:14px;font-weight:400;line-height:2.3;letter-spacing:.18em;color:#c3beb5}.menu-actions{width:min(280px,100%)}.primary,.secondary{position:relative;display:grid;grid-template-columns:28px 1fr 20px;align-items:center;gap:12px;width:100%;min-height:45px;padding:10px 0;margin:0;border:0;border-radius:0;background:transparent;color:#d9d0c0;font-size:14px;font-weight:400;letter-spacing:.2em;text-align:left;transition:color .3s,transform .3s,text-shadow .3s}.primary:before,.secondary:before{content:"";position:absolute;left:-16px;top:50%;width:1px;height:0;background:#c2a675;transition:height .3s,top .3s}.primary:after,.secondary:after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:linear-gradient(90deg,rgba(194,166,117,.6),transparent);transition:right .45s ease}.primary:hover,.secondary:hover,.primary:focus-visible,.secondary:focus-visible{color:#fff1d5;transform:translate(6px);text-shadow:0 0 18px rgba(221,196,147,.25)}.primary:hover:before,.secondary:hover:before,.primary:focus-visible:before,.secondary:focus-visible:before{top:18%;height:64%}.primary:hover:after,.secondary:hover:after,.primary:focus-visible:after,.secondary:focus-visible:after{right:0}.primary:active,.secondary:active{transform:translate(3px)}.menu-index{font:400 9px/1 "Desk Serif EN",serif;letter-spacing:.08em;color:#82745e}.menu-label{grid-column:2}.primary .button-arrow,.secondary .button-arrow{grid-column:3;font-family:system-ui,sans-serif;font-size:15px;color:#bda270;opacity:.45;transition:transform .3s,opacity .3s}.primary:hover .button-arrow,.secondary:hover .button-arrow{transform:translate(2px,-2px);opacity:1}.secondary{color:#99948a}.menu-foot{margin-top:26px;font-size:10px;letter-spacing:.16em;color:#6f6e69}.scene-caption{position:absolute;right:38px;bottom:38px;display:flex;flex-direction:column;align-items:flex-end;gap:7px;color:#79766e;text-shadow:0 2px 10px #000}.scene-caption span:first-child{font:500 10px/1.4 "Desk Serif EN",serif;letter-spacing:.3em;color:#9b896b}.scene-caption span:last-child{font-size:11px;letter-spacing:.26em}.enter-hint{position:absolute;left:50%;bottom:38px;transform:translate(-50%);display:flex;align-items:center;gap:10px;color:#817c71;font-size:10px;letter-spacing:.18em;animation:hint-breathe 3s ease-in-out infinite}@keyframes hint-breathe{50%{opacity:.45}}#hud{position:fixed;z-index:5;inset:0 0 auto;display:grid;grid-template-columns:1fr minmax(280px,560px) 1fr;align-items:start;gap:24px;padding:27px 34px;pointer-events:none}.chapter{justify-self:start;display:flex;flex-direction:column;gap:8px;padding-left:13px;border-left:1px solid rgba(190,161,111,.55);text-shadow:0 2px 10px #000;transition:opacity 1.2s ease,transform 1.2s ease}.chapter span{font:400 9px/1.2 "Desk Serif EN","Desk Serif SC",serif;letter-spacing:.3em;color:#a28e6d}.chapter strong{font-size:13px;font-weight:400;line-height:1.5;letter-spacing:.24em;color:#d4cfc5}.objective{position:relative;justify-self:center;max-width:100%;padding:4px 20px 9px;font-size:12px;line-height:1.9;letter-spacing:.16em;text-align:center;color:#d2ccc1;text-shadow:0 2px 8px #000,0 0 16px #000;transition:opacity 1.2s ease,transform 1.2s ease}.objective:after{content:"";position:absolute;left:30%;right:30%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(190,161,111,.55),transparent)}#hud.quiet .chapter,#hud.quiet .objective{opacity:0;transform:translateY(-6px)}.objective.changed{animation:objective-in 1.1s ease}@keyframes objective-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.hud-actions{justify-self:end;display:flex;align-items:center;gap:14px;pointer-events:auto}.collect-count{display:inline-flex;align-items:center;gap:6px;min-height:32px;font:400 10px/1 "Desk Serif EN","Desk Serif SC",serif;letter-spacing:.12em;color:#b6aa94;opacity:.62;text-shadow:0 2px 7px #000;transition:opacity .4s}.collect-count:hover{opacity:1}.collect-count .count-icon{font-family:serif;font-size:14px;color:#c2a777}#memory-count{color:#9eafb2}#memory-count .count-icon{color:#9fb9bd}.collect-count.bump{animation:discovery 1.4s ease}@keyframes discovery{0%,to{opacity:.62;transform:translateY(0)}25%,65%{opacity:1;transform:translateY(-2px);text-shadow:0 0 14px #d5b578}}.icon-btn{display:grid;place-items:center;flex:none;width:32px;height:32px;padding:0;border:1px solid rgba(221,211,190,.18);border-radius:50%;background:#05080c33;color:#bdb7ac;font:400 11px/1 system-ui,sans-serif;opacity:.6;transition:opacity .25s,border-color .25s,background .25s}.icon-btn:hover{opacity:1;border-color:#a58c62;background:#05080ca6}.item-reveal{position:fixed;inset:0;z-index:16;display:grid;place-items:center;overflow:auto;padding:32px;background:#04070a6b;backdrop-filter:blur(0) saturate(1);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .62s ease,visibility .62s,backdrop-filter .62s ease}.item-reveal.open{opacity:1;visibility:visible;pointer-events:auto;backdrop-filter:blur(6px) saturate(.85)}.item-reveal-shell{display:flex;flex-direction:column;align-items:center;width:min(760px,100%);max-height:calc(100vh - 64px);overflow:auto;padding:12px 18px 20px;opacity:0;transform:translateY(14px) scale(.985);transition:opacity .5s ease,transform .5s ease}.item-reveal.open .item-reveal-shell{opacity:1;transform:translateY(0) scale(1);transition:opacity .62s .08s ease,transform .62s .08s cubic-bezier(.2,.75,.25,1)}.item-reveal-kicker{margin-bottom:12px;color:#c1aa80;font-family:"Desk Serif EN","Desk Serif SC",serif;font-size:11px;font-weight:400;line-height:1.6;letter-spacing:.18em;text-align:center}.reveal-object{display:flex;flex-direction:column;align-items:center;max-width:540px;text-align:center;font-family:"Desk Serif EN","Desk Serif SC",serif}.reveal-item-image{display:block;width:min(360px,74vw);height:250px;margin:-6px 0 2px;object-fit:contain;filter:drop-shadow(0 18px 20px rgba(0,0,0,.38))}.reveal-object h2{margin:0 0 13px;color:#eee7db;font-family:inherit;font-size:24px;font-weight:500;line-height:1.5;letter-spacing:.08em}.reveal-rule{width:56px;height:1px;margin-bottom:16px;background:linear-gradient(90deg,transparent,#b39561,transparent)}.reveal-use{max-width:460px;margin:0;color:#d0cbc1;font-family:inherit;font-size:14px;line-height:1.9;letter-spacing:.025em}.reveal-letter{position:relative;width:min(650px,100%);padding:34px 46px 30px;border:1px solid #b6a477;background:linear-gradient(103deg,rgba(116,88,47,.09),transparent 26%),repeating-linear-gradient(0deg,rgba(83,63,34,.025) 0,rgba(83,63,34,.025) 1px,transparent 1px,transparent 4px),#d7c9a7;box-shadow:0 18px 65px #00000059,inset 0 0 60px #5b401f21;color:#393126;text-align:left;font-family:"Desk Serif EN","Desk Serif SC",serif}.reveal-letter:after{content:"";position:absolute;inset:9px;border:1px solid rgba(76,58,34,.14);pointer-events:none}.letter-heading{display:flex;align-items:center;gap:17px;padding-bottom:16px;border-bottom:1px solid rgba(70,52,29,.22)}.letter-item-image{flex:none;width:58px;height:44px;object-fit:contain;filter:sepia(.35) saturate(.65)}.letter-heading h2{margin:0 0 4px;color:#342a20;font-size:21px;font-weight:500;letter-spacing:.07em}.letter-date{color:#76674e;font-family:inherit;font-size:10px;letter-spacing:.06em}.letter-salutation{margin:22px 0 12px;font-size:15px;letter-spacing:.05em}.reveal-letter p{margin:10px 0;font-size:14px;line-height:2;letter-spacing:.025em;text-indent:2em}.letter-signature{margin-top:18px;text-align:right;font-size:13px;letter-spacing:.06em}.item-reveal-close{display:flex;align-items:center;justify-content:center;gap:15px;min-width:220px;margin-top:20px;padding:11px 18px;border:1px solid rgba(202,172,116,.34);border-radius:2px;background:#080c1061;color:#e0d7c8;font-family:"Desk Serif EN","Desk Serif SC",serif;font-size:12px;letter-spacing:.08em;transition:color .2s,border-color .2s,background .2s}.item-reveal-close:hover,.item-reveal-close:focus-visible{outline:none;color:#fff0d0;border-color:#c6a76d;background:#1a1b199e}.item-reveal-close kbd{border:0;background:transparent;color:#bda77f}.item-reveal-hint{margin-top:10px;color:#aaa59b;font-family:"Desk Serif EN","Desk Serif SC",serif;font-size:10px;letter-spacing:.04em}.item-reveal-kicker,#item-reveal-content,.item-reveal-close span,.item-reveal-close kbd,.item-reveal-hint{opacity:0;transform:translateY(5px);transition:opacity .5s ease,transform .5s ease}.item-reveal.open .item-reveal-kicker,.item-reveal.open #item-reveal-content,.item-reveal.open .item-reveal-close span,.item-reveal.open .item-reveal-close kbd,.item-reveal.open .item-reveal-hint{opacity:1;transform:translateY(0)}.item-reveal.open .item-reveal-kicker{transition-delay:.12s}.item-reveal.open #item-reveal-content{transition-delay:.22s}.item-reveal.open .item-reveal-close span,.item-reveal.open .item-reveal-close kbd,.item-reveal.open .item-reveal-hint{transition-delay:.34s}.controls{position:fixed;z-index:5;bottom:22px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:18px;max-width:calc(100vw - 32px);color:#8f8d87;white-space:nowrap;pointer-events:none;opacity:.68;text-shadow:0 2px 7px #000;transition:opacity 1.8s ease,transform 1.8s ease}.controls.dismissed{opacity:0;transform:translate(-50%,5px)}.control-item{display:inline-flex;align-items:center;gap:7px;font-family:"Desk Serif EN","Desk Serif SC",serif;font-size:9px;letter-spacing:.08em}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:23px;min-height:23px;padding:3px 6px;border:1px solid rgba(205,188,156,.34);border-radius:2px;background:#06090d59;color:#c9b996;font:400 9px/1 "Desk Serif EN","Desk Serif SC",serif;letter-spacing:.08em;box-shadow:none}.prompt{position:fixed;z-index:7;left:50%;bottom:67px;transform:translate(-50%,5px);display:flex;align-items:center;justify-content:center;gap:12px;max-width:min(620px,calc(100vw - 36px));padding:9px 16px;background:radial-gradient(ellipse,rgba(5,8,12,.7),transparent 72%);color:#ded7ca;font-size:13px;font-weight:400;line-height:1.8;letter-spacing:.13em;text-align:center;text-shadow:0 2px 8px #000;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s,transform .55s ease}.prompt.visible{opacity:1;visibility:visible;transform:translate(-50%)}.prompt kbd{min-width:28px;min-height:28px;border-color:#ddc49394;color:#ead4a8;animation:key-breathe 2.4s ease-in-out infinite}.prompt:not(:has(kbd)){color:#aaa69e;font-size:12px}@keyframes key-breathe{50%{border-color:#ddc493e6;box-shadow:0 0 12px #ddc4931f}}.subtitle{position:fixed;z-index:6;left:50%;bottom:125px;transform:translate(-50%,5px);width:max-content;max-width:min(700px,calc(100vw - 44px));padding:12px 28px;background:radial-gradient(ellipse,rgba(4,7,11,.7),transparent 72%);text-align:center;font-size:16px;font-weight:400;line-height:2;letter-spacing:.18em;color:#e5ded1;text-shadow:0 2px 7px #000,0 0 18px #000;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .72s ease,visibility .72s,transform .72s ease}.subtitle.visible{opacity:1;visibility:visible;transform:translate(-50%)}.exposure{position:fixed;z-index:8;top:86px;left:50%;transform:translate(-50%,-4px);min-width:220px;padding:10px 16px;background:radial-gradient(ellipse,rgba(7,10,14,.65),transparent 75%);text-align:center;font-size:11px;font-weight:400;line-height:1.6;letter-spacing:.2em;color:#d6b185;text-shadow:0 2px 8px #000;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s,transform .55s ease}.exposure.visible{opacity:1;visibility:visible;transform:translate(-50%)}.exposure>div{width:180px;max-width:100%;height:1px;margin:10px auto 0;background:#ffffff1f}.exposure i{display:block;width:0;height:100%;background:#d7a873;box-shadow:0 0 9px #d7a873;transition:width .12s linear}.exposure.safe{color:#a8c7cb}.exposure.safe i{background:#8db9c8;box-shadow:0 0 9px #8db9c8}#pause,#complete,.recovery{justify-content:center}#pause{background:radial-gradient(ellipse at center,#05080c85,#020407e6);backdrop-filter:blur(4px) saturate(.55)}.dialog{width:min(390px,calc(100vw - 40px));padding:30px;background:radial-gradient(ellipse,rgba(3,6,10,.48),transparent 72%);text-align:center;text-shadow:0 2px 12px #000;opacity:0;transform:translateY(8px);transition:opacity .8s .12s,transform .8s .12s}#pause.visible .dialog{opacity:1;transform:translateY(0)}.dialog .eyebrow{margin-bottom:18px}.dialog .menu-actions{margin:24px auto 0;text-align:left}.pause-whisper{margin:0;color:#85827b;font-size:12px;line-height:2.1;letter-spacing:.18em}.pause-settings{margin-top:24px;padding:8px 0;border-top:1px solid rgba(185,154,101,.12);border-bottom:1px solid rgba(185,154,101,.12)}.dialog label{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:14px 0;font-size:11px;letter-spacing:.16em;color:#8f8b83}.dialog input[type=range]{width:140px;height:2px;accent-color:#a88d60;cursor:pointer}.dialog input[type=checkbox]{width:14px;height:14px;accent-color:#a88d60;cursor:pointer}.pause-hint{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:22px;color:#6f6c65;font-size:10px;letter-spacing:.16em}#complete{background:radial-gradient(ellipse at center,#05080c7a,#020407e6);backdrop-filter:blur(3px) saturate(.65);text-align:center}#complete .title-card{width:min(680px,calc(100vw - 44px))}#complete .title-rule{margin-left:auto;margin-right:auto;background:linear-gradient(90deg,transparent,rgba(185,154,101,.58),transparent)}#complete .menu-actions{margin:0 auto;text-align:left}#complete h1{font-size:clamp(36px,4.6vw,58px)}#journey-time{margin:-8px 0 24px;font:500 11px/1.6 "Desk Serif EN","Desk Serif SC",serif;letter-spacing:.2em;color:#847967}.recovery{z-index:60;background:#04070cf0}.recovery .dialog{width:min(430px,calc(100vw - 36px));padding:34px;border:1px solid rgba(185,154,101,.2);background:#090d14;text-align:left;opacity:1;transform:none}.recovery .intro{font-size:13px;letter-spacing:.1em}.loading{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#05080d;transition:opacity 1s ease,visibility 1s}.loading.done{opacity:0;visibility:hidden;pointer-events:none}.loading-title{margin-bottom:28px;font-size:27px;letter-spacing:.3em;color:#aaa092}.loading>span{position:relative;width:120px;height:1px;overflow:hidden;background:#ffffff12}.loading>span:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#a88d60,transparent);animation:loading-line 1.8s ease-in-out infinite}.loading p{margin-top:18px;font-size:10px;letter-spacing:.28em;color:#6f6c66}@keyframes loading-line{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(max-width:900px){#hud{grid-template-columns:auto 1fr auto;gap:12px;padding:20px}.objective{font-size:11px;letter-spacing:.1em}.controls{gap:11px}}@media(max-width:700px){.screen{padding:28px;background:#04070cb8}.title-card{width:min(460px,100%)}h1{font-size:clamp(42px,12vw,60px)}.intro{font-size:13px}#hud{grid-template-columns:1fr auto;padding:15px}.objective{grid-column:1 / -1;grid-row:2;justify-self:center;padding-top:2px}.hud-actions{grid-column:2;grid-row:1;gap:9px}.controls{bottom:14px;gap:10px}.control-item:nth-child(2),.control-item:nth-child(5){display:none}.prompt{bottom:56px;font-size:12px}.subtitle{bottom:112px;font-size:14px}.exposure{top:116px}.item-reveal{padding:16px}.item-reveal-shell{max-height:calc(100vh - 32px);padding:6px 0 14px}.item-reveal-kicker{margin-bottom:10px;font-size:10px}.reveal-item-image{width:min(280px,76vw);height:190px}.reveal-object h2{font-size:21px}.reveal-use{font-size:13px}.reveal-letter{padding:25px 24px 22px}.letter-heading h2{font-size:18px}.reveal-letter p{font-size:12px;line-height:1.9}.item-reveal-close{margin-top:18px}}@media(max-height:650px){.screen{padding-top:24px;padding-bottom:24px}.eyebrow{margin-bottom:12px}h1{font-size:44px}.en{margin-bottom:22px}.intro{margin-bottom:18px;line-height:1.9}.menu-foot{margin-top:16px}.dialog{padding:22px 30px}.dialog h2{margin-bottom:14px}.dialog label{margin:16px 0}.subtitle{bottom:108px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.grain{animation:none}}
