:root{--ink: #e9e2d4;--muted: #a49b8a;--gold: #d9a441;--blood: #b3261e;--good: #7ed491;--panel: rgba(10, 9, 8, .82);--line: rgba(217, 164, 65, .35);--serif: "Crimson Text", Georgia, serif;--display: "Cinzel", "Trajan Pro", Georgia, serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#000;color:var(--ink);font-family:var(--serif)}#world{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.85) 100%)}:root{--zoom: 1;--pan-x: 0vw;--pan-y: 0vh;--cam-ms: 0ms;--cam-ease: cubic-bezier(.3, .1, .2, 1)}#backdrop,#cast2d,#spots{scale:var(--zoom);translate:var(--pan-x) var(--pan-y);will-change:scale,translate;transition:scale var(--cam-ms) var(--cam-ease),translate var(--cam-ms) var(--cam-ease)}#backdrop{position:fixed;top:-2%;right:-2%;bottom:-2%;left:-2%;pointer-events:none;background:#05070c center / cover no-repeat;opacity:0;transition:opacity .6s ease,scale var(--cam-ms) var(--cam-ease),translate var(--cam-ms) var(--cam-ease)}#backdrop.on{opacity:1;animation:drift 38s ease-in-out infinite alternate}#backdrop.on[data-motion=cruise]{animation:cruise 7s ease-in-out infinite}@keyframes cruise{0%,to{transform:translate(0) rotate(0)}30%{transform:translate(-.3%,.25%) rotate(-.15deg)}65%{transform:translate(.25%,-.15%) rotate(.12deg)}}@keyframes drift{0%{transform:scale(1) translate(0)}to{transform:scale(1.045) translate(-.8%,-.4%)}}#ambient{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}#ambient i,#ambient b{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .8s}#ambient.rain i{opacity:.5;top:-20%;right:-10%;bottom:-20%;left:-10%;background:repeating-linear-gradient(102deg,transparent 0 11px,rgba(190,210,235,.22) 11px 12px,transparent 12px 37px),repeating-linear-gradient(98deg,transparent 0 23px,rgba(190,210,235,.14) 23px 24px,transparent 24px 61px);background-size:100% 180px,100% 260px;animation:rain .45s linear infinite}@keyframes rain{to{background-position:-38px 180px,-36px 260px}}#ambient.police b{opacity:1;mix-blend-mode:screen;background:radial-gradient(ellipse 45% 60% at 18% 45%,rgba(255,40,50,.28),transparent 70%);animation:police 1.1s steps(1) infinite}@keyframes police{0%{background:radial-gradient(ellipse 45% 60% at 18% 45%,rgba(255,40,50,.26),transparent 70%)}50%{background:radial-gradient(ellipse 45% 60% at 32% 45%,rgba(40,90,255,.28),transparent 70%)}}#ambient.fire b{opacity:1;mix-blend-mode:screen;background:radial-gradient(ellipse 80% 55% at 50% 100%,rgba(255,120,30,.3),transparent 70%);animation:flame .9s ease-in-out infinite alternate}@keyframes flame{0%{opacity:.55}40%{opacity:1}70%{opacity:.7}to{opacity:.95}}#ambient.fog i{opacity:.55;top:0;right:-60%;bottom:0;left:0;background:radial-gradient(ellipse 30% 22% at 20% 70%,rgba(200,215,235,.22),transparent 70%),radial-gradient(ellipse 36% 18% at 60% 80%,rgba(200,215,235,.18),transparent 70%),radial-gradient(ellipse 28% 20% at 95% 65%,rgba(200,215,235,.2),transparent 70%);animation:fog 40s linear infinite alternate}@keyframes fog{to{transform:translate(-35%)}}#ambient.flicker b{opacity:1;background:#0000002e;animation:flicker 5s steps(1) infinite}@keyframes flicker{0%,to{opacity:0}61%{opacity:1}62%{opacity:0}64%{opacity:.7}65%{opacity:0}}#ambient.dust i{opacity:.6;background:radial-gradient(1.5px 1.5px at 20% 30%,rgba(255,240,210,.8),transparent),radial-gradient(1px 1px at 45% 60%,rgba(255,240,210,.7),transparent),radial-gradient(1.5px 1.5px at 70% 25%,rgba(255,240,210,.7),transparent),radial-gradient(1px 1px at 85% 70%,rgba(255,240,210,.6),transparent);background-size:300px 300px;animation:dust 24s linear infinite}@keyframes dust{to{background-position:60px -300px}}@media(prefers-reduced-motion:reduce){#backdrop.on,#ambient i,#ambient b{animation:none}}#cast2d{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}#cast2d[data-layout=title]{z-index:5}.figure{--x: 50%;--out: 0vw;--s: 1;--y: 0vh;--fx: 1;--k: 1;--light: brightness(.9);--dim: brightness(1);--haze: brightness(1);position:absolute;left:var(--x);bottom:-40vh;height:120vh;aspect-ratio:454 / 1243;opacity:0;transform-origin:50% 100%;transform:translate(calc(-50% + var(--out)),calc(-1 * var(--y))) scale(calc(var(--s) * var(--k) * var(--fx)),calc(var(--s) * var(--k)));filter:var(--light) var(--dim) var(--haze);transition:opacity .5s ease,transform .7s cubic-bezier(.2,.8,.2,1),filter .4s ease,left .6s ease;z-index:1}.figure.sam{aspect-ratio:372 / 1188;height:126vh;bottom:-44vh}.figure.john{height:120vh;z-index:0}.figure.deputy{height:117vh;z-index:0}.figure.jess{height:110vh;z-index:0}.figure.amy{height:108vh;z-index:0}.figure.constance{height:113vh;z-index:0}.figure.haley{height:112vh;z-index:0}.figure.tommy{height:120vh;z-index:0}.figure.ranger{height:118vh;z-index:0}.figure.ben{height:104vh;z-index:0}.figure.roy{height:121vh;z-index:0}.figure.shaw{height:112vh;z-index:0}.figure.wendigo{height:150vh;bottom:-52vh;z-index:0}.figure.wendigo img{filter:brightness(.8) contrast(1.1) drop-shadow(0 0 18px rgba(0,0,0,.9))}.figure.jake{height:119vh;z-index:0}.figure.andrea{height:111vh;z-index:0}.figure.carlton{height:118vh;z-index:0}.figure.sweeney{height:100vh;z-index:0}.figure.jerry{height:116vh;z-index:0}.figure.amanda{height:110vh;z-index:0}.figure.max{height:114vh;z-index:0}.figure.copilot{height:120vh;z-index:0}.figure.lucas{height:84vh;bottom:-28vh;z-index:0}.figure.peter{height:86vh;bottom:-26vh;z-index:0}.figure.peter img{filter:drop-shadow(0 0 12px rgba(150,200,210,.7)) drop-shadow(0 0 34px rgba(80,140,150,.4))}.figure.peter.in{animation:haunt 6s steps(1) infinite}.figure.lily{height:90vh;bottom:-24vh;z-index:0}.figure.charlie{height:108vh;z-index:0}.figure.donna{height:110vh;z-index:0}.figure.worthington{height:114vh;z-index:0}.figure.worthington img{filter:brightness(.92) drop-shadow(0 0 14px rgba(160,20,20,.55)) drop-shadow(0 0 40px rgba(60,0,0,.6))}.figure.worthington.in{animation:haunt 7s steps(1) infinite}.figure.in{opacity:1;--out: 0vw}.figure[data-depth=mid]{--haze: brightness(.88) saturate(.92)}.figure[data-depth=far]{--haze: brightness(.7) saturate(.8) blur(.4px)}.figure.ceiling{top:-1vh;bottom:auto;height:46vh;transform:translate(-50%,-6vh)}.figure.ceiling.in{transform:translate(-50%)}.figure.ceiling img{object-position:top;animation:none}.figure.constance img{filter:drop-shadow(0 0 14px rgba(200,225,255,.85)) drop-shadow(0 0 40px rgba(160,200,255,.4))}.figure.constance.in{animation:haunt 5s steps(1) infinite}@keyframes haunt{0%,to{opacity:.84}61%{opacity:.5}63%{opacity:.84}65%{opacity:.35}67%{opacity:.84}}.figure.dim{--dim: brightness(.75) saturate(.85);--k: .975}.figure img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;object-position:bottom;opacity:0;transition:opacity .35s ease;transform-origin:50% 100%;animation:breathe 5.2s ease-in-out infinite;-webkit-user-select:none;user-select:none}.figure.dean img{animation-delay:-2.1s}.figure img.on{opacity:1}@keyframes breathe{50%{transform:scale(1.004,1.009)}}.figure .held{display:none;position:absolute;pointer-events:none}.figure[data-hold=paper][data-pose=seat] .held{display:block;left:17%;top:64%;width:29%;aspect-ratio:.74;transform:rotate(-11deg);transform-origin:0 60%;filter:brightness(.82) sepia(.15);border-radius:1px;background:linear-gradient(#2a2620,#2a2620) 50% 4% / 86% 9% no-repeat,linear-gradient(#59544a,#59544a) 8% 17% / 84% 2.2% no-repeat,linear-gradient(#8f897a,#8f897a) 12% 33% / 36% 22% no-repeat,repeating-linear-gradient(#e9e3d2 0,#e9e3d2 3.2%,#b3ac9c 3.2%,#b3ac9c 4%) 92% 62% / 40% 62% no-repeat,repeating-linear-gradient(#e9e3d2 0,#e9e3d2 3.2%,#b3ac9c 3.2%,#b3ac9c 4%) 10% 88% / 40% 30% no-repeat,linear-gradient(100deg,#f1ecdd,#d9d2c0 70%,#c4bca8);box-shadow:-.3vh .6vh 1vh #00000073,inset -.4vh 0 .6vh #0000001f}.figure[data-hold=paper] .held:before{content:"";position:absolute;top:0;bottom:0;left:52%;width:2px;background:linear-gradient(90deg,#0000002e,#ffffff80)}.figure[data-hold=paper] .held:after{content:"THE BLADE";position:absolute;left:0;right:0;top:3.6%;font:700 1.25vh/1 Georgia,serif;letter-spacing:.08em;color:#f1ecdd;text-align:center}.figure[data-hold=paper] .held i{position:absolute;left:-6%;top:48%;width:18%;height:15%;border-radius:45% 55% 50% 50%;background:linear-gradient(160deg,#c98d6a,#a46a4c);box-shadow:0 .2vh .3vh #00000059;transform:rotate(18deg)}#cast2d[data-light=night] .figure{--light: brightness(.8) saturate(.85) contrast(1.05) drop-shadow(10px 0 22px rgba(110, 140, 255, .3))}#cast2d[data-light=police] .figure{--light: brightness(.8) saturate(.9) drop-shadow(-10px 0 20px rgba(255, 50, 50, .35)) drop-shadow(10px 0 20px rgba(70, 110, 255, .35))}#cast2d[data-light=fire] .figure{--light: brightness(.85) sepia(.25) saturate(1.1) drop-shadow(0 0 26px rgba(255, 110, 30, .45))}#cast2d[data-light=dash] .figure{--light: brightness(.78) saturate(.85) drop-shadow(0 -6px 22px rgba(255, 170, 70, .3))}#cast2d[data-light=lamp] .figure{--light: brightness(.9) sepia(.12) drop-shadow(-8px 0 24px rgba(255, 170, 90, .28))}#cast2d[data-pose=seat] .figure{-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 16%);mask-image:linear-gradient(0deg,transparent 0,#000 16%)}#cast2d[data-pose=seat] .figure.dean{aspect-ratio:857 / 854;height:72vh;bottom:5vh}#cast2d[data-pose=seat] .figure.sam{aspect-ratio:752 / 1031;height:79.7vh;bottom:0}#cast2d[data-pose=seat] .figure.sam[data-pose=drive]{height:76.7vh;bottom:5vh}#cast2d[data-pose=seat] .figure.constance{height:75vh;bottom:0}#cast2d[data-pose=seat] .figure.constance img{filter:drop-shadow(0 0 5px rgba(200,225,255,.6))}#cast2d[data-layout=title] .figure{height:78vh;bottom:-4vh}#cast2d[data-layout=title] .figure.sam{height:82vh;bottom:-6vh}@media(max-width:900px)and (min-height:501px){#cast2d[data-layout=title]{display:none}}#fade{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;pointer-events:none;opacity:0;transition:opacity .6s ease}#fade.on{opacity:1}#hurt{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,transparent 30%,rgba(179,38,30,.75) 100%);transition:opacity .15s ease}#hurt.on{opacity:1}.hidden{display:none!important}button{font:inherit;color:var(--ink);cursor:pointer;background:#14120fcc;border:1px solid var(--line);border-radius:4px;padding:.7rem 1.1rem;transition:background .2s,border-color .2s,transform .15s}button:hover{background:#3c2d14d9;border-color:var(--gold)}button:active{transform:scale(.98)}button.primary{border-color:var(--gold);color:var(--gold);letter-spacing:.05em}button:disabled{opacity:.4;cursor:not-allowed}button:disabled:hover{background:#14120fcc;border-color:var(--line)}.screen{position:fixed;top:0;right:0;bottom:0;left:0;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;background:radial-gradient(ellipse at center,#00000059,#000000e6)}.screen.active{display:flex}.logo{font-family:var(--display);font-weight:800;font-size:clamp(2.6rem,8vw,6rem);letter-spacing:.18em;margin:0;background:linear-gradient(180deg,#f3e2b8,#b98a3a 55%,#5a3d12);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(217,164,65,.35));animation:flicker 6s infinite}.logo.small{font-size:clamp(2rem,5vw,3.6rem)}@keyframes flicker{0%,92%,to{opacity:1}93%{opacity:.4}94%{opacity:1}96%{opacity:.6}}.subtitle{font-size:1.3rem;color:var(--muted);margin:.6rem 0 0}.tagline{font-style:italic;color:var(--gold);margin:.3rem 0 1.4rem}#title h2{font-family:var(--display);font-weight:500;letter-spacing:.2em;font-size:1rem;color:var(--muted);text-transform:uppercase}.loading{color:var(--muted);font-style:italic;margin:-.4rem 0 1rem}.hunter:disabled{opacity:.45;cursor:wait}.hunters{display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:center}.hunter{width:min(320px,80vw);padding:1.4rem;display:flex;flex-direction:column;gap:.5rem;text-align:left;background:var(--panel)}.hunter .name{font-family:var(--display);font-size:1.35rem;color:var(--gold);letter-spacing:.06em}.hunter .desc{color:var(--muted);font-size:1.05rem;line-height:1.35}#title{overflow-y:auto;justify-content:safe center;padding-top:4rem}#title .corners{position:absolute;top:1rem;right:1rem;z-index:6;display:flex;gap:.5rem}#title .corner{padding:.4rem .9rem;font-family:var(--display);font-size:.8rem;letter-spacing:.1em;color:var(--gold);background:var(--panel);border-radius:999px}#info{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}#info.hidden{display:none}#info .journal-card{width:min(620px,94vw)}#info p{color:var(--muted);line-height:1.5;font-size:1.05rem;margin:0 0 .8rem}#info b{color:var(--ink)}#info [data-page=keys] p{margin:.45rem 0}#info kbd{margin-right:.2rem}#title .corner img{width:1.3em;height:1.3em;border-radius:50%;vertical-align:middle;margin:-.2em .45em -.1em -.4em}#account{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}#account .journal-card{width:min(460px,94vw)}#account .journal-body{display:flex;flex-direction:column;gap:.7rem}#account p{color:var(--muted);line-height:1.45;font-size:1.05rem;margin:0}#account .who{display:flex;align-items:center;gap:.8rem}#account .who img{width:48px;height:48px;border-radius:50%;border:1px solid var(--line)}#account .who b{display:block;font-family:var(--display);color:var(--ink);letter-spacing:.05em}#account .who span{color:var(--muted);font-size:.95rem}#account label{display:flex;flex-direction:column;gap:.3rem;color:var(--muted);font-size:.95rem}#account input{font:inherit;font-size:1.05rem;color:var(--ink);padding:.5rem .7rem;background:#0006;border:1px solid var(--line);border-radius:6px}#account input:focus{outline:none;border-color:var(--gold)}#account .pick{display:flex;flex-direction:column;gap:.2rem;text-align:left}#account .pick b{font-family:var(--display);letter-spacing:.05em}#account .pick span{color:var(--muted);font-size:.95rem}#replay-tips{margin-top:.6rem;padding:.4rem .9rem;font-size:.9rem}#hud{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.4rem;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.75),transparent)}.episode{font-family:var(--display);color:var(--gold);letter-spacing:.15em;font-size:.9rem}.place{font-style:italic;color:var(--muted);font-size:1.1rem;margin-top:.2rem}.hud-right{text-align:right}.as{font-family:var(--display);font-size:.8rem;letter-spacing:.15em;color:var(--muted)}.goal{color:var(--gold);font-size:.95rem;margin-top:.35rem;text-shadow:0 1px 3px #000}.goal:empty{display:none}.bar{position:relative;height:16px;border-radius:999px;overflow:hidden;background:#0000008c;border:1px solid rgba(255,255,255,.12)}.bar i{position:absolute;inset:0 auto 0 0;border-radius:inherit;transition:width .45s ease}.bar span{position:relative;display:block;text-align:center;line-height:14px;font-size:.72rem;letter-spacing:.06em;text-shadow:0 1px 2px #000}.hud-right{transition:opacity .6s ease}body.cutscene .hud-right{opacity:0;pointer-events:none}.hud-right .bar{width:220px;margin:.3rem 0 0 auto}.bar.hp i{background:linear-gradient(180deg,#e0574c,#8c1d15)}.bar.hp.low{animation:lowhp 1s ease-in-out infinite}@keyframes lowhp{50%{box-shadow:0 0 12px #e0574ccc}}.bar.xp{height:8px;overflow:visible;margin-bottom:1rem!important}.bar.xp i{background:linear-gradient(180deg,#f3d99a,#b98a3a)}.bar.xp span{position:absolute;top:10px;right:0;line-height:1;font-size:.7rem;opacity:.85;white-space:nowrap}.hud-row{display:flex;gap:.8rem;justify-content:flex-end;align-items:center;margin-top:.4rem}#cash{font-family:var(--display);color:var(--good)}#journal-btn,#menu-btn{pointer-events:auto;padding:.3rem .8rem;font-family:var(--display);font-size:.8rem;letter-spacing:.1em;border-radius:999px;display:flex;gap:.5rem;align-items:center}#journal-btn b{color:#1a140c;background:var(--gold);border-radius:999px;padding:0 .5rem;font-size:.7rem}#journal-btn b:empty{display:none}#journal-btn.alert{border-color:var(--gold);box-shadow:0 0 14px #d9a44173}kbd{font-family:var(--display);font-size:.7em;opacity:.7;border:1px solid currentColor;border-radius:3px;padding:0 .3em}#toasts{position:fixed;top:6.5rem;left:50%;transform:translate(-50%);z-index:20;display:flex;flex-direction:column;gap:.4rem;align-items:center;pointer-events:none;width:min(560px,92vw)}#toasts:has(#clue.has-photo){width:min(720px,94vw)}.toast{padding:.45rem 1rem;border-radius:10px;font-size:.98rem;line-height:1.35;text-align:center;background:#0c0a08e6;border:1px solid var(--line);box-shadow:0 6px 20px #00000080;animation:rise .3s ease forwards;transition:opacity .5s,transform .5s}.toast.out{opacity:0;transform:translateY(-8px)}.toast.loot{color:var(--good)}.toast.lore{color:#b9cdf0;border-color:#b9cdf066;font-style:italic}.toast.xp{color:var(--gold);font-family:var(--display);font-size:.85rem;letter-spacing:.1em}.toast.level{color:#1a140c;background:linear-gradient(180deg,#f3d99a,#c8923a);font-family:var(--display);letter-spacing:.06em}.toast.good{color:var(--good)}.toast.note{color:var(--ink);font-style:italic}#spots{position:fixed;top:-2%;right:-2%;bottom:-2%;left:-2%;pointer-events:none}#hotspots{position:absolute;pointer-events:none}#hotspots.off{display:none}.hotspot{position:absolute;margin:-26px 0 0 -26px;pointer-events:auto;width:52px;height:52px;padding:0;border:0;background:none;border-radius:50%}.hotspot:hover,.hotspot:active{background:none;transform:none}.hotspot:active i{scale:.85}.hotspot i{position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:50%;background:radial-gradient(circle,#fff6dc 0 20%,rgba(232,168,48,.9) 42%,rgba(120,72,10,.5) 62%,transparent 72%);box-shadow:0 0 0 2px #f3c55a,0 0 0 4px #140c04bf,0 0 14px 4px #00000073,0 0 22px #ffbe46e6;animation:glint 1.8s ease-in-out infinite}.hotspot.shop i{background:radial-gradient(circle,#e8ffec 0 20%,rgba(90,200,120,.9) 42%,rgba(20,80,40,.5) 62%,transparent 72%);box-shadow:0 0 0 2px #7ed491,0 0 0 4px #041208bf,0 0 14px 4px #00000073,0 0 22px #7ed491d9}.hotspot span{position:absolute;left:50%;bottom:100%;transform:translate(-50%,4px);white-space:nowrap;font-family:var(--display);font-size:.78rem;letter-spacing:.08em;color:var(--ink);background:#0a0908d9;border:1px solid var(--line);border-radius:999px;padding:.15rem .7rem;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}.hotspot:hover span,.hotspot:focus-visible span{opacity:1;transform:translate(-50%,-2px)}@keyframes glint{50%{transform:scale(1.2);opacity:.9}}body.ui-off #hotspots{display:none}#hotspots .prop{position:absolute;pointer-events:none;transform:translate(-50%,-50%)}#hotspots .prop.cash{width:2.6%;aspect-ratio:2.2 / 1;border-radius:2px;background:repeating-linear-gradient(90deg,transparent 0 46%,rgba(30,60,30,.35) 46% 54%,transparent 54%),linear-gradient(170deg,#b9cfa0,#7c9a6a);box-shadow:0 0 0 1px #283c2399,.15vw .25vw .35vw #0009;transform:translate(-50%,-50%) perspective(20vw) rotateX(55deg) rotate(18deg)}#hotspots .prop.cash:before{content:"";position:absolute;top:-18%;right:10%;bottom:18%;left:-12%;border-radius:2px;background:linear-gradient(170deg,#c9dcb0,#8aa676);box-shadow:0 0 0 1px #283c2399;transform:rotate(-24deg)}#hotspots .prop.cash i{position:absolute;left:34%;top:22%;width:22%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(40,70,40,.7);z-index:1}#hotspots .prop.chart{width:4.4%;aspect-ratio:3 / 4;border-radius:.25vw;background:linear-gradient(160deg,#8a5a32,#5e3a1e);box-shadow:.2vw .35vw .5vw #0000008c;transform:translate(-50%,-50%) perspective(20vw) rotateX(52deg) rotate(-14deg)}#hotspots .prop.chart:before{content:"";position:absolute;top:9%;right:9%;bottom:6%;left:9%;border-radius:1px;background:linear-gradient(#c23a2e,#c23a2e) 12% 14% / 30% 5% no-repeat,repeating-linear-gradient(#e9e6dc 0,#e9e6dc 7%,#9aa2aa 7%,#9aa2aa 8.5%) 0 26% / 100% 70% no-repeat,#e9e6dc}#hotspots .prop.chart:after{content:"";position:absolute;left:32%;right:32%;top:-3%;height:11%;border-radius:2px;background:linear-gradient(#e4e6ea,#8a9098);box-shadow:0 1px 1px #0006}#journal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.journal-card{width:min(860px,94vw);max-height:86vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#221c14f7,#100d0af7);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 60px #000000b3}.journal-card header{display:flex;align-items:center;gap:1rem;padding:1rem 1.3rem .4rem}.journal-card h2{font-family:var(--display);color:var(--gold);letter-spacing:.1em;font-size:1.2rem;margin:0;flex:1}.journal-card .cash{font-family:var(--display);color:var(--good)}.journal-card .close{padding:.3rem .8rem}.journal-card nav{display:flex;gap:.3rem;padding:.4rem 1.3rem;border-bottom:1px solid var(--line);flex-wrap:wrap}.journal-card nav button{padding:.35rem .9rem;font-family:var(--display);font-size:.8rem;letter-spacing:.08em;border-radius:999px}.journal-card nav button.on{background:var(--gold);color:#1a140c;border-color:var(--gold)}.journal-body{padding:.8rem 1.3rem 1.3rem;overflow-y:auto}.journal-body h3{font-family:var(--display);color:var(--gold);font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;margin:1rem 0 .4rem}.journal-body h3 em{color:var(--muted);font-style:normal}.journal-body p{margin:.15rem 0}.muted{color:var(--muted)}.items,.recipes,.skills{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:.5rem}.item,.recipe,.skill{display:flex;gap:.7rem;align-items:center;padding:.55rem .7rem;background:#0000004d;border:1px solid rgba(255,255,255,.07);border-radius:10px}.item>div,.recipe>div,.skill>div{flex:1;min-width:0}.item b em,.recipe b em{color:var(--gold);font-style:normal}.item p,.recipe p,.skill p{color:var(--muted);font-size:.9rem;line-height:1.3}.item button,.recipe button,.skill button{padding:.35rem .8rem;flex:none}.recipe button:disabled{max-width:7.5rem;white-space:normal;font-size:.78rem;line-height:1.2}.recipe.ready{border-color:#7ed49159}.needs{font-size:.85rem!important}.needs .have{color:var(--good)}.needs .miss{color:#c97a72}.skill.on{border-color:var(--line)}.skill.locked{opacity:.55}.skill .needs.have{color:var(--good)}.skill .needs.miss{color:#c97a72}.opens{color:var(--muted);font-family:var(--display);font-size:.75rem;letter-spacing:.1em;flex:none}.skill-tier{margin:1.1rem 0 .2rem;font-family:var(--display);letter-spacing:.12em;color:var(--gold);font-weight:400}.learned{color:var(--good);font-family:var(--display);font-size:.75rem;letter-spacing:.1em}.icon{flex:none;width:48px;height:48px;border-radius:8px;background:#221c14 center / contain no-repeat;position:relative}.profile{padding:.4rem 0 .2rem;line-height:1.4}.profile b{color:var(--gold)}.stats-row{display:flex;gap:1.4rem;flex-wrap:wrap;margin-top:.4rem;color:var(--muted)}.stats-row b{color:var(--ink)}.lore-entry ul{margin:0;padding-left:1.1rem;line-height:1.45}.lore-entry li{margin:.25rem 0}.lore-entry li.unknown{color:var(--muted);opacity:.6;font-style:italic}#combat{margin-top:.2rem}#combat .intent{margin:.5rem 0 .3rem;padding:.35rem .7rem;font-style:italic;color:#d8cfc0;background:#00000059;border-left:3px solid var(--muted);border-radius:3px}#combat .intent:empty{display:none}#combat .intent b{font-family:var(--display);font-style:normal;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:.5rem}#combat .intent.heavy{color:#ffb3a8;border-left-color:#e0574c;background:#5a0a0666}#combat .intent.heavy b{color:#ff7a6a}#bossbar{position:fixed;top:.7rem;left:50%;transform:translate(-50%);z-index:15;width:min(520px,40vw);text-align:center;pointer-events:none;animation:clue-in .35s ease-out}#bossbar.hidden{display:none}#bossbar header{display:flex;justify-content:center;align-items:baseline;gap:.6rem;margin-bottom:.3rem}#bossbar header b{font-family:var(--display);font-size:1.15rem;letter-spacing:.14em;color:#f2eee6;text-shadow:0 2px 8px #000,0 0 2px #000}#bossbar header em{font-size:.85rem;color:#b9cdf0;text-shadow:0 1px 4px #000}#bossbar .track{position:relative;height:22px;border-radius:3px;overflow:hidden;background:#000000b3;border:1px solid rgba(255,255,255,.25);box-shadow:0 0 0 1px #000,0 6px 18px #0009}#bossbar .track i{position:absolute;inset:0 auto 0 0}#bossbar .fill{background:linear-gradient(180deg,#d8483c,#7c140e);transition:width .3s ease}#bossbar.spirit .fill{background:linear-gradient(180deg,#9cc0ff,#3b5fa8);box-shadow:0 0 12px #96beffb3}#bossbar .trail{background:#f4efe2;transition:width .7s ease .45s}#bossbar .track span{position:relative;display:block;line-height:20px;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-shadow:0 1px 3px #000,0 0 2px #000}#bossbar small{display:block;margin-top:.25rem;font-family:var(--display);font-size:.72rem;letter-spacing:.12em;color:var(--gold);text-shadow:0 1px 3px #000}#bossbar.boss .track{border-color:#d9a441b3}#bossbar.struck .track{animation:struck .35s ease}@keyframes struck{30%{translate:-5px 0;box-shadow:0 0 18px #fff9}60%{translate:4px 0}}.dmg{position:fixed;z-index:25;pointer-events:none;transform:translate(-50%);font-family:var(--display);font-weight:800;font-size:2.4rem;text-shadow:0 2px 6px #000,0 0 2px #000;animation:dmg-rise 1.2s ease-out forwards}.dmg.foe{color:#f4efe2}.dmg.me{color:#ff5a4a}.dmg.heal{color:var(--good);font-size:1.8rem}@keyframes dmg-rise{0%{opacity:0;translate:0 10px;scale:.6}15%{opacity:1;scale:1.15}to{opacity:0;translate:0 -70px;scale:1}}.figure.lunge{animation:lunge .55s ease}@keyframes lunge{35%{scale:1.12;translate:0 2vh;filter:brightness(1.5) drop-shadow(0 0 30px rgba(200,225,255,.9))}}#combat .log{min-height:3.2em}#combat .log p{margin:.1rem 0;line-height:1.35;text-shadow:0 1px 3px #000}#combat .log p.old{opacity:.45;font-size:.92rem}#combat .log p.good{color:var(--good)}#combat .log p.bad{color:#ff9b8f}#combat .log p.miss{color:var(--muted)}#combat .log p.lore{color:#b9cdf0;font-style:italic}#combat .actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.4rem;margin-top:.6rem}#combat .actions button{display:grid;grid-template-columns:auto 1fr;column-gap:.5rem;align-items:baseline;text-align:left;padding:.45rem .8rem;border-radius:12px;font-size:.98rem;background:linear-gradient(180deg,#28221ac7,#0e0c0ac7)}#combat .actions button .key{font-family:var(--display);color:var(--gold);font-size:.75rem;grid-row:span 2}#combat .actions button em{color:var(--gold);font-style:normal}#combat .actions small{color:var(--muted);font-size:.78rem}#combat .actions small.good{color:var(--good)}#combat .actions small.bad{color:#c97a72}#combat .actions small.unknown{color:#b9cdf0}#combat .actions button.item{border-color:#7ed4914d}#combat .actions button.finisher{border-color:var(--gold);background:linear-gradient(180deg,#785a1ee6,#3c280ce6);box-shadow:0 0 16px #d9a44199}#combat .actions button:disabled{opacity:.4;cursor:not-allowed}.figure.hit{animation:hitshake .45s ease}@keyframes hitshake{20%{translate:-14px 0;filter:brightness(1.8)}45%{translate:10px 0}70%{translate:-5px 0}}.figure.faded{opacity:.18!important;transition:opacity .4s}.figure.gone{opacity:0!important;transition:opacity 1.2s}.hunter .role{font-family:var(--display);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);opacity:.8}#resume{margin-top:1.1rem}#panel{position:fixed;left:0;right:0;bottom:0;max-height:44vh;overflow-y:auto;scrollbar-width:none;padding:4.5rem max(1.5rem,calc(50vw - 480px)) 1.3rem;background:linear-gradient(0deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.55) 55%,transparent 100%);transition:opacity .5s ease;pointer-events:none}#panel>*{pointer-events:auto}#panel::-webkit-scrollbar{display:none}#panel:has(#combat:not(.hidden)){max-height:62vh;padding-top:3rem}#hud{transition:opacity .5s ease}#panel.resting,body.ui-off #panel,body.ui-off #hud{opacity:0;pointer-events:none}#speaker{display:inline-block;margin-bottom:.45rem;padding:.2rem .95rem .25rem;font-family:var(--display);font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:#1a140c;border-radius:999px;background:linear-gradient(180deg,#f3d99a,#c8923a);box-shadow:0 2px 10px #00000080}#speaker.sam{background:linear-gradient(180deg,#b9cdf0,#6d8cc4)}#text{font-size:1.08rem;line-height:1.5;white-space:pre-line;cursor:pointer;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 18px rgba(0,0,0,.6)}#text.line{font-size:1.18rem;font-style:italic;color:#f6eedd}#choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.8rem}#choices:empty{display:none}#choices button{text-align:left;font-size:1rem;line-height:1.3;padding:.6rem 1rem;display:flex;gap:.6rem;align-items:baseline;background:linear-gradient(180deg,#28221ab8,#0e0c0ab8);border-color:#d9a4414d;border-radius:14px;box-shadow:0 4px 14px #00000073,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transform:translateY(6px);animation:rise .35s ease forwards}#choices button:hover{background:#3c2d14b3;border-color:var(--gold)}#choices button .key{font-family:var(--display);color:var(--gold);font-size:.8rem}@keyframes rise{to{opacity:1;transform:none}}#result{margin-top:.7rem;border-top:1px solid var(--line);padding-top:.6rem}#result p{font-size:1.05rem;line-height:1.45;font-style:italic;margin:.3rem 0 .7rem;text-shadow:0 1px 3px #000}#result p:empty{display:none}#continue,#prepare{padding:.45rem 1rem}#prepare{margin-left:.5rem}#ui-hint{position:fixed;bottom:.3rem;left:.6rem;font-size:.75rem;color:#ffffff4d;pointer-events:none}body.ui-off #ui-hint{color:#ffffff8c}.badge{font-family:var(--display);font-size:1.05rem;letter-spacing:.08em}.badge.good{color:var(--good)}.badge.ok{color:var(--gold)}.badge.bad{color:var(--blood)}.rank{font-family:var(--display);font-size:1.6rem;color:var(--gold);margin:1rem 0 .2rem}.blurb{font-style:italic;color:var(--muted);font-size:1.15rem}.stats{display:flex;gap:2rem;margin:1.2rem 0 1.8rem;font-size:1.1rem}.stats b{display:block;font-family:var(--display);font-size:1.8rem;color:var(--ink)}.end-buttons{display:flex;gap:1rem}.teaser{margin-top:2rem;color:var(--muted)}.credit{position:fixed;bottom:.3rem;right:.6rem;font-size:.75rem;color:#ffffff4d;pointer-events:none}#title.active~.credit{right:50%;transform:translate(50%);white-space:nowrap;z-index:6}@media(max-width:600px){#text{font-size:1.05rem}#panel{padding:3rem 1rem 1rem;max-height:55vh}#choices{grid-template-columns:1fr}.place{font-size:.95rem}}body.fp-mode #hotspots,body.fp-mode #panel{display:none}#fp{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:30;font-family:var(--display)}#fp .crosshair{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#fff5e1bf;box-shadow:0 0 6px #000}#fp .prompt{position:absolute;left:50%;top:calc(50% + 28px);transform:translate(-50%);padding:.35rem .8rem;background:#0a0806bf;border:1px solid rgba(217,164,65,.6);border-radius:4px;color:#f3e9d6;font-size:.85rem;letter-spacing:.06em;white-space:nowrap}#fp .prompt b{color:#1a140c;background:var(--gold);border-radius:3px;padding:0 .35rem;margin-right:.35rem}#fp .prompt em{color:#8f877a;font-style:normal;margin-left:.4rem}#fp .emf{position:absolute;right:1.4rem;bottom:1.4rem;padding:.6rem .8rem;background:linear-gradient(#2a2c2a,#151615);border:1px solid #444;border-radius:8px;box-shadow:0 6px 18px #0009;color:#9a9;font-size:.7rem;letter-spacing:.2em}#fp .leds{display:flex;gap:5px;margin-top:.35rem}#fp .leds i{width:14px;height:14px;border-radius:50%;background:#1d241d;box-shadow:inset 0 1px 2px #000}#fp .leds i.on{background:#7dff6a;box-shadow:0 0 10px #7dff6a}#fp .leds i:nth-child(4).on{background:#ffcb3d;box-shadow:0 0 10px #ffcb3d}#fp .leds i:nth-child(5).on{background:#ff4a3d;box-shadow:0 0 12px #ff4a3d}#fp .found{position:absolute;left:1.4rem;top:5.5rem;margin:0;padding:.6rem .9rem;list-style:none;background:#0a080699;border-left:2px solid var(--gold);color:#8f877a;font-size:.8rem;line-height:1.6}#fp .found .head{color:var(--gold);letter-spacing:.12em}#fp .found .done{color:#e8dcc4}#fp .found .done:before{content:"✓ ";color:var(--gold)}#fp .found{pointer-events:auto}#fp .found [data-id]{cursor:pointer}#fp .found [data-id]:hover{color:var(--gold)}#fp .found .secret:before{content:""}#fp .found .secret{color:#b9d4ff}#fp .found .tip{margin-top:.4rem;color:#8f877a;font-size:.72rem;letter-spacing:.04em}#fp .found .tip b{color:var(--gold)}#fp .help{position:absolute;left:50%;bottom:1.2rem;transform:translate(-50%);color:#f0e6d2b3;font-family:inherit;font-size:.75rem;text-shadow:0 1px 3px #000;white-space:nowrap}#fp .help b{color:var(--gold)}#fp .leave{position:absolute;right:1.4rem;bottom:6.2rem;pointer-events:auto}body:has(#clue.has-photo) #fp .leave{visibility:hidden}#fp .leave.locked{display:grid;justify-items:end;gap:.2rem;opacity:.75;cursor:not-allowed;color:#8f877a;border-color:#8f877a66;background:#0a0806b3}#fp .leave.locked:hover{transform:none}#fp .leave .lock{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:#c9a25a}#fp .leave small{max-width:16rem;font:italic .78rem var(--serif);letter-spacing:0;text-transform:none;color:#a89f90;text-align:right}#fp .top{position:absolute;left:50%;top:6.5rem;transform:translate(-50%);z-index:2;display:grid;justify-items:center;width:min(560px,56vw)}#fp:has(#meters) .top{top:8.7rem}#fp .objective{display:grid;justify-items:center;gap:.2rem;padding:.5rem 1.1rem;border-radius:10px;background:#0c0a08d1;border:1px solid rgba(217,164,65,.55);box-shadow:0 6px 20px #00000080;text-align:center;transition:padding .35s ease,box-shadow .35s ease}#fp .objective span{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}#fp .objective p{margin:0;font:italic .92rem/1.4 var(--serif);color:#e8dcc4}#fp .objective button{display:none;pointer-events:auto;margin-top:.6rem;font-family:var(--display);letter-spacing:.1em;text-transform:uppercase}#fp:has(.objective.focus):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0000009e;pointer-events:auto;animation:rise .3s ease}#fp .top:has(.objective.focus){top:18vh;width:min(640px,92vw)}#fp .objective.focus{padding:1.2rem 1.6rem 1.1rem;border-color:var(--gold);animation:goal-pulse 1.6s ease-in-out infinite alternate}#fp .objective.focus span{font-size:.75rem}#fp .objective.focus p{font-size:1.2rem;line-height:1.55}#fp .objective.focus button{display:inline-block}#fp:has(.objective.focus) :is(.crosshair,.prompt,.help,.found,.emf,.leave){visibility:hidden}@keyframes goal-pulse{0%{box-shadow:0 0 0 1px #d9a44166,0 10px 40px #0009}to{box-shadow:0 0 0 4px #d9a44140,0 0 40px #d9a44159}}body.fp-mode #toasts{top:calc(6.5rem + var(--fp-top, 0px) + .6rem)}body.fp-mode:has(#meters) #toasts{top:calc(8.7rem + var(--fp-top, 0px) + .6rem)}body.fp-mode:has(#fp .objective.focus) #toasts{visibility:hidden}#lockup-btn{margin:.6rem auto 0;display:block}#lockup-btn.hidden{display:none}#cases{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:#040302b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}#cases .board{width:min(980px,92vw);padding:1.4rem 1.6rem 1.6rem;border:1px solid rgba(217,164,65,.5);border-radius:6px;background:linear-gradient(180deg,#2a1f14,#17110b);box-shadow:0 20px 60px #000000b3}#cases header{display:flex;align-items:center;margin-bottom:1rem}#cases h2{flex:1;margin:0;font-family:var(--display);color:var(--gold);letter-spacing:.14em;font-size:1.2rem;text-transform:uppercase}#cases h2 .as{display:inline-flex;align-items:center;gap:.4rem;margin-left:1.2rem;font-size:.75rem;letter-spacing:.1em;color:#d8ccb6;vertical-align:middle}#cases h2 .as button{padding:.3rem .8rem;font-family:var(--display);font-size:.8rem;letter-spacing:.08em;text-transform:none;opacity:.65}#cases h2 .as button em{font-style:normal;color:var(--muted);margin-left:.25rem}#cases h2 .as button.on{opacity:1;border-color:var(--gold);box-shadow:0 0 12px #d9a44166}#cases .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}#cases .case{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-align:left;padding:1rem;background:#e9e1cb;color:#1c1a16;border:none;border-radius:2px;transform:rotate(-.6deg);box-shadow:0 6px 16px #0000008c;font-family:inherit}#cases .case:nth-child(2){transform:rotate(.8deg)}#cases .case:hover:not(:disabled){transform:rotate(0) translateY(-3px);background:#f3ecd8}#cases .case b{font-family:var(--display);letter-spacing:.06em;font-size:1rem}#cases .case i{color:#6a5a40;font-size:.85rem}#cases .case span{font-size:.9rem;line-height:1.4}#cases .case em{margin-top:auto;padding-top:.5rem;font-style:normal;font-family:var(--display);letter-spacing:.1em;font-size:.75rem;color:#a3221a}#cases .case.soon{opacity:.6;cursor:default}#cases .case.soon em{color:#5a5040}#cases .wardrobe .cards{display:block}#cases .wardrobe section+section{margin-top:1rem}#cases .wardrobe h3{margin:0 0 .5rem;font-family:var(--display);color:#d8ccb6;letter-spacing:.1em;font-size:.9rem;text-transform:uppercase}#cases .wardrobe .looks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}#cases .wardrobe .look{position:relative;display:flex;align-items:center;gap:.7rem;padding:.5rem .8rem;text-align:left;background:#e9e1cb;color:#1c1a16;border:2px solid transparent;border-radius:2px;box-shadow:0 6px 16px #0000008c}#cases .wardrobe .look:hover{background:#f3ecd8;transform:translateY(-2px)}#cases .wardrobe .look.on{border-color:var(--gold);box-shadow:0 0 16px #d9a44173;cursor:default;transform:none}#cases .wardrobe .look img{height:150px;width:auto;flex:none}#cases .wardrobe .look span{font-family:var(--display);letter-spacing:.04em;font-size:.95rem}#cases .wardrobe .look em{position:absolute;right:.6rem;bottom:.45rem;font-style:normal;font-family:var(--display);letter-spacing:.1em;font-size:.7rem;color:#a3221a;text-transform:uppercase}#cases .wardrobe .muted{margin:1rem 0 0}#clue{box-sizing:border-box;width:100%;padding:.9rem 1.1rem .8rem;border-radius:4px;background:linear-gradient(180deg,#241c12f5,#120e09f5);border:1px solid rgba(217,164,65,.6);box-shadow:0 10px 30px #000000a6;animation:clue-in .25s ease-out;pointer-events:none}#clue.has-photo{width:100%}#clue .peek{display:block;width:100%;max-height:min(52vh,480px);object-fit:contain;margin:.55rem 0 .15rem;border-radius:2px;background:#1a140c;box-shadow:0 8px 22px #0000008c}#clue .dismiss{pointer-events:auto}#clue b{font-family:var(--display);color:var(--gold);letter-spacing:.1em;font-size:.85rem;text-transform:uppercase}#clue p{margin:.4rem 0 .6rem;line-height:1.5;font-size:1rem}#clue .dismiss{float:right;padding:.2rem .7rem;font-size:.8rem}#clue .rewards{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin:0 0 .6rem}#clue .rewards:empty{display:none}#clue .rewards span{padding:.1rem .55rem;border-radius:999px;font-size:.82rem;background:#0006;border:1px solid rgba(255,255,255,.12)}#clue .rewards .loot,#clue .rewards .good{color:var(--good)}#clue .rewards .lore{color:#b9cdf0}#clue .rewards .xp{color:var(--gold);font-family:var(--display);font-size:.75rem;letter-spacing:.08em}#clue .rewards em{color:#8f877a;font-size:.78rem}.coach{position:fixed;left:0;top:0;z-index:60;width:min(300px,80vw);padding:.75rem .9rem .6rem;background:#f3e3bd;color:#1a140c;border-radius:6px;box-shadow:0 10px 30px #0009,0 0 0 2px var(--gold);font-size:.98rem;line-height:1.4;animation:coach-in .3s ease-out}.coach p{margin:0 0 .5rem}.coach div{display:flex;justify-content:flex-end;gap:.4rem}.coach button{padding:.15rem .7rem;font-size:.8rem;color:#1a140c;background:transparent;border-color:#1a140c66}.coach button.ok{background:#1a140c;color:#f3e3bd}.coach .arrow{position:absolute;width:0;height:0;border:11px solid transparent;translate:-50% 0}.coach[data-side=above] .arrow{top:100%;border-top-color:#f3e3bd}.coach[data-side=below] .arrow{bottom:100%;border-bottom-color:#f3e3bd}.coach[data-side=left] .arrow,.coach[data-side=right] .arrow{translate:0 -50%}.coach[data-side=left] .arrow{left:100%;border-left-color:#f3e3bd}.coach[data-side=right] .arrow{right:100%;border-right-color:#f3e3bd}.coach:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:9px;pointer-events:none;box-shadow:0 0 0 2px #d9a441b3;animation:coach-pulse 1.4s ease-out infinite}.coach .arrow{display:none}.coach-ring{position:fixed;left:0;top:0;z-index:59;pointer-events:none;border-radius:12px;border:3px solid var(--gold);box-shadow:0 0 0 3px #00000073,0 0 22px #d9a441cc;animation:coach-in .3s ease-out}.coach-ring.round{border-radius:50%}.coach-ring i{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:inherit;border:3px solid var(--gold);animation:ring-ripple 1.3s ease-out infinite}@keyframes ring-ripple{0%{opacity:.9;top:-3px;right:-3px;bottom:-3px;left:-3px}to{opacity:0;top:-22px;right:-22px;bottom:-22px;left:-22px}}.coach-pointer{position:fixed;left:0;top:0;z-index:60;width:40px;height:40px;pointer-events:none}body:has(.fp-modal) :is(.coach,.coach-ring,.coach-pointer){display:none}.coach-pointer svg{width:100%;height:100%;fill:var(--gold);stroke:#1a140c;stroke-width:2;filter:drop-shadow(0 0 8px rgba(217,164,65,.9));animation:pointer-bob .8s ease-in-out infinite alternate}@keyframes pointer-bob{0%{translate:0 -7px}to{translate:0 5px}}#hotspots.teach .hotspot:not(.read):after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;border:2px solid var(--gold);animation:ring-ripple 1.6s ease-out infinite;pointer-events:none}@keyframes coach-in{0%{opacity:0}}@keyframes coach-pulse{0%{opacity:1}to{opacity:0;top:-14px;right:-14px;bottom:-14px;left:-14px}}@keyframes clue-in{0%{opacity:0;transform:translateY(-8px)}}.hotspot.read i{top:18px;right:18px;bottom:18px;left:18px;opacity:.8;animation:none;box-shadow:0 0 0 1.5px #f3d99acc,0 0 0 3px #140c04b3}.hotspot.read span:after{content:" · read again";color:#8f877a}.hotspot.waiting i{top:18px;right:18px;bottom:18px;left:18px;opacity:.55;animation:none;filter:grayscale(1);box-shadow:0 0 0 1.5px #c8c8c899,0 0 0 3px #0a0a0ab3}.hotspot.waiting span:after{content:" · look around first";color:#8f877a}.note{margin:0 0 .7rem;padding:.5rem .7rem;border-left:2px solid rgba(217,164,65,.5);background:#ffffff08}.note b{color:var(--gold);font-size:.9rem}.note p{margin:.25rem 0 0;line-height:1.45}.note img{display:block;width:100%;max-width:420px;margin:0 0 .45rem;border-radius:2px}.fp-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:#0000008c}.fp-modal .card{width:min(420px,90vw);padding:1.2rem 1.3rem;border-radius:6px;text-align:center;background:linear-gradient(180deg,#1d1912,#0e0c09);border:1px solid rgba(217,164,65,.55);box-shadow:0 20px 50px #000000b3}.fp-modal .title{font-family:var(--display);color:var(--gold);letter-spacing:.12em;text-transform:uppercase}.fp-modal .hint{color:#c9bfae;font-size:.9rem;line-height:1.45;margin:.4rem 0 .9rem}.fp-modal .cancel{margin-top:.9rem;font-size:.8rem;padding:.25rem .8rem}#home-help{z-index:60}#home-help .card{width:min(460px,92vw);max-height:94vh;overflow-y:auto}#home-help ol{margin:0 0 .6rem;padding-left:1.4rem;text-align:left;color:#e8dfcf;line-height:1.6}#home-help .share{width:.9em;height:1.05em;vertical-align:-.15em;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#pad .display{font:600 2rem/1 monospace;letter-spacing:.35em;padding:.6rem 0 .6rem .35em;margin-bottom:.8rem;background:#070806;color:#9fe89f;border:1px solid #2a3a2a;border-radius:4px}#pad .display.ok{color:#7dff6a;box-shadow:0 0 18px #7dff6a66}#pad .display.bad{color:#ff5a4a;animation:pad-shake .3s}@keyframes pad-shake{25%{translate:-6px 0}75%{translate:6px 0}}#pad .keys{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}#pad .keys button{font:600 1.2rem monospace;padding:.55rem 0}#unlock{z-index:70;background:radial-gradient(circle at 50% 45%,#241b0ef7,#000000fc);animation:unlock-in .5s ease-out}@keyframes unlock-in{0%{opacity:0}}.unlock-card{width:min(520px,92vw);text-align:center}.unlock-card small{font-family:var(--display);letter-spacing:.4em;text-transform:uppercase;color:var(--gold);font-size:.85rem}.unlock-card img{display:block;width:180px;height:180px;object-fit:contain;margin:1rem auto .4rem;filter:drop-shadow(0 0 28px rgba(217,164,65,.45));animation:unlock-glow 2.4s ease-in-out infinite}@keyframes unlock-glow{50%{filter:drop-shadow(0 0 44px rgba(217,164,65,.7))}}.unlock-card h2{font-family:var(--display);font-size:2.4rem;letter-spacing:.08em;color:var(--ink);margin:0 0 .8rem}.unlock-card p{color:#d8ccb6;font-size:1.1rem;line-height:1.5;margin:0 0 .8rem}.unlock-card .where{color:var(--muted);font-size:1rem}.unlock-card .where b{color:var(--gold)}.unlock-card .buttons{display:flex;gap:.8rem;justify-content:center;margin-top:1.2rem}.unlock-card .buttons button{padding:.6rem 1.4rem;font-family:var(--display);letter-spacing:.08em}.dad-pages{display:grid;gap:.9rem}.dad-page{padding:.9rem 1.1rem;border-radius:4px;color:#2a2016;font-style:italic;background:linear-gradient(180deg,#e8dcc0,#d6c6a2);box-shadow:inset 0 0 30px #5a3c1459}.dad-page h3{margin:0 0 .4rem;font-family:var(--display);font-style:normal;color:#5a1a10;letter-spacing:.06em}.dad-page p{margin:0 0 .5rem;line-height:1.45}.dad-page .kill{font-style:normal;font-weight:600;color:#5a1a10;border-top:1px dashed rgba(90,40,20,.4);padding-top:.45rem;margin-bottom:0}.dad-page .mine{font-style:normal;font-size:.85rem;color:#4a5a2a;margin:.4rem 0 0}#menu{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}#menu h3{font-family:var(--display);color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .2rem}#menu .muted{color:#c9bfae;margin:0 0 1rem;font-style:italic}#menu .menu-list{display:grid;gap:.5rem}#menu .menu-list button{padding:.55rem 1rem;font-family:var(--display);letter-spacing:.08em}#terminal .card{width:min(560px,92vw);text-align:left;background:#050805;border-color:#2f5a2f}#terminal .title{color:#9fe89f}#terminal .terms{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem}#terminal .terms button{font:.9rem monospace;padding:.3rem .7rem;color:#9fe89f;border-color:#2f5a2f;background:#0a140a}#terminal .terms button.on{background:#9fe89f;color:#071007}#terminal .run{color:#9fe89f;border-color:#4f8a4f}#terminal .out{min-height:5.5rem;margin:.8rem 0 0;padding:.7rem;white-space:pre-wrap;font:.92rem/1.5 monospace;color:#9fe89f;background:#020402;border:1px solid #1a2a1a}#terminal .out.found{color:#d8ffb0;border-color:#6fbf4f}#scrub .card{width:min(640px,94vw)}#scrub .feed{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;border:1px solid #333;background:#000 center / cover no-repeat;image-rendering:pixelated}#scrub .feed.glitch{translate:3px -1px}#scrub .feed:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.28) 0 2px,transparent 2px 4px)}#scrub .shape{position:absolute;bottom:20%;width:15%;height:62%;opacity:0;transform:translate(-50%) skew(-10deg);background:#060504;clip-path:polygon(46% 0,58% 2%,62% 12%,57% 20%,78% 30%,92% 62%,86% 64%,70% 40%,66% 62%,74% 100%,64% 100%,52% 70%,44% 100%,34% 100%,40% 62%,34% 40%,16% 66%,9% 64%,26% 30%,43% 20%,40% 10%);filter:blur(1.2px) drop-shadow(22px 0 8px rgba(0,0,0,.7))}#scrub .eyes{position:absolute;bottom:74%;width:2.2%;height:1.2%;opacity:0;transform:translate(-50%);background:radial-gradient(circle at 20% 50%,#f4f0d8 0 30%,transparent 40%),radial-gradient(circle at 80% 50%,#f4f0d8 0 30%,transparent 40%);filter:drop-shadow(0 0 3px rgba(255,250,220,.9))}#scrub .stamp,#scrub .rec{position:absolute;font:600 .8rem monospace;color:#f2f2e8;text-shadow:0 0 4px #000}#scrub .stamp{left:.6rem;bottom:.5rem}#scrub .rec{right:.7rem;top:.5rem;color:#ff4a3a}#scrub input[type=range]{width:100%;margin:.8rem 0 .5rem;accent-color:var(--gold)}#scrub .controls{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}#scrub .controls button{padding:.35rem .8rem;font-size:.9rem}#scrub .verdict{min-height:1.4rem;margin:.6rem 0 0;color:#c9bfae}#scrub .verdict.good{color:#ffd27a}#voices .card{width:min(820px,95vw);text-align:left;background:radial-gradient(ellipse at 50% 0%,#1a1e1c,#070807 70%);border-color:#96aaa066}#voices .title{color:#cfe0d8}#voices .dirs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem}#voices .dir{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;text-align:left;padding:.7rem .8rem;min-height:7rem;border-radius:8px;border:1px solid rgba(150,170,160,.25);background:#0a0e0cd9;animation:voice-drift 5s ease-in-out infinite}#voices .dir:nth-child(2){animation-delay:-1.7s}#voices .dir:nth-child(3){animation-delay:-3.3s}@keyframes voice-drift{50%{box-shadow:0 0 18px #b4d2c81f}}#voices .dir.on{border-color:var(--gold);box-shadow:0 0 16px #d9a44159;animation:none}#voices .dir small{color:var(--muted);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}#voices .dir .call{color:#e8efe9;font-style:italic}#voices .dir p{margin:.2rem 0 0;font-size:.85rem;line-height:1.4;border-top:1px dashed rgba(150,170,160,.2);padding-top:.3rem}#voices .dir p b{display:block;color:#9a9384;font-weight:400}#voices .dir p i{color:#f0e6cf}#voices .left{color:#b9cdc4;font-size:.85rem;margin:.8rem 0 .4rem}#voices .asks{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem}#voices .asks button{font-size:.88rem;padding:.3rem .75rem}.fp-modal .card{max-height:96vh;overflow-y:auto}.fp-modal .buttons{display:flex;gap:.6rem;justify-content:center;align-items:center;margin-top:.4rem}.fp-modal .buttons .cancel{margin-top:0}.fp-modal .verdict{min-height:1.4rem;margin:.6rem 0 .2rem;color:#c9bfae;line-height:1.45}.fp-modal .verdict.good{color:#ffd27a}.fp-modal .verdict.bad{color:#ff8a7a}#sequence .card{width:min(1040px,96vw)}#sequence .cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem}.seqcard{position:relative;display:flex;flex-direction:column;gap:.35rem;padding:.4rem;text-align:left;background:#efe8d6;color:#2a2016;border:2px solid transparent;border-radius:3px;box-shadow:0 6px 14px #00000080;transition:transform .15s ease,border-color .15s ease}.seqcard:hover{transform:translateY(-3px)}.seqcard.on{border-color:var(--gold);transform:translateY(-6px) rotate(-1deg);box-shadow:0 0 18px #d9a44180}.seqcard.locked{border-color:#6fbf4f;cursor:default}.seqcard.locked:after{content:"✓";position:absolute;right:.4rem;top:.2rem;color:#3a8a2a;font-weight:700}.seqcard small{position:absolute;left:.4rem;top:.25rem;padding:0 .35rem;border-radius:3px;background:#000000a6;color:var(--gold);font-family:var(--display)}.seqcard img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:2px}.seqcard span{font-size:.8rem;line-height:1.3;min-height:2.1rem}#tuner .card{width:min(680px,94vw);background:linear-gradient(180deg,#1a1a16,#0b0b09)}#tuner canvas{width:100%;height:120px;border:1px solid #333;border-radius:4px;background:#0b0d0c}#tuner .speed{display:flex;align-items:center;gap:.7rem;margin:.7rem 0 .4rem;color:#c9bfae;font-size:.9rem}#tuner .speed input{flex:1;accent-color:var(--gold)}#tuner .speed output{font:600 .95rem monospace;color:#e8dcc4;min-width:3.4rem;text-align:right}#tuner .row{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap}#tuner .row button{padding:.3rem .8rem;font-size:.88rem}#tuner .row button.on,#dig .row button.on{border-color:var(--gold);color:var(--gold);box-shadow:0 0 10px #d9a44159}#tuner .bands{display:flex;gap:.35rem;align-items:center;color:#c9bfae;font-size:.85rem}#tuner .clarity{display:flex;align-items:center;gap:.6rem;margin:.8rem 0 .2rem;color:#9a9384;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}#tuner .clarity i{flex:1;height:8px;border-radius:4px;background:#1d1d1a;overflow:hidden}#tuner .clarity b{display:block;height:100%;background:linear-gradient(90deg,#8a4a2a,#d8b040);transition:width .25s ease}#tuner .clarity.clear b{background:#7dff6a;box-shadow:0 0 10px #7dff6a}#tuner .words{min-height:2.4rem;margin:.6rem 0;font:600 1.35rem/1.4 monospace;letter-spacing:.12em;color:#8a8270}#tuner .words.clear{color:#d8f4ff;text-shadow:0 0 12px rgba(150,220,255,.7)}#dig .card{width:min(820px,95vw,calc((100vh - 15rem) * 16 / 9 + 2.6rem))}#dig .field{position:relative;width:100%;aspect-ratio:16 / 9;background:center / cover no-repeat;border-radius:4px;border:1px solid #333}#dig .grid{position:absolute;display:grid}#dig .cell{position:relative;padding:0;border-radius:0;background:#00000014;border:1px dashed rgba(255,245,220,.28);display:grid;place-items:center}#dig .grid[data-mode=sweep] .cell:hover{background:#7dff6a2e}#dig .grid[data-mode=dig] .cell:hover{background:#d9a44140}#dig .cell.dug{background:radial-gradient(circle,#281a0ed9 0,#281a0ed9 45%,#281a0e4d 70%)}#dig .cell.hit{background:radial-gradient(circle,#b41e14d9 0,#b41e14d9 40%,#281a0e80 70%);box-shadow:0 0 20px #ff503cb3}#dig .leds{display:flex;gap:3px;padding:3px 5px;border-radius:4px;background:#0a0c0acc}#dig .leds i{width:8px;height:8px;border-radius:50%;background:#1d241d}#dig .leds i.on{background:#7dff6a;box-shadow:0 0 6px #7dff6a}#dig .leds i:nth-child(4).on{background:#ffcb3d;box-shadow:0 0 6px #ffcb3d}#dig .leds i:nth-child(5).on{background:#ff4a3d;box-shadow:0 0 8px #ff4a3d}#dig .row{display:flex;gap:.5rem;align-items:center;margin-top:.7rem}#dig .row button{padding:.3rem .8rem;font-size:.88rem}#dig .row .left{margin-left:auto;color:#c9bfae;font-size:.85rem}#deduce .card{width:min(860px,95vw);text-align:left;background:linear-gradient(180deg,#2a1f14,#17110b)}#deduce .slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}#deduce .slot{padding:.7rem .8rem;background:#e9e1cb;color:#1c1a16;border-radius:2px;box-shadow:0 6px 14px #00000080}#deduce .slot:nth-child(odd){transform:rotate(-.4deg)}#deduce .slot:nth-child(2n){transform:rotate(.5deg)}#deduce .slot.locked{box-shadow:0 0 0 2px #6fbf4f,0 6px 14px #00000080}#deduce .slot b{display:block;margin-bottom:.45rem;font-family:var(--display);letter-spacing:.04em;color:#5a1a10}#deduce .opts{display:flex;flex-wrap:wrap;gap:.35rem}#deduce .opts button{padding:.25rem .6rem;font-size:.85rem;color:#2a2016;background:#0000000f;border-color:#2a201659}#deduce .opts button.on{background:#a3221a;color:#f3ecd8;border-color:#a3221a}#deduce .verdict{text-align:center}#meters{position:absolute;left:50%;top:1.2rem;transform:translate(-50%);display:grid;gap:.4rem;width:min(420px,60vw)}#fp .gasp{position:absolute;left:50%;top:calc(50% - 7rem);transform:translate(-50%);max-width:min(460px,90vw);padding:.5rem 1rem;border-radius:6px;text-align:center;font:italic 1rem var(--serif);color:#fff;background:#781812d9;border:1px solid #ff5a4a;animation:meter-low .6s ease-in-out infinite alternate}#fp .gasp b{font:600 .8rem var(--display);color:#1a140c;background:var(--gold);border-radius:3px;padding:0 .35rem}#meters .meter{display:flex;align-items:center;gap:.6rem;padding:.35rem .7rem;background:#0a0806b3;border:1px solid rgba(217,164,65,.5);border-radius:4px;color:#e8dcc4;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}#meters .meter span{min-width:4.5rem}#meters .meter i{flex:1;height:8px;border-radius:4px;background:#1d1a16;overflow:hidden}#meters .meter b{display:block;height:100%;background:var(--gold)}#meters .meter.air b{background:#7ac8e8}#meters .meter em{font:600 .85rem monospace;min-width:2.6rem;text-align:right;font-style:normal}#meters .meter.low{border-color:#ff5a4a;animation:meter-low .6s ease-in-out infinite alternate}#meters .meter.low b{background:#ff5a4a}@keyframes meter-low{to{box-shadow:0 0 16px #ff5a4a99}}#meters .meter.sus em{flex:1;text-align:left;letter-spacing:.25em;color:#ff8a7a;font-size:1rem}#fp .turb{position:absolute;left:50%;top:calc(50% - 8rem);transform:translate(-50%);min-width:min(380px,80vw);padding:.6rem 1.1rem .8rem;border-radius:6px;text-align:center;font:600 1.05rem var(--display);letter-spacing:.1em;color:#fff;background:#781812e6;border:1px solid #ff5a4a;animation:turb .12s linear infinite alternate}#fp .turb kbd{background:var(--gold);color:#1a140c;border-radius:3px;padding:0 .4rem;margin-left:.3rem}#fp .turb i{display:block;height:5px;margin-top:.5rem;border-radius:3px;background:#0006;overflow:hidden}#fp .turb b{display:block;height:100%;background:#ffd27a}@keyframes turb{0%{transform:translate(calc(-50% - 3px),1px)}to{transform:translate(calc(-50% + 3px),-1px)}}#fp .found li.sus{color:#c9bfae}#fp .found li.sus.odd{color:#ff9a7a}#fp .found li.sus.clean{color:#7a7468;text-decoration:line-through}#approach .card{width:min(460px,92vw)}#approach .buttons.col{flex-direction:column;align-items:stretch}#approach .buttons.col button{text-align:left;display:flex;align-items:center;gap:.6rem}#approach .buttons.col button small{margin-left:auto;color:#9a9384}#approach .danger{border-color:#a3221a}#approach .key{font:600 .75rem monospace;color:#1a140c;background:var(--gold);border-radius:3px;padding:0 .35rem}#splice .card{width:min(900px,96vw);background:linear-gradient(180deg,#14161a,#08090b)}#splice .deck{display:flex;align-items:center;gap:.6rem;margin:.6rem 0}#splice .reel{flex:none;width:3.4rem;aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(#3a3630 0,#3a3630 30deg,#1a1916 30deg,#1a1916 60deg);border:3px solid #5a5248;box-shadow:inset 0 0 0 .9rem #2a1d14}#splice.rolling .reel{animation:reel .8s linear infinite}@keyframes reel{to{transform:rotate(360deg)}}#splice .tape{position:relative;flex:1;display:flex;align-items:stretch}#splice .strip{position:relative;flex:1;min-width:0;padding:0;border:2px solid transparent;border-radius:3px;background:none;cursor:pointer;transition:transform .15s ease,border-color .15s ease}#splice .strip:hover{transform:translateY(-3px)}#splice .strip.sel{border-color:var(--gold);transform:translateY(-6px);box-shadow:0 6px 16px #d9a44166}#splice .strip canvas{display:block;width:100%;height:auto}#splice .strip kbd{position:absolute;right:.25rem;bottom:.2rem;font:.65rem monospace;color:#9a9384}#splice .join{flex:none;width:5px;background:#4a3a2a;border-radius:2px;transition:background .2s ease,box-shadow .2s ease}#splice .join.ok{background:#7dff6a;box-shadow:0 0 8px #7dff6a}#splice .join.bad{background:#ff5a4a;box-shadow:0 0 10px #ff5a4a}#splice .head{position:absolute;top:-6px;bottom:-6px;left:0;width:2px;background:#ffd27a;box-shadow:0 0 8px #ffd27a;opacity:0;pointer-events:none}#splice.rolling .head{opacity:1;animation:playhead 2.5s linear forwards}@keyframes playhead{0%{left:0}to{left:100%}}#splice.whole .strip{border-color:#ff5a3c80}#splice .status{min-height:2.4rem;margin:.4rem 0;color:#c9bfae;line-height:1.4}#splice .status.bad{color:#ff9a7a}#splice .status.ok{color:#9fe6b0}#splice .status.voice{font:600 1.5rem/1.4 monospace;letter-spacing:.16em;color:#ffcfc0;text-shadow:0 0 14px rgba(255,80,60,.8)}#interview .card{width:min(720px,95vw);text-align:left;background:linear-gradient(180deg,#e8ecea,#c8d0cc);color:#1a201c}#interview .title{color:#2a4a3a}#interview .hint{color:#3a4a42}#interview .ecg{position:relative;border-radius:4px;overflow:hidden;border:2px solid #3a4a42}#interview canvas{display:block;width:100%;height:110px}#interview .bpm{position:absolute;right:.6rem;top:.4rem;font:700 1rem monospace}#interview .bpm.green{color:#7fe6a0}#interview .bpm.amber{color:#f0c060}#interview .bpm.red{color:#ff5a4a;animation:meter-low .4s ease-in-out infinite alternate}#interview .facts{display:flex;gap:.5rem;flex-wrap:wrap;list-style:none;margin:.6rem 0 0;padding:0}#interview .facts li{padding:.15rem .6rem;border-radius:3px;background:#00000014;color:#5a645e;font-size:.82rem}#interview .facts li:before{content:"☐ "}#interview .facts li.got{background:#2a5a3a;color:#e8f4ea}#interview .facts li.got:before{content:"☑ "}#interview .said{min-height:3rem;margin:.7rem 0;padding:.6rem .8rem;border-left:3px solid #6a7a72;font:italic 1rem/1.45 var(--serif);background:#ffffff80}#interview .said.key{border-color:#2a7a4a}#interview .said.bad{border-color:#b03020;color:#7a1a10}#interview .said.calm{border-color:#4a8aaa}#interview .asks{display:grid;gap:.35rem}#interview .asks button{text-align:left;color:#1a201c;background:#fff9;border-color:#1a201c40;font-size:.9rem}#interview .asks button.soothe{background:#4a8aaa26;font-style:italic}#interview .asks button .key{font:600 .72rem monospace;color:#e8f4ea;background:#2a4a3a;border-radius:3px;padding:0 .35rem;margin-right:.5rem}#interview .buttons{justify-content:space-between}#interview .turns{color:#3a4a42;font-size:.85rem}#interview .cancel{color:#1a201c}#pack .card{width:min(760px,96vw);background:linear-gradient(180deg,#1c1e22,#101114)}#pack .bag{position:relative;width:min(420px,80vw,calc(34vh * var(--cols) / var(--rows)));aspect-ratio:var(--cols) / var(--rows);margin:0 auto;border:3px solid #4a3a2a;border-radius:10px;background:#2a241e;cursor:crosshair}#pack .cells{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(var(--cols),1fr);grid-template-rows:repeat(var(--rows),1fr)}#pack .cells i{border:1px dashed rgba(255,255,255,.08)}#pack .pieces{position:absolute;top:0;right:0;bottom:0;left:0}#pack .piece,#pack .ghost{position:absolute;box-sizing:border-box;padding:3px;border-radius:6px}#pack .piece{display:grid;place-items:center;background:var(--c);border:2px solid rgba(0,0,0,.5);box-shadow:inset 0 0 0 2px #ffffff26;color:#fff;font-size:.75rem;text-shadow:0 1px 2px #000;cursor:pointer}#pack .ghost{border:2px dashed #7dff6a;background:#7dff6a26;pointer-events:none}#pack .ghost.bad{border-color:#ff5a4a;background:#ff5a4a2e}#pack .bag.xray{background:#06142a;border-color:#2a5aaa}#pack .bag.xray .piece{background:#3c8cff59;border-color:#6aa8ff;color:#cfe4ff;animation:xray 1.8s linear}#pack .bag.xray .piece.metal{background:#ff8c28b3;border-color:#ffb060;box-shadow:0 0 16px #ff8c28cc}@keyframes xray{0%{filter:brightness(2)}to{filter:none}}#pack .tray{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin:.9rem 0 .4rem}#pack .tray button{display:grid;gap:.15rem;justify-items:center;padding:.4rem;font-size:.8rem}#pack .tray button i{display:block;width:calc(var(--w) * 14px);height:calc(var(--h) * 14px);background:var(--c);border:1px solid rgba(0,0,0,.5);border-radius:3px}#pack .tray button small{color:#9a9384;font-size:.7rem}#pack .tray button.held{border-color:#7dff6a;box-shadow:0 0 10px #7dff6a66}#pack .tray button.metal small{color:#ffb060}#pack .xout{min-height:1.4rem;margin:.5rem 0;color:#c9bfae;line-height:1.45}#pack .xout.ok{color:#9fe6b0}#pack .xout.bad{color:#ff9a7a}#pack .send small{color:#9a9384;margin-left:.4rem}#rite .card{width:min(820px,96vw);background:radial-gradient(ellipse at top,#2a1410,#0c0806)}#rite.shake .card{animation:rite-shake .45s ease}@keyframes rite-shake{20%{transform:translate(-8px,3px) rotate(-.6deg)}50%{transform:translate(7px,-2px) rotate(.5deg)}80%{transform:translate(-3px,1px)}}#rite .alt{display:flex;align-items:center;gap:.7rem;color:#c9bfae;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}#rite .alt b{font:700 1.4rem monospace;color:#ffd27a;min-width:8.5rem;text-align:right;letter-spacing:0}#rite .alt i{flex:1;height:10px;border-radius:5px;background:#1d1612;overflow:hidden}#rite .alt em{display:block;height:100%;background:linear-gradient(90deg,#a3221a,#d8b040)}#rite .alt.low b{color:#ff5a4a;animation:meter-low .4s ease-in-out infinite alternate}#rite .latin{margin:1rem 0 .6rem;font:1.45rem/1.7 var(--serif);color:#6a5a4a;text-align:left}#rite .latin .done{color:#ffe6b0;text-shadow:0 0 10px rgba(255,190,90,.5)}#rite .latin .cur{color:#fff;border-bottom:2px solid var(--gold);animation:blink .8s steps(1) infinite}#rite .latin .hid{color:#3a3028}#rite .latin.miss{animation:rite-miss .25s ease}#rite .latin.won .done{color:#fff;text-shadow:0 0 18px #fff}#rite .latin.lost{opacity:.4}@keyframes rite-miss{50%{color:#ff5a4a}}@keyframes blink{50%{border-color:transparent}}#rite .taunt{min-height:3.4rem;margin:.4rem 0 .8rem;display:flex;align-items:center;justify-content:center;font:italic 700 clamp(1.5rem,2.6vw,2.2rem)/1.25 var(--serif);color:#ff3b2a;letter-spacing:.01em;text-shadow:0 0 6px rgba(255,40,20,.9),0 0 26px rgba(200,0,0,.7),0 2px 0 #2a0000;opacity:0}#rite .taunt.on{animation:taunt 5s ease forwards}#rite .taunt.end{font:italic 1.3rem var(--serif);color:#ffe6b0;text-shadow:0 0 12px rgba(255,190,90,.6)}#rite .taunt.end.on{animation:none;opacity:1}@keyframes taunt{0%{opacity:0;transform:scale(1.35);filter:blur(3px)}6%{opacity:1;transform:scale(.97) translate(-4px);filter:none}9%{transform:scale(1.02) translate(4px)}12%{transform:none}80%{opacity:1}to{opacity:.35}}#rite .note{color:#9a9384;font-size:.85rem;font-style:italic}#rite .letters{display:grid;gap:.3rem;margin:.4rem 0;touch-action:manipulation}#rite .letters div{display:flex;justify-content:center;gap:.3rem}#rite .letters button{flex:0 1 3.4rem;min-width:0;height:2.5rem;padding:0;font:600 1.05rem var(--serif);text-transform:lowercase;border-radius:6px}#rite .letters button:active{background:var(--gold);color:#1a140c}#rite .letters .space{flex-basis:16rem;font:.75rem var(--display);letter-spacing:.15em;text-transform:uppercase}#bluff .card{width:min(720px,95vw);text-align:left;background:linear-gradient(180deg,#e9e6dc,#cfcabc);color:#1c1a16}#bluff .title{color:#3a2a1a}#bluff .hint{color:#4a4236}#bluff.shake .card{animation:rite-shake .45s ease}#bluff .sus{display:flex;align-items:center;gap:.6rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#4a4236}#bluff .sus i{flex:1;height:9px;border-radius:5px;background:#0000001f;overflow:hidden}#bluff .sus b{display:block;width:0;height:100%;background:linear-gradient(90deg,#c8a040,#b03020);transition:width .4s ease}#bluff .sus.low{color:#8a1a10}#bluff .story{display:flex;gap:.4rem;flex-wrap:wrap;margin:.6rem 0 0;min-height:1.6rem}#bluff .story span{padding:.1rem .55rem;border-radius:3px;background:#00000012;color:#7a7264;font:.82rem var(--serif)}#bluff .story span.set{background:#2a3a4a;color:#e8eef4}#bluff.testing .story{display:none}#bluff .q{margin:.8rem 0 .4rem;font:600 1.15rem/1.4 var(--serif)}#bluff .clock{height:4px;border-radius:2px;background:#0000001a;overflow:hidden;margin-bottom:.6rem}#bluff .clock b{display:block;width:0;height:100%;background:#3a5a7a}#bluff .clock.low b{background:#b03020}#bluff .opts{display:grid;gap:.35rem}#bluff .opts button{text-align:left;color:#1c1a16;background:#fff9;border-color:#1c1a1640;font-size:.92rem}#bluff .opts button .key{font:600 .72rem monospace;color:#f4efe4;background:#3a2a1a;border-radius:3px;padding:0 .35rem;margin-right:.5rem}#bluff .said{min-height:2.6rem;margin:.7rem 0 .2rem;padding:.5rem .8rem;border-left:3px solid #8a8070;font:italic 1rem/1.45 var(--serif);background:#ffffff73}#bluff .said:empty{visibility:hidden}#bluff .said.bad{border-color:#b03020;color:#7a1a10}#bluff .said.calm{border-color:#4a7a5a}#bluff .buttons{justify-content:flex-end}#bluff .cover{font-size:.85rem;color:#1c1a16;background:#4a7a5a33}#bluff .cover small{color:#4a4236;margin-left:.3rem}#bluff .cancel{color:#1c1a16;background:#0000000f}#shards .card{width:min(1280px,98vw);background:radial-gradient(ellipse at 30% 20%,#2a2420,#0c0a08)}#shards canvas{display:block;width:100%;height:auto;border-radius:6px;background:#1a140f;cursor:grab;touch-action:none}#shards canvas:active{cursor:grabbing}#shards .line{min-height:3rem;margin:.6rem 0 .2rem;font:italic 1.05rem/1.5 var(--serif);color:#d8cfc0;text-align:left;opacity:.85}#shards .line b{font-style:normal;font-family:var(--display);color:var(--gold);letter-spacing:.08em;margin-right:.4rem}#shards .line.on{animation:line-in .6s ease}#shards .line.done{white-space:pre-line;color:#ffe0d0;opacity:1}@keyframes line-in{0%{opacity:0;transform:translateY(6px)}}#shards .buttons{justify-content:space-between;color:#9a9384;font-size:.85rem}#briefing{background:#000;z-index:60}#briefing .card{width:min(620px,92vw);background:transparent;border:0;box-shadow:none;text-align:center}#briefing .title{font-size:1.5rem}#briefing .hint{font-size:1.08rem;line-height:1.65;color:#e6dccb;margin:1.1rem 0}#briefing .keys{font-size:.85rem;color:#9a8f80;margin-bottom:1.6rem}#beam .card{width:min(760px,96vw);background:radial-gradient(ellipse at top,#24100e,#0a0606)}#beam.shake .card{animation:rite-shake .45s ease}#beam .hint{display:none}#beam .bars{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}#beam .meter{display:flex;align-items:center;gap:.5rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#c9bfae}#beam .meter i{flex:1;height:8px;border-radius:4px;background:#1d1612;overflow:hidden}#beam .meter b{display:block;height:100%;background:var(--gold)}#beam .meter.sight b{background:#7ac8e8}#beam .meter.low b{background:#ff5a4a}#beam .round{margin:.6rem 0 .4rem;color:#ffcfc0;font:italic 1rem var(--serif)}#beam canvas{display:block;width:auto;max-width:100%;max-height:calc(100vh - 230px);height:auto;margin:0 auto;border-radius:6px;cursor:pointer}#beam .said{min-height:1.5rem;margin:.5rem 0 0;color:#c9bfae;font:italic .95rem var(--serif)}#beam .said.bad{color:#ff8a7a}#beam .said.calm{color:#ffe0a0}#beam .buttons{flex-direction:column;gap:.2rem;color:#9a9384;font-size:.8rem}#beam .note{font-style:italic;color:#d8b890}#fp .mirror-fx{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}#fp .mirror-fx .bleed{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;background:radial-gradient(ellipse at center,transparent 35%,rgba(140,0,0,.75) 80%,rgba(60,0,0,.95));transition:opacity .15s linear}#fp .mirror-fx .bleed.flash{animation:bleed 1.4s ease-out}@keyframes bleed{0%{opacity:1;background-color:#7800008c}to{opacity:0}}#fp .mirror-fx .eyes{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#000000f0;opacity:0;transition:opacity .18s ease}#fp .mirror-fx .eyes.on{opacity:1}#fp .mirror-fx .eyes span{font:600 .85rem var(--display);letter-spacing:.3em;text-transform:uppercase;color:#6a5a50}#meters .meter.charlie b{background:#e8a0a0}#meters .meter.seen b{background:#c0201a}#meters .meter.charlie em,#meters .meter.seen em{min-width:7rem;font:600 .7rem var(--display);letter-spacing:.06em;color:#ff8a7a}#fp .found li.glass.covered,#fp .found li.glass.broken{color:#7a8a7a;text-decoration:line-through}#fp .found li.glass.hers{color:#ff8a7a}#world{height:calc(100% + var(--ios-gap, 0px))}:is(#vignette,#ambient,#cast2d,#fade,#hurt){bottom:calc(-1 * var(--ios-gap, 0px))}:is(#backdrop,#spots){bottom:calc(-2% - var(--ios-gap, 0px))}:is(.screen,#panel,.fp-modal){bottom:calc(-1 * var(--ios-gap, 0px));border-bottom:var(--ios-gap, 0px) solid transparent}#fp .crosshair{top:calc(50% + var(--ios-gap, 0px) / 2)}html.touch body{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation}html.touch input{-webkit-user-select:text;user-select:text}html.touch button kbd,html.touch #choices button .key{display:none}html.touch body.fp-mode #world{touch-action:none}html.touch #ui-hint{display:none}#hide-btn{pointer-events:auto;padding:.3rem .8rem;font-family:var(--display);font-size:.8rem;letter-spacing:.1em;border-radius:999px}body.fp-mode #hide-btn,body:has(#panel.hidden) #hide-btn{display:none}html.touch .hotspot span{opacity:.9;transform:translate(-50%,-2px)}html.touch #fp .help{display:none}html.touch #fp .prompt{pointer-events:auto;padding:.55rem 1rem}.tstick{position:absolute;left:calc(1.2rem + env(safe-area-inset-left));bottom:1.2rem;width:120px;height:120px;border-radius:50%;pointer-events:auto;touch-action:none;background:radial-gradient(circle,#14100c59,#14100c99);border:1px solid rgba(217,164,65,.45)}.tstick i{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#f3d99a,#b5832f);box-shadow:0 3px 10px #0009;opacity:.85}.tstick.on i{opacity:1}.tacts{position:absolute;right:calc(1.2rem + env(safe-area-inset-right));bottom:1.2rem;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:.5rem;pointer-events:auto}.tkey{min-width:64px;min-height:44px;padding:.4rem .9rem;touch-action:none;font-family:var(--display);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;background:#0e0c0abf;border-color:#d9a4418c;border-radius:999px}.tkey.use{width:76px;height:76px;border-radius:50%;padding:0;font-size:.95rem;color:#1a140c;background:radial-gradient(circle at 40% 35%,#f3d99a,#c8923a);border-color:var(--gold)}.tkey.on,.tkey:active{background:var(--gold);color:#1a140c}#fp:has(.objective.focus) :is(.tstick,.tacts){visibility:hidden}html.touch #fp .emf{right:calc(1.4rem + 96px + env(safe-area-inset-right));bottom:1.2rem}html.touch #fp .leave{bottom:auto;top:4.6rem;right:calc(1.2rem + env(safe-area-inset-right))}html.touch #fp .found{max-height:calc(100% - 5.5rem - 150px);overflow-y:auto}#rotate{display:none}@media(orientation:portrait)and (max-width:700px){#rotate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-content:center;justify-items:center;gap:1.4rem;background:radial-gradient(ellipse at center,#15110c,#000);text-align:center;padding:2rem}#rotate p{font-family:var(--display);color:var(--gold);letter-spacing:.12em;font-size:1.05rem;margin:0}#rotate .phone{width:46px;height:80px;border:3px solid var(--gold);border-radius:9px;animation:turn-phone 2.4s ease-in-out infinite}}@keyframes turn-phone{0%,25%{transform:rotate(0)}55%,to{transform:rotate(-90deg)}}@media(max-height:500px){.screen{padding:1rem calc(1rem + env(safe-area-inset-right)) 1rem calc(1rem + env(safe-area-inset-left))}#title{justify-content:flex-start;padding-top:.8rem}#title .corners{top:.5rem;right:calc(.6rem + env(safe-area-inset-right))}#title .corner{padding:.3rem .7rem;font-size:.7rem}.logo{font-size:clamp(1.8rem,6.5vw,3rem);margin-top:1.6rem}.subtitle{font-size:1rem;margin-top:.2rem}.tagline{margin:.1rem 0 .5rem;font-size:.95rem}#title h2{margin:.2rem 0 .5rem;font-size:.8rem}.hunters{gap:.7rem;flex-wrap:nowrap}.hunter{width:min(300px,44vw);padding:.7rem .9rem;gap:.2rem}.hunter .name{font-size:1.05rem}.hunter .desc{font-size:.88rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#resume,#lockup-btn{margin-top:.5rem;padding:.5rem 1rem}#title.active~.credit{position:static;transform:none;display:none}.credit{display:none}#hud{padding:.45rem calc(.8rem + env(safe-area-inset-right)) .45rem calc(.8rem + env(safe-area-inset-left))}.episode{font-size:.7rem}.place{font-size:.85rem;margin-top:.05rem}.goal{font-size:.8rem;margin-top:.15rem}.as{font-size:.65rem}.hud-right .bar{width:150px;margin-top:.2rem}.bar{height:12px}.bar span{line-height:10px;font-size:.62rem}.bar.xp{height:5px;margin-bottom:.7rem!important}.bar.xp span{top:7px;font-size:.6rem}.hud-row{margin-top:.15rem;gap:.5rem}#journal-btn,#menu-btn,#hide-btn{padding:.25rem .7rem;font-size:.7rem;min-height:32px}#panel{max-height:58vh;padding:2rem calc(1rem + env(safe-area-inset-right)) .7rem calc(1rem + env(safe-area-inset-left))}#panel:has(#combat:not(.hidden)){max-height:74vh;padding-top:1.5rem}#speaker{font-size:.72rem;margin-bottom:.25rem;padding:.1rem .75rem .15rem}#text{font-size:.98rem;line-height:1.38}#text.line{font-size:1.02rem}#choices{gap:.35rem;margin-top:.5rem}#choices button{font-size:.9rem;padding:.45rem .8rem;border-radius:10px}#result{margin-top:.4rem;padding-top:.4rem}#result p{font-size:.95rem;margin:.2rem 0 .45rem}#toasts{top:4.2rem}.toast{font-size:.88rem;padding:.35rem .8rem}.journal-card{max-height:94vh}.journal-card header{padding:.6rem 1rem .3rem}.journal-body{padding:.5rem 1rem .9rem}#fp .found{top:4.4rem;font-size:.72rem;line-height:1.45;padding:.4rem .7rem}#fp .top{top:4.4rem;width:min(440px,46vw)}#fp:has(#meters) .top{top:6.4rem}#fp .objective{padding:.35rem .8rem}#fp .objective p{font-size:.8rem}#fp .top:has(.objective.focus){top:8vh}#fp .objective.focus{padding:.8rem 1.2rem}#fp .objective.focus p{font-size:1rem;line-height:1.45}body.fp-mode #toasts{top:calc(4.4rem + var(--fp-top, 0px) + .4rem)}body.fp-mode:has(#meters) #toasts{top:calc(6.4rem + var(--fp-top, 0px) + .4rem)}#meters{top:.5rem;width:min(360px,44vw)}html.touch #fp .leave{top:5.6rem;padding:.35rem .8rem;font-size:.8rem}html.touch #fp .leave small{max-width:12rem}html.touch #fp .found{max-height:calc(100% - 4.4rem - 145px)}.tstick{width:110px;height:110px;bottom:calc(.8rem + env(safe-area-inset-bottom))}.tacts{bottom:calc(.8rem + env(safe-area-inset-bottom));gap:.4rem}.tkey{min-height:40px}.tkey.use{width:68px;height:68px}.fp-modal .card{padding-top:.7rem;padding-bottom:.7rem}.fp-modal .card .hint{font-size:.82rem;line-height:1.35;margin:.15rem 0 .35rem}#shards canvas{width:auto;max-width:100%;max-height:calc(100vh - 10.5rem);margin:0 auto}#shards .line{min-height:1.6rem;margin:.3rem 0 0;font-size:.9rem}#shards .hintbtn{margin-left:.4rem;padding:.2rem .7rem}#beam .round{margin:.3rem 0 .2rem;font-size:.9rem}#beam canvas{max-height:calc(100vh - 10.4rem)}#beam .said{min-height:1.2rem;margin-top:.25rem;font-size:.85rem}#beam .buttons{flex-direction:row;justify-content:center;align-items:center;gap:.8rem;margin-top:.2rem}#cases .board{max-height:94vh;overflow-y:auto;padding:.8rem 1rem 1rem}#cases header{margin-bottom:.5rem}#cases .cards{gap:.5rem}#cases .case span{font-size:.8rem;line-height:1.3}#cases .wardrobe .look img{height:80px}#rite .hint{font-size:.8rem;margin:.1rem 0}#rite .latin{margin:.3rem 0;font-size:1.05rem;line-height:1.5}#rite .alt b{font-size:1rem;min-width:6rem}#rite .letters,#rite .letters div{gap:.2rem}#rite .letters button{height:2.1rem}}
