@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-cyrillic-ext-600-normal-BMhMHfrj.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-600-normal-CsIYWmWK.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-cyrillic-600-normal-C2atO-64.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-600-normal-FNmA3REe.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-vietnamese-600-normal-BoXdMtcr.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-600-normal-C4HEjEaf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-ext-600-normal-DaBc-lu7.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-600-normal-Dk3-quAP.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-cyrillic-ext-700-normal-Do0rx6yy.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-700-normal-BaW-xaxb.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-cyrillic-700-normal-SLG_-a_c.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-700-normal-D3uyJ5DH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-vietnamese-700-normal--OtHbi1I.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-700-normal-GOTdnRS1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-latin-ext-700-normal-CNjt5vTB.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-700-normal-qRbaVVD7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-latin-700-normal-DajfzrDU.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-700-normal-O25Qpphb.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-ext-400-normal-DN8azYTI.woff2)format("woff2"),url(/assets/alegreya-cyrillic-ext-400-normal-Cj1kF6KR.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-400-normal-72Io3whm.woff2)format("woff2"),url(/assets/alegreya-cyrillic-400-normal-VT77nruV.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-ext-400-normal-ueNFnE5s.woff2)format("woff2"),url(/assets/alegreya-greek-ext-400-normal-UcF-MPys.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-400-normal-BI7tMDVB.woff2)format("woff2"),url(/assets/alegreya-greek-400-normal-BTnTTGc4.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-vietnamese-400-normal-D8CgJdBg.woff2)format("woff2"),url(/assets/alegreya-vietnamese-400-normal-D-Jsyxvv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-ext-400-normal-BJ1luULk.woff2)format("woff2"),url(/assets/alegreya-latin-ext-400-normal-I24-Fo_X.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-400-normal-BLlBRtDv.woff2)format("woff2"),url(/assets/alegreya-latin-400-normal-BuQWlRPA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-ext-400-italic-CJ53xJ73.woff2)format("woff2"),url(/assets/alegreya-cyrillic-ext-400-italic-281qz-PX.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-400-italic-CzOFVsaV.woff2)format("woff2"),url(/assets/alegreya-cyrillic-400-italic-DSxbt1-2.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-ext-400-italic-BqZ1xVE4.woff2)format("woff2"),url(/assets/alegreya-greek-ext-400-italic-EKR1I7m6.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-400-italic-DpcfyKEk.woff2)format("woff2"),url(/assets/alegreya-greek-400-italic-D9g29fJh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-vietnamese-400-italic-CJsk7YCA.woff2)format("woff2"),url(/assets/alegreya-vietnamese-400-italic-DD2hiUnx.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-ext-400-italic-Cf8WgXZg.woff2)format("woff2"),url(/assets/alegreya-latin-ext-400-italic-BQgzjtbe.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-400-italic-BXpar-rJ.woff2)format("woff2"),url(/assets/alegreya-latin-400-italic-CJvUQvZT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-cyrillic-ext-500-normal-BIfGEemn.woff2)format("woff2"),url(/assets/alegreya-cyrillic-ext-500-normal-BMQ-IlQd.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-cyrillic-500-normal-uJUgykjJ.woff2)format("woff2"),url(/assets/alegreya-cyrillic-500-normal-h-VttLAG.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-greek-ext-500-normal-CpSZDjmq.woff2)format("woff2"),url(/assets/alegreya-greek-ext-500-normal-DzZMWm6Q.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-greek-500-normal-Cs_YSU_p.woff2)format("woff2"),url(/assets/alegreya-greek-500-normal-DSAlufuP.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-vietnamese-500-normal-1pKrKpC8.woff2)format("woff2"),url(/assets/alegreya-vietnamese-500-normal-Bulx4Dj7.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-latin-ext-500-normal-B_6HdrEK.woff2)format("woff2"),url(/assets/alegreya-latin-ext-500-normal-BXZj8mwG.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-latin-500-normal-C25lLdV_.woff2)format("woff2"),url(/assets/alegreya-latin-500-normal-B7TqNLeg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0e0f10;--surface:#171715;--wood:#29211c;--gold:#d8ae67;--ember:#b56a3b;--parchment:#e6d6b8;--night:#27394b;--rain:#526476;--moss:#5b6a50;--truth:#d8ae67;--comfort:#6c8669;--courage:#a75b4e;--text:#f2e8d5;--muted:#b6a995;--line:#d8ae6752;--panel:#141311f0;--radius:12px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--font-display:"Cormorant Garamond", "Iowan Old Style", Georgia, serif;--font-body:"Alegreya", "Iowan Old Style", Georgia, serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:17px}:root[data-font=s]{font-size:15px}:root[data-font=l]{font-size:19px}:root[data-font=xl]{font-size:21.5px}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;line-height:1.5;overflow-x:hidden}#root{min-height:100%}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;font-weight:600;line-height:1.15}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.muted{color:var(--muted)}.small{font-size:.85rem}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn{border:1px solid var(--line);min-height:44px;color:var(--text);cursor:pointer;text-align:center;background:#29211cc7;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.btn:hover{border-color:var(--gold);background:#463424d9}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{color:#1b140d;background:linear-gradient(#e2bd7c,#b98a45);border-color:#e7c88f;font-weight:500}.btn--primary:hover{background:linear-gradient(#ecc98a,#c4954e)}.btn--ghost{background:0 0}.btn--danger{border-color:var(--courage)}.btn--danger:hover{background:#a75b4e40;border-color:#c47766}.icon-btn{min-width:44px;min-height:44px;color:var(--parchment);cursor:pointer;background:#0e0f108c;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.icon-btn:hover{border-color:var(--line);color:var(--gold)}.icon-btn__label{font-size:.85rem;display:none}.game{background:var(--bg);height:100dvh;position:fixed;inset:0;overflow:hidden}.stage{position:absolute;inset:0;overflow:hidden}.stage__layer{transform:translate3d(var(--px,0px), var(--py,0px), 0);transition:transform .4s ease-out;position:absolute;inset:-14px}.stage__cover{--bw:max(100%, calc((100dvh + 28px) * 16 / 9));--bh:max(100%, calc((100vw + 28px) * 9 / 16));--ox:.72;--oy:.4;width:var(--bw);height:var(--bh);left:calc((100% - var(--bw)) * var(--ox));top:calc((100% - var(--bh)) * var(--oy));position:absolute}.stage--road .stage__cover{--ox:.74;--oy:.45}@media (max-aspect-ratio:3/4){.stage__cover{--ox:.9}.stage--road .stage__cover{--ox:.8}}.stage__bg{object-fit:cover;filter:brightness(.86)saturate(1.04);width:100%;height:100%;animation:.9s ease-out fade-in}.stage--road .stage__bg{filter:brightness(.8)}.glow{pointer-events:none;mix-blend-mode:screen;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.glow--fire{background:radial-gradient(closest-side,#ff963c6b,#ff78281f 60%,#0000);width:26%;height:40%;animation:3.8s ease-in-out infinite alternate flicker;top:45%;left:91%}.glow--window{background:radial-gradient(closest-side,#ffcd7859,#ffaa501a 55%,#0000);width:10%;height:16%;animation:1.2s ease-out fade-in,5s ease-in-out infinite alternate flicker;top:39%;left:66%}.glow--lantern{background:radial-gradient(closest-side,#ffc86e73,#0000);width:18%;height:30%;animation:4.2s ease-in-out infinite alternate flicker;top:37%;left:75%}.rain{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.stage__fog{pointer-events:none;background:radial-gradient(60% 80% at 30% 100%,#6e7d8c29,#0000 70%),radial-gradient(60% 80% at 75% 100%,#6e7d8c1f,#0000 70%);height:45%;animation:40s ease-in-out infinite alternate drift;position:absolute;bottom:0;left:-10%;right:-10%}.stage__vignette{pointer-events:none;background:radial-gradient(120% 90% at 50% 35%,#0000 45%,#050506bf 100%),linear-gradient(#0808098c 0%,#0000 18% 45%,#080809d9 100%);position:absolute;inset:0}.stage__house{pointer-events:none;position:absolute;inset:0}.stage__house--door{background:linear-gradient(90deg,#7896b938,#0000 55%);animation:1.6s ease-out forwards sweep}.stage__house--flicker{background:radial-gradient(50% 50% at 40% 55%,#ffaa504d,#0000 70%);animation:1.4s ease-out forwards pulse}.stage__house--log{background:radial-gradient(30% 30% at 40% 62%,#ff823266,#0000 70%);animation:1.6s ease-out forwards pulse}.stage__house--glass{background:radial-gradient(10% 10% at 88% 22%,#ffebbe73,#0000 70%);animation:1.2s ease-out forwards pulse}.house-creak .stage__layer,.house-chair .stage__layer,.house-shutter .stage__layer{animation:.6s ease-in-out creak}.house-glass .shelf img:not(.is-used){animation:1.2s ease-out glint}.stage__hud{top:calc(var(--safe-top) + 64px);right:calc(var(--safe-right) + 12px);z-index:3;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:absolute}.brack{cursor:pointer;background:radial-gradient(circle at 50% 45%,#3a2c20,#0d0d0d 75%);border:2px solid #d8ae678c;border-radius:50%;width:60px;height:60px;padding:0;overflow:hidden;box-shadow:0 4px 18px #0009}.brack img{object-fit:contain;width:100%;height:100%;padding:4px}.brack--speaking img{animation:1.4s ease-in-out tilt}.brack--remark{border-color:var(--gold)}.brack__bubble{border:1px solid var(--line);background:#141311f2;border-radius:12px 4px 12px 12px;max-width:min(280px,70vw);margin:0;padding:10px 14px;font-size:.92rem;animation:.2s ease-out fade-in}.brack__bubble strong{color:var(--gold);font-family:var(--font-display);font-size:1.05rem}.shelf{cursor:pointer;border:1px solid var(--line);background:linear-gradient(#29211cd9,#191411e6);border-radius:8px;align-items:flex-end;gap:4px;min-height:44px;padding:6px 8px;display:flex}.shelf img{object-fit:contain;width:22px;height:33px;transition:filter .4s,opacity .4s}.shelf img.is-used,.glass--used img{filter:grayscale(.85)brightness(.55);opacity:.65}.present{top:calc(var(--safe-top) + 64px);left:calc(var(--safe-left) + 12px);z-index:2;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex;position:absolute}.present li{color:var(--muted);align-items:center;gap:8px;font-size:.85rem;display:flex}.present img{object-fit:cover;border:1px solid #d8ae674d;border-radius:50%;width:38px;height:38px}.present li.is-speaking img{border:2px solid var(--gold)}.present li.is-speaking{color:var(--text)}.present span{text-shadow:0 1px 3px #000}.topbar{z-index:4;padding:calc(var(--safe-top) + 8px) calc(var(--safe-right) + 10px) 8px calc(var(--safe-left) + 12px);justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.topbar__chapter{flex-direction:column;min-width:0;margin:0;line-height:1.2;display:flex}.topbar__time{font-family:var(--font-display);color:var(--gold);font-size:1.25rem;font-weight:700}.topbar__title{color:var(--parchment);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.topbar__actions{flex:none;gap:4px;display:flex}.dialogue{z-index:5;left:50%;bottom:calc(var(--safe-bottom) + 10px);width:min(980px, calc(100% - 20px - var(--safe-left) - var(--safe-right)));border:1px solid var(--line);background:linear-gradient(#1a1815f2,#0e0e0df7);border-radius:16px;grid-template-columns:auto minmax(0,1fr);gap:16px;max-height:min(64dvh,600px);padding:16px 18px;animation:.22s ease-out panel-in;display:grid;position:absolute;transform:translate(-50%);box-shadow:0 -10px 40px #0000008c,inset 0 1px #ffe6b40f}.dialogue__portrait{border:1px solid #d8ae6780;border-radius:12px;align-self:start;width:120px;height:160px;animation:.22s ease-out fade-in;overflow:hidden;box-shadow:0 6px 20px #0009}.dialogue__portrait img{object-fit:cover;object-position:50% 18%;width:100%;height:100%}.speaker-brack .dialogue__portrait{background:radial-gradient(circle at 50% 45%,#3a2c20,#111 75%)}.speaker-brack .dialogue__portrait img{object-fit:contain;padding:8px}.dialogue:not(:has(.dialogue__portrait)){grid-template-columns:minmax(0,1fr)}.dialogue__content{overscroll-behavior:contain;flex-direction:column;grid-column:-2/-1;gap:8px;min-width:0;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.dialogue__speaker{color:var(--gold);align-items:baseline;gap:10px;margin:0;font-size:1.55rem;display:flex}.speaker-taverne .dialogue__speaker{color:var(--ember)}.dialogue__hint{font-family:var(--font-body);color:var(--muted);font-size:.78rem;font-style:italic;font-weight:400}.dialogue__stage{color:var(--muted);margin:0;font-size:.95rem;font-style:italic}.dialogue__scroll{cursor:default}.dialogue__text{margin:0;font-size:1.14rem;line-height:1.55}.dialogue__narration{color:var(--parchment);margin:0;font-size:1.08rem;font-style:italic;line-height:1.6}.speaker-taverne .dialogue__narration{border-left:2px solid var(--ember);padding-left:12px}.dialogue__caret{vertical-align:-.12em;border-bottom:2px solid var(--gold);width:.5em;height:1em;margin-left:2px;animation:1s steps(2,end) infinite blink;display:inline-block}.dialogue__actions{margin-top:4px}.dialogue__continue{min-width:140px}.dialogue--hub .dialogue__narration{font-style:normal}.choices{gap:8px;margin:0;padding:0;list-style:none;display:grid}.choice{text-align:left;cursor:pointer;border:1px solid var(--line);width:100%;min-height:48px;color:var(--text);background:#29211c9e;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;font-size:1.02rem;line-height:1.35;transition:background-color .15s,border-color .15s,transform .15s;animation:.2s ease-out both fade-in;display:flex}.choices li:nth-child(2) .choice{animation-delay:40ms}.choices li:nth-child(3) .choice{animation-delay:80ms}.choices li:nth-child(4) .choice{animation-delay:.12s}.choice:hover,.choice:focus-visible{border-color:var(--gold);background:#d8ae6721}.choice:active{transform:translateY(1px)}.choice__key{border:1px solid var(--line);width:24px;height:24px;color:var(--gold);border-radius:50%;flex:none;place-items:center;font-size:.78rem;display:grid}.choice--glass{border-style:dashed}.choice__glasses{flex:none;gap:2px;display:flex}.choice__glasses img{object-fit:contain;width:15px;height:22px}.choices--hub{grid-template-columns:1fr}.choice--guest img{object-fit:cover;border:1px solid var(--line);border-radius:50%;flex:none;width:46px;height:46px}.choice--guest span{flex-direction:column;display:flex}.choice--guest strong{font-family:var(--font-display);color:var(--gold);font-size:1.2rem;font-weight:600}.choice--guest small{color:var(--muted);font-size:.88rem}.modal{width:min(560px,100% - 20px);max-height:calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom));border:1px solid var(--line);color:var(--text);background:linear-gradient(#1d1b18,#121211);border-radius:16px;padding:0;box-shadow:0 20px 60px #000000b3}.modal--wide{width:min(860px,100% - 20px)}.modal[open]{animation:.2s ease-out panel-in}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#040405ad}.modal__inner{max-height:inherit;flex-direction:column;display:flex}.modal__header{z-index:1;background:#1b1916;border-bottom:1px solid #d8ae672e;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 10px 20px;display:flex;position:sticky;top:0}.modal__header h2{color:var(--gold);margin:0;font-size:1.7rem}.modal__body{overscroll-behavior:contain;padding:16px 20px 22px;overflow-y:auto}.glasses{gap:14px;margin:14px 0;padding:0;list-style:none;display:grid}.glass{background:#29211c59;border:1px solid #d8ae6733;border-radius:12px;grid-template-columns:76px 1fr;gap:14px;padding:12px;display:grid}.glass img{object-fit:contain;filter:drop-shadow(0 4px 10px #0009);width:76px;height:114px}.glass h3{margin:0 0 4px;font-size:1.45rem}.glass--truth h3{color:var(--truth)}.glass--comfort h3{color:#93ad8f}.glass--courage h3{color:#d08473}.glass p{margin:0 0 6px}.glass__status{color:var(--parchment);font-size:.88rem}.glass .btn{margin-top:6px}.tabs{border-bottom:1px solid #d8ae6733;flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.tab{cursor:pointer;min-height:44px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 14px}.tab[aria-selected=true]{color:var(--gold);border-bottom-color:var(--gold)}.journal__people{gap:14px;margin:0;padding:0;list-style:none;display:grid}.journal__person{border-bottom:1px solid #d8ae671f;grid-template-columns:56px 1fr;gap:12px;padding-bottom:12px;display:grid}.journal__person img{object-fit:cover;border:1px solid var(--line);border-radius:50%;width:56px;height:56px}.journal__person h3{color:var(--gold);margin:0;font-size:1.35rem}.journal__person ul{margin:4px 0 0;padding-left:18px}.journal__person li{margin-bottom:2px}.tasks{gap:8px;padding:0;list-style:none;display:grid}.task{align-items:baseline;gap:10px;display:flex}.task__mark{color:var(--muted);width:1em}.task--done .task__mark{color:var(--comfort)}.task em{color:var(--parchment)}.journal__glasses{gap:12px;padding:0;list-style:none;display:grid}.journal__glasses li{grid-template-columns:46px 1fr;align-items:start;gap:12px;display:grid}.journal__glasses img{object-fit:contain;width:46px;height:69px}.journal__glasses h3{margin:0;font-size:1.25rem}.journal__glasses p{margin:0}.settings fieldset{border:1px solid #d8ae6733;border-radius:12px;margin:0 0 14px;padding:10px 14px 14px}.settings legend{font-family:var(--font-display);color:var(--gold);padding:0 6px;font-size:1.25rem}.slider{grid-template-columns:minmax(0,1fr) minmax(110px,1.2fr) 3.2em;align-items:center;gap:10px;min-height:44px;display:grid}.slider input{width:100%;accent-color:var(--gold)}.slider output{text-align:right;color:var(--muted);font-size:.85rem}.slider.is-off{opacity:.45}.switch{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:flex}.switch input{width:20px;height:20px;accent-color:var(--gold)}.radio-group{margin:6px 0 10px}.radio-group__label{color:var(--parchment);margin-bottom:6px;display:block}.segmented{flex-wrap:wrap;gap:6px;display:flex}.segmented label{border:1px solid var(--line);cursor:pointer;background:#29211c80;border-radius:10px;align-items:center;min-height:44px;padding:8px 14px;display:inline-flex;position:relative}.segmented label.is-active{border-color:var(--gold);color:var(--gold);background:#d8ae672e}.segmented input{opacity:0;cursor:pointer;position:absolute;inset:0}.segmented label:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}.notice{border-radius:10px;margin:12px 0 0;padding:10px 12px}.notice--error{border:1px solid var(--courage);background:#a75b4e33}.notice--ok{border:1px solid var(--comfort);background:#6c866933}.confirm{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.confirm p{width:100%;color:var(--parchment);margin:0}.menu{gap:10px;display:grid}.menu__chapters-title{color:var(--gold);margin:22px 0 8px;font-size:1.3rem}.chapters{gap:4px;margin:0;padding:0;list-style:none;display:grid}.chapters li{color:var(--muted);grid-template-columns:4.2em 1fr;gap:8px;display:grid}.chapters li.is-past{color:var(--parchment)}.chapters li.is-current{color:var(--gold);font-weight:500}.chapters__time{font-family:var(--font-display);font-weight:700}.prose p{margin:0 0 12px}.version{border-top:1px solid #d8ae672e;margin-top:18px;padding-top:10px;font-size:.88rem}.version summary{cursor:pointer;min-height:44px;color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.version__more{color:var(--gold);text-underline-offset:3px;text-decoration:underline}.version__log{gap:10px;margin:6px 0 0;padding-left:0;list-style:none;display:grid}.version__log strong{color:var(--parchment);font-weight:500}.version__log ul{color:var(--muted);margin:4px 0 0;padding-left:18px}.title__version{color:var(--muted);opacity:.8;margin:18px 0 0;font-size:.78rem}.toast{z-index:50;left:50%;top:calc(var(--safe-top) + 70px);border:1px solid var(--line);background:#141311f5;border-radius:10px;max-width:calc(100% - 24px);margin:0;padding:10px 16px;position:fixed;transform:translate(-50%)}.title{align-items:center;height:100dvh;display:flex;position:fixed;inset:0;overflow:hidden}.title__bg{object-fit:cover;object-position:78% 50%;filter:brightness(.7)saturate(.95);width:calc(100% + 40px);height:calc(100% + 40px);position:absolute;inset:-20px}.title__glow{background:linear-gradient(90deg,#080809e6 0%,#0808098c 45%,#08080926 100%),radial-gradient(40% 40% at 70% 55%,#ffaa502e,#0000 70%);position:absolute;inset:0}.title__content{z-index:2;overscroll-behavior:contain;width:min(520px,100%);max-height:100dvh;padding:calc(var(--safe-top) + 24px) 24px calc(var(--safe-bottom) + 24px) calc(var(--safe-left) + 28px);position:relative;overflow-y:auto}.title h1{color:var(--gold);text-shadow:0 4px 30px #000c;margin:0;font-size:clamp(3rem,11vw,5.4rem);font-weight:700;line-height:.95}.title h1 span{color:var(--parchment);font-size:.55em;font-weight:600;display:block}.title__subtitle{font-family:var(--font-display);color:var(--parchment);margin:10px 0 2px;font-size:1.45rem}.title__tagline{color:var(--muted);margin:0 0 26px;font-style:italic}.title__menu{gap:10px;max-width:300px;display:grid}.title__menu .btn{justify-content:flex-start;font-size:1.1rem}.epilogue{min-height:100dvh;padding:calc(var(--safe-top) + 24px) 12px calc(var(--safe-bottom) + 32px);position:relative}.epilogue__bg{object-fit:cover;filter:brightness(.8);width:100%;height:100%;position:fixed;inset:0}.epilogue:before{content:"";background:linear-gradient(#0a0c1026,#0a0a0a99);position:fixed;inset:0}.epilogue__card{z-index:1;border:1px solid var(--line);background:#141311ed;border-radius:18px;width:min(760px,100%);margin:0 auto;padding:26px 22px 28px;animation:.4s ease-out panel-in;position:relative;box-shadow:0 20px 60px #0009}.epilogue__kicker{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:.78rem}.epilogue h1{color:var(--gold);outline:none;margin:6px 0 12px;font-size:clamp(2.3rem,8vw,3.4rem)}.epilogue__summary{color:var(--parchment);font-size:1.1rem}.epilogue__guests{gap:16px;margin:22px 0;padding:0;list-style:none;display:grid}.epilogue__guests li{grid-template-columns:52px 1fr;gap:14px;display:grid}.epilogue__guests img{object-fit:cover;border:1px solid var(--line);border-radius:50%;width:52px;height:52px}.epilogue__guests h2{color:var(--gold);margin:0;font-size:1.3rem}.epilogue__guests p{margin:2px 0 0}.epilogue__extra{color:var(--parchment);font-style:italic}.epilogue__elias{border-left:2px solid var(--ember);background:#29211c66;border-radius:0 10px 10px 0;margin:22px 0;padding:14px 16px}.epilogue__elias p{margin:0 0 6px}.epilogue__path{margin:16px 0 22px}.epilogue__path summary{cursor:pointer;min-height:44px;color:var(--gold);font-family:var(--font-display);align-items:center;font-size:1.25rem;display:flex}.epilogue__path ol{padding-left:18px}.epilogue__path ul{color:var(--muted);margin:2px 0 10px;padding-left:18px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes panel-in{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0}}@keyframes flicker{0%{opacity:.75}35%{opacity:1}60%{opacity:.85}to{opacity:.95}}@keyframes drift{0%{transform:translate(-3%)}to{transform:translate(3%)}}@keyframes pulse{0%{opacity:0}25%{opacity:1}to{opacity:0}}@keyframes sweep{0%{opacity:0;transform:translate(-20%)}30%{opacity:1}to{opacity:0;transform:translate(10%)}}@keyframes creak{0%,to{translate:0}30%{translate:1.5px}60%{translate:-1px .5px}}@keyframes tilt{0%,to{transform:rotate(0)}30%{transform:rotate(-9deg)scale(1.04)}60%{transform:rotate(3deg)}}@keyframes glint{0%,to{filter:none}40%{filter:brightness(1.8)drop-shadow(0 0 6px #ffdca0e6)}}@keyframes blink{50%{opacity:0}}@keyframes slow-zoom{0%{transform:scale(1)}to{transform:scale(1.06)}}:root[data-motion=reduced] *,:root[data-motion=reduced] :before,:root[data-motion=reduced] :after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}:root[data-motion=reduced] .stage__layer{transform:none}:root[data-motion=reduced] .glow{animation:none}:root[data-motion=reduced] .dialogue__caret{display:none}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) *{animation-duration:1ms!important;animation-iteration-count:1!important}}@media (min-width:900px){.icon-btn__label{display:inline}.choices--hub{grid-template-columns:1fr 1fr}.choices--hub li:last-child:nth-child(odd){grid-column:1/-1}.dialogue{bottom:calc(var(--safe-bottom) + 20px);padding:20px 24px}.dialogue__portrait{width:150px;height:200px}.brack{width:72px;height:72px}.shelf img{width:28px;height:42px}.title__content{padding-left:calc(var(--safe-left) + 8vw)}}@media (max-width:640px){.dialogue{width:calc(100% - 12px - var(--safe-left) - var(--safe-right));bottom:calc(var(--safe-bottom) + 6px);border-radius:14px;gap:12px;max-height:66dvh;padding:12px 14px}.dialogue__portrait{border-radius:50%;width:58px;height:58px}.dialogue__portrait img{object-position:50% 12%}.dialogue__speaker{align-items:center;min-height:58px;font-size:1.35rem}.dialogue:has(.dialogue__portrait) .dialogue__content{margin-left:-70px}.dialogue:has(.dialogue__portrait) .dialogue__speaker{padding-left:70px}.present{top:calc(var(--safe-top) + 62px);flex-direction:row}.present span{display:none}.present img{width:32px;height:32px}.brack{width:52px;height:52px}.stage__hud{top:calc(var(--safe-top) + 60px)}.topbar__actions{gap:2px}.icon-btn{padding:6px 8px}}@media (max-width:360px){:root{font-size:16px}.topbar__title{max-width:30vw}.choice{gap:8px;padding:10px}}@media (orientation:landscape) and (max-height:540px){.dialogue{left:auto;right:calc(var(--safe-right) + 8px);top:calc(var(--safe-top) + 58px);bottom:calc(var(--safe-bottom) + 8px);grid-template-columns:minmax(0,1fr);width:min(60%,640px);max-height:none;transform:none}.dialogue__portrait{display:none}.dialogue:has(.dialogue__portrait) .dialogue__content{grid-column:1/-1;margin-left:0}.dialogue:has(.dialogue__portrait) .dialogue__speaker{min-height:0;padding-left:0}.stage__hud{right:auto;left:calc(var(--safe-left) + 12px);top:auto;bottom:calc(var(--safe-bottom) + 12px);align-items:flex-start}.present{flex-direction:row}.present span{display:none}.title__content{padding-top:12px}.title h1{font-size:2.8rem}.title__menu{grid-template-columns:1fr 1fr;max-width:420px}}.scene-video{opacity:0;pointer-events:none;transition:opacity .7s}.scene-video.is-playing{opacity:1}.stage__bg.scene-video{position:absolute;inset:0}:is(.stage:has(.scene-video.is-playing) .glow,.stage:has(.scene-video.is-playing) .stage__fog,.stage:has(.scene-video.is-playing) .rain,.title:has(.scene-video.is-playing) .rain){display:none}.brack:disabled{cursor:default;opacity:.65}.brack:disabled:hover{transform:none}.scene-place{top:calc(var(--safe-top) + 72px);color:var(--parchment);letter-spacing:.04em;text-shadow:0 2px 8px #000;margin:0;font-size:.83rem;position:absolute;left:50%;transform:translate(-50%)}.scene-detail{pointer-events:none;filter:drop-shadow(0 12px 20px #000a);width:min(380px,32vw);height:240px;position:absolute;top:18%;left:50%;transform:translate(-50%)}.story-object{width:100%;height:100%}.scene-owner{text-align:center;color:var(--parchment);text-shadow:0 2px 8px #000;margin:-10px 0 0;font-size:.85rem}.scene-caption{top:calc(var(--safe-top) + 106px);width:max-content;max-width:56%;color:var(--parchment);text-align:center;pointer-events:none;background:#13120edf;border-radius:6px;margin:0;padding:5px 10px;font-size:.8rem;animation:7s both scene-caption;position:absolute;left:50%;transform:translate(-50%)}.scene-event{pointer-events:none;position:absolute;inset:0}.scene-event--embers{background:linear-gradient(90deg,#0000,#10152280);animation:5s both scene-embers}.scene-event--shutter span{transform-origin:0;background:#1c130fa0;width:3%;height:25%;animation:3s both scene-shutter;position:absolute;top:15%;right:22%}.scene-event--reflection span{filter:blur(7px);background:#dfac6870;width:18px;height:44px;animation:5s both scene-caption;position:absolute;top:30%;right:25%}.scene-event--waterline span{background:#dfd8bf90;width:9%;height:2px;animation:6s both scene-caption;position:absolute;top:53%;left:72%}.scene-event--curtain span{transform-origin:top;background:linear-gradient(90deg,#171216b0,#33222188);width:5%;height:28%;animation:4s both scene-curtain;position:absolute;top:18%;left:43%}.scene-event--shadow span{filter:blur(4px);background:#0008;border-radius:50%;width:65px;height:16px;animation:2s both scene-shadow;position:absolute;top:135px;right:22px}.scene-detail--paper .story-sheet{animation:3s both scene-paper}.scene-detail--chair .story-object{animation:3s both scene-chair}.scene-detail--woodwork .story-object{animation:6s both scene-work}.scene-detail--wick .story-object,.scene-detail--seal .story-object,.scene-detail--oil .story-object{animation:4s both scene-work}.scene-detail--handover .story-envelope{animation:3s both scene-hand}.dialogue__letter{white-space:pre-line;color:#30271e;background:#d8c9a4;border-radius:3px;margin:0;padding:18px;font-size:1.02rem;line-height:1.6;box-shadow:0 4px 12px #0004}.stage--exterior .stage__hud,.stage--exterior .stage__fog{display:none}@keyframes scene-caption{0%{opacity:0}12%,75%{opacity:1}to{opacity:0}}@keyframes scene-embers{0%{opacity:0}35%,70%{opacity:1}to{opacity:0}}@keyframes scene-shutter{0%,to{transform:rotateY(0)}30%,65%{transform:rotateY(65deg)}}@keyframes scene-curtain{0%,to{transform:skew(0)}35%{transform:skew(7deg)}}@keyframes scene-shadow{0%,38%{opacity:0;transform:translate(-18px)}65%,to{opacity:1;transform:none}}@keyframes scene-paper{0%{translate:-15px}70%,to{translate:12px}}@keyframes scene-chair{0%{translate:0;rotate:0deg}65%,to{translate:8px;rotate:-5deg}}@keyframes scene-work{0%,to{opacity:1}22%,52%{opacity:.7}35%,70%{opacity:1}}@keyframes scene-hand{0%{translate:-30px}75%,to{translate:30px}}:root[data-motion=reduced] .scene-event{display:none}:root[data-motion=reduced] .scene-caption,:root[data-motion=reduced] .scene-detail *{animation:none}@media (max-width:640px){.scene-detail{width:170px;height:130px;top:19%;left:48%}.scene-place{top:calc(var(--safe-top) + 104px);text-align:center;max-width:65%;font-size:.7rem}.scene-caption{top:calc(var(--safe-top) + 130px);max-width:65%;font-size:.7rem}.scene-owner{font-size:.7rem}}@media (orientation:landscape) and (max-height:540px){.scene-detail{width:26vw;height:140px;top:25%;left:20%}.scene-place{top:70px;left:20%}.scene-caption{max-width:35%;top:100px;left:20%}}.work-tools{display:none}.scene-detail--woodwork .work-tools{animation:5s both scene-saw;display:block}.scene-detail--woodwork .new-wood,.scene-detail--seal .seal-strip{animation:5s step-end both scene-assembly}.scene-detail--oil .fuel-level{transform-origin:180px 190px;animation:4s both scene-fill}@keyframes scene-saw{0%,to{translate:0}15%,45%,75%{translate:-9px}30%,60%,90%{translate:9px}}@keyframes scene-assembly{0%,60%{opacity:0}to{opacity:1}}@keyframes scene-fill{0%{scale:1 0}to{scale:1}}.door-curtain{filter:drop-shadow(3px 5px 5px #0009);pointer-events:none;width:18%;height:46%;position:absolute;top:16%;left:44.5%}.scene-event--curtain:has(~*){z-index:1}.house-plan__rooms{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;list-style:none;display:grid}.house-plan__rooms li,.house-plan__ground>div{border:1px solid var(--line);background:#29211c50;border-radius:8px;gap:6px;padding:12px;display:grid}.house-plan__rooms strong{font-size:.85rem}.house-plan__rooms span,.house-plan__ground span{color:var(--muted);font-size:.88rem}.house-plan__stairs{text-align:center;border-block:1px dashed var(--line);color:var(--gold);padding:12px;font-size:.85rem}.house-plan__ground{gap:8px;display:grid}.scene-detail:before{content:"";z-index:-1;background:radial-gradient(#0b0907a6,#0000 70%);position:absolute;inset:18% 5% 0}@media (max-width:640px) and (orientation:portrait){.scene-caption{max-width:calc(100% - 150px);left:12px;top:calc(var(--safe-top) + 132px);text-align:left;font-size:.7rem;transform:none}.scene-detail{top:27%}}
