:root{--ink:#1d2433;--navy:#0e1626;--navy-2:#18243b;--parchment:#f4ead3;--parchment-2:#e8d9b5;--gold:#e2bf74;--gold-soft:#e2bf748c;--cream:#fbf5e6;--shadow:0 2px 18px #080c1673;--serif-zh:"Noto Serif SC", "Songti SC", "STSong", serif;--serif-en:"Cormorant Garamond", "Iowan Old Style", Georgia, serif;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1)}*{box-sizing:border-box}html,body{background:var(--navy);height:100%;color:var(--cream);font-family:var(--serif-zh);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}html[lang=en] body{font-family:var(--serif-en)}#scene{outline:none;width:100vw;height:100vh;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}.screen{opacity:0;visibility:hidden;transition:opacity 1.1s var(--ease-out), visibility 0s linear 1.1s;position:absolute;inset:0}.screen.is-visible{opacity:1;visibility:visible;transition:opacity 1.1s var(--ease-out), visibility 0s}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}kbd{min-width:2.1em;height:2.1em;font-family:var(--serif-en);letter-spacing:.02em;color:var(--cream);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0e162647;border:1.5px solid #fbf5e6d9;border-radius:.45em;justify-content:center;align-items:center;padding:0 .55em;font-size:.82em;font-weight:600;display:inline-flex;box-shadow:inset 0 -2px #fbf5e640,0 2px 10px #00000040}.ornament,.title-rule{color:var(--gold);justify-content:center;align-items:center;gap:.8rem;display:flex}.ornament span,.title-rule span{background:linear-gradient(90deg, transparent, var(--gold-soft) 40%, var(--gold-soft) 60%, transparent);width:7.5rem;height:1px;display:block}.ornament i,.title-rule i{text-shadow:0 0 10px #e2bf74cc;font-size:.8rem;font-style:normal}.title-rule.small span{width:4.5rem}#loading{pointer-events:auto;background:var(--navy)}.loading-art{filter:saturate(1.02);animation:kenburns 38s var(--ease-in-out) infinite alternate;background-color:#0000;background-image:radial-gradient(at 70% 62%,#ffd69659,#0000 55%),radial-gradient(at 30% 30%,#5a78aa59,#0000 60%),linear-gradient(#1a2a46 0%,#2f4466 45%,#c99a6b 78%,#e9c995 100%);background-position:72% 42%;background-repeat:repeat,repeat,repeat;background-size:cover;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;position:absolute;inset:-4%}.loading-art.has-art{background-image:var(--keyart)}@keyframes kenburns{0%{transform:scale(1.02)translate(0,0)}to{transform:scale(1.09)translate(-1.2%,-1%)}}.loading-veil{background:linear-gradient(#0e162600 40%,#0e1626d1 88%),radial-gradient(#0000 55%,#080c168c 100%);position:absolute;inset:0}.loading-content{text-align:center;width:min(680px,88vw);position:absolute;bottom:9vh;left:50%;transform:translate(-50%)}.loading-quote{text-wrap:balance;letter-spacing:.08em;color:#fbf5e6e6;text-shadow:var(--shadow);margin:1.1rem 0 1.6rem;font-size:1.06rem;line-height:1.9}html[lang=en] .loading-quote{letter-spacing:.01em;font-size:1.22rem;font-style:italic}.progress-track{background:#fbf5e629;border-radius:2px;height:2px;position:relative;overflow:hidden}.progress-fill{background:linear-gradient(90deg, #e2bf7466, var(--gold));width:0%;transition:width .5s var(--ease-out);position:absolute;inset:0 auto 0 0}.progress-glint{width:60px;height:8px;animation:glint 2.4s var(--ease-in-out) infinite;background:radial-gradient(#ffecbee6,#0000 70%);position:absolute;top:-3px;left:-60px}@keyframes glint{to{left:100%}}.progress-label{letter-spacing:.3em;color:#fbf5e699;margin-top:.85rem;font-size:.78rem}.progress-label b{color:var(--gold);font-weight:500;font-family:var(--serif-en);letter-spacing:.1em}#title{pointer-events:none}#title.is-visible{pointer-events:auto;cursor:pointer}#title .lang-switch,#title .title-start,#title .title-continue{cursor:pointer}.title-veil{background:linear-gradient(90deg,#0a101c9e 0%,#0a101c40 42%,#0000 65%),linear-gradient(#0000 70%,#0a101c73 100%);position:absolute;inset:0}.title-block{text-align:left;position:absolute;top:50%;left:8.5vw;transform:translateY(-54%)}.title-block>*{opacity:0;transform:translateY(14px)}#title.is-visible .title-block>*{animation:rise 1.6s var(--ease-out) forwards}#title.is-visible .title-block>:nth-child(2){animation-delay:.25s}#title.is-visible .title-block>:nth-child(3){animation-delay:.55s}#title.is-visible .title-block>:nth-child(4){animation-delay:.75s}#title.is-visible .title-block>:nth-child(5){animation-delay:.95s}@keyframes rise{to{opacity:1;transform:none}}.title-eyebrow{font-family:var(--serif-en);letter-spacing:.62em;color:#fbf5e6b3;margin:0 0 1.2rem .2rem;font-size:.86rem}.title-main{letter-spacing:.16em;color:var(--cream);text-shadow:0 4px 40px #060a148c;margin:0;font-size:clamp(3.4rem,7.4vw,6.6rem);font-weight:600;line-height:1.05}html[lang=en] .title-main{font-family:var(--serif-en);letter-spacing:.02em;font-size:clamp(3.6rem,7.6vw,7rem);font-weight:500}.title-block .title-rule{justify-content:flex-start;margin:1.3rem 0 1.1rem}.title-block .title-rule span:first-child{width:0}.title-block .title-rule span:last-child{background:linear-gradient(90deg, var(--gold-soft), transparent);width:15rem}.title-sub{letter-spacing:.42em;color:#fbf5e6eb;margin:0;font-size:clamp(1.4rem,2.4vw,2rem)}html[lang=en] .title-sub{font-family:var(--serif-en);letter-spacing:.06em;font-style:italic}.title-latin{font-family:var(--serif-en);letter-spacing:.12em;color:#e2bf74d9;margin:.9rem 0 0 .1rem;font-size:1.1rem;font-style:italic}.title-start{letter-spacing:.5em;color:var(--cream);opacity:0;transition:color .4s var(--ease-out), letter-spacing .6s var(--ease-out);align-items:center;gap:1rem;padding:.9rem 1.6rem;font-size:1.05rem;display:inline-flex;position:absolute;bottom:11vh;left:50%;transform:translate(-50%)}html[lang=en] .title-start{letter-spacing:.32em;text-transform:uppercase;font-size:1.1rem}#title.is-visible .title-start{animation:rise 1.4s var(--ease-out) 1.4s forwards, breathe 3.2s var(--ease-in-out) 2.8s infinite}.title-chapter2{color:#fbf5e68c;letter-spacing:.3em;cursor:pointer;opacity:0;background:0 0;border:0;font-family:inherit;font-size:.78rem;transition:color .3s;position:absolute;bottom:5vh;right:4vw}.title-chapter2:not(.dev):not(.unlocked){display:none}#title.is-visible .title-chapter2.dev,#title.is-visible .title-chapter2.unlocked{animation:rise 1.4s var(--ease-out) 2s forwards}.title-wipe{color:#fbf5e666;letter-spacing:.24em;cursor:pointer;opacity:0;background:0 0;border:0;font-family:inherit;font-size:.72rem;transition:color .3s;position:absolute;bottom:5vh;left:4vw}.title-wipe:not(.show){display:none}#title.is-visible .title-wipe.show{animation:rise 1.4s var(--ease-out) 2.2s forwards}.title-wipe:hover,.title-wipe.confirm{color:#e0896a}.title-chapter2:hover{color:#fbf5e6f2}.title-continue{display:none}#title.has-save .title-continue{letter-spacing:.5em;color:var(--cream);opacity:0;transition:color .4s var(--ease-out), letter-spacing .6s var(--ease-out);align-items:center;gap:1rem;padding:.9rem 1.6rem;font-size:1.05rem;display:inline-flex;position:absolute;bottom:14vh;left:50%;transform:translate(-50%)}html[lang=en] #title.has-save .title-continue{letter-spacing:.32em;text-transform:uppercase;font-size:1.1rem}#title.has-save.is-visible .title-continue{animation:rise 1.4s var(--ease-out) 1.4s forwards, breathe 3.2s var(--ease-in-out) 2.8s infinite}#title.has-save .title-start{letter-spacing:.4em;color:#fbf5e699;font-size:.8rem;bottom:7.5vh}#title.has-save .title-start .star{opacity:.5}#title.has-save .title-start:hover{color:var(--cream)}#title.has-save.is-visible .title-start{animation:rise 1.4s var(--ease-out) 1.8s forwards}.save-mark{letter-spacing:.2em;color:#fbf5e6bf;text-shadow:0 1px 8px #080c16cc;opacity:0;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);pointer-events:none;align-items:center;gap:.5rem;font-size:.72rem;display:flex;position:absolute;bottom:5.5vh;right:3.2vw;transform:translateY(4px)}.save-mark i{color:var(--gold);font-style:normal}.save-mark.is-visible{opacity:1;transform:translateY(0)}.title-start:hover{color:#fff;letter-spacing:.58em}.title-start .star{color:var(--gold);text-shadow:0 0 12px #e2bf74e6;font-size:.75rem;font-style:normal}@keyframes breathe{0%,to{opacity:1}50%{opacity:.55}}.lang-switch{letter-spacing:.12em;align-items:center;gap:.6rem;font-size:.86rem;display:flex;position:absolute;top:3.2vh;right:3.2vw}.lang-switch button{opacity:.55;padding:.3rem .2rem;transition:opacity .3s}.lang-switch button.is-active{opacity:1;color:var(--gold)}.lang-switch button:hover{opacity:1}.lang-dot{opacity:.4}.title-credit{letter-spacing:.18em;color:#fbf5e666;text-shadow:0 1px 8px #080c16cc;white-space:nowrap;opacity:0;align-items:center;gap:.5rem;margin:0;font-size:.68rem;display:flex;position:absolute;bottom:2.4vh;left:50%;transform:translate(-50%)translateY(4px)}#title.is-visible .title-credit{animation:rise 1.4s var(--ease-out) 2.4s forwards}.title-credit .credit-dot{opacity:.6}.title-credit a{color:inherit;cursor:pointer;text-decoration:none;transition:color .3s}.title-credit a:hover{color:var(--gold)}#hud:before,#hud:after{content:"";pointer-events:none;position:absolute}#hud:before{background:radial-gradient(at 0 0,#0a101c61,#0a101c1f 45%,#0000 72%);width:46vw;height:22vh;top:0;left:0}#hud:after{background:radial-gradient(at 50% 100%,#0a101c52,#0000 70%);height:18vh;bottom:0;left:20vw;right:20vw}.objective{letter-spacing:.12em;color:var(--cream);text-shadow:0 1px 14px #080c1699,0 0 2px #080c1680;opacity:0;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);align-items:center;gap:.85rem;font-size:1.12rem;display:flex;position:absolute;top:4.6vh;left:3.6vw;transform:translate(-12px)}html[lang=en] .objective{letter-spacing:.03em;font-size:1.28rem}.objective.is-visible{opacity:1;transform:none}.objective .star{color:var(--gold);text-shadow:0 0 14px #e2bf74f2;animation:twinkle 2.8s var(--ease-in-out) infinite;font-size:1.05rem;font-style:normal}.objective.is-new .star{animation:pop .9s var(--ease-out), twinkle 2.8s var(--ease-in-out) .9s infinite}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(.86)}}@keyframes pop{0%{opacity:0;transform:scale(.2)rotate(-60deg)}60%{opacity:1;transform:scale(1.5)rotate(10deg)}to{transform:scale(1)}}.keyhint{letter-spacing:.1em;text-shadow:0 1px 12px #080c16b3;opacity:0;transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);align-items:center;gap:1.6rem;font-size:.98rem;display:flex;position:absolute;bottom:6.2vh;left:50%;transform:translate(-50%,10px)}.keyhint.is-visible{opacity:1;transform:translate(-50%)}.keyhint .group{align-items:center;gap:.45rem;display:inline-flex}.keyhint .group span{margin-left:.35rem}.subtitle{text-align:center;letter-spacing:.1em;width:min(900px,84vw);color:var(--cream);text-shadow:0 2px 16px #060a14d9,0 0 3px #060a1499;opacity:0;filter:blur(4px);transition:opacity .9s var(--ease-out), filter .9s var(--ease-out);font-size:1.22rem;line-height:1.85;position:absolute;bottom:15vh;left:50%;transform:translate(-50%)}html[lang=en] .subtitle{letter-spacing:.01em;font-size:1.42rem;font-style:italic}.subtitle.is-visible{opacity:1;filter:none}.interact{letter-spacing:.14em;text-shadow:0 1px 10px #080c16cc;opacity:0;transition:opacity .35s var(--ease-out), transform .35s var(--ease-out);align-items:center;gap:.7rem;font-size:1rem;display:flex;position:absolute;top:70%;left:50%;transform:translate(-50%,8px)scale(.96)}.interact-sep{opacity:.5;margin:0 .2rem;font-style:normal}.interact.is-visible{opacity:1;transform:translate(-50%)scale(1)}.counter{font-family:var(--serif-en);letter-spacing:.12em;color:var(--gold);text-shadow:0 1px 10px #080c16bf;opacity:0;transition:opacity .6s var(--ease-out);font-size:1rem;position:absolute;top:calc(4.6vh + 2.1rem);left:calc(3.6vw + 1.9rem)}.counter.is-visible{opacity:1}.counter.bump{animation:markbump .4s var(--ease-out)}.attitudes{flex-direction:column;gap:.5rem;width:260px;display:flex;position:absolute;top:4.2vh;right:3.4vw}.attitude{text-align:center;text-shadow:0 1px 10px #080c16bf;opacity:0;width:260px;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);position:relative;transform:translateY(-8px)}.attitude.is-visible{opacity:1;transform:none}.attitude:not(.is-visible){height:0;overflow:hidden}.attitude[data-faction=B] .att-label{color:#f0b4a0d9}.att-label{letter-spacing:.3em;color:#fbf5e6cc;margin:0 0 .45rem;font-size:.8rem}html[lang=en] .att-label{letter-spacing:.08em;font-size:.92rem;font-style:italic}.att-bar{align-items:center;gap:.6rem;display:flex}.att-end{letter-spacing:.12em;font-size:.78rem}.att-end.fear{color:#e8a089}.att-end.trust{color:var(--gold)}.att-track{background:linear-gradient(90deg,#c45c468c,#fbf5e638 50%,#e2bf7499);border-radius:4px;flex:1;height:4px;position:relative;box-shadow:0 0 0 1px #fbf5e626,0 2px 12px #080c1659}.att-fill{width:0;transition:left .7s var(--ease-out), width .7s var(--ease-out), background .7s;border-radius:4px;position:absolute;top:0;bottom:0;left:50%}.att-mark{background:var(--cream);width:11px;height:11px;transition:left .7s var(--ease-out), background .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 0 10px #fff0c8e6}.att-mark.bump{animation:markbump .5s var(--ease-out)}@keyframes markbump{40%{transform:translate(-50%,-50%)rotate(45deg)scale(1.6)}}.att-delta{letter-spacing:.1em;opacity:0;min-height:1.2em;margin:.5rem 0 0;font-size:.82rem;transition:opacity .4s}.att-delta.show{opacity:1}.att-delta.neg{color:#f0b3a2}.att-delta.pos{color:#f1d796}.struggle{opacity:0;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);flex-direction:column;align-items:center;gap:.9rem;display:flex;position:absolute;bottom:9vh;left:50%;transform:translate(-50%,12px)}.struggle.is-visible{opacity:1;transform:translate(-50%)}.struggle-ring{width:92px;height:92px;transition:transform .12s var(--ease-out);place-items:center;display:grid;position:relative}.struggle-ring.pulse{transform:scale(1.12)}.struggle-ring svg{filter:drop-shadow(0 2px 10px #080c1699);position:absolute;inset:0;transform:rotate(-90deg)}.ring-bg{fill:#0e162640;stroke:#fbf5e640;stroke-width:3px}.ring-fg{fill:none;stroke:var(--gold);stroke-width:4px;stroke-linecap:round;stroke-dasharray:276.5;stroke-dashoffset:276.5px;transition:stroke-dashoffset .18s var(--ease-out);filter:drop-shadow(0 0 6px #e2bf74cc)}.struggle-text{letter-spacing:.22em;text-shadow:0 1px 12px #080c16cc;margin:0;font-size:1.05rem}html[lang=en] .struggle-text{letter-spacing:.06em;font-size:1.15rem}#chapter{text-align:center;transition:opacity 2s var(--ease-out), visibility 0s linear 2s;background:radial-gradient(60% 45%,#080c169e,#080c1640 60%,#0000 85%);flex-direction:column;justify-content:center;align-items:center;display:flex}#chapter.is-visible{transition:opacity 2s var(--ease-out), visibility 0s}.chapter-num{font-family:var(--serif-en);letter-spacing:.7em;color:var(--gold);margin:0 0 1rem;font-size:.9rem}.chapter-title{letter-spacing:.3em;text-shadow:0 4px 36px #060a1499;margin:0;font-size:clamp(2.6rem,5vw,4.2rem);font-weight:600}html[lang=en] .chapter-title{font-family:var(--serif-en);letter-spacing:.06em;font-weight:500}#chapter .title-rule{margin:1.2rem 0}.chapter-sub{letter-spacing:.22em;color:#fbf5e6d9;margin:0;font-size:1.1rem}html[lang=en] .chapter-sub{font-family:var(--serif-en);letter-spacing:.04em;font-size:1.25rem;font-style:italic}#chapter.is-visible>*{animation:rise 2.2s var(--ease-out) both}#chapter.is-visible>:nth-child(2){animation-delay:.3s}#chapter.is-visible>:nth-child(3){animation-delay:.6s}#chapter.is-visible>:nth-child(4){animation-delay:.9s}#pause{-webkit-backdrop-filter:blur(6px)saturate(.9);backdrop-filter:blur(6px)saturate(.9);transition:opacity .45s var(--ease-out), visibility 0s linear .45s;background:#080c1673;justify-content:center;align-items:center;display:flex}#pause.is-visible{pointer-events:auto;transition:opacity .45s var(--ease-out), visibility 0s}.paper{width:min(460px,88vw);color:var(--ink);background:radial-gradient(ellipse at 20% 10%, #ffffff8c, transparent 50%), radial-gradient(ellipse at 80% 90%, #aa82462e, transparent 55%), linear-gradient(160deg, var(--parchment), var(--parchment-2));transition:transform .55s var(--ease-out);border-radius:4px;padding:2.4rem 2.6rem 2rem;position:relative;transform:translateY(14px)scale(.98);box-shadow:0 30px 80px #00000073,inset 0 0 60px #966e3238}#pause.is-visible .paper{transform:none}.paper:before{content:"";pointer-events:none;border:1px solid #785a2847;border-radius:2px;position:absolute;inset:10px}.paper h3{text-align:center;letter-spacing:.4em;margin:0;font-size:1.5rem;font-weight:600}html[lang=en] .paper h3{font-family:var(--serif-en);letter-spacing:.12em;font-weight:600}.paper .title-rule{color:#a8813a;margin:.7rem 0 1.4rem}.paper .title-rule span{background:linear-gradient(90deg,#0000,#a8813a99,#0000)}.row{letter-spacing:.12em;border-bottom:1px dashed #785a2838;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;font-size:.98rem;display:flex}.seg{background:#785a281a;border-radius:999px;gap:.2rem;padding:.2rem;display:flex}.seg button{letter-spacing:.08em;color:#1d2433b3;transition:background .3s var(--ease-out), color .3s;border-radius:999px;padding:.3rem .85rem;font-size:.86rem}.seg button.is-active{background:var(--ink);color:var(--parchment)}input[type=range]{appearance:none;background:#1d243340;border-radius:2px;outline:none;width:160px;height:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--ink);border:3px solid var(--parchment);width:14px;height:14px;box-shadow:0 0 0 1px var(--ink);cursor:pointer;border-radius:50%}.resume{letter-spacing:.4em;color:var(--parchment);background:var(--ink);transition:transform .3s var(--ease-out), box-shadow .3s;border-radius:999px;margin:1.6rem auto 0;padding:.75rem 2.4rem;font-size:1rem;display:block}.resume:hover{transform:translateY(-1px);box-shadow:0 8px 20px #1d243359}.pause-actions{justify-content:center;gap:1.6rem;margin-top:1.1rem;display:flex}.pause-actions button{letter-spacing:.18em;color:#1d24339e;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;padding:.2rem 0;font-family:inherit;font-size:.8rem;transition:color .3s,border-color .3s}.pause-actions button:hover{color:var(--ink);border-bottom-color:#1d243366}.pause-actions .rewind:not(.show){display:none}.pause-actions .wipe.confirm{color:#9c3b22;border-bottom-color:#9c3b22}#fade{opacity:0;transition:opacity 1.4s var(--ease-in-out);background:#05080f;position:absolute;inset:0}#fade.is-on{opacity:1}.esc-hint{letter-spacing:.15em;color:#fbf5e6bf;opacity:0;align-items:center;gap:.6rem;font-size:.85rem;transition:opacity .8s;display:flex;position:absolute;bottom:4vh;left:3.2vw}.esc-hint.is-visible{opacity:1}.esc-hint kbd{font-size:.7rem}#fps{color:#ffffff8c;white-space:pre;font:11px/1.3 ui-monospace,Menlo,monospace;display:none;position:absolute;bottom:10px;right:12px}#fps.is-visible{display:block}#journal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity .35s var(--ease-out), visibility 0s linear .35s;background:#080c1659;justify-content:center;align-items:center;display:flex}#journal.is-visible{pointer-events:auto;transition:opacity .35s var(--ease-out), visibility 0s}.paper.journal{width:min(560px,90vw);max-height:82vh;overflow:auto}#journal.is-visible .paper{transform:none}.j-stand{gap:.35rem;margin-bottom:1rem;display:grid}.j-row{letter-spacing:.08em;border-bottom:1px dashed #785a2838;justify-content:space-between;padding:.3rem 0;font-size:.95rem;display:flex}.j-pos{color:#8a6a1a}.j-neg{color:#9c3b2b}.j-list{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.j-q{background:#785a2812;border-radius:4px;padding:.7rem .9rem;position:relative}.j-q.tracked{box-shadow:inset 3px 0 #a8813a}.j-q h4{letter-spacing:.1em;margin:.1rem 0 .25rem;font-size:1.02rem}.j-q p{color:#1d2433cc;margin:0;font-size:.86rem;line-height:1.7}.j-q .j-step{color:#8a6a1a;margin-top:.35rem}.j-q em{letter-spacing:.15em;color:#1d24338c;font-size:.72rem;font-style:normal;position:absolute;top:.7rem;right:.8rem}.j-q.done{opacity:.6}.j-q.failed{opacity:.45;text-decoration:line-through}.j-giver{letter-spacing:.2em;color:#3d5a8a;font-size:.72rem;font-style:normal}.j-giver.B{color:#9c3b2b}.j-empty{color:#1d243399;text-align:center;padding:1rem;font-size:.9rem}.j-hint{text-align:center;color:#1d243399;margin:1.2rem 0 0;font-size:.82rem}.j-hint kbd{color:var(--ink);box-shadow:none;background:0 0;border-color:#1d243380}.esc-hint kbd+span+kbd{margin-left:1rem}#toast{letter-spacing:.14em;color:var(--cream);opacity:0;transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);white-space:nowrap;background:linear-gradient(90deg,#0000,#0e16268c 20% 80%,#0000);padding:.55rem 1.3rem;font-size:.95rem;position:absolute;top:14vh;left:50%;transform:translate(-50%,-8px)}#toast.is-visible{opacity:1;transform:translate(-50%)}#reckoning{transition:opacity 1.6s var(--ease-out), visibility 0s linear 1.6s;background:#05080f;justify-content:flex-end;align-items:center;padding-right:8vw;display:flex}#reckoning.is-visible{pointer-events:auto;transition:opacity 1.6s var(--ease-out), visibility 0s}.rk-art{opacity:.55;filter:saturate(.9);animation:kenburns 40s var(--ease-in-out) infinite alternate;background:url(/ui/key_art.webp) 50%/cover no-repeat;position:absolute;inset:0}.rk-art:after{content:"";background:linear-gradient(90deg,#0000 20%,#05080feb 62%);position:absolute;inset:0}.rk-card{width:min(460px,86vw);color:var(--cream);position:relative}.rk-card>*{opacity:0;transform:translateY(12px)}#reckoning.is-visible .rk-card>*{animation:rise 1.6s var(--ease-out) forwards}#reckoning.is-visible .rk-card>:nth-child(2){animation-delay:.4s}#reckoning.is-visible .rk-card>:nth-child(3){animation-delay:.7s}#reckoning.is-visible .rk-card>:nth-child(4){animation-delay:.9s}#reckoning.is-visible .rk-card>:nth-child(5){animation-delay:1.3s}#reckoning.is-visible .rk-card>:nth-child(6){animation-delay:1.7s}#reckoning.is-visible .rk-card>:nth-child(7){animation-delay:2s}.rk-eyebrow{font-family:var(--serif-en);letter-spacing:.6em;color:var(--gold);margin:0 0 .8rem;font-size:.8rem}.rk-title{letter-spacing:.22em;margin:0;font-size:clamp(2.4rem,4.6vw,3.6rem);font-weight:600}html[lang=en] .rk-title{font-family:var(--serif-en);letter-spacing:.04em;font-weight:500}#reckoning .title-rule{justify-content:flex-start;margin:1rem 0}#reckoning .title-rule span:first-child{width:0}.rk-line{letter-spacing:.06em;color:#fbf5e6db;margin:0 0 1.4rem;line-height:1.9}html[lang=en] .rk-line{letter-spacing:0;font-size:1.15rem;font-style:italic}.rk-stats{grid-template-columns:1fr 1fr;gap:.4rem 1.6rem;margin-bottom:1.4rem;display:grid}.rk-stats div{letter-spacing:.08em;border-bottom:1px solid #e2bf742e;justify-content:space-between;padding:.35rem 0;font-size:.9rem;display:flex}.rk-stats b{color:var(--gold);font-weight:500;font-family:var(--serif-en)}.rk-next{letter-spacing:.2em;color:#fbf5e699;margin:0 0 1.6rem;font-size:.86rem}.rk-actions{gap:.8rem;display:flex}.rk-actions button{letter-spacing:.3em;border:1px solid #e2bf748c;border-radius:999px;padding:.7rem 1.6rem;transition:background .3s,color .3s}.rk-actions button:hover{background:var(--gold);color:var(--ink)}.vitals{opacity:0;transition:opacity .8s var(--ease-out);gap:.45rem;display:grid;position:absolute;bottom:9vh;left:3.4vw}.vitals.is-visible{opacity:1}.clock{letter-spacing:.18em;color:#fbf5e6d1;text-shadow:0 1px 8px #080c16cc;align-items:center;gap:.55rem;margin-bottom:.15rem;font-size:.78rem;display:flex}.clock-icon{background:radial-gradient(circle,#ffe9b0 0 45%,#ffc86e59 46% 100%);border-radius:50%;width:.8rem;height:.8rem;margin:0 .1rem;transition:background 1.2s,box-shadow 1.2s;position:relative;box-shadow:0 0 10px #ffc86e99}.clock.night .clock-icon{background:radial-gradient(circle at 65% 40%,#0000 0 38%,#dfe6ff 39% 100%);box-shadow:0 0 10px #becdff73}.clock.dusk .clock-icon{background:radial-gradient(circle,#ffb37a 0 45%,#ff824659 46% 100%);box-shadow:0 0 10px #ff824699}.vbar{align-items:center;gap:.55rem;display:flex}.vbar i{text-align:center;text-shadow:0 1px 8px #080c16cc;width:1rem;font-size:.85rem;font-style:normal}.vbar.hp i{color:#f08f7a}.vbar.st i{color:#e8d48a}.vtrack{background:#0e162673;border-radius:5px;width:200px;height:5px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #fbf5e62e,0 2px 10px #080c1666}.vbar.st .vtrack{width:160px;height:4px}.hp-fill,.st-fill{transition:width .25s var(--ease-out);border-radius:5px;position:absolute;inset:0 auto 0 0}.hp-fill{background:linear-gradient(90deg,#c9483a,#f0977f)}.st-fill{background:linear-gradient(90deg,#c7a548,#f4e3a0)}.vbar.st,.vbar.fd{transition:opacity .6s}.vbar.fd i{color:#d9a862}.vbar.fd .vtrack{width:160px;height:4px}.fd-fill{background:linear-gradient(90deg,#a8692e,#e0b06a)}.vitals.hungry .fd-fill{animation:1s ease-in-out infinite tired}.pockets{opacity:0;transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);pointer-events:none;justify-items:end;gap:.35rem;display:grid;position:absolute;bottom:9vh;right:3.2vw;transform:translateY(6px)}.pockets.is-visible{opacity:1;transform:translateY(0)}.pk-list{gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.pk-list li{background:#0e162680;border-radius:.5rem;place-items:center;width:2.1rem;height:2.1rem;font-size:1.15rem;transition:box-shadow .25s,transform .25s;display:grid;box-shadow:0 0 0 1px #fbf5e633,0 2px 10px #080c1666}.pk-list li.empty{background:#0e162640;box-shadow:0 0 0 1px #fbf5e61a}.pk-list li.sel{box-shadow:0 0 0 1.5px var(--gold), 0 0 14px #e2bf7473;transform:translateY(-3px)}.pk-hint{letter-spacing:.12em;color:#fbf5e6cc;text-shadow:0 1px 8px #080c16cc;margin:0;font-size:.72rem}.vitals.tired .st-fill{background:#8f7a5a;animation:.8s ease-in-out infinite tired}@keyframes tired{50%{opacity:.5}}.vitals.low .hp-fill{animation:.9s ease-in-out infinite tired}.vitals.hit .vtrack{animation:hitflash .4s var(--ease-out)}@keyframes hitflash{0%{box-shadow:0 0 0 1px #ff9b80,0 0 16px #ff785ae6}}.waypoint{opacity:0;pointer-events:none;width:0;height:0;position:absolute;top:0;left:0}.waypoint:not(.is-visible){display:none}.wp-diamond{border:2px solid var(--gold);width:14px;height:14px;animation:twinkle 2.4s var(--ease-in-out) infinite;position:absolute;top:-7px;left:-7px;transform:rotate(45deg);box-shadow:0 0 12px #e2bf74cc,inset 0 0 6px #e2bf7499}.wp-dist{font-family:var(--serif-en);letter-spacing:.08em;color:var(--cream);white-space:nowrap;text-shadow:0 1px 8px #080c16e6;font-size:.82rem;position:absolute;top:14px;left:50%;transform:translate(-50%)}.wp-arrow{transform-origin:10px 1px;width:20px;height:2px;display:none;position:absolute;top:-1px;left:-10px}.waypoint.off .wp-arrow{display:block}.wp-arrow:after{content:"";border:6px solid #0000;border-left:9px solid var(--gold);filter:drop-shadow(0 0 6px #e2bf74cc);position:absolute;top:-5px;right:-14px}#dialogue{opacity:0;visibility:hidden;width:min(720px,90vw);transition:opacity .4s var(--ease-out), transform .4s var(--ease-out), visibility 0s linear .4s;position:absolute;bottom:7vh;left:50%;transform:translate(-50%,16px)}#dialogue.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .4s var(--ease-out), transform .4s var(--ease-out), visibility 0s;transform:translate(-50%)}.dl-box{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#0e1626d1,#0e1626e6);border-radius:6px;padding:1.2rem 1.6rem 1rem;box-shadow:0 18px 50px #00000073,inset 0 0 0 1px #e2bf7438}.dl-speaker{letter-spacing:.3em;color:var(--gold);margin:0 0 .45rem;font-size:.82rem}html[lang=en] .dl-speaker{letter-spacing:.1em;font-family:var(--serif-en);font-size:.95rem}.dl-line{letter-spacing:.05em;margin:0 0 1rem;font-size:1.12rem;line-height:1.85}html[lang=en] .dl-line{font-family:var(--serif-en);letter-spacing:0;font-size:1.3rem;line-height:1.6}.dl-line.in{animation:rise .5s var(--ease-out)}.dl-choices{gap:.35rem;display:grid}.dl-choices button{text-align:left;letter-spacing:.04em;color:#fbf5e6e6;border-radius:4px;align-items:center;gap:.7rem;padding:.45rem .6rem;font-size:.98rem;transition:background .2s,color .2s;display:flex}.dl-choices button:hover{color:#fff;background:#e2bf7424}.dl-choices kbd{min-width:1.7em;height:1.7em;font-size:.7rem}.loading-mobile{letter-spacing:.04em;color:#fbf5e6b3;max-width:34rem;margin:1.2rem auto 0;font-size:.86rem;line-height:1.7;display:none}html.touch .loading-mobile{display:block}#touch{pointer-events:none;z-index:40;opacity:0;transition:opacity .4s;position:fixed;inset:0}#touch.is-visible{opacity:1}.tc-stick{left:max(4vw, env(safe-area-inset-left));bottom:max(6vh, env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;background:radial-gradient(circle,#fbf5e60f,#fbf5e605 70%,#0000 71%);border-radius:50%;width:34vmin;max-width:170px;height:34vmin;max-height:170px;position:absolute;box-shadow:inset 0 0 0 1px #e2bf7459}.tc-knob{background:radial-gradient(circle at 40% 35%,#fbf5e68c,#e2bf7459);border-radius:50%;width:42%;height:42%;transition:transform 50ms linear;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 10px #0006}.tc-buttons{right:max(3vw, env(safe-area-inset-right));bottom:max(5vh, env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;grid-template-columns:repeat(3,15vmin);grid-auto-rows:15vmin;place-items:center;gap:1.6vmin;display:grid;position:absolute}.tc-btn{width:14vmin;max-width:76px;height:14vmin;max-height:76px;color:var(--cream);letter-spacing:.06em;text-align:center;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none;background:#0a101c8c;border:1px solid #e2bf7473;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:.78rem;display:flex;box-shadow:0 4px 14px #00000059}.tc-btn .tc-label{padding:0 .3rem;line-height:1.2}.tc-btn.down{color:var(--ink);background:#e2bf74d9}.tc-btn.primary{background:#0a101cb3;border-color:#e2bf74cc;border-radius:999px;grid-column:span 2;width:auto;min-width:30vmin;font-size:.9rem}.tc-btn.primary.live{background:#e2bf7438;box-shadow:0 0 18px #e2bf7473}.tc-btn.small{opacity:.8;width:10vmin;height:10vmin;font-size:.66rem}html.touch .esc-hint,html.touch .keyhint,html.touch .pk-hint,html.touch .j-hint,html.touch .interact kbd,html.touch .struggle kbd,html.touch .interact{display:none}html.touch .subtitle{width:56vw;font-size:.98rem;line-height:1.6;bottom:40vh;left:46%}html.touch .vitals{transform-origin:0 0;top:14vh;bottom:auto;left:3vw;transform:scale(.85)}html.touch .pockets{top:14vh;bottom:auto;right:3vw}html.touch .objective{max-width:60vw;font-size:.92rem}html.touch .attitudes{transform-origin:100% 0;width:150px;transform:scale(.8)}html.touch #dialogue{width:96vw;bottom:2vh}html.touch .dl-choices button{min-height:2.9rem}html.touch .dl-line{font-size:1rem;line-height:1.6}html.touch #pause .paper,html.touch #journal .paper{max-height:90vh;overflow:auto}html.touch .title-chapter2,html.touch .title-wipe{font-size:.7rem}@media (max-width:720px){.title-main{font-size:clamp(2.4rem,11vw,3.6rem)}.title-eyebrow{letter-spacing:.3em;font-size:.7rem}.rk-card{width:92vw}.rk-actions{flex-wrap:wrap}.attitudes{width:150px}}
