@font-face{font-family:IM Fell English;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/im-fell-english-latin-400-normal-BhowGHCQ.woff2)format("woff2"),url(/assets/im-fell-english-latin-400-normal-CxhBQSzl.woff)format("woff")}@font-face{font-family:IM Fell English;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/im-fell-english-latin-400-italic-DD_ylKHZ.woff2)format("woff2"),url(/assets/im-fell-english-latin-400-italic-hN89MLGX.woff)format("woff")}@font-face{font-family:IM Fell English SC;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/im-fell-english-sc-latin-400-normal-CW_nhHm4.woff2)format("woff2"),url(/assets/im-fell-english-sc-latin-400-normal-DPW2r_p4.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-latin-400-normal-DtLlO8BS.woff2)format("woff2"),url(/assets/alegreya-sans-latin-400-normal-DmA8jeke.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-latin-500-normal-DS713u5J.woff2)format("woff2"),url(/assets/alegreya-sans-latin-500-normal-vXxrTKJT.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-latin-700-normal-DEbcy2sF.woff2)format("woff2"),url(/assets/alegreya-sans-latin-700-normal-BnzUNlma.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/alegreya-sans-latin-800-normal-CpHsWMQ0.woff2)format("woff2"),url(/assets/alegreya-sans-latin-800-normal-17etSahV.woff)format("woff")}:root{--ink:#1b1612;--ink-soft:#3b2f24;--leather:#2b2019;--leather-hi:#3a2b20;--bronze:#b8863b;--bronze-hi:#e6bd6a;--bronze-lo:#6e4c1f;--parchment:#efe2c4;--parchment-lo:#d9c49b;--bone:#efe6d2;--muted:#a8977a;--blood:#b23a2c;--blood-hi:#e2604a;--mana:#4677bd;--xp:#d9a441;--good:#8fbf6e;--danger:#ff7a5c;--display:"IM Fell English SC", "IM Fell English", "Iowan Old Style", Georgia, serif;--serif:"IM Fell English", "Iowan Old Style", Georgia, serif;--body:"Alegreya Sans", "Gill Sans", "Segoe UI", system-ui, sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--tap:48px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}html,body,#root{height:100%;color:var(--bone);font:1rem/1.35 var(--body);background:#0b0a09;margin:0;overflow:hidden}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:16px}html[data-notch=left]{--safe-r:min(env(safe-area-inset-right,0px), 14px)}html[data-notch=right]{--safe-l:min(env(safe-area-inset-left,0px), 14px)}@media (max-width:640px),(orientation:landscape) and (max-height:500px){html{font-size:15px}}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}:focus-visible,.keyed :focus:not(:focus-visible){outline:2px solid var(--bronze-hi);outline-offset:2px}img{-webkit-user-drag:none}.world{width:100%;height:100%;display:block;position:fixed;inset:0}.game{position:fixed;inset:0}.plate{background:radial-gradient(120% 140% at 30% 0%, #ffe6b40f, transparent 60%), linear-gradient(180deg, var(--leather-hi), var(--leather));border:1px solid var(--bronze-lo);box-shadow:inset 0 0 0 1px #e6bd6a2e,0 6px 18px #0000008c}.btn{min-height:44px;color:var(--bone);font:600 1rem var(--body);letter-spacing:.02em;text-shadow:0 1px #000c;background:0 0;border:0;border-image:url(/art/ui/button.webp) 34% 13% fill/14px 22px;padding:8px 18px;transition:transform .12s,filter .15s}@media (hover:hover){.btn:hover:not(:disabled){filter:brightness(1.12)drop-shadow(0 0 10px #ffaa468c)drop-shadow(0 0 22px #ff8c284d);transform:translateY(-1px)}.btn-primary:hover:not(:disabled){filter:sepia(.2)saturate(1.6)hue-rotate(-12deg)brightness(1.25)drop-shadow(0 0 12px #ffa03ca6)drop-shadow(0 0 26px #ff781e59)}}.btn:focus-visible{outline-offset:3px;outline:2px solid #f1c27a}.btn:active:not(:disabled){filter:brightness(1.15);transform:translateY(1px)scale(.98)}.btn-primary{filter:sepia(.2)saturate(1.6)hue-rotate(-12deg)brightness(1.12);color:#fff4dc}.btn-ghost{background:#00000040;border:1px solid #e6bd6a40;border-radius:999px;padding:6px 14px}.btn-icon{min-width:44px;padding:6px 10px;font-size:1.3rem}.btn-small{min-width:36px;min-height:36px;padding:2px 10px}.sheet .btn,.stat-picker .btn{color:#f6e7c8;text-shadow:0 1px #000;filter:none;background:linear-gradient(#5a3a22,#3a2414);border-image:;border-radius:6px;min-height:44px;padding:8px 16px;box-shadow:inset 0 1px #ffdca040,inset 0 0 0 1px #2a1808,0 2px #b8863b,0 3px 6px #3c1e0a59}.sheet .btn-primary{background:linear-gradient(#a8352a,#6e1a12)}.sheet .btn:disabled,.stat-picker .btn:disabled{opacity:.4;box-shadow:none}.spell-list li.learnable{box-shadow:inset 3px 0 0 var(--bronze);background:#b8863b2e}.btn-large{min-height:54px;padding:12px 28px;font-size:1.12rem}.chip{font:600 .72rem var(--body);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;display:inline-flex}.chip-warn{color:#fff1e6;background:#b23a2cd9;animation:2.4s ease-in-out infinite warn-pulse;box-shadow:0 0 0 1px #ffa07866}@keyframes warn-pulse{50%{box-shadow:0 0 0 1px #ffa07866,0 0 14px #e2604a99}}.icon{object-fit:contain;filter:drop-shadow(0 1px #00000080);display:inline-block}.icon-fallback{font-family:var(--serif);color:var(--bronze-hi);place-items:center;display:inline-grid}.top-stack{z-index:4;top:calc(var(--safe-t) + 8px);left:calc(var(--safe-l) + 8px);right:calc(var(--safe-r) + 8px);pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute}.hud{pointer-events:none;align-self:stretch;align-items:flex-start;gap:10px;max-width:460px;display:flex}.hud>*{pointer-events:auto}.hud-crest{background:0 0;border:0;flex:none;width:54px;height:54px;padding:0;position:relative}.crest-ring{width:54px;height:54px;box-shadow:0 0 0 2px var(--bronze), 0 0 0 4px var(--leather), 0 0 0 5px var(--bronze-lo), 0 6px 14px #0009;background:radial-gradient(circle at 50% 40%,#4a3a2a,#1c140e);border-radius:50%;display:block;overflow:hidden}.crest-ring img{object-fit:cover;object-position:top;width:150%;margin:-2px 0 0 -25%}.crest-level{width:28px;height:28px;font:700 .85rem var(--body);color:#fff2dc;text-shadow:0 1px 1px #000;background:url(/art/ui/seal.webp) 50%/contain no-repeat;place-items:center;display:grid;position:absolute;bottom:-4px;right:-6px}.hud-main{text-shadow:0 1px 2px #000,0 0 6px #000c;flex:1;gap:3px;min-width:0;max-width:300px;padding:2px 0 0;display:grid}.hud-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.hud-name{font:.98rem/1.1 var(--display);color:var(--bronze-hi);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hud-depth{font:600 .72rem var(--body);color:var(--parchment-lo);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.hud-small{gap:10px}.hud-gold{color:#f3d48a;font:700 .8rem var(--body);text-shadow:inherit;font-variant-numeric:tabular-nums;background:0 0;border:0;align-items:center;gap:3px;padding:0;display:inline-flex}.hud-badges{text-align:left;background:0 0;border:0;flex-wrap:wrap;gap:5px;margin:1px 0 2px;padding:0;display:flex}.badge{width:26px;height:26px;box-shadow:0 0 0 2px var(--ring), 0 2px 5px #000000b3;background:radial-gradient(circle at 40% 35%,#3a2a1c,#140c08);border-radius:50%;place-items:center;animation:.25s ease-out both msg-in;display:inline-grid;position:relative}.badge-bad{--ring:#b23a2c}.badge-good{--ring:#c9a14a}.badge small{min-width:16px;box-shadow:0 0 0 1px var(--ring);font:700 .62rem/14px var(--body);color:#f6e7c8;text-align:center;font-variant-numeric:tabular-nums;background:#140c08;border-radius:8px;padding:0 3px;position:absolute;bottom:-5px;right:-6px}.status-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.status-list li{background:#6e4c1f12;border-radius:8px;grid-template-columns:44px 1fr;align-items:start;gap:12px;padding:10px 12px;display:grid}.status-list .badge{width:40px;height:40px}.status-list h3{font:1.15rem var(--serif);color:#3a2410;margin:0}.status-list h3 small{font:.85rem var(--body);color:#6e1a12;margin-left:6px}.status-list p{color:#4a3826;margin:3px 0 0;font-size:.95rem}.status-time{font:italic .88rem var(--serif);color:#6a5640;margin-top:3px;display:block}.bar{background:#0000008c;border-radius:3px;height:12px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #000,0 0 0 1px #b8863b73}.bar-fill{transition:width .35s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0 auto 0 0}.bar-hp .bar-fill{background:linear-gradient(#d4553f,#8e2418)}.bar-sp .bar-fill{background:linear-gradient(#6a98d8,#2c4f8a)}.bar-xp{flex:1;height:10px}.bar-xp .bar-fill{background:linear-gradient(90deg,#a8742a,#f0c96a)}.bar-xp .bar-text{letter-spacing:.04em;font-size:.56rem;line-height:10px}.bar-fill:after{content:"";background:repeating-linear-gradient(100deg,#ffffff12 0 6px,#0000 6px 14px);position:absolute;inset:0}.bar-text{text-align:center;font:700 .64rem/12px var(--body);color:#fff6e8;text-shadow:0 1px 1px #000;font-variant-numeric:tabular-nums;display:block;position:relative}.bar-low .bar-fill{animation:1.2s ease-in-out infinite hp-low}@keyframes hp-low{50%{filter:brightness(1.5)}}.msg-strip{text-align:center;pointer-events:auto;background:0 0;border:0;gap:2px;width:min(100%,560px);padding:0;display:grid}.msg{font:1.02rem/1.25 var(--serif);color:var(--bone);text-shadow:0 1px 2px #000,0 0 10px #000000e6;animation:.35s ease-out both msg-in}.msg:first-child:not(:last-child){opacity:.6;font-size:.92rem}.msg em{color:var(--muted);font-style:normal;font-family:var(--body);font-size:.8em}@keyframes msg-in{0%{opacity:0;transform:translateY(-4px)}}.tone-good{color:#c9e8a8}.tone-bad{color:#f2a28e}.tone-danger{color:#ff8a6a;font-weight:600}.tone-loot{color:#f3d48a}.toast{border:1px solid var(--bronze-lo);max-width:min(86vw,420px);font:1rem var(--serif);text-align:center;background:#1b1612f0;border-radius:8px;padding:12px 18px;animation:.2s ease-out both msg-in;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 30px #0009}.controls{z-index:4;padding:10px calc(var(--safe-r) + 10px) calc(var(--safe-b) + 10px) calc(var(--safe-l) + 10px);pointer-events:none;background:linear-gradient(#0000,#0806058c 40%,#080605cc);gap:8px;display:grid;position:absolute;bottom:0;left:0;right:0}.controls>*{pointer-events:auto}.context{gap:6px;display:grid}.inspector{color:var(--ink);background:linear-gradient(#efe2c4,#dcc8a0);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 6px 6px 14px;animation:.18s ease-out both msg-in;display:flex;box-shadow:0 4px 14px #00000080,inset 0 0 0 1px #6e4c1f66}.inspector .btn-ghost{color:var(--ink-soft);background:#0000000f;border-color:#6e4c1f4d}.inspector-text{min-width:0;display:grid}.inspector-text strong{font:1.1rem var(--display);letter-spacing:.02em}.inspector-text span{color:#5a4632;font-size:.85rem}.inspector-text .inspector-hint{color:#7a4a10;font-style:italic}.action-row{justify-content:center;gap:8px;min-height:0;display:flex}.act{min-width:0;max-width:240px;min-height:52px;font:600 .92rem var(--body);color:var(--bone);text-shadow:0 1px #000;background:0 0;border:0;border-image:url(/art/ui/button.webp) 34% 13% fill/14px 20px;flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding:6px 24px;animation:.2s ease-out both msg-in;display:flex}.act span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.act-primary{filter:sepia(.25)saturate(1.7)hue-rotate(-14deg)brightness(1.15)}.act:active{filter:brightness(1.2);transform:translateY(1px)}.pad-row{justify-content:space-between;align-items:flex-end;gap:10px;display:flex;position:relative}.pad-row:has(.dpad){margin-top:38px}.run-hint{color:var(--ink);font:600 .8rem var(--body);pointer-events:none;white-space:nowrap;background:#f6ead0;border-radius:4px;margin:0;padding:5px 10px;animation:.5s ease-out 1.5s both hint-in;position:absolute;bottom:calc(100% + 8px);box-shadow:0 2px 8px #00000073,inset 0 0 0 1px #6e4c1f59}.run-hint-compass{bottom:calc(100% + 44px);left:0}.run-hint-compass:after{content:"";border:6px solid #0000;border-top-color:#f6ead0;position:absolute;top:100%;left:82px}.run-latch{min-width:64px;min-height:32px;color:var(--ink-soft);font:.8rem var(--display);letter-spacing:.08em;background:radial-gradient(circle at 45% 30%,#f6ead0,#cdb487);border:0;border-radius:999px;padding:2px 14px;transition:background .15s,color .15s,box-shadow .15s;position:absolute;bottom:calc(100% + 2px);left:50%;translate:-50%;box-shadow:inset 0 0 0 2px #6e4c1f80,0 3px 8px #00000080}.run-latch.on{color:#f6e7c8;background:radial-gradient(circle at 45% 30%,#c2402e,#6e1a12);box-shadow:inset 0 0 0 2px #3a0a06,0 0 14px #ff963c99,0 3px 8px #00000080}.run-hint-swipe{left:50%;transform:translate(-50%)}@keyframes hint-in{0%{opacity:0;translate:0 6px}}@media (prefers-reduced-motion:reduce){.run-hint{animation:none}}.shelf{right:calc(var(--safe-r) + 10px);z-index:4;flex-direction:column;gap:8px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.hand{flex-direction:column;flex:0 210px;gap:10px;min-width:0;margin-left:auto;display:flex}.hand[hidden]{display:none}.pad-row .action-row{flex-direction:column-reverse;align-items:stretch;gap:6px;display:flex}.quick-row{justify-content:flex-end;gap:6px;display:flex}.quick{min-width:0;color:var(--bone);font:600 .72rem/1.1 var(--body);text-shadow:0 1px 2px #000;touch-action:manipulation;background:0 0;border:0;flex:0 68px;grid-template-rows:auto auto;align-content:start;justify-items:center;gap:3px;padding:0;animation:.2s ease-out both msg-in;display:grid;position:relative}.quick-disc{background:radial-gradient(circle at 50% 35%,#4a3726,#221811);border-radius:50%;place-items:center;width:52px;height:52px;display:grid;position:relative;box-shadow:inset 0 0 0 2px #e6bd6a73,0 0 0 1px #000,0 4px 10px #00000080}.quick-disc .token{border-width:2px}.quick-count{min-width:20px;font:700 .68rem/1.3 var(--body);color:var(--bone);background:#221811;border-radius:9px;padding:1px 4px;position:absolute;bottom:-2px;right:-4px;box-shadow:inset 0 0 0 1px #e6bd6a80}.quick-name{-webkit-line-clamp:2;line-clamp:2;text-align:center;overflow-wrap:anywhere;-webkit-box-orient:vertical;max-width:100%;display:-webkit-box;overflow:hidden}.quick:active .quick-disc{filter:brightness(1.2);transform:translateY(1px)}.quick.spent .quick-disc{filter:grayscale(.85)brightness(.6)}.quick.spent .quick-name{opacity:.6}.quick-ring{pointer-events:none;opacity:0;width:calc(100% + 8px);height:calc(100% + 8px);position:absolute;inset:-4px;rotate:-90deg}.quick-ring circle{fill:none;stroke:#e6bd6a;stroke-width:3px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px}.quick.holding .quick-ring{opacity:1}.quick.holding .quick-ring circle{animation:.6s linear forwards quick-hold}.quick.holding .quick-disc{animation:.6s ease-in forwards quick-shrink}@keyframes quick-hold{to{stroke-dashoffset:0}}@keyframes quick-shrink{0%,25%{scale:1}to{scale:.82}}.pad-row .act{flex:none;justify-content:flex-start;max-width:none;min-height:56px;padding:10px 24px}.shelf-btn{background:radial-gradient(circle at 50% 35%,#4a3726,#221811);border:0;border-radius:12px;place-items:center;width:56px;height:56px;padding:0;display:grid;box-shadow:inset 0 0 0 1px #e6bd6a59,0 0 0 1px #000,0 4px 10px #00000080}.shelf-btn:active{filter:brightness(1.25);transform:translateY(1px)}.dpad{touch-action:none;flex:none;width:176px;height:176px;position:relative}.dpad-rose{background:url(/art/ui/compass-glass.webp) 50%/contain no-repeat;position:absolute;inset:0}.dpad-btn{width:54px;height:54px;transform:rotate(var(--a)) translateY(-60px) rotate(calc(-1 * var(--a)));background:0 0;border:0;border-radius:50%;margin:-27px;position:absolute;top:50%;left:50%}.dpad-btn:active,.dpad-btn:focus-visible{background:radial-gradient(circle,#ffd27873,#0000 70%)}.dpad-arrow{transform:rotate(var(--a));position:absolute;inset:0}.dpad-arrow:before{content:"";filter:drop-shadow(0 1px #ffe6b480);border:7px solid #0000;border-top:0;border-bottom:10px solid #281a0cd9;margin-left:-7px;position:absolute;top:13px;left:50%}.dpad-hold{width:52px;height:52px;color:var(--ink-soft);font:.78rem var(--display);background:radial-gradient(circle at 45% 35%,#f6ead0,#cdb487);border:0;border-radius:50%;margin:-26px;position:absolute;top:50%;left:50%;box-shadow:inset 0 0 0 2px #6e4c1f80}.dpad-hold:active{filter:brightness(.9)}.dpad-btn:after{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#ffd678e6,#ffbe504d 45%,#0000 72%);border-radius:50%;position:absolute;inset:0}.dpad-btn.lit:after{animation:.42s ease-out rose-lit}.dpad-hold.lit{animation:.5s ease-out rose-wait}@keyframes rose-lit{0%{opacity:1}to{opacity:0}}@keyframes rose-wait{0%{transform:scale(1);box-shadow:inset 0 0 0 2px #6e4c1f80,0 0 #ffc86ecc}35%{transform:scale(1.12)}to{transform:scale(1);box-shadow:inset 0 0 0 2px #6e4c1f80,0 0 0 16px #ffc86e00}}.aim-bar{border:1px solid var(--bronze-lo);background:#1b1612eb;border-radius:10px;align-items:center;gap:6px;padding:6px;display:flex}.aim-label{text-align:center;flex:1;min-width:0;display:grid}.aim-label strong{font:1rem var(--display);color:var(--bronze-hi)}.aim-label span{color:var(--parchment-lo);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.safe-area{inset:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);visibility:hidden;pointer-events:none;position:fixed}.threat-marker{z-index:3;background:radial-gradient(circle,#3a1f18,#160c09);border:0;border-radius:50%;width:44px;height:44px;margin:-22px;padding:0;position:absolute;box-shadow:0 0 0 2px #b23a2c,0 4px 10px #000}.threat-marker img{object-fit:cover;border-radius:50%;width:100%;height:100%}.threat-arrow{position:absolute;inset:0}.threat-arrow:after{content:"";border:6px solid #0000;border-left:9px solid #e2604a;margin-top:-6px;position:absolute;top:50%;right:-9px}.run-latch,.dpad-hold,.pad-row .act,.quick-disc{-webkit-backdrop-filter:blur(4px)saturate(1.2);backdrop-filter:blur(4px)saturate(1.2)}.dpad:before{content:"";background:radial-gradient(circle at 50% 28%,#fff4de1f,#0000 65%);border-radius:50%;position:absolute;inset:9%;box-shadow:inset 0 1px #fff4de4d,inset 0 0 0 1px #ffecc82e}.dpad-rose{opacity:.82;filter:drop-shadow(0 2px 4px #00000073)}.dpad-arrow:before{filter:drop-shadow(0 1px 1px #000c);border-bottom-color:#fff0d2e6}.dpad-hold,.run-latch{color:var(--bone);text-shadow:0 1px 2px #000;background:radial-gradient(circle at 45% 30%,#fff4de47,#281c104d);box-shadow:inset 0 1px #fff4de73,inset 0 0 0 1px #ffecc84d,0 3px 8px #00000059}.run-latch.on{background:radial-gradient(circle at 45% 30%,#e2604a99,#6e1a128c);box-shadow:inset 0 1px #ffdcc873,inset 0 0 0 1px #ff967873,0 0 14px #ff963c80}.pad-row .act{background:linear-gradient(#fff4de33,#1e160e52);border:0;border-image:;border-radius:14px;box-shadow:inset 0 1px #fff4de66,inset 0 0 0 1px #e6bd6a66,0 4px 12px #00000059}.pad-row .act-primary{filter:none;background:linear-gradient(#e2604a5c,#6e1a124d);box-shadow:inset 0 1px #ffdcc873,inset 0 0 0 1px #ffa07880,0 4px 12px #00000059}.quick-disc{background:radial-gradient(circle at 50% 30%,#fff4de33,#1e160e59);box-shadow:inset 0 1px #fff4de66,inset 0 0 0 1px #e6bd6a73,0 4px 10px #00000059}.scrim{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0604039e;place-items:end center;animation:.18s ease-out both fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.sheet{width:min(100vw,860px);max-height:calc(100dvh - var(--safe-t) - 24px);color:var(--ink);background:url(/art/textures/parchment.jpg) center / 512px, var(--parchment);padding-bottom:var(--safe-b);border-radius:14px 14px 0 0;flex-direction:column;animation:.24s cubic-bezier(.215,.61,.355,1) both sheet-up;display:flex;position:relative;box-shadow:0 -10px 40px #0009,inset 0 0 60px #78501e59}.sheet:before{content:"";pointer-events:none;opacity:.9;border:24px solid #0000;border-image:url(/art/ui/frame-panel.webp) 22%/24px round;position:absolute;inset:6px}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes sheet-down{to{transform:translateY(100%)}}@keyframes fade-out{to{opacity:0}}.presence{display:contents}.presence.leaving{z-index:19;pointer-events:none;display:block;position:fixed;inset:0}.leaving .scrim{animation:.19s ease-in both fade-out}.leaving .sheet{animation:.19s cubic-bezier(.55,.055,.675,.19) both sheet-down}.sheet-head{justify-content:space-between;align-items:center;padding:22px 26px 4px;display:flex}.sheet-head h2{font:400 1.6rem var(--display);color:#4a2f14;letter-spacing:.03em;margin:0}.sheet-close{color:#4a2f14;background:#4a2f141f;border:0;border-radius:50%;width:44px;height:44px;font-size:1.1rem}.sheet-body{overscroll-behavior:contain;flex-direction:column;flex:1;gap:14px;min-height:0;margin:0 28px 30px;padding:6px 2px 8px;display:flex;overflow:auto}.empty-note{color:#6a5640;font-style:italic;font-family:var(--serif);padding:8px 0;list-style:none}.tabs{border-bottom:1px solid #6e4c1f59;align-items:center;gap:6px;display:flex}.tabs button{min-height:40px;font:1.02rem var(--display);color:#7a5a36;background:0 0;border:0;border-bottom:2px solid #0000;padding:4px 14px}.tabs button.on{color:#3a2410;border-bottom-color:var(--blood)}.tabs small{font-family:var(--body);color:#8a6a46;font-size:.75rem}.burden{white-space:nowrap;color:#6a5640;font-variant-numeric:tabular-nums;margin-left:auto;padding-right:10px;font-size:.85rem}.pack-layout{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.doll{grid-template-columns:repeat(3,1fr);grid-template-areas:"amulet helm light""weapon body shield""ring1 cloak ring2""gloves bow boots";justify-items:center;gap:6px;padding:8px;display:grid;position:relative}.doll-figure{opacity:.45;mix-blend-mode:multiply;pointer-events:none;background:url(/art/ui/paperdoll.webp) 50%/contain no-repeat;position:absolute;inset:0 18%}.doll-slot{min-width:var(--tap);min-height:var(--tap);background:0 0;border:0;border-radius:50%;padding:4px;position:relative}.doll-slot:disabled{opacity:1}.doll-slot.active .token{box-shadow:0 0 0 3px var(--blood), 0 4px 10px #00000059}.token{background:radial-gradient(circle at 40% 35%,#fbf4e4,#dcc8a0);border:3px solid #6d5a42;border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative;overflow:hidden;box-shadow:0 0 0 2px #fbf7ee,0 3px 6px #00000059}.token:before{content:"";background:var(--tint,transparent);opacity:.35;position:absolute;inset:0}.token img{object-fit:contain;width:84%;height:84%;position:relative}.token-empty{box-shadow:none;background:#6e4c1f14;border:2px dashed #6e4c1f73}.token-empty span{font:.62rem var(--display);color:#8a6a46;text-align:center;line-height:1}.pack-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.pack-list li+li .pack-row{border-top:1px solid #6e4c1f24}.pack-row{text-align:left;width:100%;min-height:40px;color:var(--ink);background:0 0;border:0;border-radius:4px;align-items:center;gap:9px;padding:3px 6px;display:flex}@media (hover:hover){.pack-row:hover{background:#6e4c1f14}}.pack-row.active{box-shadow:inset 3px 0 0 var(--blood);background:#b23a2c1f}.pack-name{min-width:0;font:.98rem/1.15 var(--serif);flex:1}.shelves{scrollbar-width:none;gap:6px;padding:8px 0 6px;display:flex;overflow-x:auto}.shelf-chip{color:#5a3a1a;min-height:32px;font:.92rem var(--serif);white-space:nowrap;background:#fffaeb59;border:1px solid #6e4c1f66;border-radius:16px;flex:none;padding:3px 11px}.shelf-chip small{font:700 .72rem var(--body);color:#8a6a46;margin-left:2px}.shelf-chip.on{color:#f6e7c8;background:#6e1a12;border-color:#3a0a06}.shelf-chip.on small{color:#f0c890}.pack-sheet{height:calc(100dvh - var(--safe-t) - 10px)}.item-detail-close{color:#4a2f14;background:#4a2f141f;border:0;border-radius:50%;width:36px;height:36px;position:absolute;top:6px;right:6px}.pack-weight,.pack-price{color:#6a5640;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.85rem}.pack-price{color:#7a4a10;font-weight:700}.item-detail{z-index:1;background:linear-gradient(#f7eedb,#e9d9b6);border-radius:10px;flex:none;align-items:flex-start;gap:14px;padding:12px 44px 12px 12px;animation:.18s ease-out both msg-in;display:flex;position:sticky;bottom:0;box-shadow:0 -2px #6e4c1f40,0 8px 20px #3c280a40}.item-detail-body{flex:1;gap:6px;min-width:0;display:grid}.item-detail h3{font:1.2rem var(--serif);color:#3a2410;margin:0}.item-lines{color:#5a4632;flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.verbs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qty{font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-weight:700;display:inline-flex}.spell-list,.log-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.spell-list li{background:#6e4c1f12;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;display:flex}.spell-list li.dim{opacity:.6}.spell-main{flex:1;min-width:0;display:grid}.spell-name{font:1.1rem var(--serif);color:#3a2410}.spell-meta{color:#6a5640;font-variant-numeric:tabular-nums;font-size:.82rem}.spell-info{color:#7a4a10;font-size:.82rem}.log-list li{font:1rem/1.3 var(--serif);color:#3a2a1a;border-bottom:1px dotted #6e4c1f40;padding:3px 0}.log-list .tone-good{color:#2f6a20}.log-list .tone-bad,.log-list .tone-danger{color:#9a2a1a}.log-list .tone-loot{color:#7a5a10}.store-head{align-items:center;gap:14px;display:flex}.store-facade{object-fit:contain;filter:drop-shadow(0 4px 6px #0000004d);width:96px;height:96px}.store-owner{font:italic 1.05rem var(--serif);color:#4a2f14;margin:0}.store-gold{color:#6a5640;margin:2px 0 0;font-size:.9rem}.store-gold strong{color:#7a4a10}.menu-list{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.menu-row{font:1.05rem var(--serif);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;display:flex}.menu-row .seg{min-width:0;max-width:100%;margin-left:auto;display:flex}.menu-row .seg button{white-space:nowrap;flex:auto;min-width:0;padding-inline:10px}.menu-note,.menu-foot{color:#6a5640;margin:0;font-size:.85rem}.pack-badge{color:var(--parchment);background:#4a2f14;border-radius:999px;flex:none;padding:1px 8px;font-size:.72rem;font-weight:600}.item-note{color:#6a5640;margin:4px 0 0;font-size:.85rem}.confirm-detail{color:#4a3a28;margin:0;line-height:1.45}.confirm-row{flex-wrap:wrap;gap:12px;display:flex}.confirm-row .btn{flex:140px;min-height:48px}.menu-foot{margin-top:8px;font-size:.78rem}.seg{border-radius:999px;display:inline-flex;overflow:hidden;box-shadow:inset 0 0 0 1px #6e4c1f73}.seg button{color:#6a5640;background:0 0;border:0;min-height:40px;padding:4px 16px;font-weight:600}.seg button.on{color:var(--parchment);background:#4a2f14}.boot,.fatal{text-align:center;font:1.3rem var(--serif);color:var(--parchment-lo);background:#0b0a09;place-content:center;gap:14px;padding:24px;display:grid;position:fixed;inset:0}.fatal h1{font:2rem var(--display);color:var(--bronze-hi);margin:0}.title-screen{background:#0b0a09;place-items:end center;display:grid;position:fixed;inset:0;overflow:hidden}.title-backdrop{position:absolute;inset:0}.title-backdrop:after{content:"";background:linear-gradient(#0b0a091a 30%,#0b0a09d9 75%,#0b0a09);position:absolute;inset:0}.title-art{will-change:transform, opacity;animation:var(--kb) 34s linear both;background:50% 30%/cover no-repeat;position:absolute;inset:0}.title-art.on{animation:title-in 5s ease both, var(--kb) 34s linear both}.kb-0{--kb:kb-0}.kb-1{--kb:kb-1}.kb-2{--kb:kb-2}.kb-3{--kb:kb-3}@keyframes kb-0{0%{transform:scale(1.04)translate(-1.5%,1%)}to{transform:scale(1.18)translate(2%,-2%)}}@keyframes kb-1{0%{transform:scale(1.2)translate(2%,-1.5%)}to{transform:scale(1.05)translate(-1%,1%)}}@keyframes kb-2{0%{transform:scale(1.1)translate(-3%)}to{transform:scale(1.16)translate(3%,-1%)}}@keyframes kb-3{0%{transform:scale(1.06)translateY(-2%)}to{transform:scale(1.2)translate(-1.5%,2%)}}@keyframes title-in{0%{opacity:0}}.leaves{pointer-events:none;perspective:900px;position:absolute;inset:0;overflow:hidden}.leaf{animation:leaf-fall var(--dur) linear var(--delay) infinite;will-change:transform;filter:brightness(var(--dim));position:absolute;top:0}.leaf-sway{animation:leaf-sway calc(var(--dur) / 4) ease-in-out var(--delay) infinite alternate}.leaf-card{width:var(--w);aspect-ratio:5/7;transform-style:preserve-3d;animation:leaf-rock var(--spin) ease-in-out var(--delay) infinite alternate;position:relative}.leaf.tumble .leaf-card{animation:leaf-spin var(--spin) linear var(--delay) infinite}.leaf-face,.leaf-back{backface-visibility:hidden;border-radius:7px;position:absolute;inset:0;box-shadow:0 6px 14px #00000073}.leaf-face{background:url(/art/textures/parchment.jpg) 50%/180px,#e9d9b4;place-items:end center;display:grid;overflow:hidden;box-shadow:inset 0 0 0 3px #f6ecd2,inset 0 0 0 4px #9a7440,0 6px 14px #00000073}.leaf-face img{object-fit:contain;object-position:bottom;width:88%;height:92%}.leaf-back{background:radial-gradient(circle,#c99a4a 0 9%,#0000 10%),repeating-linear-gradient(45deg,#5a1610 0 6px,#6e1a12 6px 12px);transform:rotateY(180deg);box-shadow:inset 0 0 0 3px #c99a4a,inset 0 0 0 5px #3a0a06,0 6px 14px #00000073}@keyframes leaf-fall{0%{transform:translate(-50%,calc(-100% - 60px))}to{transform:translate(-50%,calc(100vh + 60px))}}@keyframes leaf-sway{0%{transform:translateX(calc(var(--sway) * -1)) rotate(-20deg)}to{transform:translateX(var(--sway)) rotate(20deg)}}@keyframes leaf-rock{0%{transform:rotate3d(var(--ax), var(--ay), .25, -65deg)}to{transform:rotate3d(var(--ax), var(--ay), .25, 65deg)}}@keyframes leaf-spin{0%{transform:rotate3d(var(--ax), var(--ay), .25, 0deg)}to{transform:rotate3d(var(--ax), var(--ay), .25, 360deg)}}@media (prefers-reduced-motion:reduce){.leaves{display:none}}.title-card{z-index:1;width:min(92vw,520px);padding:24px 20px calc(var(--safe-b) + 36px);text-align:center;justify-items:center;gap:10px;display:grid;position:relative}.eyebrow{font:400 clamp(1.4rem, 6vw, 2.2rem)/1 var(--display);letter-spacing:.32em;text-transform:uppercase;color:var(--bronze-hi);text-shadow:0 2px #3a2410;margin:0 0 -6px}.title-name{justify-items:center;margin:0;font-weight:400;display:grid}.title-word{font:400 clamp(3.4rem, 15vw, 6rem)/.9 var(--display);letter-spacing:.06em;color:#f1dfb4;text-shadow:0 2px #3a2410,0 0 40px #ffa03c59;margin:0}.title-sub{max-width:34ch;font:1.08rem/1.4 var(--serif);color:var(--parchment-lo);margin:0}.title-tip{max-width:36ch;min-height:2.8em;font:italic .98rem/1.4 var(--serif);color:#e9d3a6;text-shadow:0 1px 3px #000;margin:2px 0 0;animation:14s both tip-cycle}@keyframes tip-cycle{0%{opacity:0;transform:translateY(4px)}7%,92%{opacity:1;transform:none}to{opacity:0}}@media (prefers-reduced-motion:reduce){.title-tip,.title-art,.title-art.on{animation:none}}.title-actions{gap:10px;width:min(100%,320px);margin-top:10px;display:grid}.title-foot{color:var(--muted);margin:6px 0 0;font-size:.75rem}.birth-screen{background:url(/art/textures/parchment.jpg) center / 512px, var(--parchment);color:var(--ink);grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.birth-screen:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 120px #5a3c148c}.birth-head{padding:calc(var(--safe-t) + 12px) 18px 0;align-items:center;gap:12px;display:flex}.birth-head h1{font:400 1.7rem var(--display);color:#4a2f14;margin:0}.birth-head .btn-ghost{color:#4a2f14;background:#4a2f1414;border-color:#6e4c1f59}.birth-body{grid-template:"hero hero""class race"minmax(0,1fr)/minmax(0,1fr) minmax(0,1fr);gap:12px;min-height:0;padding:10px 14px;display:grid;overflow:hidden}.page-stats .birth-body{grid-template-areas:"hero hero""stats stats"}.birth-cell{overscroll-behavior:contain;background:#fffaeb59;border-radius:10px;min-height:0;padding:10px 12px;overflow-y:auto;box-shadow:inset 0 0 0 1px #6e4c1f40}.birth-hero{grid-area:hero;grid-template-columns:auto 1fr;align-items:center;gap:14px;display:grid}.birth-class{grid-area:class}.birth-race{grid-area:race}.birth-cell.birth-stats{box-shadow:none;background:0 0;grid-area:stats;padding:0}.birth-stats .stat-picker{margin:0}.birth-who{justify-items:stretch;gap:8px;min-width:0;display:grid}.birth-summary{font:italic 1rem var(--serif);color:#5a3a1a;margin:0}.birth-step{font:.8rem var(--body);color:#7a5a36;margin-left:auto}.birth-standee{place-items:end center;height:min(170px,24dvh);display:grid;position:relative}.birth-standee .look-toggle{z-index:1;box-shadow:inset 0 0 0 1px var(--bronze-lo), 0 2px 6px #28190a59;margin:0;position:absolute;bottom:2px;left:50%;translate:-50%}.birth-standee .look-toggle button{min-width:38px;min-height:30px;padding:2px 8px;font-size:1.05rem}.birth-standee img{filter:drop-shadow(0 10px 8px #3c280a73);max-height:min(170px,24dvh);animation:.4s cubic-bezier(.2,.9,.3,1.3) both standee-in}.birth-class .pick-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px}.birth-race .chip-pick{text-align:left;align-items:center;gap:10px;min-height:40px;padding:4px 12px 4px 5px;display:flex}.birth-race .pick-row{flex-direction:column;align-items:stretch}@media (min-width:820px){.birth-body{grid-template:"hero class race"minmax(0,1fr)/minmax(0,.9fr) minmax(0,1.3fr) minmax(0,.8fr);gap:16px;padding:12px 18px}.page-stats .birth-body{grid-template-areas:"hero stats stats"}.birth-hero{grid-template-columns:1fr;align-content:start;justify-items:center}.birth-who{justify-items:center}.birth-standee{height:min(440px,50dvh)}.birth-standee img{max-height:min(440px,50dvh)}.birth-standee .look-toggle button{min-width:52px;min-height:40px;padding:2px 14px;font-size:1.35rem}.birth-hero{align-content:center}.birth-class,.birth-race{flex-direction:column;display:flex}.birth-class .pick-grid{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:10px;min-height:0}.birth-class .pick{grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:10px 6px 6px;font-size:1.05rem}.birth-class .pick img{width:100%;height:100%;min-height:0}.birth-race .pick-row{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:8px;min-height:0;display:grid}.birth-race .chip-pick{border-radius:10px;gap:.45em;min-height:0;padding:6px 10px 6px 6px;font-size:clamp(1rem,.45rem + .65vw,1.6rem);overflow:hidden}.birth-race .race-face{border-radius:8px;width:auto;max-width:44%;height:100%;max-height:132px}.birth-class .pick{font-size:clamp(1.05rem,.5rem + .6vw,1.6rem)}.birth-class .pick-blurb,.birth-race .pick-blurb{min-height:2.7em;font-size:clamp(1rem,.5rem + .72vw,1.5rem)}.birth-stats .stat-picker{box-sizing:border-box;flex-direction:column;min-height:100%;padding:14px 20px 16px;display:flex}.birth-stats .stat-rows{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 0;margin:auto 0;padding:12px 0 8px}.birth-stats .stat-row{border:0;grid-template:"art art art""name name name""final parts parts""flavor flavor flavor""help help help"1fr"nudge nudge nudge"/auto 1fr auto;align-items:baseline;gap:6px 10px;padding:4px clamp(8px,.8vw,16px) 8px}.birth-stats .stat-row+.stat-row{border-left:1px dotted #6e4c1f66}.birth-stats .stat-art{aspect-ratio:4/5;border-radius:6px;width:100%;height:auto;max-height:40dvh}.birth-stats .stat-name{font-size:clamp(1.15rem,.6rem + .7vw,1.7rem)}.birth-stats .stat-final{font-size:clamp(1.7rem,.9rem + 1.1vw,2.6rem)}.birth-stats .stat-breakdown{font-size:clamp(.95rem,.6rem + .4vw,1.2rem)}.birth-stats .stat-flavor{font-size:clamp(1.02rem,.55rem + .6vw,1.45rem)}.birth-stats .stat-help{align-self:start;font-size:clamp(.92rem,.5rem + .5vw,1.2rem)}.birth-stats .stat-nudge{place-self:end center}.birth-stats .stat-head h2{font-size:1.5rem}}@media (min-width:820px) and (max-width:1199px){.birth-race .chip-pick{text-align:center;flex-direction:column;justify-content:center;gap:4px;padding:6px 4px;font-size:.95rem}.birth-race .race-face{flex:1;height:auto;min-height:0;max-height:64px}}.race-face{aspect-ratio:1;background:#6e4c1f1f;border-radius:50%;flex:none;width:32px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #6e4c1f4d}.race-face img{width:auto;max-width:none;height:400%;position:absolute;top:0;left:50%;translate:-50%}.chip-pick.on .race-face{box-shadow:inset 0 0 0 1px #f6e7c899}@keyframes standee-in{0%{opacity:0;transform:translateY(12px)rotate(-3deg)}}.name-row{align-items:stretch;gap:6px;min-width:0;display:flex}.name-row input{flex:1;width:100%;min-width:0}.name-reroll{color:#4a2f14;min-width:44px;font:1.4rem/1 var(--body);cursor:pointer;background:#4a2f141f;border:0;border-radius:8px;transition:background .15s,box-shadow .15s}@media (hover:hover){.name-reroll:hover{background:#4a2f1433;box-shadow:0 0 10px #ffaa4680}}.name-field{width:100%;max-width:280px;font:.8rem var(--display);color:#6a4a24;letter-spacing:.08em;grid-template-columns:minmax(0,1fr);gap:4px;display:grid}.name-field input{min-height:46px;font:1.4rem var(--serif);color:var(--ink);background:#fffaeb80;border:0;border-bottom:2px solid #6e4c1f;border-radius:6px 6px 0 0;padding:6px 12px}.birth-cell h2{font:400 1.25rem var(--display);color:#4a2f14;margin:6px 0}.pick-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;display:grid}.pick{min-width:0;font:.92rem var(--serif);color:var(--ink);background:#6e4c1f14;border:0;border-radius:10px;justify-items:center;gap:2px;padding:6px 4px;display:grid}.pick span{text-align:center;max-width:100%;line-height:1.15}.pick img{object-fit:contain;height:84px}.pick.on{box-shadow:inset 0 0 0 2px var(--blood);background:#b23a2c26}.pick-row{flex-wrap:wrap;gap:6px;display:flex}.chip-pick{min-height:40px;font:1rem var(--serif);color:var(--ink);background:#fffaeb66;border:1px solid #6e4c1f66;border-radius:999px;padding:4px 14px}.chip-pick.on{color:var(--parchment);background:#4a2f14;border-color:#4a2f14}.pick-blurb{font:italic 1rem/1.35 var(--serif);color:#5a4632;max-width:60ch;margin:6px 0 2px}.birth-foot{padding:10px 18px calc(var(--safe-b) + 14px);border-top:1px solid #6e4c1f40;justify-content:center;display:flex}.death-screen{z-index:30;padding:calc(10px + var(--safe-t)) calc(10px + var(--safe-r)) calc(10px + var(--safe-b)) calc(10px + var(--safe-l));background:radial-gradient(circle at 50% 30%,#1e1814db,#060403f7);animation:1.2s ease-out both fade-in;display:grid;position:fixed;inset:0}@media (min-width:760px) and (orientation:landscape){.controls{background:linear-gradient(#0000,#08060599);grid-template-columns:auto 1fr auto;align-items:end}.pad-row{display:contents}.run-hint-compass{left:calc(var(--safe-l) + 10px)}.dpad{grid-area:1/1}.context,.aim-bar{grid-area:1/2;justify-self:center;width:100%;max-width:560px}.hand{grid-area:1/3;width:220px}.top-stack{flex-direction:row;justify-content:space-between;align-items:flex-start}.hud{flex:0 460px}.msg-strip{text-align:right;width:min(40vw,460px);margin-top:6px}}@media (max-width:380px){.dpad{width:156px;height:156px}.dpad-btn{transform:rotate(var(--a)) translateY(-53px) rotate(calc(-1 * var(--a)));width:48px;height:48px;margin:-24px}.shelf-btn{width:52px;height:52px}.act span{font-size:.84rem}}@media (max-width:640px) and (orientation:portrait){.shelf{top:auto;bottom:calc(var(--safe-b) + min(312px, 50vh - 109px));gap:6px;transform:none}.shelf-btn{width:50px;height:50px}}@media (max-width:640px){.pack-layout{grid-template-columns:1fr;gap:4px}.doll{justify-self:center;gap:0;width:100%;max-width:260px;padding:0}.doll-slot{min-width:0;min-height:0;padding:2px}.sheet-head{padding:22px 22px 2px}.sheet-body{margin:0 24px 30px;padding:4px 0 6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.map-wrap{background:#6e4c1f0f;border-radius:8px;place-items:center;padding:6px;display:grid;overflow:auto;box-shadow:inset 0 0 30px #6e4c1f40}.map-canvas{image-rendering:auto;cursor:crosshair;touch-action:manipulation;max-width:100%;display:block}.boot.closing{z-index:40;background:#0b0a09d1}.toast{z-index:50}.map-sheet .menu-note{padding:8px 6px 0}.nameplates{pointer-events:none;z-index:1;position:fixed;inset:0;overflow:hidden}.nameplate{white-space:nowrap;color:#f6e7c8;font:600 .74rem/1.15 var(--serif);letter-spacing:.02em;text-shadow:0 0 3px #000,0 0 2px #000,0 1px 1px #000;padding:0 2px;transition:opacity .25s;position:absolute;top:0;left:0}.callouts{pointer-events:none;z-index:2;position:fixed;inset:0;overflow:hidden}.callout{transform-origin:50% 100%;white-space:nowrap;will-change:transform, opacity;font:700 1.2rem/1.1 var(--display);letter-spacing:.02em;color:#fff6dc;text-shadow:0 1px #1a0e06,1px 0 #1a0e06,-1px 0 #1a0e06,0 -1px #1a0e06,0 2px 6px #000c;border-radius:4px;padding:2px 9px 3px;position:absolute;top:0;left:0}.callout-hit{color:#ffe9a8}.callout-slain{color:#ffd56a;font-size:1.4rem}.callout-triumph{white-space:normal;text-align:center;color:#ffe08a;letter-spacing:.02em;text-shadow:0 0 14px #ffbe50d9,0 2px #3a2208,0 0 2px #000;max-width:min(86vw,420px);font-size:1.9rem}.callout-miss{color:#d9d2c4;font-style:italic;font-weight:400}.callout-hurt{color:#ff6a52;font-size:1.45rem}.callout-status,.callout-good,.callout-info,.callout-loot{font:600 .95rem/1.15 var(--serif);text-shadow:none;color:#2e1c0c;background:url(/art/textures/parchment.jpg) 50%/256px,#e9dab8;box-shadow:0 0 0 1px #6e4a22,0 3px 8px #0000008c}.callout-status{color:#6e1a12;box-shadow:0 0 0 1px #8e2a1c,0 3px 8px #0000008c}.callout-good{color:#1f5a22}.callout-loot{color:#6a4a08}.callout-loot:before{content:"+ "}.msg-count{color:var(--bronze-hi);font-style:normal}.recenter{right:calc(var(--safe-r) + 14px);top:calc(var(--safe-t) + 150px);z-index:6;color:#f6e7c8;min-height:44px;font:1rem var(--display);background:linear-gradient(#5a3a22,#3a2414);border:0;border-radius:22px;align-items:center;gap:6px;padding:6px 14px 6px 10px;animation:.2s ease-out both msg-in;display:inline-flex;position:fixed;box-shadow:inset 0 1px #ffdca040,inset 0 0 0 1px #2a1808,0 0 0 2px #b8863b,0 4px 12px #0009}.stat-picker{background:#fffaeb66;border-radius:10px;margin-top:10px;padding:10px 14px 12px;box-shadow:inset 0 0 0 1px #6e4c1f4d}.stat-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.stat-head h2{margin:0}.stat-method{border-radius:18px;display:inline-flex;overflow:hidden;box-shadow:0 0 0 1px #6e4c1f80}.stat-method button{min-height:34px;font:.95rem var(--serif);color:#5a3a1a;background:0 0;border:0;padding:3px 14px}.stat-method button.on{color:#f6e7c8;background:#6e1a12}.stat-rows{gap:2px;margin:8px 0 4px;padding:0;list-style:none;display:grid}.stat-row{border-bottom:1px dotted #6e4c1f4d;grid-template-columns:76px auto 1fr auto;grid-template-areas:"art name name nudge""art final parts nudge""art flavor flavor flavor""help help help help";align-items:center;gap:2px 10px;padding:8px 0;display:grid}.stat-art{aspect-ratio:1;object-fit:cover;border-radius:6px;grid-area:art;align-self:start;width:76px;animation:.45s ease-out both stat-art-in;box-shadow:0 0 0 1px #4a2f1459,0 3px 8px #3c280a4d}@keyframes stat-art-in{0%{opacity:0;filter:sepia()blur(2px)}}.stat-name{grid-area:name}.stat-final{grid-area:final}.stat-breakdown{grid-area:parts}.stat-nudge{grid-area:nudge}.stat-flavor{font:italic .98rem/1.3 var(--serif);color:#3e2a16;grid-area:flavor;animation:.45s ease-out both stat-art-in}.stat-help{font:.8rem/1.35 var(--body);color:#6a5236;grid-area:help;padding-top:2px}.stat-help b{color:#6e1a12}.stat-name{font:1.05rem var(--display);color:#4a2f14}.stat-final{font:700 1.3rem var(--serif);color:#2e1c0c;font-variant-numeric:tabular-nums}.stat-breakdown{color:#7a6040;font-variant-numeric:tabular-nums;font-size:.85rem}.stat-breakdown em{color:#6e1a12;font-style:normal}.stat-nudge{gap:6px;display:inline-flex}.stat-picker .btn-small{min-width:38px;min-height:36px;padding:2px 8px}.stat-foot{justify-content:space-between;align-items:center;gap:10px;padding-top:6px;display:flex}.stat-note{font:.95rem var(--serif);color:#5a4632;font-style:italic}.char-stats{color:#3a2410;gap:12px;padding:8px 2px 4px;display:grid}.char-stats h4{font:.95rem var(--display);color:#6e1a12;letter-spacing:.04em;margin:0 0 4px}.char-title{font:1rem var(--serif);margin:0}.char-title small{font:.8rem var(--body);color:#7a5a36;display:block}.stat-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.stat-table th{text-align:left;width:3.2em;font:.95rem var(--display);color:#5a3a1a;padding:2px 0}.stat-table .stat-value{width:4.5em;font:700 1.05rem var(--body)}.stat-table .stat-value span{color:#b8862b;margin-left:1px}.stat-table .stat-parts{color:#7a5a36;font-size:.8rem}.stat-parts .up{color:#2f6b2a}.stat-parts .down,.stat-table tr.drained .stat-value{color:#9a2a1c}.stat-key{font:italic .78rem var(--serif);color:#8a6a46;margin:-6px 0 0}.char-badges{text-align:left;background:0 0;border:0;flex-wrap:wrap;gap:6px;padding:0;display:flex}.char-badge{font:.85rem var(--body);background:#6e4c1f1a;border-radius:14px;align-items:center;gap:4px;padding:2px 8px 2px 3px;display:inline-flex}.char-badge.tone-bad{box-shadow:inset 0 0 0 1px #b23a2c99}.char-badge.tone-good{box-shadow:inset 0 0 0 1px #c9a14acc}.char-badge small{color:#7a5a36;font-weight:700}.traits{flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none;display:flex}.trait{min-height:28px;font:.85rem var(--body);color:#3a2410;background:#fffaeb66;border:1px solid #6e4c1f4d;border-radius:14px;padding:2px 9px}.trait small{color:#7a5a36;margin-left:4px;font-weight:700}.trait[aria-pressed=true]{outline:2px solid #6e1a12}.trait-none{color:#a08a6e;background:0 0;border-style:dashed}.trait-has{background:#e9dcb8;border-color:#b8862b}.trait-immune{color:#f6e7c8;background:#6e1a12;border-color:#3a0a06}.trait-vulnerable,.trait-flaw.trait-has{color:#7a1a10;background:#f3d2c8;border-color:#b23a2c}.trait-unknown{color:#7a5a36;border-style:dotted}.trait-note{font:.85rem var(--body);color:#4a3826;margin:6px 0 0}.sheet-lines{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1px 14px;margin:0;font-size:.88rem;display:grid}.sheet-lines div{border-bottom:1px dotted #6e4c1f40;justify-content:space-between;gap:8px;padding:2px 0;display:flex}.sheet-lines dt{color:#6a5640}.sheet-lines dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.sheet-lines .tone-good dd{color:#2f6b2a}.sheet-lines .tone-bad dd{color:#9a2a1c}.char-stats .empty-note{margin:0;padding:0;font-size:.85rem}.look-toggle{box-shadow:inset 0 0 0 1px var(--bronze-lo);border-radius:18px;align-self:center;margin:6px auto 0;display:inline-flex;overflow:hidden}.look-toggle button{min-width:52px;min-height:40px;color:var(--parchment-lo);font:1.35rem/1 var(--body);background:#1b161299;border:0;padding:2px 14px}.look-toggle button.on{color:#f6e7c8;background:#6e1a12}.btn-quiet{color:var(--parchment-lo);background:0 0;border-color:#0000}.title-actions .btn-hall{min-height:50px}.title-books{grid-template-columns:1fr 1fr;gap:10px 8px;display:grid}.title-books>:first-child{grid-column:1/-1}.title-books .btn-hall:not(:first-child){min-width:0;padding-inline:18px}.title-about{min-height:32px;color:var(--parchment-lo);font:.8rem var(--body);letter-spacing:.06em;cursor:pointer;background:#0000004d;border:1px solid #e6bd6a4d;border-radius:999px;padding:4px 14px;transition:box-shadow .15s,color .15s}@media (hover:hover){.title-about:hover{color:#f6e7c8;box-shadow:0 0 12px #ffaa4673}}.epitaph{box-sizing:border-box;background:radial-gradient(ellipse at 50% 30%, #f6ead0, var(--parchment) 60%, var(--parchment-lo));width:100%;max-width:1100px;min-height:0;max-height:100%;color:var(--ink);font:.8rem/1.35 var(--body);border-radius:6px;grid-template-rows:auto minmax(0,1fr) auto;align-self:center;margin:0 auto;padding:10px 12px;display:grid;overflow:hidden;box-shadow:0 10px 30px #0009}.epitaph h4{font:400 .85rem var(--display);color:#6e1a12;border-bottom:1px solid #6e4c1f59;margin:0 0 3px}.epitaph h4 small{font:.68rem var(--body);color:var(--ink-soft)}.epitaph-head{grid-template-columns:52px 1fr auto;align-items:center;gap:10px;padding-bottom:6px;display:grid}.epitaph-portrait{width:52px;height:52px;box-shadow:0 0 0 2px var(--bronze), 0 2px 6px #00000080;background:#2b2019;border-radius:50%;overflow:hidden}.epitaph-portrait img{object-fit:cover;object-position:top;width:150%;margin:-2px 0 0 -25%}.epitaph-who{min-width:0}.epitaph-damaged{font:italic .7rem var(--body);color:#8e1f15;margin:2px 0 0}.epitaph-head h2{font:400 1.25rem/1.05 var(--display);overflow-wrap:anywhere;margin:0}.epitaph-sub{font:italic .8rem var(--serif);white-space:nowrap;text-overflow:ellipsis;margin:1px 0 0;overflow:hidden}.epitaph-cause{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin:1px 0 0;font-size:.7rem;overflow:hidden}.epitaph-body{overscroll-behavior:contain;grid-template-columns:1fr 1fr;grid-template-areas:"tale tale""descent descent""stats stats""foes kit""advice advice";align-content:start;gap:8px 12px;min-height:0;display:grid;overflow-y:auto}.epitaph-body.flat{grid-template-areas:"tale tale""stats stats""foes kit""advice advice"}.epitaph-col{display:contents}.epitaph-tale{grid-area:tale}.epitaph-descent{grid-area:descent}.epitaph-stats{grid-area:stats}.epitaph-foes{grid-area:foes}.epitaph-kit{grid-area:kit}.epitaph-advice{grid-area:advice}@media (min-width:760px){.epitaph{padding:14px 18px;font-size:.86rem}.epitaph-body,.epitaph-body.flat{grid-template-columns:1fr 1.15fr;grid-template-areas:none;gap:22px}.epitaph-col{flex-direction:column;gap:10px;min-width:0;display:flex}.epitaph-tale p{font-size:.92rem}.epitaph .descent svg{max-height:300px}}.yasd{color:#8e1f15;font:700 .8rem var(--display);letter-spacing:.12em;white-space:nowrap;border:2px solid #8e1f15;border-radius:4px;align-self:start;margin:0;padding:1px 8px;transform:rotate(-5deg)}.yasd span{letter-spacing:.02em}.epitaph-tale p{font:.8rem/1.32 var(--serif);margin:0 0 3px}.epitaph-tale p:first-child:first-letter{float:left;font:1.9rem/.9 var(--display);color:#6e1a12;margin:1px 4px 0 0}.epitaph-foes ol{margin:0;padding:0;list-style:inside decimal}.epitaph-foes li{text-overflow:ellipsis;white-space:nowrap;padding:0;overflow:hidden}.epitaph-foes li.unique span{color:#6e1a12;font-weight:700}.epitaph-foes small{color:var(--ink-soft);margin-left:4px}.epitaph-kit ul{margin:0;padding:0;list-style:none}.epitaph-kit ul+h4,.epitaph-kit .empty-note+h4{margin-top:10px}.epitaph-kit li{text-indent:-1em;overflow-wrap:anywhere;padding-left:1em}.epitaph-numbers{grid-template-columns:repeat(4,1fr);gap:3px;margin:0;display:grid}@media (min-width:760px){.epitaph-numbers{grid-template-columns:repeat(3,1fr);gap:4px}}.epitaph-numbers div{background:#6e4c1f1a;border-radius:3px;grid-template-columns:1fr auto;align-items:baseline;min-width:0;padding:1px 5px 2px;display:grid}.epitaph-numbers dt{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;grid-column:1/-1;font-size:.62rem;overflow:hidden}.epitaph-numbers dd{font:600 .88rem var(--serif);margin:0}.spark{grid-column:1/-1;width:100%;height:8px}.spark rect{fill:#6e4c1f59}.spark rect.mine{fill:#8e1f15}.epitaph-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding-top:10px;display:flex}.btn-rip{min-width:min(100%,280px)}.descent{margin:0}.descent svg{width:100%;height:auto;display:block;overflow:visible}.descent-tick line{stroke:#6e4c1f40;stroke-width:.6px;stroke-dasharray:2 3}.descent-tick text{fill:var(--ink-soft);font:9px var(--body);text-anchor:end}.leg{fill:none;stroke:#3b2f24;stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation-name:leg-draw;animation-timing-function:linear;animation-fill-mode:forwards}.leg-level{stroke:#5a3a1c}.leg-recall{stroke:#b8863b;stroke-width:1.4px}.leg-trapdoor{stroke:#b23a2c;stroke-width:2px}.leg-deep-descent{stroke:#7b3fa0;stroke-width:2px}.leg-teleport-level{stroke:#4677bd;stroke-width:2px}@keyframes leg-draw{to{stroke-dashoffset:0}}.curve-label{fill:var(--ink-soft);font:600 6.5px var(--body);text-anchor:end;letter-spacing:.05em;text-transform:uppercase}.curve-total{fill:var(--ink-soft);font:6px var(--body);text-anchor:end;font-variant-numeric:tabular-nums}.curve line{stroke:#6e4c1f4d;stroke-width:.5px}.curve-line{fill:none;stroke:#6a4a2a;stroke-width:1px;stroke-linejoin:round}.curve-area{fill:#6a4a2a;opacity:.18}.curve-dealt .curve-line{stroke:#9a3a24}.curve-dealt .curve-area{fill:#9a3a24}.curve-kills .curve-line{stroke:#5a1a12}.curve-kills .curve-area{fill:#5a1a12}.curve-gold .curve-line{stroke:#a87a22}.curve-gold .curve-area{fill:#b8862b}.curve-exp .curve-line{stroke:#3f6a4a}.curve-exp .curve-area{fill:#3f6a4a}.curve-axis text{fill:var(--ink-soft);font:6px var(--body)}.curve-reveal{transform-box:fill-box;transform-origin:0 0;animation:linear forwards curve-reveal;transform:scaleX(0)}@keyframes curve-reveal{to{transform:scaleX(1)}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.descent-end{opacity:0;animation:.4s ease-out forwards end-mark}@keyframes end-mark{to{opacity:1}}.descent-end circle{fill:#8e1f15}.descent-end path{stroke:#f6e7c8;stroke-width:1.6px;stroke-linecap:round}.descent-level{fill:var(--ink-soft);font:600 7.5px var(--body);text-anchor:middle;opacity:0;animation:.4s ease-out forwards end-mark}.descent-close{opacity:0;animation:.4s ease-out forwards end-mark}.descent-close circle{fill:#f6e7c8;stroke:#b23a2c;stroke-width:1.6px}.descent figcaption{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:6px;font-size:.78rem;display:flex}.descent-replay{color:#6e1a12;font:600 .72rem var(--body);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:2px 4px;text-decoration:underline}.key:before{content:"";vertical-align:middle;border-top:3px solid #5a3a1c;width:16px;height:0;margin-right:5px;display:inline-block}.key-recall:before{border-top:2px solid #b8863b}.key-trapdoor:before{border-top:2px solid #b23a2c}.key-deep-descent:before{border-top:2px solid #7b3fa0}.key-teleport-level:before{border-top:2px solid #4677bd}.key-close:before{background:#f6e7c8;border:1.6px solid #b23a2c;border-radius:50%;width:6px;height:6px}@media (prefers-reduced-motion:reduce){.leg,.descent-end,.descent-level,.descent-close,.curve-reveal{animation-duration:0s!important;animation-delay:0s!important}}.hall{z-index:40;color:var(--parchment);background:#0b0a09 radial-gradient(circle at 50% 0,#2b2019,#0b0a09 70%);grid-template-rows:auto 1fr;display:grid;position:fixed;inset:0}.hall-head .btn{white-space:nowrap;flex-shrink:0;padding:8px 28px}.hall-head{padding:calc(12px + var(--safe-t)) calc(16px + var(--safe-r)) 10px calc(16px + var(--safe-l));align-items:center;gap:12px;display:flex}.hall-head h1{font:400 1.5rem var(--display);color:var(--bronze-hi);margin:0}.hall-body.open{max-width:none;padding:0 calc(10px + var(--safe-r)) calc(10px + var(--safe-b)) calc(10px + var(--safe-l));display:grid;overflow:hidden}.hall-head h1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hall-body{padding:4px 16px calc(24px + var(--safe-b));box-sizing:border-box;width:100%;max-width:560px;margin:0 auto;overflow-y:auto}.hall-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.hall-row{border:1px solid var(--bronze-lo);width:100%;color:inherit;text-align:left;font:inherit;background:#2b2019cc;border-radius:6px;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:8px 12px 8px 8px;display:grid}.hall-portrait{width:52px;height:52px;box-shadow:0 0 0 2px var(--bronze-lo);background:#1b1612;border-radius:50%;overflow:hidden}.hall-portrait img{object-fit:cover;object-position:top;width:150%;margin:-2px 0 0 -25%}.hall-who{min-width:0;display:grid}.hall-who strong{font:400 1.15rem var(--display)}.hall-who small{color:var(--parchment-lo);font-size:.82rem}.hall-cause{text-overflow:ellipsis;white-space:nowrap;font-style:italic;overflow:hidden}.hall-num{font:700 .85rem var(--display);color:#e2604a;letter-spacing:.06em}.death-note{color:#8e1f15;margin:0 auto 0 0}.title-actions .btn:disabled{opacity:.55}.epitaph-advice{background:#6e4c1f1a;border-left:3px solid #8e1f15;align-self:start;margin:0;padding:5px 10px 6px}.epitaph-advice h4{border:0;margin:0 0 1px}.epitaph-advice p{font:italic .82rem/1.35 var(--serif);margin:0}.epitaph .descent figcaption{gap:2px 10px;margin-top:2px;font-size:.68rem}.about{z-index:40;color:var(--parchment);background:#0b0a09 radial-gradient(circle at 50% 0,#2b2019,#0b0a09 70%);grid-template-rows:auto 1fr;display:grid;position:fixed;inset:0}.about-body{padding:4px calc(16px + var(--safe-r)) calc(24px + var(--safe-b)) calc(16px + var(--safe-l));overflow-y:auto}.about-page{background:radial-gradient(ellipse at 50% 30%, #f6ead0, var(--parchment) 60%, var(--parchment-lo));max-width:640px;color:var(--ink);font:.98rem/1.5 var(--serif);border-radius:6px;margin:0 auto;padding:18px 20px 22px;box-shadow:0 10px 30px #0009}.about-page h2{font:400 1.1rem var(--display);color:#6e1a12;margin:16px 0 4px}.about-page p{margin:0 0 8px}.about-lede{font-size:1.08rem}.about-licences{overscroll-behavior:contain;white-space:pre-wrap;overflow-wrap:anywhere;max-height:50vh;margin:6px 0 0;font:.72rem/1.45 ui-monospace,Menlo,monospace;overflow:auto}.about-notice{border-left:3px solid #6e4c1f73;margin:4px 0 10px;padding:6px 12px;font-size:.9rem;font-style:italic}.about-page a{color:#6e1a12}.deeds-count{font:700 .9rem var(--display);color:var(--bronze-hi);letter-spacing:.06em;white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto}.deeds-gc{justify-self:start;margin:4px 0 8px}.deeds .hall-body{align-content:start;gap:14px;display:grid}.deeds-group h2{font:400 1.1rem var(--display);color:var(--bronze-hi);margin:0 0 6px}.deeds-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.deed{background:#fffaeb0a;border-radius:8px;grid-template-columns:36px 1fr;align-items:center;gap:10px;padding:8px 12px 8px 8px;display:grid;box-shadow:inset 0 0 0 1px #e6bd6a1f}.deed .deed-seal{filter:grayscale()brightness(.5);opacity:.35;width:36px;height:36px}.deed.done{background:#fffaeb17;box-shadow:inset 0 0 0 1px #e6bd6a59}.deed.done .deed-seal{filter:drop-shadow(0 2px 3px #00000080);opacity:1}.deed-text{min-width:0;display:grid}.deed-text strong{font:400 1.05rem var(--display);color:var(--muted)}.deed.done .deed-text strong{color:var(--bone)}.deed-text small{color:var(--parchment-lo);font-size:.82rem}.deed-text .deed-by{color:var(--bronze-hi);font-style:italic}.danger{pointer-events:none;animation:1.6s ease-in-out infinite danger-breathe;position:fixed;inset:0;box-shadow:inset 0 0 90px 24px #aa140a8c}@keyframes danger-breathe{50%{box-shadow:inset 0 0 60px 10px #aa140a4d}}@media (prefers-reduced-motion:reduce){.danger{animation:none}}.btn.btn-wood{filter:none;color:#fbeccb;min-width:min(14em,78vw);height:56px;font:600 1.2rem var(--body);letter-spacing:.05em;text-shadow:0 1px #000,0 0 8px #000000b3;border-image:url(/art/ui/button-wood.webp) 0 15% fill/0 38px;padding:0 48px}@media (hover:hover){.btn.btn-wood:hover:not(:disabled){filter:brightness(1.15)drop-shadow(0 0 10px #ffaa4680)}}@media (min-width:820px){.btn.btn-wood{border-image-width:0 50px;height:72px;padding:0 68px;font-size:1.35rem}}.birth-cell:not(.birth-stats),.birth-stats .stat-picker,.epitaph,.about-page{box-shadow:none;background:0 0;border:0 solid #0000;border-image:url(/art/ui/papyrus.webp) 12% fill/34px/6px round;border-radius:0}.birth-cell:not(.birth-stats){padding:14px 16px}.epitaph{padding:16px 18px}.about-page{padding:24px 26px 26px}.sparkles{pointer-events:none;z-index:1000;mix-blend-mode:screen;mix-blend-mode:plus-lighter;width:100%;height:100%;position:fixed;inset:0}.inspector-lore{font:600 .82rem var(--body);flex:none;padding-inline:10px}.lore-back{color:#4a2f14;background:#4a2f1414;border-color:#6e4c1f4d;align-self:flex-start;margin:-6px 0 -4px}.lore-wait{font:italic 1.05rem var(--serif);color:#6a5640;text-align:center;margin:18px 0}.lore-head{align-items:center;gap:14px;display:flex}.lore-portrait{background:radial-gradient(circle at 50% 40%,#f6ead0,#cdb487);border-radius:50%;flex:none;display:block;overflow:hidden;box-shadow:0 0 0 2px #6e4c1f,0 2px 8px #0006}.lore-portrait img{object-fit:cover;width:100%;height:100%;display:block}.lore-portrait-big{width:92px;height:92px}.lore-portrait-small{width:54px;height:54px}.lore-who{gap:4px;min-width:0;display:grid}.lore-family{font:600 .74rem var(--body);letter-spacing:.1em;text-transform:uppercase;color:#6e4c1f}.lore-now{font:italic 1rem var(--serif);color:#3a2410}.lore-health{background:#4a2f142e;border-radius:3px;width:140px;height:6px;display:block;overflow:hidden}.lore-health span{background:linear-gradient(90deg,#8a1e12,#c2412c);height:100%;display:block}.lore-stamp{color:#8a1e12;font:.78rem var(--display);letter-spacing:.06em;border:1.5px solid #8a1e12;border-radius:3px;justify-self:start;padding:1px 8px;rotate:-3deg}.lore-section h3{font:1.1rem var(--display);color:#4a2f14;letter-spacing:.02em;border-bottom:1px solid #6e4c1f40;margin:0 0 4px;padding-bottom:2px}.lore-text{font:1rem/1.5 var(--serif);color:var(--ink);max-width:62ch;margin:0}.lore-about .lore-text{color:#4a3826;font-style:italic}.lore-danger{color:#9a1f12;font-weight:600}.lore-warn{color:#8a4a08}.lore-good{color:#2e5e1e}.lore-info{color:#22477a}.lore-foot{font:italic .88rem var(--serif);color:#6a5640;margin:0}.bestiary-sum{font:.9rem var(--body);color:#5a4632;font-variant-numeric:tabular-nums;margin:0}.bestiary-family h3{font:1.1rem var(--display);color:#4a2f14;margin:0 0 6px}.bestiary-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}.bestiary-tile{color:var(--ink);text-align:center;background:#fffaeb59;border:1px solid #6e4c1f40;border-radius:6px;align-content:start;justify-items:center;gap:3px;padding:8px 4px;display:grid}.bestiary-tile:active{background:#4a2f141f}.bestiary-tile.sketched .lore-portrait{filter:grayscale()sepia(.4)contrast(.9);opacity:.75}.bestiary-name{font:.92rem/1.15 var(--serif)}.bestiary-count{font:.72rem var(--body);color:#6a5640;font-variant-numeric:tabular-nums}.bestiary-deaths{font:600 .72rem var(--body);color:#8a1e12}.item-rules{border-top:1px solid #6e4c1f40;gap:4px;margin-top:6px;padding-top:8px;display:grid}.item-rule{font:600 .85rem var(--body);color:#4a2f14;gap:4px;display:grid}.item-rule .seg{display:flex}.item-rule .seg button{white-space:nowrap;flex:1;padding-inline:6px;font-size:.82rem}.item-ask{color:#8a1e12;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.item-guard{min-height:36px;font:.88rem var(--body);color:#4a2f14;align-items:center;gap:8px;display:flex}.item-guard input{appearance:none;background:#fffaeb99;border:1.5px solid #6e4c1f;border-radius:4px;flex:none;place-content:center;width:22px;height:22px;margin:0;display:grid}.item-guard input:after{content:"";opacity:0;border:0 solid #f6e7c8;border-width:0 0 2.5px 2.5px;width:11px;height:6px;translate:0 -1px;rotate:-45deg}.item-guard input:checked{background:#6e1a12;border-color:#3a0a06}.item-guard input:checked:after{opacity:1}.item-guard input:focus-visible{outline:2px solid var(--bronze-hi);outline-offset:2px}.first-note{background:url(/art/textures/parchment.jpg) center / 512px, var(--parchment);width:min(100%,380px);color:var(--ink);pointer-events:auto;border-radius:4px;gap:4px;padding:10px 12px 8px;animation:.32s cubic-bezier(.2,.9,.3,1.2) both note-in;display:grid;position:absolute;top:calc(100% + 8px);left:50%;translate:-50%;rotate:-.6deg;box-shadow:0 6px 18px #00000080,inset 0 0 0 1px #6e4c1f59}.first-note strong{font:1.1rem var(--display);color:#4a2f14}.first-note p{font:.95rem/1.4 var(--serif);margin:0}.first-note-row{justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;display:flex}.first-note-ok{min-width:112px;min-height:44px;padding:8px 22px}.first-note .btn-ghost{color:#6a5640;background:0 0;border-color:#0000}@keyframes note-in{0%{opacity:0;translate:-50% -10px;rotate:2deg}}.arrival{pointer-events:none;text-align:center;color:var(--parchment);text-shadow:0 2px 10px #000000d9,0 0 2px #000000e6;justify-items:center;gap:4px;animation:3.2s ease-out .9s both arrival;display:grid;position:absolute;top:34%;left:50%;translate:-50% -50%}.arrival-hidden{visibility:hidden}.arrival-band{font:400 clamp(1.7rem, 7vw, 2.6rem) var(--display);letter-spacing:.05em;text-wrap:balance}.arrival-depth{font:600 .8rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--bronze-hi)}@keyframes arrival{0%{opacity:0;filter:blur(3px);scale:1.12}12%{opacity:1;filter:none;scale:1}70%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.arrival{animation:2.6s .3s both arrival-still}.first-note{animation:none}}@keyframes arrival-still{0%,to{opacity:0}10%,75%{opacity:1}}.deed-notice{z-index:6;pointer-events:none;text-align:center;width:min(86vw,420px);color:var(--ink);background:radial-gradient(ellipse at 50% 30%, #f6ead0, var(--parchment) 60%, var(--parchment-lo));border-radius:10px;justify-items:center;gap:2px;padding:14px 20px 16px;animation:4.6s ease-out both deed-in;display:grid;position:absolute;top:34%;left:50%;translate:-50% -50%;box-shadow:0 10px 30px #0009,inset 0 0 0 1px #6e4c1f59}.deed-notice .deed-seal{width:44px;height:44px;margin-top:-36px}.deed-kicker{font:600 .72rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:#6e1a12}.deed-title{font:400 1.5rem var(--display);letter-spacing:.03em;text-wrap:balance}.deed-how{font:italic .95rem/1.3 var(--serif);color:var(--ink-soft);text-wrap:balance}@keyframes deed-in{0%{opacity:0;translate:-50% -42%;scale:1.08}8%{opacity:1;translate:-50% -50%;scale:1}85%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.deed-notice{animation:4.6s both arrival-still}}.deed-seal{filter:drop-shadow(0 2px 3px #00000080);background:url(/art/ui/seal.webp) 50%/contain no-repeat;flex:none;display:block}@media (orientation:landscape) and (max-height:500px){.title-screen{place-items:center}.title-card{box-sizing:border-box;--pad-y:calc(max(var(--safe-t), var(--safe-b)) + 12px);width:min(100%,880px);padding:var(--pad-y) calc(var(--safe-r) + 18px) var(--pad-y) calc(var(--safe-l) + 18px);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"name actions""sub actions""tip actions""about foot";align-items:center;gap:6px 32px}.title-card:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#0b0a09d1,#0b0a0999 65%,#0000);position:absolute;inset:-4% -3%}.title-backdrop:after{background:linear-gradient(#0b0a0980,#0b0a0940 30% 70%,#0b0a0980)}.title-name{grid-area:name}.title-word{font-size:clamp(2.6rem,15vh,4.6rem)}.title-sub{grid-area:sub;font-size:.98rem}.title-tip{grid-area:tip;min-height:2.6em;font-size:.9rem}.title-actions{grid-area:actions;margin:0}.title-about{grid-area:about}.title-foot{grid-area:foot;margin:0}.birth-screen{grid-template:"head foot""body body"minmax(0,1fr)/minmax(0,1fr) auto}.birth-head{padding:calc(var(--safe-t) + 8px) 8px 0 calc(var(--safe-l) + 14px);grid-area:head;gap:10px}.birth-head h1{font-size:1.3rem}.birth-head .btn{min-height:38px;padding:4px 12px}.birth-foot{padding:calc(var(--safe-t) + 8px) calc(var(--safe-r) + 14px) 0 0;border:0;grid-area:foot;align-items:center}.btn.btn-wood{border-image-width:0 30px;min-width:0;height:44px;padding:0 34px;font-size:1rem}.birth-body{padding:8px calc(var(--safe-r) + 12px) calc(var(--safe-b) + 10px) calc(var(--safe-l) + 12px);grid-template:"hero class race"minmax(0,1fr)/minmax(150px,.62fr) minmax(0,1.3fr) minmax(0,.95fr);grid-area:body;gap:10px}.page-stats .birth-body{grid-template-areas:"hero stats stats"}.birth-cell{padding:6px 10px;overflow:hidden}.birth-cell h2{margin:0 0 4px;font-size:1.05rem}.birth-hero{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);align-content:stretch;justify-items:center;gap:6px}.birth-standee{width:100%;height:100%;min-height:0}.birth-standee img{object-fit:contain;object-position:center bottom;width:100%;height:100%;max-height:none;position:absolute;inset:0}.birth-who{justify-items:stretch;width:100%}.name-field{max-width:none}.name-field>span:first-child,.birth-summary{display:none}.name-field input{min-height:38px;font-size:1.15rem}.birth-class,.birth-race{flex-direction:column;display:flex}.birth-class .pick-grid{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:5px;min-height:0}.birth-class .pick{grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:4px 4px 2px;font-size:.88rem}.birth-class .pick img{width:100%;height:100%;min-height:0}.birth-race .pick-row{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:4px;min-height:0;display:grid}.birth-race .chip-pick{text-align:left;border-radius:8px;flex-direction:row;justify-content:flex-start;gap:6px;min-height:0;padding:2px 6px 2px 2px;font-size:.88rem;overflow:hidden}.birth-race .race-face{aspect-ratio:1;border-radius:6px;flex:none;width:auto;max-width:40%;height:100%;max-height:none}.birth-class .pick-blurb,.birth-race .pick-blurb{flex:none;min-height:2.5em;margin:4px 0 0;font-size:.84rem;line-height:1.25}.birth-cell.birth-stats{overflow:hidden}.birth-stats .stat-picker{box-sizing:border-box;flex-direction:column;height:100%;margin:0;padding:6px 12px 8px;display:flex}.birth-stats .stat-head h2{font-size:1.05rem}.birth-stats .stat-rows{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(5,minmax(0,1fr));gap:0;min-height:0;margin:4px 0}.birth-stats .stat-row{border:0;grid-template:"art art"minmax(0,1fr)"name name""final parts""flavor flavor""nudge nudge"/auto minmax(0,1fr);align-items:baseline;gap:2px 6px;min-height:0;padding:0 8px}.birth-stats .stat-row+.stat-row{border-left:1px dotted #6e4c1f66}.birth-stats .stat-art{aspect-ratio:auto;align-self:stretch;width:100%;height:100%;min-height:0;max-height:none}.birth-stats .stat-name{font-size:.95rem}.birth-stats .stat-final{font-size:1.4rem}.birth-stats .stat-flavor{font-size:.8rem;line-height:1.2}.birth-stats .stat-help{display:none}.birth-stats .stat-nudge{justify-self:center}.birth-stats .stat-foot{margin:0}.sheet{max-height:calc(100dvh - var(--safe-t) - 6px);width:min(100vw - var(--safe-l) - var(--safe-r), 900px)}.sheet:before{border-width:16px;border-image-width:16px;inset:4px}.sheet-head{padding:12px 22px 0}.sheet-head h2{font-size:1.25rem}.sheet-close{width:36px;height:36px}.sheet-body{gap:10px;margin:0 22px 20px}.pack-sheet{height:calc(100dvh - var(--safe-t) - 6px)}.pack-sheet .sheet-body{overflow:hidden}.pack-layout{flex:1;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:14px;min-height:0}.doll{box-sizing:border-box;grid-template-rows:repeat(4,minmax(0,1fr));align-items:center;gap:0 4px;height:100%;padding:0}.doll-slot{min-width:0;min-height:0;padding:2px}.pack-list-wrap{overscroll-behavior:contain;min-height:0;overflow-y:auto}.pack-list-wrap .tabs{z-index:1;background:url(/art/textures/parchment.jpg) center / 512px, var(--parchment);position:sticky;top:0}.pack-sheet .item-detail{z-index:2;box-sizing:border-box;width:min(560px,64%);max-height:calc(100% - 70px);position:absolute;bottom:22px;right:26px;overflow-y:auto}.shelf{top:calc(var(--safe-t) + 8px);right:calc(var(--safe-r) + 8px);flex-direction:row;gap:6px;transform:none}.shelf-btn{width:48px;height:48px}.msg-strip{margin-top:56px}.recenter{top:calc(var(--safe-t) + 78px);right:auto;left:calc(var(--safe-l) + 10px)}.controls{padding:6px calc(var(--safe-r) + 6px) calc(var(--safe-b) + 6px) calc(var(--safe-l) + 8px)}.map-wrap{flex:1;min-height:0;overflow:hidden}.map-canvas{max-height:100%}}@media (orientation:landscape) and (max-height:500px) and (max-width:760px){.birth-body{grid-template-columns:minmax(150px,.6fr) minmax(0,1.2fr) minmax(0,1fr)}.birth-hero{padding-inline:6px}.name-reroll{min-width:30px;font-size:1.1rem}.name-field input{padding-inline:8px;font-size:1rem}.birth-race .chip-pick{white-space:nowrap;gap:4px;padding-right:4px;font-size:.78rem}.birth-race .race-face{max-width:32%}.birth-stats .stat-name{letter-spacing:0;font-size:.78rem}}
