@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./cormorant-garamond-cyrillic-ext-500-normal-Yta7XZ9C.woff2)format("woff2"),url(./cormorant-garamond-cyrillic-ext-500-normal-lsPpqi9g.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:500;src:url(./cormorant-garamond-cyrillic-500-normal-CyAY5ZLS.woff2)format("woff2"),url(./cormorant-garamond-cyrillic-500-normal-DkJXBcIH.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:500;src:url(./cormorant-garamond-vietnamese-500-normal-BZGLGj12.woff2)format("woff2"),url(./cormorant-garamond-vietnamese-500-normal-DqXqCC0q.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:500;src:url(./cormorant-garamond-latin-ext-500-normal-CH1kM7og.woff2)format("woff2"),url(./cormorant-garamond-latin-ext-500-normal-DYeaGGzO.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:500;src:url(./cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(./cormorant-garamond-latin-500-normal-zIXX3Q-H.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:italic;font-display:swap;font-weight:500;src:url(./cormorant-garamond-cyrillic-ext-500-italic-ClXnudBg.woff2)format("woff2"),url(./cormorant-garamond-cyrillic-ext-500-italic-DakTmaFY.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:italic;font-display:swap;font-weight:500;src:url(./cormorant-garamond-cyrillic-500-italic-DVnfXoMy.woff2)format("woff2"),url(./cormorant-garamond-cyrillic-500-italic-C9gO-8KC.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:italic;font-display:swap;font-weight:500;src:url(./cormorant-garamond-vietnamese-500-italic-D3igDnAQ.woff2)format("woff2"),url(./cormorant-garamond-vietnamese-500-italic-C-296ow0.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:italic;font-display:swap;font-weight:500;src:url(./cormorant-garamond-latin-ext-500-italic-CE7zdTnu.woff2)format("woff2"),url(./cormorant-garamond-latin-ext-500-italic-CalKM9tT.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:italic;font-display:swap;font-weight:500;src:url(./cormorant-garamond-latin-500-italic-Y14P-dkT.woff2)format("woff2"),url(./cormorant-garamond-latin-500-italic-DhNIfkTX.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:600;src:url(./cormorant-garamond-cyrillic-ext-600-normal-BMhMHfrj.woff2)format("woff2"),url(./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(./cormorant-garamond-cyrillic-600-normal-C2atO-64.woff2)format("woff2"),url(./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(./cormorant-garamond-vietnamese-600-normal-BoXdMtcr.woff2)format("woff2"),url(./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(./cormorant-garamond-latin-ext-600-normal-DaBc-lu7.woff2)format("woff2"),url(./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(./cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(./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:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./eb-garamond-cyrillic-ext-400-normal-o8fRvAFQ.woff2)format("woff2"),url(./eb-garamond-cyrillic-ext-400-normal-DG8lny6_.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:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./eb-garamond-cyrillic-400-normal-DDLP67lu.woff2)format("woff2"),url(./eb-garamond-cyrillic-400-normal-C0kVTdou.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./eb-garamond-greek-ext-400-normal-K8pwR3tn.woff2)format("woff2"),url(./eb-garamond-greek-ext-400-normal-BaZl8BIK.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./eb-garamond-greek-400-normal-CVAbzS9p.woff2)format("woff2"),url(./eb-garamond-greek-400-normal-d4JlP2QH.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:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./eb-garamond-vietnamese-400-normal-CLvJdMEL.woff2)format("woff2"),url(./eb-garamond-vietnamese-400-normal-ifvNSiWx.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:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./eb-garamond-latin-ext-400-normal-o4A__6QZ.woff2)format("woff2"),url(./eb-garamond-latin-ext-400-normal-B4EmgUmt.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:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./eb-garamond-latin-400-normal-BCNrxLz_.woff2)format("woff2"),url(./eb-garamond-latin-400-normal-maQnHeKB.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:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./eb-garamond-cyrillic-ext-400-italic-Bz1w3xqM.woff2)format("woff2"),url(./eb-garamond-cyrillic-ext-400-italic-CYS3phfl.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:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./eb-garamond-cyrillic-400-italic-BGIwiowF.woff2)format("woff2"),url(./eb-garamond-cyrillic-400-italic-BZInx2ys.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./eb-garamond-greek-ext-400-italic-CHZOQEtG.woff2)format("woff2"),url(./eb-garamond-greek-ext-400-italic-BL1XYHtS.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./eb-garamond-greek-400-italic-Dqr5KC66.woff2)format("woff2"),url(./eb-garamond-greek-400-italic-BamGE6QP.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:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./eb-garamond-vietnamese-400-italic-DQ8HKnks.woff2)format("woff2"),url(./eb-garamond-vietnamese-400-italic-ORtyMVfw.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:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./eb-garamond-latin-ext-400-italic-V7s3nWfX.woff2)format("woff2"),url(./eb-garamond-latin-ext-400-italic-DUSsnRSD.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:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./eb-garamond-latin-400-italic-DSEbMgZu.woff2)format("woff2"),url(./eb-garamond-latin-400-italic-CDFyLPXJ.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:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./eb-garamond-cyrillic-ext-500-normal-DcO3I2lp.woff2)format("woff2"),url(./eb-garamond-cyrillic-ext-500-normal-I3TfTkSf.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:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./eb-garamond-cyrillic-500-normal-c5LjvaqX.woff2)format("woff2"),url(./eb-garamond-cyrillic-500-normal-CLHyttEY.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./eb-garamond-greek-ext-500-normal-DkhmZW4r.woff2)format("woff2"),url(./eb-garamond-greek-ext-500-normal-CMJ7zNBO.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./eb-garamond-greek-500-normal-BtA0fbXC.woff2)format("woff2"),url(./eb-garamond-greek-500-normal-BjSCMh1N.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:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./eb-garamond-vietnamese-500-normal-BCT1_K6u.woff2)format("woff2"),url(./eb-garamond-vietnamese-500-normal-B0TRhMco.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:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./eb-garamond-latin-ext-500-normal-BFuc0jzo.woff2)format("woff2"),url(./eb-garamond-latin-ext-500-normal-obw7ZvB_.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:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./eb-garamond-latin-500-normal-DehAIUv0.woff2)format("woff2"),url(./eb-garamond-latin-500-normal-DZU8xF9o.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{--night:#07060a;--ivory:#f2e8d6;--ivory-dim:#cdbfa6;--muted:#9d8f78;--gold:#c9a45c;--gold-bright:#e8c886;--candle:#ffcf8a;--wine:#7a1f24;--paper:#efe3c6;--paper-ink:#2a1d12;--display:"Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--body:"EB Garamond", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--night);height:100%;color:var(--ivory);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}.app{-webkit-user-select:none;user-select:none;position:fixed;inset:0}.scene{inset:0;position:absolute!important}.vignette{pointer-events:none;background:radial-gradient(#0000 52%,#04030299 100%);position:absolute;inset:0}::selection{color:inherit;background:#c9a45c61}.sr-hint{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.btn{font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-bright);cursor:pointer;background:#140e0966;border:1px solid #c9a45c8c;border-radius:2px;padding:.85em 1.9em;font-size:1.02rem;font-weight:600;transition:background .25s,border-color .25s,box-shadow .25s,color .25s}.btn:hover{border-color:var(--gold);background:#c9a45c24;box-shadow:0 0 26px #ffbe6e33}.btn:focus-visible,.slider input:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}.btn:disabled{opacity:.55;cursor:progress}.btn-quiet{color:var(--ivory-dim);letter-spacing:.1em;background:0 0;border-color:#0000}.btn-quiet:hover{box-shadow:none;background:#f2e8d60f;border-color:#0000}kbd{font-family:var(--display);letter-spacing:.04em;min-width:1.75em;color:var(--ivory);text-transform:none;background:#ffffff0a;border:1px solid #f2e8d659;border-bottom-width:2px;border-radius:4px;justify-content:center;padding:.08em .45em;font-size:.8em;font-weight:600;display:inline-flex}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(at 50% 42%,#0c08066b,#050404e6 78%);outline:none;place-items:center;padding:28px 16px;animation:.7s both fade-in;display:grid;position:absolute;inset:0;overflow-y:auto}.intro-inner,.pause-card{text-align:center;flex-direction:column;align-items:center;max-width:640px;display:flex}.emblem{width:62px;height:62px;color:var(--gold);filter:drop-shadow(0 0 18px #ffbe6e59);margin-bottom:18px}.eyebrow{font-family:var(--display);text-transform:uppercase;letter-spacing:.32em;color:var(--gold);margin:0 0 12px;font-size:.8rem;font-weight:600}h1{font-family:var(--display);color:var(--ivory);text-shadow:0 2px 34px #ffbe6e33;margin:0 0 22px;font-size:clamp(2.5rem,6vw,4.3rem);font-weight:500;line-height:1.02}.dedication{color:var(--ivory-dim);max-width:32em;margin:0;font-size:1.25rem;font-style:italic;line-height:1.55}.signature-line{font-family:var(--display);color:var(--ivory-dim);margin:10px 0 0;font-size:1.15rem}.rule{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:180px;height:1px;margin:28px auto;position:relative}.rule:after{content:"";background:var(--gold);width:7px;height:7px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.controls{color:var(--ivory-dim);text-align:left;grid-template-columns:auto auto;gap:9px 22px;margin:0 0 30px;font-size:1.04rem;display:grid}.controls>div{display:contents}.controls dt{color:var(--ivory);justify-content:flex-end;align-items:center;gap:4px;display:flex}.controls dd{align-self:center;margin:0}.controls .or{color:var(--muted);margin:0 4px;font-style:italic}.settings{flex-direction:column;align-items:center;gap:14px;margin-top:22px;display:flex}.slider{color:var(--ivory-dim);align-items:center;gap:12px;font-size:.98rem;display:flex}.slider input{accent-color:var(--gold);width:160px}.fineprint{color:var(--muted);max-width:34em;margin:18px 0 0;font-size:.95rem;font-style:italic}.pause-card h2{font-family:var(--display);margin:0 0 26px;font-size:clamp(2rem,4vw,2.6rem);font-weight:500}.pause-card .controls{margin:28px 0 0;font-size:.98rem}.hud{pointer-events:none;position:absolute;inset:0}.reticle{background:#fff4e1b8;border-radius:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;transition:background .2s;position:absolute;top:50%;left:50%;box-shadow:0 0 5px #000000b3}.reticle:after{content:"";border:1px solid #ffd69600;border-radius:50%;transition:border-color .25s,inset .25s;position:absolute;inset:-6px}.reticle.active{background:var(--candle)}.reticle.active:after{border-color:#ffd696cc;inset:-11px}.prompt{opacity:0;font-family:var(--display);letter-spacing:.05em;color:var(--ivory);text-shadow:0 1px 10px #000000f2;white-space:nowrap;align-items:center;gap:9px;font-size:1.12rem;font-weight:600;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:calc(50% + 32px);left:50%;transform:translate(-50%,4px)}.prompt.show{opacity:1;transform:translate(-50%)}.hint{color:var(--ivory-dim);white-space:nowrap;background:#0a08068c;border:1px solid #f2e8d61f;border-radius:999px;padding:.5em 1.25em;font-size:.98rem;transition:opacity 1.4s;position:absolute;bottom:34px;left:50%;transform:translate(-50%)}.hint.hidden{opacity:0}.sample-badge{font-family:var(--display);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);background:#0a08068c;border:1px solid #c9a45c66;border-radius:3px;padding:.32em .85em;font-size:.74rem;font-weight:600;position:absolute;top:14px;left:16px}.reveal-fade{opacity:0;pointer-events:none;background:#000;position:absolute;inset:0}.letterbox .bar{height:calc(var(--letterbox,0) * 9vh);pointer-events:none;background:#000;position:absolute;left:0;right:0}.letterbox .top{top:0}.letterbox .bottom{bottom:0}.reveal-message{text-align:center;font-family:var(--display);color:#fff3df;text-shadow:0 0 26px #ffb45a80,0 2px 14px #000000f2;opacity:0;pointer-events:none;margin:0;padding:0 24px;font-size:clamp(1.7rem,3.3vw,2.7rem);font-style:italic;font-weight:500;position:absolute;bottom:16vh;left:0;right:0}.skip{align-items:center;gap:.6em;padding:.6em 1.1em;font-size:.84rem;display:inline-flex;position:absolute;bottom:20px;right:22px}.panel-backdrop{-webkit-backdrop-filter:blur(6px)saturate(.9);backdrop-filter:blur(6px)saturate(.9);-webkit-user-select:text;user-select:text;background:#0604039e;place-items:center;padding:clamp(12px,3vw,40px) 16px;animation:.35s both fade-in;display:grid;position:absolute;inset:0;overflow-y:auto}.portrait-panel{background:linear-gradient(#1b1511,#120d0a);border:1px solid #c9a45c59;outline:none;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);width:min(1100px,100%);max-height:calc(100vh - 48px);animation:.5s cubic-bezier(.2,.7,.2,1) both rise;display:grid;box-shadow:0 30px 90px #000000a6,inset 0 0 0 1px #ffdca00a}.portrait-figure{background:radial-gradient(#261b13,#0e0a08);place-items:center;min-height:0;margin:0;padding:clamp(18px,2.6vw,36px);display:grid}.portrait-figure img{object-fit:contain;border:1px solid #c9a45ca6;max-width:100%;max-height:calc(100vh - 140px);display:block;box-shadow:0 0 0 6px #120d0a,0 0 0 7px #c9a45c59,0 20px 46px #000000a6}.portrait-copy{flex-direction:column;min-height:0;padding:clamp(26px,3.4vw,52px);display:flex;overflow-y:auto}.portrait-copy h2{font-family:var(--display);margin:0 0 10px;font-size:clamp(2rem,3.3vw,2.9rem);font-weight:500;line-height:1.05}.meta{color:var(--muted);margin:0 0 24px;font-size:1.08rem;font-style:italic}.memory p{color:#ebdfca;max-width:34em;margin:0 0 1em;font-size:1.2rem;line-height:1.66}.actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:auto;padding-top:24px;display:flex}.sample-tag{letter-spacing:.16em;border:1px solid #c9a45c73;border-radius:3px;margin-left:.9em;padding:.12em .55em;font-size:.85em}@media (width<=820px){.portrait-panel{grid-template-columns:1fr;max-height:none}.portrait-figure img{max-height:52vh}}.letter{--half:38vh;outline:none;flex-direction:column;width:min(740px,100%);display:flex}.roller{z-index:2;background:linear-gradient(#74502f 0%,#44291a 45%,#22140b 100%);border-radius:13px;height:26px;margin:0 -18px;transition:transform 1.1s cubic-bezier(.65,.02,.25,1);position:relative;box-shadow:0 6px 14px #0000008c,inset 0 2px 2px #ffdcaa40}.roller:before,.roller:after{content:"";background:radial-gradient(circle at 40% 35%,#f1d38d,#b38b42 55%,#6d5023);border-radius:7px;width:20px;height:36px;position:absolute;top:-5px;box-shadow:0 3px 8px #00000080}.roller:before{left:-12px}.roller:after{right:-12px}.roller-top{transform:translateY(var(--half));margin-bottom:-8px}.roller-bottom{transform:translateY(calc(var(--half) * -1));margin-top:-8px}.letter.is-open .roller{transform:none}.paper{background-color:var(--paper);clip-path:inset(50% 0);background-image:radial-gradient(at 18% 8%,#fff6,#0000 50%),radial-gradient(at 82% 92%,#9664282e,#0000 55%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .35 0 0 0 0 .24 0 0 0 0 .1 0 0 0 .1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");max-height:calc(100vh - 200px);transition:clip-path 1.1s cubic-bezier(.65,.02,.25,1);display:flex;position:relative;box-shadow:inset 0 0 70px #78501e61,inset 0 0 8px #5a3c1473,0 22px 60px #0009}.letter.is-open .paper{clip-path:inset(0)}.paper ::selection{background:#7a1f243d}.paper-scroll{width:100%;color:var(--paper-ink);scrollbar-width:thin;scrollbar-color:#64422080 transparent;outline:none;padding:46px clamp(26px,7vw,76px) 54px;overflow-y:auto}.paper-scroll:focus-visible{box-shadow:inset 0 0 0 2px #7a1f2473}.seal{color:#4a0c10;background:radial-gradient(circle at 35% 30%,#a8282e,#701519 62%,#4b0d10);border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 18px;display:grid;box-shadow:0 3px 8px #3c0a0a73,inset 0 -3px 6px #00000059,inset 0 2px 3px #ffa09640}.seal svg{opacity:.85;width:38px;height:38px}.seal svg path:not(:first-child){fill:#5c1014}.letter h2{font-family:var(--display);text-align:center;color:#3a2414;margin:0 0 6px;font-size:clamp(2rem,4vw,2.7rem);font-style:italic;font-weight:500;line-height:1.1}.letter-subtitle{text-align:center;font-family:var(--display);letter-spacing:.24em;text-transform:uppercase;color:#7a5a3a;margin:0 0 32px;font-size:.76rem;font-weight:600}.letter-body p{-webkit-hyphens:auto;hyphens:auto;margin:0 0 1.05em;font-size:1.24rem;line-height:1.72}.letter-body p.signature{text-align:right;margin-top:1.6em;font-style:italic}.letter-actions{opacity:0;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;transition:opacity .5s .9s;display:flex}.letter.is-open .letter-actions{opacity:1}.letter.reduced .paper{clip-path:none;opacity:0;transition:opacity .35s}.letter.reduced.is-open .paper{opacity:1}.letter.reduced .roller{transition:none;transform:none}.letter.reduced .letter-actions{transition-delay:.1s}.ward-backdrop{background:radial-gradient(at 50% 45%,#28345a59,#060508b8 75%)}.invitation{outline:none;width:min(500px,100%);animation:.5s cubic-bezier(.2,.7,.2,1) both rise}.invitation-card{text-align:center;color:var(--paper-ink);background-color:var(--paper);background-image:radial-gradient(at 22% 6%,#ffffff73,#0000 52%),radial-gradient(at 80% 96%,#96642829,#0000 55%);padding:40px clamp(24px,6vw,52px) 30px;position:relative;box-shadow:inset 0 0 0 1px #fffaeb99,inset 0 0 60px #78501e47,0 26px 70px #0009,0 0 90px #8caaf01f}.invitation-card:before,.invitation-card:after{content:"";pointer-events:none;position:absolute}.invitation-card:before{border:1.5px solid #a07834bf;inset:10px}.invitation-card:after{background:linear-gradient(45deg,#0000 42%,#a07834d9 42% 58%,#0000 58%) 0 0/9px 9px no-repeat,linear-gradient(45deg,#0000 42%,#a07834d9 42% 58%,#0000 58%) 100% 0/9px 9px no-repeat,linear-gradient(45deg,#0000 42%,#a07834d9 42% 58%,#0000 58%) 0 100%/9px 9px no-repeat,linear-gradient(45deg,#0000 42%,#a07834d9 42% 58%,#0000 58%) 100% 100%/9px 9px no-repeat;border:1px solid #3a241459;inset:15px}.invitation-card>*{z-index:1;position:relative}.invitation-emblem{color:#a0782f;filter:drop-shadow(0 1px #fff5dccc);width:46px;height:46px;margin-bottom:10px}.invitation .eyebrow{color:#8a6a32;margin-bottom:8px}.invitation h2{font-family:var(--display);color:#3a2414;margin:0 0 12px;font-size:clamp(1.9rem,4vw,2.4rem);font-style:italic;font-weight:500;line-height:1.1}.invitation-copy{max-width:24em;margin:0 auto 26px;font-size:1.15rem;line-height:1.6}.invitation form{flex-direction:column;align-items:center;display:flex}.word-label{font-family:var(--display);letter-spacing:.28em;text-transform:uppercase;color:#7a5a3a;margin-bottom:6px;font-size:.78rem;font-weight:600}.word-field{width:min(320px,100%);position:relative}.word-field input{width:100%;font-family:var(--display);letter-spacing:.08em;text-align:center;color:var(--paper-ink);background:#fffcf059;border:none;border-bottom:1.5px solid #3a241473;border-radius:2px 2px 0 0;outline:none;padding:.35em 3.6em .3em;font-size:1.55rem;transition:border-color .2s,background .2s,box-shadow .2s}.word-field input:focus-visible{background:#fffcf099;border-bottom-color:#8a6a32;box-shadow:0 2px 0 -.5px #8a6a32,0 10px 24px -14px #a0783499}.word-field input[aria-invalid=true]{border-bottom-color:#7a1f24}.word-toggle{font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;color:#7a5a3a;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.5em .6em;font-size:.74rem;font-weight:600;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.word-toggle:hover{color:#3a2414;background:#3a24140f}.word-toggle:focus-visible,.invitation .btn:focus-visible{outline-offset:2px;outline:2px solid #7a1f24}.word-note{color:#7a1f24;min-height:1.5em;margin:10px 0 0;font-size:1.05rem;font-style:italic}.word-hint{flex-direction:column;align-items:center;gap:12px;margin:14px 0 0;animation:.5s cubic-bezier(.2,.7,.2,1) both rise;display:flex}.word-hint-label{font-family:var(--display);letter-spacing:.28em;text-transform:uppercase;color:#8a6a32;margin:0;font-size:.74rem;font-weight:600}.hint-sticker{aspect-ratio:4/5;width:112px;box-shadow:0 0 0 1px #a07834d9, 0 0 0 4px var(--paper), 0 0 0 5px #a0783480, 0 10px 22px #3c281447;background:#efe3c6;border-radius:10px;margin:0;overflow:hidden}.hint-sticker video,.hint-sticker img{object-fit:cover;width:100%;height:100%;display:block}.riddle-row{font-family:var(--display);color:#3a2414;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.25em .45em;font-size:1.65rem;line-height:1;display:flex}.riddle-text{padding-bottom:.12em;font-style:italic}.riddle-word{gap:.22em;display:inline-flex}.slot{border-bottom:2px solid #3a241480;justify-content:center;align-items:flex-end;width:.72em;height:1.2em;padding-bottom:.1em;transition:border-color .4s;display:inline-flex}.slot.shown{border-bottom-color:#a0782f}.slot.gap{border-bottom:none;width:.35em}.slot .letter{animation:.7s cubic-bezier(.2,.7,.2,1) both slot-in}@keyframes slot-in{0%{opacity:0;color:#c9a45c;text-shadow:0 0 14px #e8c886f2;transform:translateY(-.4em)}to{opacity:1;transform:none}}.invitation-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px;display:flex}.invitation .btn-primary{color:var(--gold-bright);background:#2a1d12;border-color:#8a6a32}.invitation .btn-primary:hover{background:#3a2818;box-shadow:0 6px 22px #78501e59}.invitation .btn-quiet{color:#6b5238}.invitation .btn-quiet:hover{color:#3a2414;background:#3a24140f}.invitation-sample{color:#7a6448;margin:20px 0 0;font-size:.92rem;font-style:italic}.invitation-sample strong{color:#3a2414;font-style:normal;font-weight:500}.invitation-card.is-wrong{animation:.42s ward-miss}@keyframes ward-miss{0%,to{transform:none}20%{transform:translate(-6px)}45%{transform:translate(5px)}70%{transform:translate(-3px)}}@keyframes ward-miss-still{0%,to{box-shadow:inset 0 0 0 1px #fffaeb99,inset 0 0 60px #78501e47,0 26px 70px #0009,0 0 90px #8caaf01f}30%{box-shadow:inset 0 0 0 1px #fffaeb99,inset 0 0 60px #78501e47,0 26px 70px #0009,0 0 110px #8caaf073}}.ward-welcome{text-align:center;font-family:var(--display);color:#fff3df;text-shadow:0 0 24px #ffb45a80,0 2px 12px #000000f2;opacity:0;pointer-events:none;margin:0;padding:0 24px;font-size:clamp(1.4rem,2.6vw,2.1rem);font-style:italic;font-weight:500;position:absolute;bottom:20vh;left:0;right:0}.ward-welcome.show{animation:3.6s both ward-welcome}@keyframes ward-welcome{0%{opacity:0}15%,72%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:none}}html[data-reduced-motion=true] .portrait-panel,html[data-reduced-motion=true] .invitation{animation-name:fade-in}html[data-reduced-motion=true] .invitation-card.is-wrong{animation-name:ward-miss-still}html[data-reduced-motion=true] .word-hint,html[data-reduced-motion=true] .slot .letter{animation-name:fade-in}html[data-reduced-motion=true] .reticle:after,html[data-reduced-motion=true] .prompt{transition:none}
