@font-face{font-family:Pixelify Sans;font-weight:400;font-style:normal;font-display:block;src:url(/fonts/PixelifySans-400.woff2)format("woff2")}@font-face{font-family:Pixelify Sans;font-weight:600;font-style:normal;font-display:block;src:url(/fonts/PixelifySans-600.woff2)format("woff2")}@font-face{font-family:"Jacquarda Bastarda 9";font-weight:400;font-style:normal;font-display:block;src:url(/fonts/JacquardaBastarda9-400.woff2)format("woff2")}@font-face{font-family:IM Fell English SC;font-weight:400;font-style:normal;font-display:block;src:url(/fonts/IMFellEnglishSC-400.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-weight:300 700;font-style:normal;font-display:block;src:url(/fonts/SpaceGrotesk-var.woff2)format("woff2")}:root{--bone:#ece2cc;--bone-dim:#ece2ccbd;--parch:#e6d6b0;--parch-dk:#c7af80;--ink:#2a1d14;--ink-soft:#5b4632;--rubric:#9a2e24;--gilt:#c9a04e;--gilt-lt:#ecd08a;--gilt-dk:#7d6331;--iron:#1c1619;--blood:#9c2a24;--bonebar:#d9c9a1;--woad:#5f7bb0;--hostile:#c4473a;--shadow:0 1px 0 #000000e6, 0 0 7px #0000008c;--serif:"IM Fell English SC", "Palatino Linotype", Georgia, serif;--gothic:"Jacquarda Bastarda 9", "IM Fell English SC", serif;--mono:"Pixelify Sans", monospace;--grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.32 0 0 0 0 0.22 0 0 0 0 0.1 0 0 0 0.22 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");--parchment:var(--grain), radial-gradient(130% 150% at 28% 18%, #f1e5c6 0%, #e3d1a6 52%, #c9ae7c 100%);--torn:polygon(0 6%, 4% 0, 21% 3%, 44% 0, 66% 4%, 87% 0, 100% 5%, 99% 48%, 100% 94%, 83% 100%, 61% 96%, 37% 100%, 16% 97%, 0 100%, 1% 52%);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*{box-sizing:border-box}html,body{overscroll-behavior:none;touch-action:none;width:100%;height:100%;color:var(--bone);font-family:var(--serif);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#07050a;margin:0;position:fixed;inset:0;overflow:hidden}button{-webkit-tap-highlight-color:transparent;font-family:inherit}#app{position:fixed;inset:0}#game-canvas{image-rendering:auto;touch-action:none;display:block}#stats{color:#d9f0c8;z-index:50;pointer-events:none;background:#0000008c;margin:0;padding:6px 8px;font:12px/1.35 monospace;display:none;position:fixed;top:8px;left:8px}.hidden{display:none!important}@keyframes pulse{50%{opacity:.4}}#hud{pointer-events:none;z-index:20;text-shadow:var(--shadow);position:fixed;inset:0}.compass{top:calc(12px + var(--safe-t));width:360px;height:42px;position:absolute;left:50%;transform:translate(-50%)}.compass-line{border-top:1px solid #c9a04ecc;border-bottom:1px solid #c9a04e59;height:3px;position:absolute;top:23px;left:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000);mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000)}.compass-strip span{position:absolute;transform:translate(-50%)}.compass-strip .card{font:18px/1 var(--serif);color:var(--bone);top:-1px}.compass-strip .dot{background:#ece2ccb3;width:2px;height:3px;top:21px}.compass-strip .tick{background:#ece2ccd9;width:2px;height:7px;top:19px}.compass-marks span{position:absolute;transform:translate(-50%)}.compass-marks .m-hostile{background:var(--hostile);width:7px;height:7px;top:21px;transform:translate(-50%)rotate(45deg);box-shadow:0 0 4px #c4473acc}.compass-marks .m-poi{color:var(--gilt-lt);top:29px}.compass-marks .m-poi.q{color:#ffe4a0;filter:drop-shadow(0 0 4px #ffc864e6)}.compass-marks .m-quest{color:#fff0c0;font:13px/1 var(--serif);white-space:nowrap;text-align:center;filter:drop-shadow(0 0 5px #ffc45a)drop-shadow(0 0 12px #ffaa3cb3);animation:1.6s ease-in-out infinite questPulse;top:26px}.compass-marks .m-quest svg{width:22px;height:22px;margin:0 auto;display:block}.compass-marks .m-quest em{color:#ffe8b0;text-shadow:0 1px 2px #000;margin-top:2px;font-size:12px;font-style:normal;display:block}.compass-marks .m-quest.off{font-size:16px;top:24px}.compass-marks .m-quest.off svg{vertical-align:middle;width:18px;height:18px;display:inline-block}@keyframes questPulse{0%,to{opacity:.85;transform:translate(-50%)scale(1)}50%{opacity:1;transform:translate(-50%)scale(1.14)}}.compass-center{position:absolute;top:27px;left:50%;transform:translate(-50%)}.target{top:calc(64px + var(--safe-t));text-align:center;width:230px;position:absolute;left:50%;transform:translate(-50%)}.target-name{font:22px/1.1 var(--gothic);color:var(--bone);margin-bottom:4px}.target-bar,.vitals .bar,.bossbar .b-track{background:#0c090bb3;height:5px;margin:0 9px;position:relative;box-shadow:0 0 0 1px #c9a04e8c,0 1px 3px #0009}.target-bar .fill,.target-bar .lag,.vitals .fill,.vitals .lag{position:absolute;top:0;bottom:0;left:0}.target-bar .lag{background:var(--bonebar);opacity:.8}.target-bar .fill{background:var(--blood)}.target-bar .cap,.vitals .cap,.bossbar .cap{background:var(--gilt);width:7px;height:7px;margin-top:-3.5px;position:absolute;top:50%;left:-9px;transform:rotate(45deg);box-shadow:0 0 0 1px #140e0acc}.target-bar .cap.r,.vitals .cap.r,.bossbar .cap.r{left:auto;right:-9px}.vitals{left:calc(26px + var(--safe-l));bottom:calc(34px + var(--safe-b));width:200px;transition:opacity .6s;position:absolute}.vitals .bar{margin:0 9px 9px}.vitals .hp .fill{background:var(--blood)}.vitals .st .fill{background:var(--bonebar)}.vitals .mp .fill{background:var(--woad)}.vitals .lag{background:#fff4de80}.crosshair{transition:opacity .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.prompt{text-align:center;white-space:nowrap;position:absolute;top:calc(50% + 26px);left:50%;transform:translate(-50%)}.prompt .p-name{font:20px var(--gothic);color:var(--bone)}.prompt .p-action{font:15px var(--serif);color:var(--gilt-lt);letter-spacing:.04em;margin-top:1px}.toast{white-space:nowrap;font:26px var(--gothic);color:var(--bone);opacity:0;transition:opacity .35s,transform .35s;position:absolute;top:37%;left:50%;transform:translate(-50%,6px)}.toast.show{opacity:1;transform:translate(-50%)}.banner{text-align:center;opacity:0;width:90vw;transition:opacity 1.2s;position:absolute;top:24%;left:50%;transform:translate(-50%)}.banner.show{opacity:1}.banner .b-title{font:56px/1.05 var(--gothic);color:#efe4cc;text-shadow:0 3px #160f12,0 0 18px #0009}.banner .b-sub{font:18px var(--serif);color:#cdbfa6;letter-spacing:.08em;margin-top:6px}.sneak{color:var(--bone-dim);filter:drop-shadow(0 1px 1px #000c);transition:color .25s,opacity .25s;position:absolute;top:calc(50% + 16px);left:50%;transform:translate(-50%)}.sneak .iris{transform-origin:16px 9px;transform:scaleY(var(--open,.2));transition:transform .15s}.sneak.wary{color:var(--gilt-lt)}.sneak.seen{color:var(--hostile)}.hurt{opacity:0;background:radial-gradient(#0000 45%,#6e0c0e8c 100%);position:absolute;inset:0}.death{text-align:center;pointer-events:auto;cursor:pointer;background:radial-gradient(#1606084d,#0a0406e0);place-content:center;display:grid;position:absolute;inset:0}.death .d-title{font:76px/1 var(--gothic);color:#b8473c;text-shadow:0 4px #120608}.death .d-sub{font:18px var(--serif);color:#c4b096;letter-spacing:.1em;margin-top:12px;animation:2s ease-in-out infinite pulse}.loadout{right:calc(26px + var(--safe-r));bottom:calc(28px + var(--safe-b));align-items:flex-end;gap:8px;display:flex;position:absolute}.slot{width:48px;height:48px;box-shadow:0 0 0 1.5px var(--gilt-dk), 0 3px 8px #0000008c;color:#c9b896;background:radial-gradient(circle at 40% 30%,#3a3036,#17121a 72%);border-radius:50%;place-items:center;transition:transform .15s,box-shadow .15s,opacity .2s;display:grid;position:relative}.slot svg{width:28px;height:28px}.slot .num{font:12px var(--serif);color:var(--ink);background:var(--parch);text-shadow:none;border-radius:2px;padding:0 3px;position:absolute;bottom:-4px;right:-4px}.slot.active{color:#f6e8c6;box-shadow:0 0 0 2px var(--gilt), 0 0 12px #c9a04e66;transform:translateY(-4px)}.slot.locked{opacity:.25}.slot.gap{margin-left:12px}.slot .cd{background:#08060ab8;border-radius:0 0 48px 48px;position:absolute;bottom:0;left:0;right:0}.slot.low{color:#6e6880}.esc-hint{right:calc(28px + var(--safe-r));bottom:calc(8px + var(--safe-b));font:13px var(--serif);color:var(--bone-dim);position:absolute}.hitmarker{opacity:0;width:0;height:0;position:absolute;top:50%;left:50%}.hitmarker i{background:#f4eee6;width:9px;height:2px;position:absolute;box-shadow:0 0 2px #000000b3}.hitmarker i:first-child{transform:translate(-15px,-10px)rotate(45deg)}.hitmarker i:nth-child(2){transform:translate(6px,-10px)rotate(-45deg)}.hitmarker i:nth-child(3){transform:translate(-15px,8px)rotate(-45deg)}.hitmarker i:nth-child(4){transform:translate(6px,8px)rotate(45deg)}.hitmarker.show{opacity:1}.hitmarker.anim{animation:.25s ease-out forwards hitpop}.hitmarker.crit i{background:var(--gilt-lt);width:11px}.hitmarker.kill i{background:var(--hostile);width:13px;height:3px}.hitmarker.kill.anim{animation:.5s ease-out forwards hitpop}.hitmarker.block i{background:#9aa6c8}@keyframes hitpop{0%{opacity:1;transform:scale(.6)}30%{opacity:1;transform:scale(1.25)}to{opacity:0;transform:scale(1)}}.dmg-dirs{position:absolute;top:50%;left:50%}.dmg-dir{border:5px solid #0000;border-top-color:#b42420d9;border-radius:50%;width:220px;height:220px;animation:.9s ease-out forwards dmgfade;position:absolute;top:0;left:0;-webkit-mask-image:radial-gradient(circle,#0000 60%,#000 61%)}@keyframes dmgfade{0%{opacity:1}to{opacity:0}}#overlay{pointer-events:none;z-index:22;position:fixed;inset:0}.objective{top:calc(18px + var(--safe-t));left:calc(22px + var(--safe-l));background:var(--parchment);max-width:380px;clip-path:var(--torn);color:var(--ink);font:17px/1.25 var(--serif);align-items:baseline;gap:8px;padding:7px 16px 8px 14px;transition:opacity .8s;display:flex;position:absolute;box-shadow:inset 0 0 18px #5a3c1459}.objective .o-label{display:none}.objective .o-dia{color:var(--rubric);font-size:15px}.objective .o-meta{font:15px var(--serif);color:var(--rubric);white-space:nowrap}.objective.fresh{animation:1.2s ease-out objin}.objective.done{opacity:0;transition:opacity 1.6s .4s}.objective.done .o-text{text-decoration:line-through;-webkit-text-decoration-color:var(--rubric);text-decoration-color:var(--rubric)}@keyframes objin{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.target{top:calc(112px + var(--safe-t))}#overlay .subtitle{left:50%;bottom:calc(64px + var(--safe-b));text-align:center;text-shadow:0 1px #000,0 0 10px #000000e6,0 0 18px #0009;width:min(720px,80vw);position:absolute;transform:translate(-50%)}#overlay .subtitle .s-name{font:21px var(--gothic);color:var(--gilt-lt);margin-bottom:2px}#overlay .subtitle .s-text{font:21px/1.35 var(--serif);color:#f1e8d6;min-height:1.35em}.teach{left:calc(22px + var(--safe-l));background:var(--parchment);max-width:400px;clip-path:var(--torn);color:var(--ink);align-items:center;gap:12px;padding:9px 18px 10px 12px;transition:opacity .5s,transform .5s;animation:.45s ease-out objin;display:flex;position:absolute;top:42%;box-shadow:inset 0 0 22px #5a3c1459}.teach.done{opacity:0;transform:translate(-12px)}.teach.done .t-text{color:#3c6a2a}.teach .t-keys{flex-shrink:0;align-items:center;gap:4px;display:flex}.teach .t-text{font:18px/1.25 var(--serif)}.teach .t-text small{display:none}.key{min-width:30px;height:30px;font:16px/1 var(--serif);color:var(--ink);border:1.5px solid var(--ink-soft);box-shadow:0 2px 0 var(--ink-soft);background:#f4ead2;border-radius:3px;place-items:center;padding:0 7px;display:grid}.key.wide{min-width:56px}.key-plus{font:15px var(--serif);color:var(--ink-soft)}.mouse svg{display:block}.glyph{color:#eadfc4;width:36px;height:36px;box-shadow:0 0 0 1.5px var(--gilt);background:radial-gradient(circle at 40% 30%,#3e3540,#1a1418 72%);border-radius:50%;place-items:center;display:grid}.glyph svg{width:22px;height:22px}.hint kbd,.teach kbd{font:14px var(--serif);color:var(--ink);border:1px solid var(--ink-soft);background:#f4ead2;border-radius:2px;margin:0 2px;padding:0 4px}.bossbar{left:50%;top:calc(60px + var(--safe-t));text-align:center;width:min(600px,62vw);text-shadow:var(--shadow);position:absolute;transform:translate(-50%)}.bossbar .b-name{font:28px/1.1 var(--gothic);color:#efe4cc;margin:0 0 6px}.bossbar .b-track{height:7px}.bossbar .b-lag,.bossbar .b-hp{position:absolute;top:0;bottom:0;left:0}.bossbar .b-lag{background:var(--bonebar)}.bossbar .b-hp{background:var(--blood)}.bossbar .b-posture{background:#0c090b99;justify-content:center;width:56%;height:4px;margin:8px auto 0;display:flex;position:relative;box-shadow:0 0 0 1px #c9a04e66}.bossbar .b-pfill{background:linear-gradient(90deg, #a9802e, var(--gilt-lt), #a9802e);width:0;height:100%;transition:width .12s}.bossbar .b-pfill.full{box-shadow:0 0 8px var(--gilt-lt);background:#fff1c2}.bossbar .b-plabel{font:13px var(--serif);letter-spacing:.12em;color:var(--gilt);margin-top:3px}.fade{opacity:0;background:#07050a;position:absolute;inset:0}.chapter-card{text-align:center;width:92vw;text-shadow:var(--shadow);transition:opacity 1.2s;animation:1.6s ease-out cardin;position:absolute;top:28%;left:50%;transform:translate(-50%)}.chapter-card.out{opacity:0}.chapter-card .c-num{font:17px var(--serif);letter-spacing:.4em;color:var(--gilt)}.chapter-card .c-title{font:80px/1.05 var(--gothic);color:#f1e6d0;text-shadow:0 4px #120c10,0 0 24px #0000008c}.chapter-card .c-sub{font:18px var(--serif);color:#d2c4ac;letter-spacing:.05em;max-width:640px;margin:8px auto 0}.chapter-card .c-sub:before{content:"❦";color:var(--gilt-dk);margin-bottom:4px;display:block}@keyframes cardin{0%{opacity:0;letter-spacing:.1em}to{opacity:1}}#rotate{z-index:300;color:var(--ink);background:#0b090e;place-items:center;display:none;position:fixed;inset:0}.rotate-inner{text-align:center;background:var(--parchment);width:min(320px,80vw);clip-path:var(--torn);padding:30px 24px 26px}.rotate-inner svg{color:var(--rubric);animation:2.4s ease-in-out infinite tilt}.rotate-inner .r-title{font:34px/1.1 var(--gothic);color:var(--rubric);margin-top:8px}.rotate-inner .r-sub{font:17px var(--serif);margin-top:6px}@keyframes tilt{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (orientation:portrait){html.touch #rotate{display:grid}}#touch{z-index:30;pointer-events:none;touch-action:none;position:fixed;inset:0}#touch.off{display:none}.t-zone{pointer-events:auto;touch-action:none;position:absolute;top:0;bottom:0}.t-left{width:42%;left:0}.t-right{width:58%;right:0}.t-stick{pointer-events:none;background:radial-gradient(circle,#140e122e,#140e1261);border:1.5px solid #c9a04ebf;border-radius:50%;width:118px;height:118px;margin:-59px 0 0 -59px;position:absolute;box-shadow:0 0 0 4px #0a080a40}.t-stick.idle{left:calc(var(--safe-l) + 104px);top:calc(100% - 96px - var(--safe-b));opacity:.4}.t-knob{width:50px;height:50px;box-shadow:0 0 0 1.5px var(--gilt-dk), 0 3px 8px #0009;background:radial-gradient(circle at 36% 30%,#f3e8cc,#b89a62 70%);border-radius:50%;margin:-25px;position:absolute;top:50%;left:50%}.t-pad{right:calc(var(--safe-r) + 14px);bottom:calc(var(--safe-b) + 12px);pointer-events:none;width:270px;height:290px;position:absolute}.t-btn{pointer-events:auto;color:#ece0c4;touch-action:none;cursor:pointer;width:58px;height:58px;box-shadow:0 0 0 1.5px var(--gilt), 0 0 0 4px #0e0a0e80, 0 4px 10px #0000008c;background:radial-gradient(circle at 40% 30%,#43393f,#19131a 72%);border:0;border-radius:50%;place-items:center;padding:0;transition:transform 80ms,box-shadow 80ms;display:grid;position:absolute}.t-btn svg{pointer-events:none;width:54%;height:54%}.t-btn.down{color:#fff4d4;box-shadow:0 0 0 2px var(--gilt-lt), 0 0 0 4px #0e0a0e80, 0 0 18px #ecd08a8c;transform:scale(.92)}.t-btn.gone{display:none}.t-btn.small{width:46px;height:46px}.t-atk{width:86px;height:86px;box-shadow:0 0 0 2px var(--gilt), 0 0 0 5px #0e0a0e80, 0 0 0 6.5px #c9a04e73, 0 4px 12px #0009;bottom:0;right:0}.t-blk{bottom:8px;right:108px}.t-dodge{bottom:82px;right:82px}.t-jump{bottom:108px;right:12px}.t-use{bottom:166px;right:82px}.t-sneak{bottom:74px;right:182px}.t-storm{bottom:128px;right:150px}.t-swap{bottom:186px;right:18px}.t-whistle{bottom:214px;right:150px}.t-pause{top:calc(var(--safe-t) + 10px);right:calc(var(--safe-r) + 12px);width:42px;height:42px}html.touch .loadout,html.touch .esc-hint{display:none}html.touch .vitals{top:calc(var(--safe-t) + 14px);bottom:auto;left:calc(var(--safe-l) + 14px);width:168px;opacity:1!important}html.touch .objective{top:calc(var(--safe-t) + 52px);left:calc(var(--safe-l) + 12px);max-width:36vw;font-size:15px}html.touch .teach{top:36%;left:calc(var(--safe-l) + 12px);max-width:40vw}html.touch #overlay .subtitle{bottom:calc(var(--safe-b) + 14px);width:46vw;left:46%}html.touch .crosshair{opacity:.8}@media (max-height:520px){.compass{transform-origin:top;width:260px;transform:translate(-50%)scale(.88)}.target{top:calc(54px + var(--safe-t))}.target-name{font-size:18px}.bossbar{top:calc(50px + var(--safe-t));width:46vw}.bossbar .b-name{font-size:20px}#overlay .subtitle .s-name{font-size:17px}#overlay .subtitle .s-text{font-size:16px}.teach{gap:9px;padding:6px 14px 7px 9px}.teach .t-text{font-size:15px}.glyph{width:30px;height:30px}.glyph svg{width:19px;height:19px}.key{min-width:26px;height:26px;font-size:14px}.prompt .p-name{font-size:17px}.prompt .p-action{font-size:13px}.toast{font-size:21px}.banner .b-title{font-size:40px}.banner .b-sub{font-size:15px}.chapter-card{top:20%}.chapter-card .c-title{font-size:52px}.chapter-card .c-sub{font-size:15px}.death .d-title{font-size:54px}.t-pad{transform-origin:100% 100%;transform:scale(.88)}}#front{z-index:100;pointer-events:none;font-family:var(--serif);color:var(--bone);position:fixed;inset:0}#front>section{opacity:0;visibility:hidden;transition:opacity .9s,visibility 0s linear .9s;position:absolute;inset:0;overflow:hidden}#front>section.on{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .9s}#front>section.on.out{opacity:0;pointer-events:none}@keyframes fUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fIn{0%{opacity:0}to{opacity:1}}@keyframes grainShift{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}to{transform:translate(0)}}.f-load:after,.f-title:after{content:"";background:var(--grain);opacity:.3;pointer-events:none;animation:.8s steps(4,end) infinite grainShift;position:absolute;inset:-40%}.f-splash{z-index:3;background:#0b0c0a;place-items:center;font-family:Space Grotesk,system-ui,sans-serif;display:grid}#front>.f-splash.on{transition:none}#front>.f-splash.on.out{transition:opacity .9s}.sp-in{text-align:center;transition:opacity .8s,filter .8s,transform 1s}.f-splash.out .sp-in{opacity:0;filter:blur(6px);transform:scale(1.03)}.sp-pre{letter-spacing:.55em;text-transform:uppercase;color:#a1a29a;opacity:0;margin-bottom:26px;padding-left:.55em;font-size:12px;font-weight:500}.f-splash.play .sp-pre{animation:1s cubic-bezier(.2,.7,.2,1) .25s forwards fUp}.sp-brand{justify-content:center;align-items:center;gap:18px;display:flex}.f-splash .pb{opacity:0;width:62px;height:62px;transform:scale(.82)rotate(-8deg)}.f-splash.play .pb{animation:1.1s cubic-bezier(.2,.9,.25,1.15) .75s forwards spMark}.pb-tile{fill:#0b0c0a;stroke:#3a3c34;stroke-width:1.5px}.pb-p{fill:#f3f0e7}.pb-b{fill:#d5ff45}.sp-word{letter-spacing:-2.6px;color:#f3f0e7;padding:0 4px 4px 0;font-size:58px;font-weight:600;line-height:1.1;display:flex;position:relative;overflow:hidden}.sp-word span{opacity:0;display:inline-block;transform:translateY(100%)}.f-splash.play .sp-word span{animation:spLetter .75s calc(1.15s + var(--i) * 50ms) cubic-bezier(.2, .8, .2, 1) forwards}.sp-word em{color:#d5ff45;font-style:normal;display:inline-block;transform:scale(0)}.f-splash.play .sp-word em{animation:.55s cubic-bezier(.3,1.7,.5,1) 1.85s forwards spDot}.sp-word:after{content:"";mix-blend-mode:overlay;background:linear-gradient(105deg,#0000 35%,#ffffff59 50%,#0000 65%);position:absolute;inset:0;transform:translate(-120%)}.f-splash.play .sp-word:after{animation:1.2s ease-in-out 2.4s forwards spSweep}@keyframes spMark{to{opacity:1;transform:none}}@keyframes spLetter{to{opacity:1;transform:none}}@keyframes spDot{to{transform:none}}@keyframes spSweep{to{transform:translate(120%)}}.f-load{z-index:2;background:radial-gradient(120% 95% at 28% 72%,#1b1522 0%,#0c0910 52%,#050407 100%)}.ld-rain{background-image:var(--rain);will-change:transform;height:200%;margin-top:-100vh;position:absolute;top:0;left:-5%;right:-5%}.ld-rain.near{--tile:300px;opacity:.55;background-size:260px 300px;animation:.5s linear infinite rainNear}.ld-rain.far{opacity:.3;background-size:150px 180px;animation:.75s linear infinite rainFar}@keyframes rainNear{to{transform:translateY(300px)}}@keyframes rainFar{to{transform:translateY(180px)}}.ld-mist{pointer-events:none;opacity:.55;background:radial-gradient(40% 30% at 30% 70%,#78648c2e,#0000 70%),radial-gradient(35% 25% at 72% 40%,#96786e1a,#0000 70%);animation:28s ease-in-out infinite alternate mistDrift;position:absolute;inset:-20%}@keyframes mistDrift{to{transform:translate(6%,-3%)scale(1.08)}}.ld-flash{opacity:0;mix-blend-mode:screen;background:#cfc6ee;animation:13s linear 3s infinite flash;position:absolute;inset:0}@keyframes flash{0%,95.4%{opacity:0}95.6%{opacity:.09}96.2%{opacity:.01}96.6%{opacity:.06}98%,to{opacity:0}}.ld-wrap{max-width:min(640px,54vw);position:absolute;bottom:17vh;left:max(40px,8vw)}.f-load.on .ld-wrap>*{opacity:0;animation:1s cubic-bezier(.2,.7,.2,1) forwards fUp}.f-load.on .ld-kicker{animation-delay:.25s}.f-load.on .ld-title{animation-delay:.45s}.f-load.on .ld-sub{animation-delay:.7s}.f-load.on .ld-line,.f-load.on .ld-status{animation-delay:.9s}.ld-kicker{font:14px var(--serif);letter-spacing:.5em;color:var(--gilt);align-items:center;gap:14px;display:flex}.ld-kicker:after{content:"";background:linear-gradient(90deg, var(--gilt), transparent);width:72px;height:1px}.ld-title{font:clamp(54px, 8vw, 104px)/1.02 var(--gothic);color:#efe4cc;text-shadow:0 4px #120c10,0 0 34px #c9a04e24;margin:10px 0 14px}.ld-sub{font:19px/1.5 var(--serif);color:#ece2cca8;max-width:560px}.ld-sub:empty{display:none}.ld-line{background:#ece2cc24;width:min(420px,62vw);height:1px;margin:30px 0 12px}.ld-line i{background:linear-gradient(90deg, #7d6331, var(--gilt-lt));transform-origin:0;height:100%;transition:transform .5s;display:block;transform:scaleX(.02);box-shadow:0 0 10px #ecd08a8c}.f-load.done .ld-line i{transition-duration:.35s;box-shadow:0 0 16px #ecd08ae6}.ld-status{min-height:1.3em;font:13px var(--serif);letter-spacing:.2em;color:#ece2cc73}.ld-tip{opacity:0;width:min(340px,30vw);transition:opacity .9s,transform .9s;position:absolute;bottom:17vh;right:max(40px,7vw);transform:translateY(8px)}.ld-tip.show{opacity:1;transform:none}.ld-tip .k{font:12px var(--serif);letter-spacing:.42em;color:var(--gilt);align-items:center;gap:10px;margin-bottom:8px;display:flex}.ld-tip .k:before{content:"";background:var(--gilt);width:6px;height:6px;transform:rotate(45deg)}.ld-tip .t{font:16px/1.5 var(--serif);color:#ece2ccb8}.ld-sigil{gap:10px;display:flex;position:absolute;top:14vh;right:max(40px,7vw)}.ld-sigil i{background:var(--gilt);opacity:.25;width:7px;height:7px;animation:1.5s ease-in-out infinite sigil;transform:rotate(45deg)scale(.6)}.ld-sigil i:nth-child(2){animation-delay:.2s}.ld-sigil i:nth-child(3){animation-delay:.4s}@keyframes sigil{40%{opacity:1;transform:rotate(45deg)scale(1)}80%,to{opacity:.25;transform:rotate(45deg)scale(.6)}}.f-load.done .ld-sigil{opacity:0;transition:opacity .4s}.f-title{z-index:1;cursor:pointer;background:radial-gradient(75% 70% at 50% 46%,#07050a00 25%,#07050a80 72%,#07050ad9 100%)}.tt-wrap{text-align:center;width:92vw;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.tt-logo{font:clamp(70px, 12vw, 152px)/1 var(--gothic);color:#f1e6d0;text-shadow:0 5px #120c10,0 0 46px #000000a6;opacity:0}.f-title.on .tt-logo{animation:2.6s cubic-bezier(.2,.7,.2,1) .2s forwards ttIn}@keyframes ttIn{0%{opacity:0;filter:blur(12px);letter-spacing:.1em;transform:scale(1.05)}to{opacity:1;filter:none;letter-spacing:.01em;transform:none}}.tt-rule{justify-content:center;align-items:center;gap:12px;margin:16px auto 12px;display:flex}.tt-rule i{background:linear-gradient(90deg, transparent, var(--gilt));transform-origin:100%;width:150px;height:1px;transform:scaleX(0)}.tt-rule i:last-child{background:linear-gradient(90deg, var(--gilt), transparent);transform-origin:0}.tt-rule b{background:var(--gilt);width:7px;height:7px;transform:rotate(45deg)scale(0)}.f-title.on .tt-rule i{animation:1.4s cubic-bezier(.2,.7,.2,1) 1.3s forwards ruleGrow}.f-title.on .tt-rule b{animation:.7s cubic-bezier(.3,1.6,.5,1) 1.9s forwards ruleGem}@keyframes ruleGrow{to{transform:none}}@keyframes ruleGem{to{transform:rotate(45deg)scale(1)}}.tt-tag{font:20px var(--serif);letter-spacing:.34em;color:#cdbfa6;opacity:0;text-shadow:var(--shadow)}.f-title.on .tt-tag{animation:1.3s 2s forwards fUp}.tt-press{font:16px var(--serif);letter-spacing:.42em;color:var(--bone);opacity:0;text-shadow:var(--shadow);white-space:nowrap;position:absolute;bottom:20vh;left:50%;transform:translate(-50%)}.f-title.on .tt-press{animation:1s 2.9s forwards fIn,2.8s ease-in-out 3.9s infinite breathe}@keyframes breathe{0%,to{opacity:1}50%{opacity:.35}}.f-title.pressed .tt-press{opacity:1;color:var(--gilt-lt);transition:color .3s;animation:none}.tt-studio{letter-spacing:.24em;text-transform:uppercase;color:#f3f0e799;opacity:0;align-items:center;gap:10px;font:500 11px Space Grotesk,system-ui,sans-serif;display:flex;position:absolute;bottom:calc(11vh + 20px);left:max(36px,4vw)}.tt-studio .pb{width:22px;height:22px}.tt-extra{font:13px var(--serif);letter-spacing:.16em;color:#ece2cc8c;opacity:0;position:absolute;bottom:calc(11vh + 22px);right:max(36px,4vw)}.f-title.on .tt-studio,.f-title.on .tt-extra{animation:1.2s 3.2s forwards fIn}.chapter-card .c-num{letter-spacing:.5em;justify-content:center;align-items:center;gap:16px;padding-left:.5em;display:flex}.chapter-card .c-num:before,.chapter-card .c-num:after{content:"";background:linear-gradient(90deg, transparent, var(--gilt));width:84px;height:1px}.chapter-card .c-num:after{background:linear-gradient(90deg, var(--gilt), transparent)}.chapter-card .c-sub:before{content:"";background:var(--gilt);width:7px;height:7px;margin:6px auto 12px;display:block;transform:rotate(45deg)}.f-bars i{background:#030204;height:11vh;transition:transform 1.3s cubic-bezier(.65,0,.25,1);position:fixed;left:0;right:0;transform:scaleY(0)}.f-bars i:first-child{transform-origin:top;top:0}.f-bars i:last-child{transform-origin:bottom;bottom:0}.f-bars.on i{transform:none}#menu{z-index:60;color:var(--bone);text-shadow:none;font-family:var(--serif);position:fixed;inset:0}#menu.hidden{display:none}.m-shade{background:linear-gradient(90deg,#060409f0 0%,#060409d1 30%,#06040966 62%,#0604098c 100%);animation:.5s fIn;position:absolute;inset:0}#menu.m-pause .m-shade{-webkit-backdrop-filter:blur(6px)saturate(.7)brightness(.8)}#menu.m-title .m-shade{background:linear-gradient(90deg,#060409e0 0%,#0604099e 28%,#06040914 58%,#06040900 100%)}#menu.m-title.paged .m-shade{background:linear-gradient(90deg,#060409e6 0%,#060409c7 40%,#0604099e 100%);transition:background .6s}#menu.m-pause .m-bar{background:#030204;height:7vh;animation:.6s cubic-bezier(.65,0,.25,1) both barIn;position:absolute;left:0;right:0}#menu .m-bar.t{transform-origin:top;top:0}#menu .m-bar.b{transform-origin:bottom;bottom:0}@keyframes barIn{0%{transform:scaleY(0)}}.m-side{flex-direction:column;width:min(360px,34vw);display:flex;position:absolute;top:14vh;bottom:14vh;left:max(40px,6vw)}.m-logo{font:clamp(52px, 6vw, 76px)/1 var(--gothic);color:#f1e6d0;text-shadow:0 4px #120c10;animation:.8s both fUp}.m-logo small{font:15px var(--serif);letter-spacing:.3em;color:#b9aa90;text-shadow:none;margin-top:10px;display:block}.m-where{animation:.6s both fUp}.m-where .k{font:13px var(--serif);letter-spacing:.46em;color:var(--gilt);align-items:center;gap:12px;display:flex}.m-where .k:after{content:"";background:linear-gradient(90deg, var(--gilt), transparent);width:56px;height:1px}.m-where .t{font:40px/1.05 var(--gothic);color:#f1e6d0;margin:8px 0 10px}.m-where .o{font:15px/1.4 var(--serif);color:#ece2cc9e;align-items:baseline;gap:9px;display:flex}.m-where .o:before{content:"";background:var(--rubric);flex:none;width:5px;height:5px;margin-bottom:2px;transform:rotate(45deg)}.m-rule{background:linear-gradient(90deg,#c9a04e8c,#c9a04e00);width:100%;height:1px;margin:26px 0 18px}.m-nav{flex-direction:column;display:flex}.m-nav button{text-align:left;cursor:pointer;font:23px var(--serif);letter-spacing:.08em;color:#ece2cc99;opacity:0;animation:fUp .55s calc(.1s + var(--i) * 60ms) cubic-bezier(.2, .7, .2, 1) forwards;background:0 0;border:0;outline:none;padding:9px 0 9px 26px;transition:color .25s,padding .3s cubic-bezier(.2,.7,.2,1);display:block;position:relative}.m-nav button:before{content:"";background:var(--gilt);transform-origin:0;width:16px;height:1px;transition:transform .3s;position:absolute;top:50%;left:0;transform:scaleX(0)}.m-nav button:after{content:"";background:var(--gilt-lt);width:6px;height:6px;transition:transform .3s;position:absolute;top:calc(50% - 3px);left:17px;transform:rotate(45deg)scale(0)}.m-nav button small{font:13px var(--serif);letter-spacing:.12em;color:#c9a04ecc;margin-top:3px;display:block}.m-nav button.focus,.m-nav button:hover{color:#fff4dc;padding-left:38px}.m-nav button.focus:before,.m-nav button:hover:before{transform:none}.m-nav button.focus:after,.m-nav button:hover:after{transform:rotate(45deg)scale(1)}.m-nav button.on{color:var(--gilt-lt)}.m-nav button.quiet{color:#ece2cc6b;margin-top:8px;font-size:18px}.m-foot{font:13px var(--serif);letter-spacing:.12em;color:#ece2cc73;flex-direction:column;gap:14px;margin-top:auto;animation:1s .5s both fIn;display:flex}.m-foot .esc{align-items:center;gap:10px;display:flex}.m-foot .esc kbd{font:12px var(--serif);color:var(--bone);border:1px solid #c9a04e80;border-radius:3px;padding:2px 7px 1px}.m-studio{letter-spacing:.24em;text-transform:uppercase;color:#f3f0e773;align-items:center;gap:9px;font:500 10.5px Space Grotesk,system-ui,sans-serif;display:flex}.m-studio .pb{width:18px;height:18px}.m-page{touch-action:pan-y;padding-right:8px;position:absolute;inset:14vh max(40px,6vw) 14vh calc(max(40px,6vw) + min(360px,34vw) + 5vw);overflow:hidden auto}.m-page:empty{display:none}.m-page{scrollbar-width:thin;scrollbar-color:#c9a04e73 transparent}.m-page::-webkit-scrollbar{width:4px}.m-page::-webkit-scrollbar-track{background:0 0}.m-page::-webkit-scrollbar-thumb{background:#c9a04e73}.m-page>*{animation:.45s cubic-bezier(.2,.7,.2,1) both pageIn}@keyframes pageIn{0%{opacity:0;transform:translate(14px)}}.m-page h2{font:400 44px/1 var(--gothic);color:var(--gilt-lt);margin:0 0 6px}.m-page h2+.m-rule{margin:14px 0 6px}.m-group{font:12px var(--serif);letter-spacing:.44em;color:var(--gilt);margin:22px 0 6px}.m-row{color:#ece2ccd1;border-bottom:1px solid #ece2cc12;grid-template-columns:minmax(130px,200px) 1fr 48px;align-items:center;gap:18px;padding:9px 0;font-size:17px;display:grid}.m-row output{font:15px var(--serif);color:var(--gilt-lt);text-align:right;font-variant-numeric:tabular-nums}.m-seg{border:1px solid #c9a04e73;grid-column:2/4;width:max-content;display:flex}.m-seg button{font:15px var(--serif);letter-spacing:.1em;color:#ece2cca6;cursor:pointer;background:0 0;border:0;padding:7px 18px 6px;transition:background .2s,color .2s}.m-seg button+button{border-left:1px solid #c9a04e4d}.m-seg button:hover{color:#fff4dc;background:#c9a04e1a}.m-seg button.on{color:#1c140c;background:linear-gradient(#d8b462,#a8853e)}.m-range{appearance:none;cursor:pointer;touch-action:pan-x;--p:50%;background:0 0;width:100%;height:22px}.m-range:focus{outline:none}.m-range::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--gilt) var(--p), #ece2cc29 var(--p));height:2px}.m-range::-moz-range-track{background:linear-gradient(90deg, var(--gilt) var(--p), #ece2cc29 var(--p));height:2px}.m-range::-webkit-slider-thumb{-webkit-appearance:none;background:#f3e3b8;border:0;width:12px;height:12px;margin-top:-5px;transform:rotate(45deg);box-shadow:0 0 0 2px #0b090e,0 0 10px #ecd08a8c}.m-range::-moz-range-thumb{background:#f3e3b8;border:0;border-radius:0;width:11px;height:11px;transform:rotate(45deg);box-shadow:0 0 0 2px #0b090e,0 0 10px #ecd08a8c}.m-range:hover::-webkit-slider-thumb{box-shadow:0 0 0 2px #0b090e,0 0 16px #ecd08af2}.m-keys{grid-template-columns:auto 1fr;align-items:center;gap:7px 18px;display:grid}.m-keys .g{font:12px var(--serif);letter-spacing:.44em;color:var(--gilt);grid-column:1/-1;margin:18px 0 4px}.m-keys .c{justify-content:flex-end;align-items:center;gap:5px;display:flex}.m-keys .d{color:#ece2ccd1;font-size:17px}.m-page .key{color:var(--bone);background:#18121ad9;border:1px solid #c9a04e99;box-shadow:0 2px #c9a04e4d}.m-page .key-plus{color:#ece2cc80}.m-chaps{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:18px;display:grid}.m-chap{text-align:left;cursor:pointer;color:var(--bone);font-family:var(--serif);animation:fUp .5s calc(var(--i) * 40ms) both;background:linear-gradient(160deg,#281e2c8c,#0e0a108c);border:1px solid #c9a04e38;padding:14px 16px 15px;transition:border-color .25s,background .25s,transform .25s;position:relative}.m-chap .n{font:34px/1 var(--gothic);color:var(--gilt)}.m-chap .t{color:#f1e6d0;margin-top:8px;font-size:19px}.m-chap .p{letter-spacing:.3em;color:var(--gilt-lt);opacity:0;font-size:12px;transition:opacity .25s;position:absolute;top:16px;right:14px}.m-chap:hover,.m-chap:focus-visible{border-color:var(--gilt);background:linear-gradient(160deg,#48342899,#140e1299);outline:none;transform:translateY(-2px)}.m-chap:hover .p,.m-chap:focus-visible .p{opacity:1}.m-chap.here{border-color:#c9a04e99}.m-chap.here .p{opacity:1;color:var(--gilt)}.m-chap:disabled{cursor:default;background:#0e0a1066;border-color:#ece2cc1a;animation-name:fUpDim;transform:none}.m-chap:disabled .n{color:#c9a04eb3}@keyframes fUpDim{0%{opacity:0;transform:translateY(10px)}to{opacity:.4;transform:none}}.m-chap:disabled .t{color:#ece2cc80}.m-note{color:#ece2cc73;letter-spacing:.06em;margin-top:18px;font-size:14px}@media (max-height:520px){.m-side,.m-page{top:10vh;bottom:9vh}.m-where .t{font-size:28px}.m-logo{font-size:44px}.m-nav button{padding:5px 0 5px 22px;font-size:18px}.m-rule{margin:12px 0 8px}.m-page h2{font-size:32px}.m-row{padding:5px 0;font-size:15px}.ld-wrap{bottom:12vh}.ld-title{font-size:48px}.ld-sub{font-size:15px}.ld-tip{display:none}.tt-press{bottom:16vh}}@media (max-width:900px){.ld-tip{display:none}.ld-wrap{max-width:84vw}}@media (max-width:760px){.m-side{width:44vw}.m-page{left:50vw}}
