:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111411;--bg-2:#181c17;--ink:#e3d9bf;--ink-dim:#a9a58f;--ink-faint:#6f725f;--line:#3a3f33;--line-2:#545a48;--paper:#ddd0ac;--paper-2:#c9b88e;--paper-ink:#2a2620;--paper-ink-dim:#5f5541;--brass:#c9a35b;--brass-2:#e7c983;--rust:#a4442e;--serif:"Baskerville", "Baskerville Old Face", "Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC", Georgia, serif;--sans:"PingFang SC", "Hiragino Sans GB", system-ui, sans-serif;--ease:cubic-bezier(.22, .7, .18, 1);--grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");--paper-grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='4' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .32  0 0 0 0 .24  0 0 0 0 .12  0 0 0 .16 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}*{box-sizing:border-box}html{background:var(--bg)}body{min-height:100vh;color:var(--ink);font-family:var(--serif);background:radial-gradient(120% 70% at 50% 0%, #1e231c 0%, transparent 60%), radial-gradient(80% 60% at 50% 120%, #0a0c0a 0%, transparent 70%), var(--bg);-webkit-font-smoothing:antialiased;margin:0}body:before{content:"";pointer-events:none;background-image:var(--grain);opacity:.06;mix-blend-mode:overlay;z-index:50;position:fixed;inset:0}::selection{background:#c9a35b55}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:1px solid var(--line-2);cursor:pointer;letter-spacing:.06em;touch-action:manipulation;transition:background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease), transform .25s var(--ease), opacity .25s;background:0 0;padding:9px 16px}button:hover:not(:disabled){border-color:var(--brass);color:var(--brass-2)}button:active:not(:disabled){transform:translateY(1px)}:is(button:focus-visible,input:focus-visible,a:focus-visible){outline:1px solid var(--brass-2);outline-offset:4px}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}.eyebrow{font-family:var(--serif);letter-spacing:.32em;text-transform:uppercase;color:var(--ink-faint);font-size:10px;display:block}.game-shell{max-width:1380px;margin:auto;padding:0 32px 36px}.masthead{justify-content:space-between;align-items:center;gap:20px;height:92px;display:flex}.wordmark{letter-spacing:.32em;color:var(--ink);font-size:21px}.wordmark span{letter-spacing:.62em;color:var(--ink-faint);margin-top:8px;font-size:9px;display:block}.chapter{letter-spacing:.2em;color:var(--ink-dim);align-items:center;gap:12px;font-size:12px;display:flex}.chapter-dot{border:1px solid var(--brass);width:6px;height:6px;transform:rotate(45deg);box-shadow:0 0 10px #c9a35b66}.masthead nav{gap:4px;display:flex}.masthead nav button{color:var(--ink-dim);border:0;padding:8px 12px;font-size:12px;position:relative}.masthead nav button:after{content:"";background:var(--brass);height:1px;transition:transform .35s var(--ease);position:absolute;bottom:4px;left:12px;right:12px;transform:scaleX(0)}.masthead nav button:hover:after{transform:scaleX(1)}.wayfinding{animation:rise .8s var(--ease) both;margin-bottom:14px;margin-right:108px}.objective{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:22px;padding:14px 0;display:flex}.step-number{color:var(--brass);font-variant-numeric:oldstyle-nums;min-width:54px;font-size:30px;line-height:1}.step-number small{letter-spacing:.2em;color:var(--ink-faint);margin-top:6px;font-size:10px;display:block}.objective-copy{flex:1;min-width:0}.objective h2{letter-spacing:.12em;margin:0 0 5px;font-size:17px;font-weight:400}.objective p{font:13px/1.7 var(--sans);color:var(--ink-dim);margin:0}.ink-link{color:var(--brass-2);white-space:nowrap;transition:background-size .35s var(--ease), color .25s;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;border:0;padding:6px 0;font-size:13px}.ink-link:hover:not(:disabled){color:#f3dca2;background-size:30% 1px}.ink-link.quiet{color:var(--ink-dim)}.scene-nav{align-items:center;gap:2px;padding-top:12px;display:flex}.scene-nav button{color:var(--ink-faint);border:0;padding:6px 14px;font-size:12px;position:relative}.scene-nav button+button:before{content:"·";color:var(--line-2);position:absolute;left:-3px}.scene-nav button.active{color:var(--ink)}.scene-nav button.active:after{content:"";background:var(--brass);width:4px;height:4px;position:absolute;bottom:-2px;left:50%;transform:translate(-50%)rotate(45deg)}.scene-nav>span{color:var(--ink-faint);letter-spacing:.2em;margin-left:auto;font-size:11px}.play-layout{grid-template-columns:minmax(0,1fr) 88px;gap:20px;display:grid}.stage{aspect-ratio:1672/941;isolation:isolate;background:#2b3029;position:relative;overflow:hidden;box-shadow:0 0 0 1px #6b664f,0 0 0 7px #161915,0 0 0 8px #3e3d31,0 30px 80px -20px #000c,0 10px 30px #0008}.camera{position:absolute;inset:0}.camera.knocked{animation:1s linear knock}.layer{transition:transform 1.15s var(--ease), transform-origin 1.15s var(--ease);will-change:transform;position:absolute;inset:0}.layer.arriving{animation:develop .9s var(--ease) both}.layer.leaving{animation:fade-out .9s var(--ease) both;z-index:-1}.scene{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.room-life{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.moon-glow{mix-blend-mode:screen;transform-box:fill-box;transform-origin:50%;animation:7s ease-in-out infinite breathe}.cloud{mix-blend-mode:multiply}.cloud-a{animation:46s linear infinite drift}.cloud-b{animation:63s linear -30s infinite drift}.room-chill{fill:#1b2740;mix-blend-mode:multiply;opacity:.22;transition:opacity 2.4s var(--ease)}.room-chill.warm{opacity:.04}.pumpkin-fire{animation:ignite 1.6s var(--ease) both}.pumpkin-fire .spill{mix-blend-mode:soft-light;animation:3.2s step-end infinite flicker}.pumpkin-fire .halo{mix-blend-mode:screen;opacity:.8;animation:2.1s ease-in-out infinite flicker-soft}.pumpkin-fire .cutouts{animation:1.7s ease-in-out infinite flicker-soft}.portrait-eyes .pupil{transition:transform .45s var(--ease)}.portrait-eyes .lid{transform-box:fill-box;transform-origin:50% 0;transition:transform 80ms ease-in;transform:scaleY(0)}.portrait-eyes.blink .lid{transform:scaleY(1)}.atmosphere{pointer-events:none;z-index:2;position:absolute;inset:0}.vignette{background:radial-gradient(120% 95% at 50% 45%,#0000 55%,#0a0d0bb3 100%),linear-gradient(#0000 78%,#0b0f0c99);transition:opacity 2s;position:absolute;inset:0}.is-lit .vignette{opacity:.85}.grain{background-image:var(--grain);opacity:.16;mix-blend-mode:overlay;animation:.9s steps(4,end) infinite grain;position:absolute;inset:-40px}.motes i{opacity:0;filter:blur(.4px);background:#f4e8c8;border-radius:50%;animation:linear infinite mote;position:absolute}.is-lit .motes i{background:#ffd99a}.hotspot{z-index:3;cursor:zoom-in;transition:box-shadow .4s var(--ease), background .4s;background:0 0;border:0;border-radius:40%;padding:0;position:absolute}:is(.hotspot:hover,.hotspot:focus-visible){background:radial-gradient(closest-side,#fff6dc14,#0000);box-shadow:inset 0 0 40px #f6e5b512}.holding .hotspot{cursor:crosshair}.glint{pointer-events:none;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute}.glint:before,.glint:after{content:"";background:radial-gradient(closest-side,#fff8e2,#f2d79a 40%,#0000 70%);animation:3.4s ease-in-out infinite glint;position:absolute;inset:0}.glint:after{background:linear-gradient(#0000,#fff3cf 50%,#0000);animation-delay:.1s;inset:-9px 4px}.hotspot:nth-of-type(2n) .glint:before,.hotspot:nth-of-type(2n) .glint:after{animation-delay:1.3s}.hotspot:nth-of-type(3n) .glint:before,.hotspot:nth-of-type(3n) .glint:after{animation-delay:2.2s}.hotspot:hover .glint:before{opacity:1;animation:none;transform:scale(1.4)}.hover-label{z-index:4;letter-spacing:.18em;color:#f1e7cb;text-shadow:0 1px 8px #000;pointer-events:none;opacity:0;transition:opacity .35s var(--ease), transform .35s var(--ease);white-space:nowrap;align-items:center;gap:12px;padding:7px 16px;font-size:13px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%,6px)}.hover-label.on{opacity:1;transform:translate(-50%)}.holding-tag{letter-spacing:.24em;color:var(--brass-2);text-shadow:none;background:#0e110ea0;border:1px solid #e7c98366;padding:3px 8px;font-size:10px}.held-item{z-index:6;pointer-events:none;opacity:0;filter:drop-shadow(0 6px 8px #000a);transition:opacity .2s;position:absolute;top:0;left:0}.toast{z-index:6;animation:toast 2.6s var(--ease) both;pointer-events:none;background:linear-gradient(#1b1f19f2,#121511f2);border:1px solid #c9a35b66;align-items:center;gap:12px;padding:10px 20px 10px 12px;display:flex;position:absolute;top:20px;left:50%;box-shadow:0 12px 30px #000a,0 0 30px #c9a35b22}.toast span{letter-spacing:.18em;color:var(--ink);font-size:15px}.toast small{letter-spacing:.4em;color:var(--brass);margin-bottom:2px;font-size:9px;display:block}.back-button{z-index:4;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f120fb8;border-color:#fff2;padding:8px 14px;font-size:12px;position:absolute;top:16px;left:16px}.paper{z-index:4;color:var(--paper-ink);background:var(--paper-grain), radial-gradient(120% 90% at 30% 15%, #ece2c6 0%, var(--paper) 50%, var(--paper-2) 100%);animation:card-in .7s var(--ease) both;animation-delay:.25s;position:absolute;box-shadow:inset 0 0 0 1px #ffffff40,inset 0 0 40px #8c76482e,0 1px #00000040,0 22px 50px -10px #000c}.paper:after{content:"";pointer-events:none;border:1px solid #5c513a33;position:absolute;inset:6px}.paper .eyebrow{color:var(--paper-ink-dim)}.paper button{z-index:1;color:var(--paper-ink);border-color:#5d533e66;font-size:12px;position:relative}.paper button:hover:not(:disabled){border-color:var(--paper-ink);color:var(--paper-ink);background:#ffffff2a}.paper .ink-link{color:#6b3a22;border:0}.paper .ink-link.quiet{color:var(--paper-ink-dim)}.paper .primary{background:var(--paper-ink);color:var(--paper);border-color:var(--paper-ink)}.paper .primary:hover:not(:disabled){color:#f0e4c3;background:#3d3628}.handwritten{font-style:italic}.door-actions,.portrait-note{width:33%;padding:28px 30px 26px;top:22%;left:7%;transform:rotate(-.6deg)}.door-actions p,.portrait-note p{margin:12px 0 18px;font-size:18px;line-height:1.9}.portrait-note{width:33%;top:13%;left:auto;right:6%;transform:rotate(.5deg)}.portrait-questions{flex-direction:column;gap:6px;display:flex}.portrait-questions button{text-align:left;border-style:dashed;padding:9px 12px;font-size:12px}.portrait-questions button:before{content:"— ";color:var(--paper-ink-dim)}.portrait-links{justify-content:space-between;gap:12px;margin-top:16px;display:flex}.photo-flip{z-index:4;color:var(--paper-ink);background:var(--paper);border:0;padding:10px 18px;font-size:12px;position:absolute;bottom:9%;right:7%;transform:rotate(-2deg);box-shadow:0 10px 24px #0009}.photo-flip:hover:not(:disabled){color:var(--paper-ink);transform:rotate(0)translateY(-2px)}.photo-back{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4.5% 5%;display:flex;inset:11% 22%;transform:rotate(-1deg)}.photo-back.beside-card{width:34%;inset:12% 5% 12% auto;transform:rotate(.8deg)}.photo-back h2{letter-spacing:.3em;margin:14px 0 6px;font-size:24px;font-weight:400}.photo-back p{margin:6px 0;line-height:1.8}.photo-back .small{font:12px/1.7 var(--sans);color:var(--paper-ink-dim);margin-bottom:12px}.choices{justify-content:center;gap:10px;margin:4px 0 14px;display:flex}.choices button{letter-spacing:.2em;min-width:64px;font-size:14px}.choices button.active{background:var(--paper-ink);color:var(--paper)}.photo-back .ink-link{margin-top:6px}.table-controls{align-items:center;gap:10px;padding:14px 16px 14px 22px;display:flex;bottom:14%;left:50%;transform:translate(-50%)}.table-controls .eyebrow{margin-right:8px}.mask-editor{flex-direction:column;gap:7px;width:28%;padding:16px 18px;display:flex;top:5%;bottom:6%;right:3.5%;transform:rotate(.6deg)}.mask-editor .eyebrow{text-align:center}.mask-preview{flex:1;justify-content:center;min-height:0;padding:4px 0;display:flex}.mask-preview svg{filter:drop-shadow(0 6px 6px #5b4a2a55);max-width:100%;height:100%}.mask-part{text-align:left;align-items:center;gap:10px;display:flex;padding:7px 10px!important}.mask-part span{letter-spacing:.2em;color:var(--paper-ink-dim);min-width:32px;font-size:10px}.mask-part b{flex:1;font-size:13px;font-weight:400}.mask-part em{opacity:.6;font-style:normal}.completion-note{padding:20px 24px;font-size:14px;line-height:1.9;bottom:12%;right:5%;transform:rotate(-1deg)}.title-screen{z-index:8;text-align:center;background:radial-gradient(60% 70%,#0d110ea6,#070908eb 80%);flex-direction:column;justify-content:center;align-items:center;animation:1.2s both fade-in;display:flex;position:absolute;inset:0}.title-screen .eyebrow{color:var(--brass);letter-spacing:.6em;animation:rise 1s var(--ease) .1s both}.title-screen h1{letter-spacing:.22em;text-shadow:0 0 40px #c9a35b33;margin:26px 0 22px;font-size:clamp(30px,4.6vw,66px);font-weight:400}.title-screen h1 span{animation:ink-in 1.4s var(--ease) both;display:inline-block}.title-screen p{white-space:pre-line;color:var(--ink-dim);animation:rise 1s var(--ease) 1.2s both;margin:0 0 34px;font-size:15px;line-height:2.2}.primary{background:var(--brass);color:#15180f;border-color:var(--brass)}.primary:hover:not(:disabled){background:var(--brass-2);color:#15180f}.enter-button{letter-spacing:.3em;animation:rise 1s var(--ease) 1.5s both;padding:14px 40px;font-size:15px;box-shadow:0 0 #c9a35b55}.enter-button:hover:not(:disabled){box-shadow:0 0 0 8px #c9a35b14,0 0 40px #c9a35b44}.title-screen small{color:var(--ink-faint);letter-spacing:.2em;animation:rise 1s var(--ease) 1.8s both;margin-top:26px;font-size:11px}.title-screen.ending{background:radial-gradient(70% 70%,#0a0c0aa0,#050605f2 80%)}.inventory{flex-direction:column;align-items:center;gap:12px;display:flex}.inventory>.eyebrow{letter-spacing:.22em;color:var(--ink-faint);writing-mode:horizontal-tb;font-size:10px}.slots{flex-direction:column;gap:8px;display:flex}.slots>button{background:radial-gradient(closest-side,#262b22,#1a1e18);border:1px solid #3c4134;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:72px;height:72px;padding:4px;display:flex;position:relative;box-shadow:inset 0 2px 10px #000a,inset 0 0 0 3px #13161299}.slots>button:disabled{opacity:1}.slots>button:not(:disabled):hover{background:radial-gradient(closest-side,#313728,#1c2019);border-color:#8c8360}.slots>button.selected{border-color:var(--brass-2);background:radial-gradient(closest-side,#4a432b,#24231a);box-shadow:inset 0 0 0 3px #13161299,0 0 0 3px #c9a35b22,0 0 24px #e7c98340}.slots>button.selected .item-icon{transform:translateY(-2px)rotate(-6deg)}.slots>button.fresh{animation:slot-fresh 1.6s var(--ease)}.item-icon{filter:drop-shadow(0 3px 3px #0009);transition:transform .35s var(--ease);display:block}.icon-flame{transform-box:fill-box;transform-origin:50% 100%;animation:1.2s ease-in-out infinite flame}.slots small{letter-spacing:.08em;color:var(--ink-dim);white-space:nowrap;font-size:10px}.empty-slot{border:1px solid #3f4436;width:5px;height:5px;transform:rotate(45deg)}.inventory-help{text-align:center;color:var(--ink-faint);letter-spacing:.1em;font-size:10px;line-height:1.8}.dialogue{border-bottom:1px solid var(--line);align-items:flex-end;gap:24px;min-height:104px;margin-right:108px;padding:26px 0 18px;display:flex}.dialogue-copy{flex:1;min-width:0}.speaker{letter-spacing:.32em;color:var(--brass);align-items:center;gap:10px;font-size:11px;display:inline-flex}.speaker:before{content:"";background:currentColor;width:18px;height:1px}.dialogue p{letter-spacing:.04em;min-height:1.75em;margin:8px 0 0;font-size:18px;line-height:1.75}.dialogue .ghost{color:#0000}.dialogue small{font:11px var(--sans);color:#d9a184}.hint{border:0;border-bottom:1px solid var(--line-2);color:var(--ink-dim);white-space:nowrap;letter-spacing:.2em;padding:6px 0;font-size:12px}.hint:after{content:" ↗";color:var(--brass)}.voice-bar{align-items:center;gap:16px;margin-right:108px;padding-top:18px;display:flex}.voice-medallion{border:1px solid var(--line-2);background:radial-gradient(closest-side,#23281f,#141713);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid;position:relative}.voice-medallion .flame{background:#6f7262;border-radius:50% 50% 45% 45%/65% 65% 35% 35%;width:7px;height:12px;transition:background .4s,box-shadow .4s}.is-live .voice-medallion{border-color:var(--brass)}.is-live .voice-medallion .flame{background:radial-gradient(circle at 50% 70%,#fff3c4,#f0b54c 60%,#c56a1d);animation:1.1s ease-in-out infinite flame;box-shadow:0 0 14px #f0b54c99}.voice-medallion .rings{pointer-events:none;border-radius:50%;position:absolute;inset:-1px}.is-listening .voice-medallion .rings{animation:ring 1.8s var(--ease) infinite;border:1px solid #e7c98388}.voice-status{flex-direction:column;gap:3px;min-width:190px;display:flex}.voice-status strong{letter-spacing:.2em;font-size:13px;font-weight:400}.voice-status span{font:11px var(--sans);color:var(--ink-faint)}.is-live .voice-status span{color:#a9b98f}.voice-bar form{border-bottom:1px solid var(--line-2);flex:1;align-items:center;min-width:160px;transition:border-color .3s;display:flex}.voice-bar form:focus-within{border-color:var(--brass)}.voice-bar input{min-width:0;color:var(--ink);font:15px var(--serif);letter-spacing:.04em;background:0 0;border:0;flex:1;padding:10px 2px}.voice-bar input::placeholder{color:var(--ink-faint);font-style:italic}.voice-bar input:focus-visible{outline:0}.voice-bar form button{color:var(--ink-dim);white-space:nowrap;border:0;padding:8px 4px 8px 12px;font-size:12px}.voice-actions{gap:8px;display:flex}.voice-actions button{white-space:nowrap;padding:9px 14px;font-size:12px}.voice-actions .speak{border-color:var(--brass);color:var(--brass-2);padding:9px 18px}.voice-actions .speak:before{content:"";background:var(--rust);vertical-align:1px;border-radius:50%;width:6px;height:6px;margin-right:9px;display:inline-block;box-shadow:0 0 8px #e05a3a}.voice-actions .speak:hover:not(:disabled){background:#c9a35b18}.voice-actions .quiet{color:var(--ink-faint);border-color:#0000}.voice-actions .mic.on{color:#c6d6aa;border-color:#8fa575}.modal-scrim{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#070907d9;justify-content:center;align-items:center;padding:24px;animation:.35s both fade-in;display:flex;position:fixed;inset:0}.modal{width:min(480px,100%);max-height:90vh;padding:44px 44px 36px;animation-delay:0s;position:relative;overflow:auto;transform:rotate(-.4deg)}.modal h2{letter-spacing:.3em;margin:12px 0 18px;font-size:30px;font-weight:400}.modal p,.modal li{font-size:14px;line-height:2}.journal-stage{color:var(--paper-ink-dim);margin:0}.journal-list{margin:12px 0 0;padding:0;list-style:none}.journal-list li{animation:rise .6s var(--ease) both;border-bottom:1px dashed #5c513a44;padding:6px 0 6px 22px;position:relative}.journal-list li:before{content:"";border:1px solid #6b3a22;width:5px;height:5px;position:absolute;top:50%;left:4px;transform:translateY(-50%)rotate(45deg)}.modal .close{color:var(--paper-ink-dim);border:0;font-size:11px;position:absolute;top:14px;right:14px}.quick-questions{flex-direction:column;gap:8px;margin-top:24px;display:flex}.quick-questions button{text-align:left;border-style:dashed}.settings-list{flex-direction:column;gap:0;display:flex}.settings-list button{text-align:left;border:0;border-bottom:1px solid #5c513a33;justify-content:space-between;padding:14px 2px;font-size:14px;display:flex}.settings-list b{color:#6b3a22;font-weight:400}.settings-list p{color:var(--paper-ink-dim);font-size:12px}.settings-list .danger{color:#8c2c1a;border:1px solid #8c2c1a55;justify-content:center;margin-top:6px}@keyframes develop{0%{opacity:0;filter:blur(6px)sepia(.4)brightness(.7)}to{opacity:1;filter:none}}@keyframes fade-out{to{opacity:0}}@keyframes fade-in{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes ink-in{0%{opacity:0;filter:blur(10px);transform:translateY(6px)}to{opacity:1;filter:none}}@keyframes card-in{0%{opacity:0;translate:0 14px}}@keyframes knock{0%,to{transform:none}3%{transform:translate(2px)}6%{transform:translate(-1px)}9%{transform:none}37%{transform:none}40%{transform:translate(-2px,1px)}43%{transform:none}64%{transform:none}67%{transform:translate(3px)}70%{transform:translate(-1px)}73%{transform:none}}@keyframes breathe{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes drift{0%{transform:translate(-80px)}to{transform:translate(460px)}}@keyframes ignite{0%{opacity:0}12%{opacity:.9}18%{opacity:.3}to{opacity:1}}@keyframes flicker{0%{opacity:1}12%{opacity:.86}19%{opacity:1}44%{opacity:.92}51%{opacity:1}73%{opacity:.8}78%{opacity:.97}}@keyframes flicker-soft{0%,to{opacity:.95}30%{opacity:.78}55%{opacity:1}80%{opacity:.85}}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-18px,12px)}50%{transform:translate(14px,-20px)}75%{transform:translate(-8px,22px)}}@keyframes mote{0%{opacity:0;transform:translate(0)}15%{opacity:.5}85%{opacity:.35}to{opacity:0;transform:translate(34px,-90px)}}@keyframes glint{0%,62%,to{opacity:0;transform:scale(.4)rotate(0)}74%{opacity:.95;transform:scale(1)rotate(45deg)}86%{opacity:0;transform:scale(.6)rotate(90deg)}}@keyframes toast{0%{opacity:0;transform:translate(-50%,-10px)}12%,82%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}@keyframes slot-fresh{0%{border-color:var(--brass-2);box-shadow:inset 0 0 0 3px #13161299,0 0 #e7c98399}60%{box-shadow:inset 0 0 0 3px #13161299,0 0 0 10px #e7c98300}}@keyframes flame{0%,to{transform:scale(1)rotate(-2deg)}33%{transform:scale(.92,1.08)rotate(2deg)}66%{transform:scale(1.05,.95)rotate(-1deg)}}@keyframes ring{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}@media (max-width:1100px){.door-actions,.portrait-note{padding:20px}.door-actions p,.portrait-note p{margin:8px 0 12px;font-size:15px}.voice-status{min-width:0}.voice-status span{display:none}}@media (max-width:900px){.game-shell{padding:0 14px 24px}.masthead{height:74px}.wordmark{font-size:16px}.wordmark span{letter-spacing:.4em;font-size:7px}.chapter{display:none}.wayfinding,.dialogue,.voice-bar{margin-right:0}.objective{flex-wrap:wrap;gap:12px}.objective h2{font-size:15px}.objective p{font-size:12px}.objective .ink-link{margin-left:66px}.scene-nav{flex-wrap:wrap}.scene-nav>span{display:none}.play-layout{grid-template-columns:1fr;gap:16px}.inventory>.eyebrow,.inventory-help{display:none}.slots{flex-direction:row;justify-content:center;gap:6px;width:100%}.slots>button{aspect-ratio:1;width:calc(14.2857% - 5.14286px);max-width:70px;height:auto}.slots small{display:none}.dialogue{min-height:90px;padding:18px 0 14px}.dialogue p{font-size:15px}.voice-bar{flex-wrap:wrap;gap:12px}.voice-bar form{flex-basis:100%;order:3}.voice-actions{margin-left:auto}.door-actions,.portrait-note{width:46%;padding:12px 14px;top:8%}.door-actions p,.portrait-note p{margin:4px 0 8px;font-size:12px;line-height:1.7}.portrait-questions{gap:4px}.portrait-questions button,.paper button{padding:5px 7px;font-size:10px}.portrait-links{margin-top:6px}.photo-back,.photo-back.beside-card{width:auto;padding:12px;inset:5% 8%}.photo-back h2{margin:6px 0;font-size:17px}.photo-back p{margin:3px 0;font-size:12px}.photo-back .small{display:none}.mask-editor{gap:3px;width:40%;padding:8px}.mask-part b{font-size:10px}.mask-part span{display:none}.table-controls{gap:6px;padding:8px;bottom:5%}.table-controls .eyebrow{display:none}.title-screen p{margin-bottom:18px;font-size:12px;line-height:1.9}.title-screen h1{margin:12px 0}.title-screen small{display:none}.enter-button{padding:10px 24px;font-size:13px}.back-button{padding:5px 9px;font-size:10px;top:8px;left:8px}.hover-label{font-size:10px;bottom:8px}.toast{padding:6px 14px 6px 8px;top:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.motes,.grain,.glint{display:none}}.flashlight{--x:50%;--y:45%;--r:220px;--dark:.7;pointer-events:none;background:radial-gradient(circle var(--r) at var(--x) var(--y), #ffecc412 0%, #06080c00 45%, rgba(6, 8, 12, calc(var(--dark) * .55)) 75%, rgba(6, 8, 12, var(--dark)) 100%);transition:--dark 2.4s var(--ease);animation:1.6s both fade-in;position:absolute;inset:0}.is-lit .flashlight{--dark:.32}.stage:not(.view-room) .flashlight{--dark:.4}.stage.is-lit:not(.view-room) .flashlight{--dark:.18}@property --dark{syntax:"<number>";inherits:true;initial-value:.7}@media (hover:none){.flashlight{display:none}}.mask-paint{pointer-events:none;width:100%;height:100%;animation:.9s .3s both fade-in;position:absolute;inset:0}.paint-part{pointer-events:auto;cursor:pointer;outline:none}.paint-part .hit{fill:#0000;stroke:none}.paint-part>:not(.hit){transition:opacity .25s}:is(.paint-part.armed:hover>:not(.hit),.paint-part.armed:focus-visible>:not(.hit)){opacity:.72}:is(.paint-part.armed:hover .hit,.paint-part.armed:focus-visible .hit){fill:#fff6dc10;stroke:#f2deaa77;stroke-width:2px;stroke-dasharray:8 8;rx:40}.stroke-in{animation:brush-in .45s var(--ease) both}@keyframes brush-in{0%{opacity:0;transform:scale(.94)}}.stroke-in{transform-box:fill-box;transform-origin:50%}.mask-bar{z-index:4;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap;animation:rise .7s var(--ease) .35s both;background:linear-gradient(#1a1e18f0,#121511f0);border:1px solid #6c6a52;align-items:center;gap:8px;padding:8px;display:flex;position:absolute;inset:auto 3% 5% auto;transform:none;box-shadow:0 16px 40px #000b,inset 0 1px #ffffff0d}.mask-bar-title{flex-direction:column;gap:4px;margin-right:10px;display:flex}.mask-bar-title .eyebrow{color:var(--brass)}.mask-bar-title small{font:11px var(--sans);color:var(--ink-faint)}.mask-bar button{border-color:#4b5043;padding:8px 12px;font-size:12px}.mask-chip{align-items:center;gap:8px;display:inline-flex}.mask-chip span{letter-spacing:.2em;color:var(--ink-faint);font-size:10px}.mask-chip em{color:var(--brass);opacity:.8;font-style:normal}@media (max-width:900px){.mask-bar{gap:4px;padding:6px;bottom:2%}.mask-bar-title{display:none}.mask-bar button{padding:5px 7px;font-size:10px}.mask-chip span{display:none}}.matchbox{transition:opacity .6s var(--ease), transform .6s var(--ease)}.matchbox.taken{opacity:0;transform:translateY(-14px)}.room-life .dish-hit{pointer-events:auto;cursor:pointer;fill:#0000;outline:none}:is(.room-life .dish-hit:hover ellipse,.room-life .dish-hit:hover rect,.room-life .dish-hit:focus-visible ellipse,.room-life .dish-hit:focus-visible rect){fill:#fff4d20f;stroke:#f2deaa66;stroke-width:1.5px;stroke-dasharray:5 5}.view-room .room-life .dish-hit{pointer-events:none}.floor-candle{animation:slide-under 1.1s var(--ease) .9s both}@keyframes slide-under{0%{opacity:0;transform:translate(60px,-14px)}}.dish-item{transform-box:fill-box;transform-origin:50%}.dish-candy{animation:taken 1.5s var(--ease) both}@keyframes taken{0%{opacity:0;transform:translateY(-10px)}20%,55%{opacity:1;transform:none}to{opacity:0;transform:translate(-30px,-18px)}}.candy-fall{transform-box:fill-box;transform-origin:50%;animation:1.3s cubic-bezier(.5,0,.75,0) both candy-fall}@keyframes candy-fall{0%{transform:none}30%{transform:translate(4px,-14px)rotate(-12deg)}85%{opacity:1}to{opacity:0;transform:translate(30px,250px)rotate(130deg)}}.portrait-talk{flex-direction:column;gap:12px;width:38%;max-height:86%;padding:26px 28px 22px;display:flex;top:7%;right:4.5%;overflow:auto;transform:rotate(.4deg)}.portrait-talk .eyebrow{justify-content:space-between;display:flex}.portrait-talk .eyebrow em{letter-spacing:.2em;font-style:normal}.portrait-talk .asked{font:12px/1.6 var(--sans);color:var(--paper-ink-dim);margin:0}.portrait-line{min-height:3.7em;margin:0;font-size:19px;font-style:italic;line-height:1.85}.portrait-talk.is-intro .portrait-line{min-height:5.5em;font-size:21px}.portrait-talk .ghost{color:#0000}.intro-actions{align-items:center;gap:16px;margin-top:4px;display:flex}.paper .speak,.talk-voice .speak{border:1px solid var(--paper-ink);background:var(--paper-ink);color:var(--paper);letter-spacing:.16em;padding:10px 18px;font-size:13px}.paper .speak:before{content:"";vertical-align:1px;background:#e0603e;border-radius:50%;width:7px;height:7px;margin-right:10px;animation:1.6s ease-in-out infinite flicker-soft;display:inline-block;box-shadow:0 0 8px #e0603e}.paper .speak:hover:not(:disabled){color:#f3e7c6;background:#3d3628;border-color:#3d3628}.talk-form{border-bottom:1px solid #5d533e88;align-items:center;display:flex}.talk-form input{min-width:0;font:italic 14px var(--serif);color:var(--paper-ink);background:0 0;border:0;flex:1;padding:9px 2px}.talk-form input::placeholder{color:#7d7258}.talk-form input:focus-visible{outline:0}.paper .talk-form button{color:#6b3a22;border:0;padding:6px 4px 6px 12px;font-size:13px}.talk-voice{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.talk-voice .voice-medallion{background:radial-gradient(closest-side,#3a3326,#22201a);border-color:#5d533e66;width:30px;height:30px}.talk-status{font:12px var(--sans);color:#4b6a3a;flex:1}.paper .talk-voice button:not(.speak){padding:6px 10px;font-size:11px}.dialogue.is-portrait .dialogue-copy{visibility:hidden}.live-chip{z-index:5;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f120fcc;border:1px solid #c9a35b55;align-items:center;gap:6px;padding:5px 6px;display:flex;position:absolute;top:14px;right:14px}.live-chip .voice-medallion{border-color:var(--brass);width:26px;height:26px}.live-chip .voice-medallion .flame{background:radial-gradient(circle at 50% 70%,#fff3c4,#f0b54c 60%,#c56a1d);animation:1.1s ease-in-out infinite flame;box-shadow:0 0 12px #f0b54c99}.live-chip.is-listening .voice-medallion .rings{animation:ring 1.8s var(--ease) infinite;border:1px solid #e7c98388}.live-chip button{color:var(--ink-dim);border:0;padding:5px 8px;font-size:11px}.live-chip .live-name{color:var(--brass-2);letter-spacing:.14em}@media (max-width:900px){.portrait-talk{gap:6px;width:54%;padding:12px 14px;top:4%;right:3%}.portrait-line,.portrait-talk.is-intro .portrait-line{min-height:0;font-size:13px}.talk-voice .voice-medallion{display:none}}.live-intro{flex-direction:column;gap:10px;display:flex}.live-intro .talk-status{flex:none}.live-intro .talk-status.waiting{color:var(--paper-ink-dim);font-style:italic;animation:2.2s ease-in-out infinite flicker-soft}.hotspot.beckon{animation:2.8s ease-in-out infinite beckon}@keyframes beckon{0%,to{box-shadow:inset 0 0 #f2d79a00,0 0 #f2d79a00}50%{box-shadow:inset 0 0 60px 6px #f2d79a26,0 0 40px 4px #f2d79a1f}}.masthead{height:72px}.wordmark{letter-spacing:.28em;font-size:19px}.wordmark span{letter-spacing:.5em}.corner-tools{gap:6px;display:flex}.corner-tools button{width:34px;height:34px;color:var(--ink-faint);border:1px solid #0000;border-radius:50%;padding:6px}.corner-tools button:hover{color:var(--brass-2);border-color:#c9a35b44}.corner-tools svg{width:100%;height:100%}.play-layout{grid-template-columns:minmax(0,1fr) 84px}.stage{cursor:default}.stage.is-close{cursor:zoom-out}.stage.is-intro{cursor:pointer}.spot{z-index:3;transition:box-shadow .5s var(--ease), background .5s;background:0 0;border:0;border-radius:40%;padding:0;position:absolute}.spot.look{cursor:zoom-in}.spot.use{cursor:pointer}.holding .spot{cursor:crosshair}:is(.spot:hover,.spot:focus-visible){box-shadow:none;background:radial-gradient(closest-side,#fff6dc10,#0000);outline:none}.spot:focus-visible{box-shadow:inset 0 0 0 1px #f2deaa55}.spot.beckon{animation:2.8s ease-in-out infinite beckon}.spot .curl{filter:drop-shadow(-2px -2px 3px #0006);width:70%;height:70%;transition:transform .4s var(--ease);transform-origin:100% 100%;position:absolute;bottom:0;right:0}.spot:hover .curl{transform:scale(1.25)}.photo-card{z-index:4;cursor:pointer;color:#4a3f2e;background:var(--paper-grain), radial-gradient(120% 100% at 40% 30%, #e7dcbf, #cdbd96 70%, #b8a67c);width:45.5%;height:66%;animation:flip-in .7s var(--ease) both;flex-direction:column;justify-content:center;align-items:center;gap:6%;font-family:Snell Roundhand,Savoye LET,Apple Chancery,Brush Script MT,cursive;display:flex;position:absolute;top:3.5%;left:38%;transform:rotate(-.6deg);box-shadow:0 24px 60px #000c,inset 0 0 40px #7a63392e}.photo-card .pc-date{opacity:.75;font-size:clamp(14px,1.6vw,22px);position:absolute;top:9%;left:9%}.pc-names{opacity:0;width:78%;animation:ink-in 2.4s var(--ease) .4s forwards;justify-content:space-between;font-size:clamp(22px,2.8vw,38px);display:flex}.pc-names.pressed{color:#0000;text-shadow:0 1px #fff5,0 -1px #0000001f;opacity:.6;animation:none}.pc-note{color:#5b2a1a;opacity:0;animation:ink-in 2.4s var(--ease) 1.6s forwards;margin:0;font-size:clamp(16px,2vw,28px)}.photo-card:after{content:"";background:linear-gradient(135deg,#0000 50%,#a8966d 50%,#d9cba6);width:9%;height:13%;position:absolute;bottom:0;right:0;box-shadow:-2px -2px 4px #0003}@keyframes flip-in{0%{opacity:0;transform:rotateY(80deg)rotate(-.6deg)}}.subtitle{z-index:5;text-align:center;letter-spacing:.01em;color:#ece3c9;text-shadow:0 1px 2px #000,0 0 18px #000;pointer-events:none;width:min(78%,760px);animation:rise .5s var(--ease) both;font-size:clamp(15px,1.45vw,20px);line-height:1.6;position:absolute;bottom:7.5%;left:50%;transform:translate(-50%)}.subtitle.who-him{color:#f3dfb0;font-style:italic}.subtitle.who-you{color:#b9c3ae;font-size:clamp(13px,1.2vw,16px)}.subtitle .ghost{color:#0000;text-shadow:none}.subtitle small{letter-spacing:.3em;text-transform:uppercase;color:#c9bfa4aa;margin-top:8px;font-size:11px;font-style:normal;animation:2.4s ease-in-out infinite flicker-soft;display:block}.back-arrow{z-index:5;color:#e9dfc455;width:44px;height:22px;transition:color .3s, transform .3s var(--ease);border:0;margin-left:-22px;padding:4px 8px;animation:3.6s ease-in-out infinite breathe-arrow;position:absolute;bottom:1.6%;left:50%}.back-arrow:hover{color:#f2deaacc;border:0}.back-arrow svg{width:100%;height:100%}@keyframes breathe-arrow{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.portrait-ui{z-index:5;width:30%;animation:rise .25s var(--ease) both;background:linear-gradient(#0d100dcc,#0a0c0ae6);border:1px solid #c9a35b33;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:18px 20px;display:flex;position:absolute;top:50%;right:4%;transform:translateY(-50%)}.portrait-ui .voice-medallion{width:34px;height:34px}.portrait-ui.is-live .voice-medallion{border-color:var(--brass)}.portrait-ui.is-live .voice-medallion .flame{background:radial-gradient(circle at 50% 70%,#fff3c4,#f0b54c 60%,#c56a1d);animation:1.1s ease-in-out infinite flame;box-shadow:0 0 14px #f0b54c99}.portrait-ui.is-listening .voice-medallion .rings{animation:ring 1.8s var(--ease) infinite;border:1px solid #e7c98388}.pu-status{color:#c8d1b3;flex:1;font-size:13px;font-style:italic}.portrait-ui button{color:var(--ink-dim);border:0;padding:4px 6px;font-size:12px}.portrait-ui .pu-speak{text-align:left;letter-spacing:.12em;color:var(--brass-2);flex:1;font-size:14px}.portrait-ui form{border-bottom:1px solid #c9a35b44;flex-basis:100%}.portrait-ui input{width:100%;font:italic 15px var(--serif);color:var(--ink);background:0 0;border:0;padding:8px 0}.portrait-ui input::placeholder{color:var(--ink-faint)}.portrait-ui input:focus-visible{outline:0}.live-chip{top:12px;right:12px}.inventory{padding-top:0}.slots>button{width:76px;height:76px}.reflection{animation:3s .8s both fade-in}.reflection .ghost-you{opacity:.07;mix-blend-mode:screen;filter:blur(3px);animation:6s ease-in-out infinite ghost}@keyframes ghost{50%{opacity:.11}}.title-screen.ending{animation:2s both fade-in}@media (max-width:900px){.portrait-ui{width:48%;padding:10px;right:2%}.photo-card{width:60%;left:30%}.slots>button{width:calc(16.6667% - 5px);height:auto}}:is(.room-life .dish-hit:hover ellipse,.room-life .dish-hit:hover rect,.room-life .dish-hit:focus-visible ellipse,.room-life .dish-hit:focus-visible rect){fill:#fff4d214;stroke:none}@media (max-width:900px){.play-layout{grid-template-columns:1fr}.slots{flex-direction:row}}.pc-names.scrambled{flex-direction:column;align-items:flex-start;gap:.2em;width:auto;transform:rotate(-3deg)translate(-18%)}.pc-names.scrambled span:nth-child(2){margin-left:1.4em}.pc-names.scrambled span:nth-child(3){margin-left:.6em}.pu-offline{font:12px var(--sans);color:#d9a184;flex-basis:100%}.portrait-ui .pu-speak{letter-spacing:.035em;background:#c9a35b18;border:1px solid #c9a35b88;min-height:44px;padding:12px 14px}.portrait-ui .pu-speak:disabled{cursor:progress;opacity:.75}.pu-help{color:#d0c5ac;flex-basis:100%;margin:0;font-size:13px;line-height:1.55}.pu-offline{flex-basis:100%;line-height:1.5}
