@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(./cinzel-latin-ext-700-normal-C24KFjuG.woff2)format("woff2"),url(./cinzel-latin-ext-700-normal-CORa-yIv.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:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(./cinzel-latin-700-normal-Dkw14w9r.woff2)format("woff2"),url(./cinzel-latin-700-normal-C-gK7hA8.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:Roboto Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./roboto-condensed-cyrillic-ext-700-normal-CTXjXnze.woff2)format("woff2"),url(./roboto-condensed-cyrillic-ext-700-normal-CWPRiRXS.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:Roboto Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./roboto-condensed-cyrillic-700-normal-9RN-Z7cI.woff2)format("woff2"),url(./roboto-condensed-cyrillic-700-normal-BGMkBBYx.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./roboto-condensed-greek-ext-700-normal-C07FLl9m.woff2)format("woff2"),url(./roboto-condensed-greek-ext-700-normal-DhD1EO0p.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Roboto Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./roboto-condensed-greek-700-normal-DWMOA2VK.woff2)format("woff2"),url(./roboto-condensed-greek-700-normal-89Up2Xly.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:Roboto Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./roboto-condensed-vietnamese-700-normal-D35V1G0s.woff2)format("woff2"),url(./roboto-condensed-vietnamese-700-normal-BtNeb9D6.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:Roboto Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./roboto-condensed-latin-ext-700-normal-B004qtqu.woff2)format("woff2"),url(./roboto-condensed-latin-ext-700-normal-O6H_RRvN.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:Roboto Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./roboto-condensed-latin-700-normal-DRbp0YnP.woff2)format("woff2"),url(./roboto-condensed-latin-700-normal-BOl6B_hI.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:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(./fredoka-hebrew-500-normal-DdMTjgiE.woff2)format("woff2"),url(./fredoka-hebrew-500-normal-BtShCMVp.woff)format("woff");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(./fredoka-latin-ext-500-normal-0PZPWlWP.woff2)format("woff2"),url(./fredoka-latin-ext-500-normal-CA82fdYH.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:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(./fredoka-latin-500-normal-B0JifZgm.woff2)format("woff2"),url(./fredoka-latin-500-normal-BL692wg7.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:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(./fredoka-hebrew-600-normal-CTBxhdlE.woff2)format("woff2"),url(./fredoka-hebrew-600-normal-BiVDObXj.woff)format("woff");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(./fredoka-latin-ext-600-normal-GoyidTAB.woff2)format("woff2"),url(./fredoka-latin-ext-600-normal-BExgZzUO.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:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(./fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(./fredoka-latin-600-normal-CcrEjrB4.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:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(./fredoka-hebrew-700-normal-DBqnFHCe.woff2)format("woff2"),url(./fredoka-hebrew-700-normal-DiqR04Vd.woff)format("woff");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(./fredoka-latin-ext-700-normal--a2O67AJ.woff2)format("woff2"),url(./fredoka-latin-ext-700-normal-DBnuyHy7.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:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(./fredoka-latin-700-normal-BOIZVyIN.woff2)format("woff2"),url(./fredoka-latin-700-normal-C8FeHd3X.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:#0d0a24;--night-2:#1b1344;--glass:#140e34d6;--glass-2:#22164ee6;--cyan:#5ee7ff;--teal:#3ff0c8;--magenta:#ff5fd2;--violet:#b57bff;--gold:#f2c96b;--gold-deep:#b98a2c;--text:#ece8ff;--muted:#a9a0d8;--danger:#ff5a7a;--font-ui:"Fredoka", system-ui, sans-serif;--font-title:"Cinzel", Georgia, serif;--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px)}html{font-size:clamp(11px,min(1.3vw,2.35vh),18px)}*{box-sizing:border-box}html,body{background:var(--night);height:100%;font-family:var(--font-ui);color:var(--text);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;overflow:hidden}[hidden]{display:none!important}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default}svg{flex:none;width:1.25em;height:1.25em}small{font-size:.78em}.muted{color:var(--muted);font-size:.9em}.center{text-align:center}.kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);font-size:.78em;font-weight:600;display:block}#app{background:var(--graveyard,none) center top / cover no-repeat, radial-gradient(ellipse at 50% 0%, #3b2a8e 0%, #1b1344 45%, var(--night) 100%);position:fixed;inset:0}#scene{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}#app:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(78% 72% at 50% 45%,#0000 55%,#0502149e 100%);position:absolute;inset:0}#ui{z-index:2;pointer-events:none;position:absolute;inset:0}.portrait{pointer-events:none;width:100%;height:auto;display:block}.logo{align-items:center;display:inline-flex}.logo img{filter:drop-shadow(0 0 .6em #5ee7ff59);width:auto;height:100%}.logo-fallback{font-family:var(--font-title);color:var(--gold);text-shadow:0 0 .4em #b57bffcc;font-weight:700;display:none}.logo-fallback em{color:var(--cyan);font-style:normal}.logo-text .logo-fallback{display:inline}.logo-hud{height:3.1em}.logo-menu{justify-content:center;height:min(10em,24vh)}.logo-menu .logo-fallback{font-size:3em}.icon-btn{width:2.9em;height:2.9em;color:var(--cyan);background:var(--glass);border:.12em solid #5ee7ffa6;border-radius:.8em;place-items:center;transition:transform .12s;display:inline-grid;box-shadow:0 0 .8em #5ee7ff40,inset 0 0 .6em #5ee7ff26}.icon-btn:hover{transform:scale(1.06)}.icon-btn:active{transform:scale(.94)}.btn{letter-spacing:.02em;color:#fff;text-align:left;border:.12em solid #ffffff59;border-radius:.9em;justify-content:center;align-items:center;gap:.6em;padding:.7em 1.4em;font-weight:600;transition:transform .12s,filter .12s;display:inline-flex;box-shadow:0 .3em .9em #00000073,inset 0 .1em #ffffff40}.btn:hover{filter:brightness(1.12);transform:translateY(-.05em)}.btn:active{transform:scale(.97)}.btn span{flex-direction:column;display:flex}.btn span small{opacity:.85;align-items:center;gap:.3em;margin-top:.15em;font-size:.8em;font-weight:500;display:inline-flex}.btn span small svg{width:1em;height:1em;color:var(--gold)}.btn.big{justify-content:flex-start;width:100%;padding:.85em 1.6em;font-size:1.12em}.btn.small{padding:.4em .9em;font-size:.9em}.btn.cyan{background:linear-gradient(135deg,#1aa7c9,#155f9e 60%,#1b2f7a);border-color:#5ee7ffd9;box-shadow:0 0 1em #5ee7ff59,inset 0 .1em #ffffff4d}.btn.violet{background:linear-gradient(135deg,#6b3fd1,#3c2192 60%,#26155f);border-color:#b57bffd9;box-shadow:0 0 1em #b57bff59,inset 0 .1em #ffffff40}.btn.magenta{background:linear-gradient(135deg,#c43aa4,#7d1f86 60%,#3e1464);border-color:#ff5fd2d9;box-shadow:0 0 1em #ff5fd259,inset 0 .1em #ffffff40}.btn.ghost{color:var(--text);box-shadow:none;background:#ffffff0f;border-color:#a9a0d866}.btn.done{filter:saturate(.4)}.chip{background:#ffffff0f;border:.1em solid #a9a0d866;border-radius:2em;align-items:center;gap:.45em;padding:.45em .95em;font-weight:500;transition:border-color .15s;display:inline-flex}.chip:hover{border-color:var(--cyan)}.chip svg{color:var(--cyan)}.hud-top{top:max(.5em, env(safe-area-inset-top));left:calc(.8em + var(--safe-l));right:calc(.8em + var(--safe-r));pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:.8em;display:grid;position:absolute}.hud-top>*{pointer-events:auto}.hud-left{justify-self:start;align-items:center;gap:.7em;display:flex}.hud-right{justify-self:end}.hud-panel{background:var(--glass);border:.12em solid #ff5fd299;border-radius:.9em;align-items:stretch;display:flex;box-shadow:0 0 1.2em #ff5fd233,inset 0 0 1em #b57bff1f}.stat{flex-direction:column;justify-content:center;min-width:6.5em;padding:.35em 1.1em;display:flex}.stat+.stat{border-left:1px solid #b57bff59}.stat small{letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.stat b{color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.35em;font-weight:600;line-height:1.1}.stat.night b{color:var(--text);font-size:1.05em;font-family:var(--font-title)}.stat.dawn{flex-direction:row;align-items:center;gap:.5em}.stat.dawn svg{color:#cfe4ff;filter:drop-shadow(0 0 .3em #cfe4ffcc);width:1.5em;height:1.5em}.stat.dawn span{flex-direction:column;display:flex}.stat.dawn b{color:#cfe4ff}.stat.dawn.near b{color:#ffc36b}.stat.bump b{animation:.4s bump}@keyframes bump{40%{text-shadow:0 0 .6em var(--gold);transform:scale(1.18)}}.stability{background:var(--glass);border:.12em solid #5ee7ff8c;border-radius:.9em;min-width:13em;padding:.45em .9em .55em;box-shadow:0 0 1em #5ee7ff2e}.stability-label{justify-content:space-between;align-items:baseline;gap:1em;display:flex}.stability-label small{letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.stability-label b{color:var(--cyan);font-variant-numeric:tabular-nums;font-size:1.15em}.stability-bar{background:#00000073;border:1px solid #5ee7ff40;border-radius:1em;height:.55em;margin-top:.3em;overflow:hidden}.stability-bar i{border-radius:inherit;background:linear-gradient(90deg, var(--magenta), var(--violet), var(--cyan));width:100%;height:100%;transition:width .5s;display:block;box-shadow:0 0 .6em #5ee7ffb3}.stability.low .stability-label b{color:#ffc36b}.stability.critical{border-color:var(--danger);animation:1.1s ease-in-out infinite critical}.stability.critical .stability-label b{color:var(--danger)}@keyframes critical{50%{box-shadow:0 0 1.4em #ff5a7a8c}}.stability.down .stability-label{animation:.6s drain}.stability.up .stability-bar i{filter:brightness(1.5)}@keyframes drain{30%{transform:translate(-.25em);box-shadow:0 0 1.6em #ff5a7ab3}60%{transform:translate(.2em)}}.hud-actions{right:calc(.9em + var(--safe-r));bottom:calc(.9em + var(--safe-b));pointer-events:auto;flex-direction:column;gap:.7em;display:flex;position:absolute}.crypt{background:var(--glass);border:1px solid #b57bffb3;border-radius:.8em;width:10em;padding:.6em;box-shadow:0 0 1em #b57bff26}.crypt-heading{color:#d7baff;justify-content:space-between;display:flex}.crypt-heading span{color:var(--muted)}.crypt-captive{width:3.5em;margin:.4em auto;position:relative}.crypt-captive canvas{border-radius:.3em;width:100%;display:block}.crypt-queue{flex-wrap:wrap;gap:.3em;max-height:3em;display:flex;overflow-y:auto}.crypt-queue span{font-family:Roboto Condensed,sans-serif;font-weight:700}.crypt-progress{margin:.35em 0;font-size:.85em;line-height:1.25}.crypt progress{accent-color:#bda4de;width:100%;height:.4em;margin-bottom:.5em;display:block}.crypt-free,.crypt-send summary,.crypt-choices button{color:#e7d6ff;background:#b57bff24;border-radius:.4em;width:100%;min-height:32px;padding:.35em;font-size:.85em}.crypt-free:disabled{opacity:.45}.crypt-send{margin-top:.35em;position:relative}.crypt-send summary{cursor:pointer}.crypt-choices{background:#171128;border:1px solid #bda4de;border-radius:.5em;width:15em;max-height:15em;padding:.5em;position:absolute;bottom:0;right:100%;overflow-y:auto}.crypt-choices button{text-align:left;margin-bottom:.3em;display:block}@media (max-height:500px){.crypt{width:9em;padding:.45em}.crypt-captive{float:left;width:2.1em;margin:.35em .4em .2em 0}.crypt progress{clear:both}.hud-actions{gap:.4em}}.round-btn{letter-spacing:.08em;text-transform:uppercase;background:var(--glass);border:.12em solid;border-radius:.9em;align-items:center;gap:.5em;padding:.6em 1.1em;font-size:.92em;font-weight:600;transition:transform .12s;display:flex;box-shadow:0 0 1em #0006}.round-btn:hover{transform:scale(1.04)}.round-btn:active{transform:scale(.95)}.round-btn:disabled{opacity:.4}.round-btn.violet{color:var(--cyan);border-color:#5ee7ff99}.round-btn.gold{color:var(--gold);border-color:#f2c96ba6}.round-btn em{color:var(--gold);font-style:normal}.hud-finish{left:50%;bottom:calc(1em + var(--safe-b));pointer-events:auto;animation:1.6s ease-in-out infinite breathe;position:absolute;transform:translate(-50%)}@keyframes breathe{50%{box-shadow:0 0 2em #5ee7ff99}}.haunt-pill{border:.1em solid var(--glow);box-shadow:0 0 .8em var(--glow);font-variant-numeric:tabular-nums;color:#fff;pointer-events:none;will-change:transform;background:#0c0822e6;border-radius:2em;align-items:center;gap:.35em;padding:.2em .6em .2em .3em;font-size:.9em;font-weight:600;display:flex;position:absolute;top:0;left:0}.haunt-pill i{background:conic-gradient(var(--glow) calc((1 - var(--k,0)) * 360deg), #ffffff1f 0);border-radius:50%;width:1.1em;height:1.1em}.haunt-pill.veiled{visibility:hidden}.haunt-pill.urgent{border-color:#ff5a7a;animation:.5s ease-in-out infinite alternate urgent;box-shadow:0 0 .8em #ff5a7a}.haunt-pill.urgent i{background:conic-gradient(#ff5a7a calc((1 - var(--k,0)) * 360deg), #ffffff1f 0)}@keyframes urgent{to{box-shadow:0 0 1.4em #ff5a7a}}.companion{left:calc(.4em + var(--safe-l));bottom:calc(.2em + var(--safe-b));pointer-events:none;--ghost:var(--cyan);align-items:flex-end;gap:.2em;display:flex;position:absolute}.companion-ghost{width:7.5em;filter:drop-shadow(0 0 .8em var(--ghost));animation:4s ease-in-out infinite float}.companion.talking .companion-ghost{animation-duration:2.2s}@keyframes float{50%{transform:translateY(-.4em)}}.bubble{border:.12em solid var(--ghost);max-width:19em;box-shadow:0 0 1.1em color-mix(in srgb, var(--ghost) 45%, transparent);pointer-events:auto;cursor:pointer;background:#0e0a28f0;border-radius:1em;margin-bottom:3.2em;padding:.6em .9em .7em;position:relative}.bubble:before{content:"";background:inherit;border-left:inherit;border-bottom:inherit;width:.9em;height:.9em;position:absolute;bottom:1em;left:-.55em;transform:rotate(45deg)}.bubble-name{letter-spacing:.14em;text-transform:uppercase;color:var(--ghost);font-weight:600;display:block}.bubble p{margin:.2em 0 0;line-height:1.35}.bubble p b{color:var(--ghost)}.bubble.pop{animation:.28s pop}@keyframes pop{0%{opacity:0;transform:scale(.85)translateY(.4em)}}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:auto;background:#0603148c;place-items:center;padding:1em;animation:.2s fade-in;display:grid;position:absolute;inset:0}.overlay.leaving{animation:.18s forwards fade-out}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}.panel{background:linear-gradient(to bottom, var(--glass-2), #0e0a28f5);border:.12em solid #b57bff99;border-radius:1.3em;max-width:min(46em,94vw);max-height:92vh;padding:1.3em 1.6em 1.5em;animation:.25s rise;position:relative;overflow:auto;box-shadow:0 0 2.4em #b57bff40,0 1em 3em #0009}@keyframes rise{0%{transform:translateY(.8em)scale(.98)}}.panel-title{font-family:var(--font-title);color:var(--gold);text-shadow:0 0 .5em #f2c96b66;margin:-.2em 2em .9em 0;font-size:1.35em;font-weight:700}.panel-close{width:2.2em;height:2.2em;color:var(--muted);background:#ffffff0f;border-radius:50%;place-items:center;display:grid;position:absolute;top:.8em;right:.8em}.panel-close:hover{color:var(--text)}.menu-overlay .panel{background:#0c0822b8;border-color:#5ee7ff59}.menu{flex-direction:column;align-items:center;gap:.9em;width:min(27em,86vw);display:flex}.menu-tagline{color:var(--muted);text-align:center;margin:-.4em 0 .2em;font-size:.95em}.menu-actions{flex-direction:column;gap:.6em;width:100%;display:flex}.menu-row{flex-wrap:wrap;justify-content:center;gap:.5em;display:flex}.lane-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.6em;width:min(44em,90vw);display:grid}.grave{--ghost:var(--cyan);text-align:center;background:linear-gradient(#3c3460e6,#16122cf2);border:.12em solid #a9a0d859;border-radius:3em 3em .6em .6em;flex-direction:column;align-items:center;gap:.2em;padding:.5em .4em .6em;transition:transform .15s,border-color .15s;display:flex}.grave:not(.locked):hover{border-color:var(--ghost);box-shadow:0 0 1em color-mix(in srgb, var(--ghost) 40%, transparent);transform:translateY(-.15em)}.grave.next{border-color:var(--ghost);box-shadow:0 0 1.2em color-mix(in srgb, var(--ghost) 45%, transparent);animation:2s ease-in-out infinite breathe}.grave.locked{opacity:.55;cursor:default}.grave-night{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.78em}.grave-art{background:radial-gradient(circle at 50% 40%,#2a1f66,#0d0a24 75%);border-radius:50%;place-items:center;width:4.4em;height:4.4em;display:grid;overflow:hidden}.grave-art svg{color:var(--muted);width:1.6em;height:1.6em}.grave-name{font-family:var(--font-title);place-items:center;min-height:2.3em;font-size:.8em;font-weight:700;line-height:1.15;display:grid}.grave small{color:var(--muted);align-items:center;gap:.25em;display:inline-flex}.grave.friend small{color:var(--ghost)}.grave small svg{width:1em;height:1em}.intro{--ghost:var(--cyan);grid-template-columns:14em minmax(0,22em);align-items:center;gap:1.4em;display:grid}.intro-art{box-shadow:0 0 2em color-mix(in srgb, var(--ghost) 35%, transparent);background:radial-gradient(circle at 50% 40%,#2a1f66,#0d0a24 75%);border-radius:1em;overflow:hidden}.intro-text h2{font-family:var(--font-title);color:var(--ghost);text-shadow:0 0 .5em color-mix(in srgb, var(--ghost) 60%, transparent);margin:.15em 0 0;font-size:1.9em}.intro .kicker{color:var(--ghost)}.epithet{color:var(--muted);margin:.1em 0 .6em;font-style:italic}blockquote{border-left:.2em solid var(--ghost);margin:0 0 .8em;padding-left:.8em;line-height:1.4}.house-rule{background:#f2c96b14;border:.1em solid #f2c96b73;border-radius:.8em;margin-bottom:.7em;padding:.6em .8em}.house-rule small{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600}.house-rule p{margin:.15em 0 0;font-weight:500}.intro .btn.big{margin-top:.4em}.pause{flex-direction:column;gap:.6em;width:min(19em,80vw);display:flex}.pause-row{flex-wrap:wrap;justify-content:center;gap:.5em;margin:.2em 0;display:flex}.end{--ghost:var(--cyan);width:min(40em,90vw)}.end-banner{text-align:center;margin:-.3em auto .9em}.end-banner span{font-family:var(--font-title);color:var(--magenta);border:.1em solid var(--magenta);text-shadow:0 0 .4em #ff5fd2cc;background:#0c0822e6;border-radius:.7em;padding:.35em 1.4em;font-size:1.6em;font-weight:700;display:inline-block;box-shadow:0 0 1.4em #ff5fd273}.end.lost .end-banner span{color:var(--muted);box-shadow:none;text-shadow:none;border-color:#a9a0d880}.end-cols{grid-template-columns:1fr 1.1fr;gap:1.2em;display:grid}.end-ghost{align-items:center;gap:.6em;display:flex}.end-ghost .portrait{background:radial-gradient(circle at 50% 40%,#2a1f66,#0d0a24 75%);border-radius:50%;flex:none;width:5.5em}.end-ghost blockquote{margin:0;font-size:.92em}.end-sub{color:var(--ghost);margin:.6em 0 .1em;font-weight:600}.end-total small{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:.5em;display:block}.end-total b{color:var(--gold);text-shadow:0 0 .4em #f2c96b80;font-variant-numeric:tabular-nums;font-size:2.4em}.badges{flex-wrap:wrap;gap:.4em;margin-top:.4em;display:flex}.badge{color:var(--gold);background:#f2c96b1f;border:.1em solid #f2c96b80;border-radius:2em;align-items:center;gap:.3em;padding:.2em .7em;font-size:.85em;font-weight:600;display:inline-flex}.badge svg{width:1em;height:1em}.breakdown{border-collapse:collapse;width:100%;font-size:.92em}.breakdown td{border-bottom:1px solid #a9a0d826;padding:.22em 0}.breakdown td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.end-board{margin-top:.8em}.end-board-head{justify-content:space-between;align-items:center;display:flex}.end-board-head small{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);align-items:center;gap:.3em;font-weight:600;display:inline-flex}.end-board-head svg{width:1.1em;height:1.1em}.see-all{color:var(--cyan);font-size:.85em;text-decoration:underline}.end-board ol{margin:.3em 0 0;padding:0;list-style:none}.end-board li{border-radius:.5em;grid-template-columns:1.6em 1fr auto;gap:.4em;padding:.2em .5em;font-size:.92em;display:grid}.end-board li.me{color:var(--cyan);background:#5ee7ff24}.end-board li b{font-variant-numeric:tabular-nums}.end-board .sign-in{margin:.6em auto 0}.end-actions{flex-wrap:wrap;justify-content:center;gap:.6em;margin-top:1.1em;display:flex}.daily{--ghost:var(--magenta);flex-direction:column;gap:.9em;width:min(30em,86vw);display:flex}.daily-guest{align-items:center;gap:.8em;display:flex}.daily-guest .portrait{background:radial-gradient(circle at 50% 40%,#2a1f66,#0d0a24 75%);border-radius:50%;flex:none;width:5em}.daily-guest h3{font-family:var(--font-title);color:var(--ghost);margin:.1em 0}.daily-guest p{color:var(--muted);margin:0;font-size:.92em}.candles{grid-template-columns:repeat(7,1fr);gap:.35em;display:grid}.candle-day{color:#a9a0d873;background:#ffffff0a;border-radius:.5em;flex-direction:column;align-items:center;padding:.3em 0;display:flex}.candle-day.lit{color:#ffc36b;background:#ffc36b14}.candle-day.lit svg{filter:drop-shadow(0 0 .35em #ffae5c)}.candle-day.today{outline:.12em solid var(--ghost)}.daily .btn.big{justify-content:center}.settings{flex-direction:column;gap:.8em;width:min(26em,84vw);display:flex}.setting{cursor:pointer;justify-content:space-between;align-items:center;gap:1em;display:flex}.setting span{flex-direction:column;display:flex}.setting small{color:var(--muted);font-size:.82em;line-height:1.35}.setting input{opacity:0;pointer-events:none;position:absolute}.switch{background:#ffffff1f;border-radius:1em;flex:none;width:2.8em;height:1.5em;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:1.1em;height:1.1em;transition:transform .15s;position:absolute;top:.2em;left:.2em}.setting input:checked+.switch{background:var(--cyan);box-shadow:0 0 .6em #5ee7ff99}.setting input:checked+.switch:after{transform:translate(1.3em)}.backs{gap:.9em;display:flex}.back-choice{border:.12em solid #0000;border-radius:.8em;flex-direction:column;align-items:center;gap:.4em;padding:.4em;display:flex}.back-choice img{border-radius:.5em;width:6.5em}.back-choice.on{border-color:var(--cyan);box-shadow:0 0 1em #5ee7ff66}.stats-grid{grid-template-columns:repeat(4,1fr);gap:.7em;width:min(34em,86vw);display:grid}.stats-grid div{text-align:center;background:#ffffff0d;border-radius:.8em;flex-direction:column;align-items:center;padding:.6em .3em;display:flex}.stats-grid b{color:var(--gold);font-size:1.5em}.stats-grid small{color:var(--muted)}.howto{flex-direction:column;gap:.7em;width:min(32em,86vw);display:flex}.howto div{align-items:flex-start;gap:.8em;display:flex}.howto p{margin:0;line-height:1.4}.howto b{color:var(--cyan)}.howto-icon{width:2.3em;height:2.3em;color:var(--cyan);background:#5ee7ff1f;border-radius:50%;flex:none;place-items:center;display:grid}.howto-icon.warn{color:var(--magenta);background:#ff5fd224}.toast{left:50%;bottom:calc(1.2em + var(--safe-b));pointer-events:auto;background:#0e0a28f2;border:.12em solid #b57bff99;border-radius:1em;align-items:center;gap:.7em;padding:.6em .8em .6em 1.2em;animation:.25s pop;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 0 1.4em #b57bff4d}.loading{z-index:10;background:radial-gradient(ellipse at 50% 30%, #2b1f6e, var(--night) 70%);pointer-events:auto;flex-direction:column;justify-content:center;align-items:center;gap:1.2em;transition:opacity .5s;display:flex;position:absolute;inset:0}.loading.leaving{opacity:0}.loading small{color:var(--muted)}.loading-bar{background:#ffffff1a;border-radius:1em;width:min(18em,60vw);height:.45em;overflow:hidden}.loading-bar span{background:linear-gradient(90deg, var(--magenta), var(--cyan));width:0;height:100%;transition:width .3s;display:block}.rotate{display:none}@media (orientation:portrait) and (pointer:coarse){.rotate{z-index:20;background:var(--night);pointer-events:auto;flex-direction:column;justify-content:center;align-items:center;gap:1em;font-size:1.3em;display:flex;position:absolute;inset:0}.rotate svg{width:3em;height:3em;color:var(--cyan)}}.loss{pointer-events:none;--k:0;align-content:center;place-items:center;gap:.6em;display:grid;position:absolute;inset:0;overflow:hidden}.loss-ghost{width:min(38em,70vh);filter:drop-shadow(0 0 2em var(--ghost))}.loss-line{font-family:var(--font-title);letter-spacing:.04em;text-align:center;color:var(--text);text-shadow:0 0 .6em var(--ghost);opacity:clamp(0, calc((var(--k) - .45) * 3), 1);margin:0;font-size:2.1em;font-weight:700}.loss-skip{bottom:calc(1.2em + var(--safe-b));color:var(--muted);opacity:calc(min(1, var(--k) * 4) * .7);position:absolute}.loss.ended .loss-skip{display:none}.loss-stability{background:radial-gradient(ellipse 70% 65% at 50% 50%, rgba(10, 4, 30, calc(var(--k) * .55)) 30%, rgba(3, 1, 10, calc(var(--k) * .92)) 100%)}.loss-stability .loss-ghost{opacity:clamp(0, calc(var(--k) * 1.4 - .15), .6);transform:translateY(calc((1 - var(--k)) * 12%)) scale(calc(.6 + var(--k) * .6));position:absolute}.loss-stability .loss-line{color:#d9ccff;margin-top:10em;position:relative}.loss-dawn{background:linear-gradient(to top, rgba(255, 170, 96, calc(var(--k) * .5)) 0%, rgba(255, 206, 150, calc(var(--k) * .22)) 45%, #ffe6c800 80%), rgba(255, 214, 170, calc(var(--k) * .08))}.loss-dawn .loss-ghost{width:min(24em,44vh);opacity:calc(.75 * (1 - var(--k)));transform:translateY(calc(var(--k) * -45%));position:absolute}.loss-dawn .loss-line{color:#fff4e6;text-shadow:0 0 .6em #ffaa60e6;margin-top:6em;position:relative}.dance{pointer-events:none;position:absolute;inset:0;overflow:hidden}.dancer{bottom:-12em;left:calc((var(--i) + .5) / var(--n) * 100%);width:9em;filter:drop-shadow(0 0 1em var(--ghost));animation:rise-up 5.5s ease-out calc(var(--i) * .18s) forwards, sway 1.4s ease-in-out calc(var(--i) * .2s) infinite alternate;margin-left:-4.5em;position:absolute}@keyframes rise-up{20%{opacity:1}60%{opacity:1;transform:translateY(-62vh)}to{opacity:0;transform:translateY(-80vh)}}@keyframes sway{to{margin-left:-3.5em;rotate:8deg}}@media (max-height:500px){.logo-hud{display:none}.stat{min-width:5em;padding:.25em .8em}.stability{min-width:10em}.companion-ghost{width:5.5em}.bubble{max-width:15em;margin-bottom:2em}.panel{padding:.9em 1.2em 1em}.lane-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.4em}.grave-art{width:3.2em;height:3.2em}.intro{grid-template-columns:10em minmax(0,24em)}.logo-menu{height:min(7em,22vh)}.menu{gap:.6em}.btn.big{padding:.6em 1.2em}}@media (pointer:coarse){html{font-size:clamp(13px,min(1.3vw,2.35vh),18px)}.hud-top{top:max(16px, env(safe-area-inset-top))}.hud-actions,.hud-finish{bottom:calc(16px + var(--safe-b))}}@media (pointer:coarse) and (max-height:500px){.menu{gap:.5em;width:min(36em,88vw)}.menu-tagline{display:none}.logo-menu{height:min(5.5em,17vh)}.menu-actions{gap:.45em}.menu .btn.big{padding:.4em 1.1em}.end-banner{margin:-.4em auto .5em}.end-banner span{padding:.25em 1.2em;font-size:1.35em}.end-cols{gap:.9em}.end-ghost .portrait{width:4.5em}.end-total b{font-size:2em}.breakdown td{padding:.1em 0}.end-board{margin-top:.5em}.end-board li{padding:.08em .5em}.end-actions{margin-top:.7em}}.crypt{transform-origin:50% 85%;position:relative}.crypt-captive{background:radial-gradient(at 50% 70%,#30223e,#090812 75%);border-radius:50% 50% .25em .25em;width:4.2em;padding:.3em;box-shadow:inset 0 0 .8em #000}.crypt-captive canvas{opacity:.82}.crypt-captive.empty canvas{opacity:0}.crypt-gate{filter:drop-shadow(2px 3px 2px #000);pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.crypt-captive.empty .crypt-gate{opacity:.75}.crypt.arriving{animation:.85s ease-out crypt-land}.crypt.arriving .crypt-ironwork{transform-origin:10px 84px;animation:.28s ease-out gate-latch}.crypt.arriving:after{content:"";border-radius:inherit;pointer-events:none;border:2px solid #e4caff;animation:.9s ease-out both crypt-ring;position:absolute;inset:-3px}.crypt-flight{z-index:8;pointer-events:none;box-shadow:0 0 12px var(--flight-glow), 0 0 35px #c9a3ff66, 0 10px 25px #0009;will-change:left, top, transform;border-radius:7%;position:fixed}@keyframes crypt-land{0%{border-color:#f3e1ff;transform:scale(1);box-shadow:0 0 2.3em #dab0ffcc}22%{transform:translateY(-.35em)scale(1.07)}45%{transform:translateY(.12em)scale(.98)}70%{transform:translateY(-.08em)scale(1.01)}to{transform:none}}@keyframes gate-latch{0%{transform:translate(-3px)scaleX(.9)}to{transform:none}}@keyframes crypt-ring{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}.stability,.stability-bar{position:relative}.stability-bar i{position:absolute;inset:0 auto 0 0}.stability-bar .stability-trail{box-shadow:none;background:#ffd3da;transition:width 1.15s .25s}.stability.low{border-color:#eeba66}.stability.low .stability-bar i:not(.stability-trail){background:linear-gradient(90deg,#ad723d,#ffce79)}.stability.critical{border-color:var(--danger)}.stability.critical .stability-bar i:not(.stability-trail){background:linear-gradient(90deg,#ae3858,#ff8c9d)}.stability.last-chance{box-shadow:0 0 1.5em #ff5a7a66,inset 0 0 1em #ff5a7a22}.stability-state{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:.3em;font-size:.65em;display:block}.stability.low .stability-state{color:#ffce79}.stability.critical .stability-state{color:#ffabbc}.stability-delta{color:#ff9bb2;opacity:0;pointer-events:none;font-weight:700;position:absolute;top:100%;right:.6em}.stability.down .stability-delta{animation:1.5s ease-out stability-number}.stability.up .stability-delta{color:var(--cyan);animation:1.5s ease-out stability-number}.stability-edge{opacity:0;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 6vw #e94a7240}.stability-drained .stability-edge{animation:1s ease-out stability-edge}.stability-warning{color:#ffce79;text-align:center;pointer-events:none;background:#201824ed;border:1px solid #eeba66;border-radius:.65em;width:min(29em,65vw);padding:.7em 1em;animation:.35s ease-out warning-appear;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 0 1.5em #ffc36b33,0 .4em 1em #0008}.stability-warning p{color:#e7dbe8;margin:.25em 0 0;font-size:.85em;line-height:1.3}.stability-warning[data-level="10"],.stability-warning[data-level="5"]{color:#ffabbc;border-color:#ff7c97;box-shadow:0 0 1.5em #ff5a7a44,0 .4em 1em #0008}@keyframes stability-number{10%,55%{opacity:1}to{opacity:0;transform:translateY(.6em)}}@keyframes stability-edge{15%{opacity:1}to{opacity:0}}@keyframes warning-appear{0%{opacity:0;margin-top:-.4em}to{opacity:1;margin-top:0}}.loss-announcement{text-align:center;background:#100a1edb;border-radius:1em;max-width:min(42em,85vw);padding:1.2em 2em;animation:.6s ease-out warning-appear;position:relative;box-shadow:0 0 4em #100a1e}.loss-kicker{text-transform:uppercase;letter-spacing:.3em;color:#ceb8e9}.loss-sigil{color:#e1caff;text-shadow:0 0 .6em var(--ghost);font-size:3.2em;line-height:1.4}.loss .loss-line{opacity:1;margin-top:0;font-size:clamp(1.3em,3.5vw,2.4em)}.loss-reason{color:#e7dbe8;margin:.8em 0 0;line-height:1.4}.loss-dawn .loss-announcement{background:#2b1c23da}.loss-dawn .loss-sigil{color:#ffce79}.end-reason{text-align:center;max-width:42em;color:var(--muted);margin:.8em auto 1.2em;font-size:.9em;line-height:1.4}@media (max-height:500px){.crypt-captive{width:2.8em}.stability-state{font-size:.55em}.stability-warning{width:min(32em,65vw);padding:.5em .8em;font-size:.8em}.loss-announcement{padding:.8em 1.5em}.loss-sigil{font-size:2em}}@media (prefers-reduced-motion:reduce){.crypt.arriving{animation:.85s ease-out crypt-glow}.crypt.arriving:after,.crypt.arriving .crypt-ironwork,.stability.critical,.stability.down .stability-label,.stability.up .stability-delta,.stability.down .stability-delta,.stability-drained .stability-edge,.stability-warning,.loss-announcement{animation:none}.stability-bar i{transition:none}.stability.down .stability-delta,.stability.up .stability-delta{animation:1.5s ease-out stability-number}}.crypt-card-label{z-index:1;background:#110c21;border:1px solid;border-radius:.35em;padding:.15em .3em;font-family:Roboto Condensed,sans-serif;font-size:1.2em;font-weight:700;line-height:1.15;position:absolute;bottom:-.08em;left:-.45em;box-shadow:0 2px 5px #0009}@media (max-height:500px){.crypt-send{clear:both}}@keyframes crypt-glow{0%{border-color:#f3e1ff;box-shadow:0 0 1.5em #dab0ff88}to{box-shadow:0 0 1em #b57bff26}}
