@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cinzel-latin-ext-400-normal-bAKzRVOf.woff2) format("woff2"),url(/assets/cinzel-latin-ext-400-normal-CtweoiwC.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:400;src:url(/assets/cinzel-latin-400-normal-DGLLPQbV.woff2) format("woff2"),url(/assets/cinzel-latin-400-normal-Bjd0dli_.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-ext-600-normal-Ym4OuZDw.woff2) format("woff2"),url(/assets/cinzel-latin-ext-600-normal-C_2-04Wa.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:600;src:url(/assets/cinzel-latin-600-normal-DdCmoF-5.woff2) format("woff2"),url(/assets/cinzel-latin-600-normal-C4M8-_l5.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-ext-700-normal-CwgFPYj9.woff2) format("woff2"),url(/assets/cinzel-latin-ext-700-normal-BX2Ek9Wj.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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(/assets/cinzel-latin-700-normal-Ca1xIpTQ.woff2) format("woff2"),url(/assets/cinzel-latin-700-normal-DF3_tZ4d.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-ext-400-normal-DOBYKvnn.woff2) format("woff2"),url(/assets/alegreya-cyrillic-ext-400-normal-4_0d7Saf.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-400-normal-CHEPgYyP.woff2) format("woff2"),url(/assets/alegreya-cyrillic-400-normal-ABRirM-h.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-ext-400-normal-D9FYC6f5.woff2) format("woff2"),url(/assets/alegreya-greek-ext-400-normal-Cz2yOmkI.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-400-normal-C9b1QMkQ.woff2) format("woff2"),url(/assets/alegreya-greek-400-normal-D18fiF31.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-vietnamese-400-normal-D2zxAGDr.woff2) format("woff2"),url(/assets/alegreya-vietnamese-400-normal-jLMUBf5Z.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-ext-400-normal-DfVBgris.woff2) format("woff2"),url(/assets/alegreya-latin-ext-400-normal-CiI8W2Dy.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-400-normal-CZKBR4o1.woff2) format("woff2"),url(/assets/alegreya-latin-400-normal-BkB0jA7o.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-ext-400-italic-C4DyZYlR.woff2) format("woff2"),url(/assets/alegreya-cyrillic-ext-400-italic-pucdsLg1.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-400-italic-3LU9rIua.woff2) format("woff2"),url(/assets/alegreya-cyrillic-400-italic-CD22exLf.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-ext-400-italic-Br_IX4z7.woff2) format("woff2"),url(/assets/alegreya-greek-ext-400-italic-KeIIt5ir.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-400-italic-DLVFQrvf.woff2) format("woff2"),url(/assets/alegreya-greek-400-italic-CydRL3iZ.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-vietnamese-400-italic-B1aamV9I.woff2) format("woff2"),url(/assets/alegreya-vietnamese-400-italic-qJqmhavU.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-ext-400-italic-CSLZE7Vs.woff2) format("woff2"),url(/assets/alegreya-latin-ext-400-italic-DBRNlv4m.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-400-italic-gEDtEsju.woff2) format("woff2"),url(/assets/alegreya-latin-400-italic-BlktV5lX.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-cyrillic-ext-600-normal-DGaIfYyn.woff2) format("woff2"),url(/assets/alegreya-cyrillic-ext-600-normal-QCS6Po56.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-cyrillic-600-normal-20lrxMJj.woff2) format("woff2"),url(/assets/alegreya-cyrillic-600-normal-BLQXy_QM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-greek-ext-600-normal-BByEybnu.woff2) format("woff2"),url(/assets/alegreya-greek-ext-600-normal-n6x0ChvG.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-greek-600-normal-7HqO7PH9.woff2) format("woff2"),url(/assets/alegreya-greek-600-normal-CTqp3nNn.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-vietnamese-600-normal-m3oQd4ri.woff2) format("woff2"),url(/assets/alegreya-vietnamese-600-normal-Bjl8b-bo.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-latin-ext-600-normal-6WVkcOXA.woff2) format("woff2"),url(/assets/alegreya-latin-ext-600-normal-CefQJgre.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-latin-600-normal-CoVoK85f.woff2) format("woff2"),url(/assets/alegreya-latin-600-normal-HFuVtvvI.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--stone: #141316;--iron: #222026;--iron-hi: #2d2a32;--sand: #312923;--ivory: #dfcfaf;--ivory-muted: #a69982;--blood: #9e221e;--blood-hi: #be2b26;--gold: #c89d46;--border: #443a31;--parchment-bg: #201b18;--parchment-border: #4b3d30;--good: #78b26a;--bad: #e0615b;--radius: 6px;--font-display: "Cinzel", Georgia, "Times New Roman", serif;--font-story: "Alegreya", Georgia, "Times New Roman", serif;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--story-size: 1.25rem;--touch: 44px}[data-text-size=small]{--story-size: 1.125rem}[data-text-size=medium]{--story-size: 1.25rem}[data-text-size=large]{--story-size: 1.375rem}[data-text-size=xlarge]{--story-size: 1.5rem}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;height:100%;background:var(--stone);color:var(--ivory);font-family:var(--font-body);-webkit-font-smoothing:antialiased}.app{width:100%;min-height:100dvh;max-width:560px;margin:0 auto;background:radial-gradient(circle at top center,#221d1c 0%,var(--stone) 72%);color:var(--ivory)}.screen{width:100%;height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column;padding:.55rem .7rem;gap:.5rem}.loading-screen,.login-screen,.settings-screen{overflow-y:auto;justify-content:flex-start;padding:1rem;gap:.85rem}.loading-screen{justify-content:center;align-items:center}h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:700;color:var(--ivory);letter-spacing:.015em}p{margin:0;line-height:1.45}.muted{color:var(--ivory-muted);font-size:.84rem}.eyebrow{display:block;text-transform:uppercase;font-size:.68rem;letter-spacing:.12em;color:var(--gold);font-weight:600}.panel,.card{background:linear-gradient(180deg,var(--iron) 0%,#1a181d 100%);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;box-shadow:0 4px 16px #00000073}.topbar{flex:0 0 auto;display:flex;align-items:center;gap:.6rem}.topbar-title h1{font-size:1.08rem}label{display:block;font-size:.88rem;color:var(--ivory);font-weight:600}input[type=text],input[type=password]{width:100%;padding:.55rem .65rem;background:#111013;color:var(--ivory);border:1px solid var(--border);border-radius:var(--radius);font-size:.95rem}input:focus-visible,button:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.field{display:flex;flex-direction:column;gap:.3rem}.form-stack,.stack{display:flex;flex-direction:column;gap:.75rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:var(--touch);border-radius:var(--radius);padding:.55rem .85rem;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;border:1px solid var(--border);background:var(--iron-hi);color:var(--ivory);text-decoration:none;transition:background-color .14s ease,border-color .14s ease,transform .08s ease}.button:hover:not(:disabled){border-color:var(--gold)}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.48;cursor:not-allowed}.button.primary{background:linear-gradient(180deg,var(--blood-hi) 0%,var(--blood) 100%);border-color:#6b1512;color:#f7ebd7}.button.primary:hover:not(:disabled){border-color:var(--gold);filter:brightness(1.08)}.button.secondary{background:var(--iron);border-color:var(--border);color:var(--ivory)}.button.text-button{background:transparent;border-color:transparent;color:var(--ivory-muted)}.button.compact{padding:.3rem .62rem;font-size:.85rem}.button.is-busy{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);opacity:1}.button.full-width{width:100%}.inline-error,.error-banner{background:#9e221e40;border:1px solid var(--blood);color:#f5cbc8;border-radius:var(--radius);padding:.45rem .65rem;font-size:.84rem}.inline-error-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:#9e221e47;border:1px solid var(--blood);border-radius:var(--radius);padding:.35rem .55rem;font-size:.8rem;color:#f5cbc8}.button svg{width:16px;height:16px;flex:0 0 auto}.frame{background:linear-gradient(180deg,var(--iron) 0%,#1a181d 100%);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem;box-shadow:0 4px 16px #00000073;display:flex;flex-direction:column;gap:.55rem}.auth-screen{justify-content:center;padding:1rem;overflow-y:auto}.auth-card form,.settings-group form{display:flex;flex-direction:column;gap:.55rem}.title-screen{position:relative;justify-content:flex-end;padding:0;overflow:hidden}.scene-media{position:relative;overflow:hidden}.title-screen .title-media{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.scene-media__still,.scene-media__loop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.title-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(20,19,22,.16) 0%,rgba(20,19,22,.74) 54%,var(--stone) 92%);pointer-events:none;z-index:1}.title-content{position:relative;z-index:2;padding:1.15rem 1rem 1.25rem;display:flex;flex-direction:column;gap:.55rem}.title-content h1{font-size:1.55rem;color:var(--ivory);text-shadow:0 2px 12px rgba(0,0,0,.9)}.title-content p{color:var(--ivory-muted);font-size:.9rem}.signed-in{display:inline-block;align-self:flex-start;font-size:.76rem;color:var(--gold);background:#141316b8;border:1px solid var(--border);border-radius:4px;padding:.14rem .45rem}.main-menu{display:flex;flex-direction:column;gap:.45rem}.menu-screen{overflow-y:auto;justify-content:flex-start;padding:.85rem;gap:.75rem}.screen-header{display:flex;align-items:center;gap:.65rem}.screen-header h1{font-size:1.15rem}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:var(--touch);height:var(--touch);flex:0 0 auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--iron);color:var(--ivory);cursor:pointer}.settings-group h2{font-size:.98rem;color:var(--gold)}.setting-label{font-size:.86rem;color:var(--ivory-muted)}.segmented{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem}.segmented button{min-height:var(--touch);padding:.42rem .5rem;border-radius:var(--radius);border:1px solid var(--border);background:#171519;color:var(--ivory);font:inherit;font-size:.84rem;cursor:pointer}.segmented button[aria-pressed=true]{border-color:var(--gold);background:var(--sand);color:var(--gold);font-weight:600}.toggle{display:flex;align-items:center;min-height:var(--touch);gap:.5rem;font-weight:400;font-size:.9rem;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.new-run-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.55rem;padding-right:.15rem}.parchment-card{background:linear-gradient(180deg,#27201b 0%,var(--parchment-bg) 100%);border-color:var(--parchment-border)}.parchment-card h2,.iron-card h2,.potion-fieldset legend{font-size:.95rem;color:var(--gold);margin-bottom:.35rem;font-family:var(--font-display)}.background-prose{display:flex;flex-direction:column;gap:.8em;font-family:var(--font-story);font-size:var(--story-size);line-height:1.6;color:var(--ivory)}.potion-fieldset{margin:0}.potion-list{display:flex;flex-direction:column;gap:.4rem}.potion-option{padding:.45rem .55rem;border-radius:var(--radius);border:1px solid var(--border);background:#171519}.potion-option.selected{border-color:var(--gold);background:#27211d}.potion-row{display:flex;align-items:center;min-height:var(--touch);gap:.45rem}.potion-row input{width:1.25rem;height:1.25rem}.potion-row label{flex:1 1 auto;padding:.6rem 0;cursor:pointer;font-size:.9rem}.potion-desc{margin-top:.15rem;margin-left:1.7rem;font-size:.86rem;color:var(--ivory-muted)}.new-run-footer{flex:0 0 auto;display:flex;flex-direction:column;gap:.3rem}.small-note{font-size:.76rem;text-align:center}.play-screen{gap:.38rem;padding:.42rem .55rem}.play-topbar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.35rem}.section-badge{font-family:var(--font-display);font-size:.92rem;font-weight:400;color:var(--ivory)}.section-badge:focus{outline:none}.hud-stats{display:flex;align-items:center;gap:.25rem}.hud-pill{background:var(--iron);border:1px solid var(--border);border-radius:4px;padding:.16rem .35rem;font-size:.75rem;font-variant-numeric:tabular-nums}.hud-pill b{color:var(--gold);font-weight:700}.hud-pill.is-critical{background:#9e221e73;border-color:var(--blood-hi);color:#ffd9d6;font-weight:700}.hud-pill.is-critical b{color:#ffd9d6}.play-media{position:relative;flex:0 0 auto;margin:0;width:100%;aspect-ratio:16 / 9;max-height:124px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:#100f12}.scene-visual{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.speaker-portrait{position:absolute;right:.35rem;bottom:.35rem;width:60px;height:80px;-o-object-fit:cover;object-fit:cover;border-radius:4px;border:1px solid var(--gold);box-shadow:0 2px 10px #000c}.media-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--iron) 0%,var(--sand) 100%);color:var(--ivory-muted);font-family:var(--font-display);font-size:.9rem}.flash-player-hit{box-shadow:0 0 0 2px var(--gold)}.flash-enemy-hit{box-shadow:0 0 0 2px var(--blood-hi)}.voice-trigger{position:absolute;left:.35rem;bottom:.35rem;width:var(--touch);height:var(--touch);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--gold);background:#141316d1;color:var(--gold);cursor:pointer}.voice-trigger[aria-pressed=true]{background:var(--gold);color:var(--stone)}.voice-strip{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.3rem;padding:.28rem .45rem;background:var(--iron);border:1px solid var(--border);border-radius:var(--radius)}.speaker-tag{font-size:.8rem;color:var(--gold);font-weight:600}.voice-controls{display:flex;gap:.25rem}.voice-caption{width:100%;font-family:var(--font-story);font-size:.95rem;color:var(--ivory-muted);font-style:italic;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.parchment-story{flex:1 1 auto;min-height:76px;overflow-y:auto;background:linear-gradient(180deg,#251f1b 0%,var(--parchment-bg) 100%);border:1px solid var(--parchment-border);border-radius:var(--radius);padding:.75rem .9rem;display:flex;flex-direction:column;gap:.8em;font-family:var(--font-story);font-size:var(--story-size);line-height:1.6;color:#e9dcc2}.page-indicator{margin-top:auto;font-family:var(--font-body);font-size:.78rem;color:var(--ivory-muted);text-align:right}.feedback-banner{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;padding:.32rem .45rem;border-radius:4px;background:#141316bf;border:1px solid var(--border);font-family:var(--font-body)}.beat-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}.beat{font-size:.82rem;font-weight:700;padding:.1rem .38rem;border-radius:4px;background:var(--iron)}.beat-good{color:var(--good);border:1px solid rgba(120,178,106,.4)}.beat-bad{color:var(--bad);border:1px solid rgba(224,97,91,.45)}.beat-item{color:var(--gold);border:1px solid rgba(200,157,70,.45)}.dice-pair{display:inline-flex;align-items:center;gap:.25rem}.die-svg{display:block}.die-rolling{animation:die-tumble .5s linear infinite}.die-rolling:nth-child(2){animation-duration:.62s;animation-direction:reverse}@keyframes die-tumble{0%{transform:rotate(0) translateY(0)}25%{transform:rotate(90deg) translateY(-3px)}50%{transform:rotate(180deg) translateY(0)}75%{transform:rotate(270deg) translateY(-2px)}to{transform:rotate(360deg) translateY(0)}}.action-dock{flex:0 0 auto;max-height:44%;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem}.choices-list{display:flex;flex-direction:column;gap:.32rem}.choice-button{width:100%;justify-content:space-between;flex-wrap:wrap;text-align:left;padding:.44rem .65rem;font-size:.95rem;line-height:1.3}.choice-button:disabled{opacity:1;color:var(--ivory-muted);border-style:dashed}.choice-main{flex:1 1 auto}.choice-num{color:var(--gold);margin-right:.2rem}.choice-tag{font-size:.78rem;background:#141316a6;border:1px solid var(--gold);color:var(--gold);border-radius:4px;padding:.08rem .32rem}.choice-hint{width:100%;font-size:.8rem;color:var(--ivory-muted)}.combat-panel,.ending-card{background:linear-gradient(180deg,#252025,#19161b);border:1px solid var(--blood);border-radius:var(--radius);padding:.48rem .6rem;display:flex;flex-direction:column;gap:.38rem}.ending-card{border-color:var(--gold)}.ending-card h2{font-size:1rem;color:var(--gold)}.ending-actions,.combat-buttons{display:flex;gap:.4rem}.combat-buttons .button{flex:1 1 0;padding:.44rem .55rem;font-size:.9rem}.combat-header{display:flex;align-items:center;justify-content:space-between;font-size:.88rem}.combat-round-row{display:flex;justify-content:space-between;gap:.4rem;padding:.25rem .38rem;background:#141316b3;border-radius:4px;font-size:.76rem}.round-side{display:flex;align-items:center;gap:.3rem}.luck-prompt{font-size:.88rem;color:var(--ivory);margin-bottom:.25rem}.play-bottombar{flex:0 0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem}.nav-button{flex-direction:column;gap:.1rem;min-height:48px;padding:.25rem .15rem;font-size:.72rem;font-weight:600}.nav-button svg{width:20px;height:20px;color:var(--gold)}.menu-backdrop{align-items:center}.confirm-dialog h2{font-size:1.05rem;color:var(--gold)}.confirm-dialog .ending-actions .button{flex:1 1 0}.rules-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.7rem;font-family:var(--font-story);font-size:1.1rem;line-height:1.5}.ending-stats{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.ending-stats div{background:#141316b3;border:1px solid var(--border);border-radius:4px;padding:.3rem .4rem}.ending-stats dt{font-size:.7rem;color:var(--ivory-muted)}.ending-stats dd{margin:0;font-family:var(--font-display);font-size:1.05rem;color:var(--gold)}.map-drawer-stack{gap:.55rem}.map-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.map-tab{min-height:var(--touch);padding:.35rem .6rem;border-radius:var(--radius);border:1px solid rgba(90,60,20,.5);background:#fffae847;color:var(--ink-soft, #5b4630);font-family:var(--font-display);font-size:.82rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.map-tab.is-active{background:#2b1d10;color:var(--gold);border-color:#7a5d2a;box-shadow:inset 0 0 0 1px #c89d4673}.map-frame{padding:3px;border-radius:calc(var(--radius) + 2px);background:linear-gradient(135deg,#8e6c34,#4b381b,#7a5d2a);box-shadow:0 4px 14px #1c120873}.map-field{position:relative;width:100%;aspect-ratio:16 / 9;border:1px solid #2b1d10;border-radius:calc(var(--radius) - 1px);background:radial-gradient(circle at 30% 30%,rgba(200,157,70,.14),transparent 58%),linear-gradient(180deg,#25201b,#151210);overflow:hidden}.map-field.map-field-world.has-world-image{aspect-ratio:826 / 601}.map-bg-image,.map-world-chart{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.map-world-image{-o-object-fit:fill;object-fit:fill}.map-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 28px #0e0a06a6}.map-compass{position:absolute;top:6px;left:6px;width:34px;height:34px;pointer-events:none;opacity:.92;filter:drop-shadow(0 1px 3px rgba(0,0,0,.85))}.map-paths{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.map-route-prologue,.map-world-trail{stroke:#ecdab2a6;stroke-width:.65;stroke-dasharray:1.5 1.3;vector-effect:non-scaling-stroke}.map-field-world.has-world-image .map-world-trail{stroke:#3a2210c7;stroke-width:1.6}.map-route-walked,.map-paths line{stroke:#e6ba5c;stroke-width:.95;stroke-dasharray:2.2 1.6;vector-effect:non-scaling-stroke}.map-fog-cloud{opacity:.92}.map-pin{position:absolute;width:var(--touch);height:var(--touch);transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0;cursor:pointer;z-index:2}.map-dot{width:15px;height:15px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.62rem;line-height:1;background:var(--ivory);color:#19140f;border:2px solid #2b1d10;box-shadow:0 2px 5px #000000d9;transition:transform .15s ease}.map-pin.landmark .map-dot{width:16px;height:16px;background:#272019;color:var(--ivory);border-color:#b78d45}.map-pin.landmark.unexplored .map-dot{background:#2c1616;color:#f0b090;border-color:#a6342a}.map-pin.world-pin .map-dot{width:14px;height:14px;background:#dfcfaf;border-color:#3d2b18}.map-pin.world-pin.is-voyage .map-dot{background:#e5b85c}.map-pin.current .map-dot{width:17px;height:17px;background:var(--blood-hi);color:#fff6e0;border-color:#2b1d10;box-shadow:0 0 0 2px var(--gold),0 2px 6px #000000e6}.map-pin[aria-pressed=true]{z-index:4}.map-pin[aria-pressed=true] .map-dot{outline:2px solid #f4cf72;outline-offset:2px;transform:scale(1.12)}.map-pin-label{position:absolute;top:calc(50% + 10px);left:50%;transform:translate(-50%);white-space:nowrap;padding:1px 5px;border-radius:3px;font-family:var(--font-display);font-size:.62rem;font-weight:700;letter-spacing:.03em;line-height:1.15;color:#e9dec4;background:#130f0ce0;border:1px solid rgba(168,130,64,.55);box-shadow:0 1px 3px #000000bf;pointer-events:none}.map-pin.label-above .map-pin-label{top:auto;bottom:calc(50% + 10px)}.map-field-world.has-world-image .map-world-voyage{stroke:#9e221e;stroke-width:2.1;stroke-dasharray:4 2.5;filter:drop-shadow(0 0 2px rgba(240,224,186,.9))}.map-pin.current .map-pin-label,.map-pin[aria-pressed=true] .map-pin-label{color:#ffe7a8;border-color:var(--gold);background:#24110ef0}.map-detail-card{gap:.4rem}.map-detail-desc{margin:0;font-size:.9rem;line-height:1.4}.map-count-line{margin:0;font-size:.78rem;padding-top:.25rem;border-top:1px dashed rgba(90,60,20,.35)}.item-icon{width:40px;height:40px;flex:0 0 auto;-o-object-fit:contain;object-fit:contain}.item-text{flex:1 1 auto}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a090cc7;display:flex;align-items:flex-end;justify-content:center;padding:.6rem;z-index:50}.drawer-panel{width:100%;max-width:520px;max-height:78dvh;background:var(--iron);border:1px solid var(--gold);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -6px 28px #000000b3}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem .8rem;border-bottom:1px solid var(--border)}.drawer-header h2{font-size:1rem;color:var(--gold)}.drawer-body{overflow-y:auto;padding:.75rem}.drawer-stack{display:flex;flex-direction:column;gap:.65rem}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.stat-grid.compact-two{grid-template-columns:repeat(2,1fr)}.stat-card,.sheet-block{background:#17151a;border:1px solid var(--border);border-radius:var(--radius);padding:.55rem;display:flex;flex-direction:column;gap:.35rem}.stat-label{font-size:.78rem;color:var(--gold);font-weight:700}.stat-value{font-size:1rem}.sheet-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.badge{font-size:.74rem;padding:.12rem .42rem;border-radius:4px;background:var(--sand);border:1px solid var(--border);color:var(--ivory)}.item-list,.combat-log-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.item-row,.combat-log-row{background:#17151a;border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .55rem;display:flex;justify-content:space-between;gap:.5rem}.combat-log-row{flex-direction:column;gap:.2rem}.history-trail{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}.history-chip{font-size:.84rem;padding:.14rem .4rem;border-radius:4px;background:var(--sand);border:1px solid var(--border)}.screen{animation:screen-in .32s ease-out both}@keyframes screen-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.story-page{display:flex;flex-direction:column;gap:.8em;animation:page-in .38s ease-out both}.story-page>p:first-of-type:first-letter{font-family:var(--font-display);font-size:1.9em;line-height:.9;color:var(--gold);padding-right:.06em}@keyframes page-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}.choices-list .choice-button,.main-menu .button{animation:rise-in .3s ease-out both}.choices-list .choice-button:nth-child(2),.main-menu .button:nth-child(2){animation-delay:.06s}.choices-list .choice-button:nth-child(3),.main-menu .button:nth-child(3){animation-delay:.12s}.choices-list .choice-button:nth-child(4){animation-delay:.18s}.choices-list .choice-button:nth-child(n+5){animation-delay:.24s}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.button{box-shadow:inset 0 1px #ffffff12,0 2px #00000073}.button.primary{border-color:#6b1512;box-shadow:inset 0 1px #ffd2be47,inset 0 0 0 1px #c89d4659,0 2px #3d0c0a;text-shadow:0 1px 0 rgba(0,0,0,.5)}.button.text-button{box-shadow:none}.plate{justify-content:flex-start;gap:.7rem;min-height:52px;padding:.6rem 1rem;font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:.04em;background:linear-gradient(180deg,#2d2a32eb,#18161bf0);border:1px solid var(--border);border-left:3px solid var(--gold);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.plate svg{width:20px;height:20px;color:var(--gold)}.plate-primary{background:linear-gradient(180deg,var(--blood-hi) 0%,var(--blood) 100%);border-color:#6b1512;border-left-color:var(--gold);color:#f7ebd7}.plate-primary svg{color:#f7ebd7}.plate:hover:not(:disabled){transform:translate(3px)}.title-content{min-height:100%;justify-content:flex-end;gap:.9rem;padding:1rem 1.1rem 1.1rem}.title-crest{display:flex;flex-direction:column;align-items:center;gap:.3rem;text-align:center;margin-bottom:auto;padding-top:.6rem}.auth-card .title-crest{margin-bottom:.4rem;padding-top:0}.title-wordmark{font-size:1.7rem;line-height:1.15;letter-spacing:.03em;background:linear-gradient(180deg,#fbe9bd,#c89d46 55%,#8a6418);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 8px rgba(0,0,0,.9));animation:wordmark-glow 5s ease-in-out infinite}.title-content .title-wordmark{text-shadow:none}@keyframes wordmark-glow{0%,to{filter:drop-shadow(0 2px 8px rgba(0,0,0,.9))}50%{filter:drop-shadow(0 2px 8px rgba(0,0,0,.9)) drop-shadow(0 0 14px rgba(226,69,47,.45))}}.title-foot{display:flex;align-items:center;justify-content:space-between}.divider{width:min(220px,70%);height:12px;color:var(--gold);align-self:center;flex:0 0 auto}.sigil{overflow:visible}.sigil-ring{transform-origin:center;transform-box:fill-box}.sigil-ring-outer{animation:spin 48s linear infinite}.sigil-ring-inner{animation:spin 32s linear infinite reverse}.sigil-gem{transform-origin:center;transform-box:fill-box;animation:gem-pulse 3.2s ease-in-out infinite}.sigil-glow{animation:glow-pulse 3.2s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes gem-pulse{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.12);filter:brightness(1.35)}}@keyframes glow-pulse{0%,to{opacity:.55}50%{opacity:1}}.embers{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:1}.ember{position:absolute;left:var(--x);bottom:-8px;width:var(--size);height:var(--size);border-radius:50%;background:#ffb45e;box-shadow:0 0 6px 1px #ff7828cc;opacity:0;animation:ember-rise var(--duration) linear var(--delay) infinite}@keyframes ember-rise{0%{transform:translate(0);opacity:0}12%{opacity:.9}70%{opacity:.5}to{transform:translate(var(--drift),-78vh);opacity:0}}.die-svg{filter:drop-shadow(0 2px 2px rgba(0,0,0,.6))}.die-settle{animation:die-settle .42s cubic-bezier(.2,1.6,.4,1) both}.die-settle:nth-child(2){animation-delay:.07s}@keyframes die-settle{0%{transform:translateY(-14px) rotate(-40deg) scale(.8);opacity:0}60%{transform:translateY(2px) rotate(6deg) scale(1.08);opacity:1}to{transform:none;opacity:1}}.beat{animation:rise-in .3s ease-out .2s both}.hud-pill.is-critical{animation:critical-pulse 1.4s ease-in-out infinite}@keyframes critical-pulse{0%,to{box-shadow:0 0 #be2b2600}50%{box-shadow:0 0 0 3px #be2b2673}}.flash-player-hit,.flash-enemy-hit{animation:hit-flash .5s ease-out}@keyframes hit-flash{0%{filter:brightness(1.7);transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}to{filter:none;transform:none}}.voice-trigger[aria-pressed=true]{animation:critical-pulse 1.6s ease-in-out infinite}.frame,.combat-panel,.ending-card,.parchment-story{position:relative}.frame:after,.parchment-story:after,.ending-card:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:1px solid rgba(200,157,70,.16);border-radius:4px;pointer-events:none}.ending-card{animation:rise-in .45s ease-out both}.drawer-backdrop{animation:fade-in .2s ease-out both}.drawer-panel{animation:drawer-up .26s cubic-bezier(.2,.9,.3,1) both}.menu-backdrop .drawer-panel{animation-name:rise-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-up{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.sheet{--ink: #2b1d10;--ink-soft: #5b4630;background:radial-gradient(ellipse at 20% 0%,rgba(255,244,214,.5),transparent 60%),radial-gradient(ellipse at 90% 100%,rgba(122,84,40,.28),transparent 55%),linear-gradient(180deg,#e3d2a8,#cdb788);color:var(--ink);border-color:#7a5d2a;box-shadow:inset 0 0 0 3px #7a5d2a40,inset 0 0 40px #5a3c1447,0 -6px 28px #000000b3}.sheet .drawer-header{border-bottom:2px double #7a5d2a}.sheet .drawer-header h2,.sheet h3{color:var(--ink)}.sheet .muted,.sheet .stat-initial{color:var(--ink-soft)}.sheet .divider{color:#7a5d2a}.sheet .sheet-block,.sheet .item-row{background:#fffae859;border:1px solid rgba(90,60,20,.45)}.sheet .badge{background:#5a3c1429;border-color:#5a3c1480;color:var(--ink)}.stat-box{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.5rem .3rem;border:2px solid #7a5d2a;border-radius:4px;background:#fffae873;box-shadow:inset 0 0 0 2px #fffae880}.stat-box .stat-label{font-family:var(--font-display);font-size:.72rem;letter-spacing:.08em;color:#7a2a12}.stat-box .stat-value{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--font-display);font-size:1.9rem;line-height:1.1}.stat-box.is-reduced .stat-value{color:#9e221e}.stat-initial{font-size:.74rem}.sheet-row-main{display:inline-flex;align-items:center;gap:.45rem;font-weight:600}.ration-row{display:flex;flex-wrap:wrap;gap:.3rem}.ration{width:18px;height:18px;border-radius:50%;border:2px solid #7a5d2a;background:radial-gradient(circle at 35% 30%,#d9a05a,#8a5a22)}.ration.eaten{background:linear-gradient(45deg,transparent 44%,#7a2a12 44% 56%,transparent 56%),linear-gradient(-45deg,transparent 44%,#7a2a12 44% 56%,transparent 56%);opacity:.7}.item-icon-blank{display:inline-flex;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:4px;font-family:var(--font-display);font-size:1.1rem;opacity:.75}.item-row{align-items:center}.flask-wave{animation:flask-slosh 3.4s ease-in-out infinite}.flask-bubble{animation:flask-bubble 2.6s ease-in infinite}.flask-bubble-2{animation-delay:1.2s}@keyframes flask-slosh{0%,to{transform:translate(0)}50%{transform:translate(24px)}}@keyframes flask-bubble{0%{transform:translateY(0);opacity:0}20%{opacity:.7}to{transform:translateY(-16px);opacity:0}}.coin-glint{animation:glow-pulse 2.8s ease-in-out infinite}.encounter-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.encounter-box{border:1px solid var(--border);border-left:3px solid var(--blood-hi);border-radius:var(--radius);background:#17151a;padding:.5rem .6rem;display:flex;flex-direction:column;gap:.3rem}.round-marks{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem}.round-mark{width:16px;height:16px;border-radius:3px;border:1px solid var(--border)}.round-mark.player_hit{background:var(--good);border-color:var(--good)}.round-mark.enemy_hit{background:var(--bad);border-color:var(--bad);border-radius:50%}.round-mark.tie{background:transparent;border-style:dashed}.map-pin.current .map-dot{animation:map-pulse 1.8s ease-out infinite}@keyframes map-pulse{0%{box-shadow:0 0 0 2px var(--gold),0 0 0 2px #c89d4699}to{box-shadow:0 0 0 2px var(--gold),0 0 0 14px #c89d4600}}.map-route-walked,.map-paths line{stroke-dashoffset:0;animation:path-march 1.6s linear infinite}@keyframes path-march{to{stroke-dashoffset:-9}}.creator-screen{padding:.7rem .8rem;gap:.55rem}.creator-screen h1:focus{outline:none}.step-track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem;flex:0 0 auto}.step-track li{height:4px;border-radius:2px;background:var(--iron-hi);transition:background-color .3s ease}.step-track li.done{background:var(--gold)}.creator-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.7rem}.prolog-card{background:linear-gradient(180deg,#27201b 0%,var(--parchment-bg) 100%);border:1px solid var(--parchment-border);border-radius:var(--radius);padding:.9rem 1rem;font-family:var(--font-story);font-size:var(--story-size);line-height:1.6;gap:.8em;animation:page-in .38s ease-out both}.creator-footer{flex:0 0 auto;display:flex;flex-direction:column;gap:.35rem}.creator-footer .ending-actions .button{flex:1 1 0}.roll-sheet{border:1px solid #7a5d2a;border-radius:var(--radius);padding:.8rem}.sheet-intro{font-family:var(--font-story);font-size:1.05rem;line-height:1.45;color:var(--ink-soft)}.roll-row{display:grid;grid-template-columns:1fr auto 5.2rem;align-items:center;gap:.5rem;min-height:74px;padding:.5rem .6rem;border:2px solid #7a5d2a;border-radius:4px;background:#fffae866;transition:background-color .3s ease,box-shadow .3s ease}.roll-row.is-active{background:#fffae8bf;box-shadow:0 0 0 3px #c89d4699}.roll-label{display:flex;flex-direction:column}.roll-label strong{font-family:var(--font-display);letter-spacing:.06em;color:#7a2a12}.roll-label span{font-size:.8rem;color:var(--ink-soft)}.roll-dice{display:flex;gap:.25rem;min-width:72px;justify-content:flex-end}.roll-total{display:flex;flex-direction:column;align-items:center;text-align:center}.roll-total b{font-family:var(--font-display);font-size:1.9rem;line-height:1}.roll-row.is-shown .roll-total b{animation:ink-in .5s ease-out both}.roll-total span{font-size:.72rem;line-height:1.2;color:var(--ink-soft)}.roll-blank{opacity:.3}@keyframes ink-in{0%{opacity:0;transform:scale(1.6);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}.potion-cards{display:flex;flex-direction:column;gap:.45rem}.potion-card{display:grid;grid-template-columns:1fr;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,var(--iron) 0%,#1a181d 100%);padding:.45rem .7rem .55rem;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.potion-card label{display:flex;align-items:center;gap:.7rem;min-height:56px;cursor:pointer}.potion-card .flask{transition:transform .25s ease}.potion-card.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 0 18px #c89d4640;transform:translate(3px)}.potion-card.selected .flask{transform:rotate(-8deg) scale(1.08)}.potion-card:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}.potion-name{font-family:var(--font-display);font-size:1rem;font-weight:600}.potion-card .potion-desc{margin:0;font-size:.86rem}.weakest-badge{margin-left:.4rem;border-color:var(--gold);color:var(--gold)}.kit-note{text-align:center}.topbar-title h1{font-size:1.1rem}.loading-card,.error-card{width:100%;max-width:420px}.skeleton{height:.9rem;border-radius:4px;background:linear-gradient(90deg,var(--iron-hi) 0%,#3a3640 50%,var(--iron-hi) 100%);background-size:200% 100%;animation:skeleton-sweep 1.4s ease-in-out infinite}.skeleton-title{height:1.4rem;width:55%}.skeleton-line.short{width:70%}@keyframes skeleton-sweep{0%{background-position:100% 0}to{background-position:-100% 0}}.empty-state{color:var(--ivory-muted);font-size:.9rem;text-align:center;padding:.75rem}input[type=range]{width:100%;min-height:var(--touch);accent-color:var(--gold)}[data-reduced-motion=true] *,[data-reduced-motion=true] *:before,[data-reduced-motion=true] *:after{transition-duration:.01ms!important;animation:none!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation:none!important}}.potion-fieldset{border:0;padding:0;min-width:0}.weakest-badge{display:inline-block;margin:.25rem 0 0}.potion-card .potion-desc{display:flex;flex-direction:column;align-items:flex-start}.title-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.title-shade{background:linear-gradient(180deg,rgba(20,19,22,.2) 0%,rgba(20,19,22,.3) 52%,rgba(20,19,22,.8) 78%,var(--stone) 96%)}.backdrop-star{fill:#f3e6c8;animation:star-twinkle 6s ease-in-out infinite}.backdrop-halo{animation:glow-pulse 6s ease-in-out infinite}.backdrop-wake path{opacity:.5;animation:wake-shimmer 3.6s ease-in-out infinite}.backdrop-wake path:nth-child(2n){animation-delay:-1.2s}.backdrop-wake path:nth-child(3n){animation-delay:-2.4s}.backdrop-window{animation:star-twinkle 4s ease-in-out infinite}.backdrop-mist{animation:mist-drift 26s ease-in-out infinite alternate}.backdrop-mist-2{animation-duration:34s;animation-direction:alternate-reverse}@keyframes star-twinkle{0%,to{opacity:.85}50%{opacity:.25}}@keyframes wake-shimmer{0%,to{opacity:.5;transform:translate(0)}50%{opacity:.15;transform:translate(5px)}}@keyframes mist-drift{0%{transform:translate(-40px)}to{transform:translate(40px)}}.menu-frame{position:relative;padding:.85rem .75rem;gap:.5rem;background:linear-gradient(180deg,#14131680,#141316b8);border:1px solid rgba(200,157,70,.18);border-radius:8px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.corner{position:absolute;color:var(--gold);pointer-events:none}.corner-tl{top:-2px;left:-2px}.corner-tr{top:-2px;right:-2px;transform:rotate(90deg)}.corner-br{bottom:-2px;right:-2px;transform:rotate(180deg)}.corner-bl{bottom:-2px;left:-2px;transform:rotate(270deg)}.plate{position:relative;overflow:hidden;border-left-width:1px;border-left-color:var(--border);padding-left:1.15rem;box-shadow:inset 0 1px #ffffff14,inset 0 0 0 1px #c89d461a,0 2px #00000080;transition:transform .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out}.plate:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#f1d58d 0%,var(--gold) 45%,#7a5d2a 100%)}.plate:after{content:"";margin-left:auto;width:7px;height:7px;flex:0 0 auto;transform:rotate(45deg);border:1px solid var(--gold);opacity:.7;transition:background-color .15s ease-out,opacity .15s ease-out}.plate:hover:not(:disabled),.plate:focus-visible{transform:translate(3px);border-color:var(--gold);box-shadow:inset 0 1px #ffffff1a,inset 0 0 0 1px #c89d464d,0 2px #00000080,0 0 16px #c89d462e}.plate:hover:not(:disabled):after,.plate:focus-visible:after{background:var(--gold);opacity:1}.plate:active:not(:disabled){transform:translate(3px,1px)}.plate-primary{border-color:#7c1a16;min-height:58px;font-size:1.08rem;background:linear-gradient(110deg,transparent 35%,rgba(255,226,190,.22) 50%,transparent 65%) no-repeat -160% 0 / 220% 100%,linear-gradient(180deg,var(--blood-hi) 0%,var(--blood) 100%);animation:rise-in .3s ease-out both,plate-sheen 5.5s ease-in-out 1.2s infinite}.plate-primary:after{border-color:#f7ebd7}@keyframes plate-sheen{0%,62%{background-position:-160% 0,0 0}to{background-position:260% 0,0 0}}.signed-in{display:inline-flex;align-items:center;gap:.35rem;align-self:center;background:none;border:0;padding:0;color:var(--ivory-muted);font-size:.82rem}.title-screen .title-crest{position:relative;isolation:isolate}.title-screen .title-crest:before{content:"";position:absolute;top:-1.2rem;right:-1.4rem;bottom:-.8rem;left:-1.4rem;z-index:-1;background:radial-gradient(ellipse closest-side at 50% 50%,rgba(14,13,16,.78) 0%,rgba(14,13,16,.5) 55%,transparent 100%);pointer-events:none}.signed-in svg{width:16px;height:16px;color:var(--gold)}.game-menu .main-menu{gap:.5rem}.game-menu .small-note{text-align:center;margin:0}.scene-glyph{display:flex;align-items:center;gap:.5rem;color:var(--gold);margin:-.15rem 0 -.2rem;flex:0 0 auto}.scene-glyph__rule{flex:1 1 0;min-width:0;height:10px;fill:currentColor;stroke:currentColor;stroke-width:1;opacity:.75}.scene-glyph__rule.is-flipped{transform:scaleX(-1)}.scene-glyph__icon{flex:0 0 auto;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(226,160,70,.4))}.scene-glyph__icon *{transform-origin:0 0}.glyph-halo{fill:#c89d4617;stroke:none;animation:glyph-halo 4.2s ease-in-out infinite}[data-glyph=blades] .glyph-halo,[data-glyph=wound] .glyph-halo{fill:#be2b2629}.glyph-draw{stroke-dasharray:1;animation:glyph-draw .8s ease-out both;animation-delay:calc(var(--i, 0) * .14s)}.glyph-dot{fill:currentColor;stroke:none;animation:glyph-pop .35s ease-out both;animation-delay:calc(.3s + var(--i, 0) * .12s);transform-box:fill-box;transform-origin:center}.glyph-fill{fill:currentColor;stroke:none}.glyph-ring{stroke-width:.8;stroke-dasharray:2 4;animation:spin 26s linear infinite}.glyph-blood{fill:var(--blood-hi);stroke:#5e1210;stroke-width:1}.glyph-shine{stroke:#ffd9c9;stroke-width:1.3;opacity:.7}.glyph-ember{fill:#d9642f;stroke:none}.glyph-core{fill:#ffd98c;stroke:none}.glyph-pupil{fill:#1a1512;stroke:none}.glyph-pulse{opacity:.28;animation:glyph-pulse 2.6s ease-in-out infinite}.glyph-twinkle{transform-box:fill-box;transform-origin:center;animation:glyph-twinkle 2.4s ease-in-out infinite;animation-delay:calc(var(--i, 0) * .4s)}.glyph-orbit{animation:spin 7s linear infinite}.glyph-blade-left{animation:blade-left .5s cubic-bezier(.2,1.4,.4,1) both}.glyph-blade-right{animation:blade-right .5s cubic-bezier(.2,1.4,.4,1) both}.glyph-spark{stroke:#ffd98c;stroke-width:1.3;opacity:0;animation:glyph-spark 2.8s ease-out .45s infinite}.glyph-drip{transform-box:fill-box;transform-origin:50% 0;animation:glyph-drip 2.6s ease-in-out infinite}.glyph-ripple{stroke:var(--blood-hi);stroke-width:1;transform-box:fill-box;transform-origin:center;opacity:.5;animation:glyph-ripple 2.6s ease-out infinite}.glyph-sand{animation:glyph-sand 1.4s linear infinite;animation-delay:calc(var(--i, 0) * -.23s)}.glyph-rise{animation-name:glyph-rise;animation-duration:2.2s}.glyph-flicker{transform-box:fill-box;transform-origin:50% 100%;animation:glyph-flicker 1.7s ease-in-out infinite;animation-delay:calc(var(--i, 0) * -.3s)}.glyph-blink{animation:glyph-blink 5.2s ease-in-out infinite}@keyframes glyph-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes glyph-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes glyph-halo{0%,to{transform:scale(.86);opacity:.7}50%{transform:scale(1.06);opacity:1}}@keyframes glyph-pulse{0%,to{opacity:.18;transform:scale(.9)}50%{opacity:.5;transform:scale(1.05)}}@keyframes glyph-twinkle{0%,to{opacity:.15;transform:scale(.5) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}@keyframes blade-left{0%{opacity:0;transform:translate(-14px,6px) rotate(-18deg)}to{opacity:1;transform:none}}@keyframes blade-right{0%{opacity:0;transform:translate(14px,6px) rotate(18deg)}to{opacity:1;transform:none}}@keyframes glyph-spark{0%{opacity:0;transform:scale(.3)}8%{opacity:1;transform:scale(1)}24%,to{opacity:0;transform:scale(1.5)}}@keyframes glyph-drip{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.07)}}@keyframes glyph-ripple{0%{opacity:.7;transform:scale(.4)}to{opacity:0;transform:scale(1.5)}}@keyframes glyph-sand{0%{transform:translateY(0);opacity:1}to{transform:translateY(13px);opacity:.2}}@keyframes glyph-rise{0%{transform:translateY(0);opacity:.9}to{transform:translate(3px,-9px);opacity:0}}@keyframes glyph-flicker{0%,to{transform:scale(1) skew(0)}30%{transform:scale(.94,1.06) skew(-3deg)}65%{transform:scale(1.04,.95) skew(3deg)}}@keyframes glyph-blink{0%,44%,50%,to{transform:scaleY(1)}47%{transform:scaleY(.08)}}.rune-rule{width:min(180px,60%);height:14px;align-self:center;flex:0 0 auto;fill:none;stroke:var(--gold);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;opacity:.8}.rune-rule__mark{animation:rune-light 3.6s ease-in-out infinite;animation-delay:calc(var(--i, 0) * .5s)}@keyframes rune-light{0%,to{stroke:var(--gold);opacity:.55}30%{stroke:#ffe3a3;opacity:1}}.story-page>p{animation:ink-in .6s ease-out both}.story-page>p:nth-of-type(2){animation-delay:.12s}.story-page>p:nth-of-type(3){animation-delay:.22s}.story-page>p:nth-of-type(n+4){animation-delay:.3s}@keyframes ink-in{0%{opacity:0;filter:blur(3px);transform:translateY(4px)}to{opacity:1;filter:none;transform:none}}.page-indicator{display:flex;align-items:center;justify-content:flex-end;gap:.6rem}.page-pips{display:inline-flex;gap:6px;padding-left:2px;margin-right:auto}.page-pip{width:6px;height:6px;transform:rotate(45deg);border:1px solid var(--gold);opacity:.45}.page-pip.is-read{background:#c89d4673;opacity:.7}.page-pip.is-current{background:var(--gold);opacity:1;box-shadow:0 0 6px #c89d46b3}.media-open{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:flex;align-items:flex-start;justify-content:flex-end;padding:.35rem;background:transparent;border:0;color:var(--ivory);cursor:zoom-in}.media-open svg{padding:4px;width:26px;height:26px;border-radius:4px;background:#141316b3;border:1px solid var(--border)}.media-open:focus-visible{outline-offset:-3px}.play-media .voice-trigger,.play-media .speaker-portrait{z-index:1}.play-media .speaker-portrait{pointer-events:none}.image-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:.5rem;background:#080709f0;cursor:zoom-out;animation:fade-in .2s ease-out both}.image-viewer img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;border:1px solid var(--gold);border-radius:var(--radius);box-shadow:0 8px 40px #000c;cursor:default}.image-viewer-close{position:absolute;top:.6rem;right:.6rem;z-index:1}.combat-fx{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.combat-fx>*,.fx-spark,.fx-claws path,.fx-splat{opacity:0}.fx-flash-gold{fill:#ffe3a3;animation:fx-flash .35s ease-out both}.fx-flash-blood{fill:#be2b26;animation:fx-flash .45s ease-out both}.fx-vignette{animation:fx-vignette 1.1s ease-out both}.fx-slash,.fx-slash-glow{fill:none;stroke-linecap:round;stroke-dasharray:.55 1;animation:fx-slash .42s cubic-bezier(.3,0,.2,1) both}.fx-slash{stroke:#fff6dc;stroke-width:3}.fx-slash-glow{stroke:#ffb347;stroke-width:10;filter:blur(3px)}.fx-claws path{fill:none;stroke:#ffd9d6;stroke-width:5;stroke-linecap:round;stroke-dasharray:.6 1;filter:drop-shadow(0 0 4px #be2b26);animation:fx-slash .4s cubic-bezier(.3,0,.2,1) both}.fx-sparks{opacity:1}.fx-spark{stroke:#ffd98c;stroke-width:2;stroke-linecap:round;animation:fx-spark .5s ease-out both}.fx-splat{fill:#9e221e;stroke:#5e1210;stroke-width:1;transform-box:fill-box;transform-origin:center;animation:fx-splat 1.5s ease-out both}.fx-number{font-family:var(--font-display);font-weight:700;font-size:44px;paint-order:stroke;stroke:#141316;stroke-width:5;stroke-linejoin:round;transform-box:fill-box;transform-origin:center;animation:fx-number 1.25s ease-out .12s both}.fx-number-gold{fill:#ffe3a3}.fx-number-blood{fill:#ff8f88}.fx-luck{transform-box:fill-box;transform-origin:center;stroke:#141316;stroke-width:1.5;animation:fx-luck 1.2s ease-out .1s both}.fx-luck.is-lucky{fill:#ffe3a3;filter:drop-shadow(0 0 6px #e2b84a)}.fx-luck.is-unlucky{fill:#6d6a70}@keyframes fx-flash{0%{opacity:.5}to{opacity:0}}@keyframes fx-vignette{0%{opacity:0}15%{opacity:1}to{opacity:0}}@keyframes fx-slash{0%{opacity:1;stroke-dashoffset:.55}70%{opacity:1}to{opacity:0;stroke-dashoffset:-1}}@keyframes fx-spark{0%{opacity:1;transform:translate(-6px) scaleX(.3)}to{opacity:0;transform:translate(16px) scaleX(1)}}@keyframes fx-splat{0%{opacity:0;transform:scale(.3)}12%{opacity:.95;transform:scale(1.08)}22%{transform:scale(1)}70%{opacity:.9}to{opacity:0;transform:scale(1) translateY(6px)}}@keyframes fx-number{0%{opacity:0;transform:translateY(10px) scale(.5)}18%{opacity:1;transform:translateY(0) scale(1.25)}32%{transform:translateY(-2px) scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-22px) scale(1)}}@keyframes fx-luck{0%{opacity:0;transform:scale(.2) rotate(-40deg)}25%{opacity:1;transform:scale(1.5) rotate(0)}70%{opacity:1;transform:scale(1.2) rotate(8deg)}to{opacity:0;transform:scale(1.2) rotate(8deg)}}.enemy-bar{position:relative;height:8px;margin:.3rem 0 .1rem;border-radius:4px;background:#100f12;border:1px solid var(--border);overflow:hidden}.enemy-bar__fill,.enemy-bar__trace{position:absolute;inset:0 auto 0 0;border-radius:3px}.enemy-bar__fill{background:linear-gradient(180deg,#d9483c 0%,var(--blood) 100%);box-shadow:inset 0 1px #ffdcc859;transition:width .25s ease-out}.enemy-bar__trace{background:#f3e6c8;transition:width .7s ease-in .35s}.enemy-bar.is-low .enemy-bar__fill{animation:critical-pulse 1.4s ease-in-out infinite}.check-moment{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;pointer-events:none;overflow:hidden;border-radius:inherit;opacity:0;animation:check-life 2.6s ease-out both}.check-moment__veil{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 50%,#0e0d10f7,#0e0d10f0 60%,#0e0d10e0)}.check-moment__body{position:relative;display:flex;flex-direction:column;align-items:center;gap:.35rem;font-family:var(--font-display);line-height:1}.check-moment__stat{font-size:.85rem;letter-spacing:.22em;color:var(--gold)}.check-moment__dice{display:flex;gap:.9rem;margin-top:.2rem}.check-die{display:inline-flex;filter:drop-shadow(0 6px 6px rgba(0,0,0,.7))}.check-die-a{animation:check-die-a .75s cubic-bezier(.2,.9,.3,1) both}.check-die-b{animation:check-die-b .75s cubic-bezier(.2,.9,.3,1) .08s both}.check-moment__total{font-size:2rem;font-weight:700;color:var(--ivory);animation:check-pop .3s ease-out .8s both}.check-stamp{width:min(230px,70vw);height:auto;margin-top:.1rem;overflow:visible;transform:rotate(-4deg);animation:check-stamp .42s cubic-bezier(.2,1.5,.4,1) 1.05s both}.check-stamp__frame{fill:#14131680;stroke-width:3}.check-stamp__inner{fill:none;stroke-width:1;opacity:.7}.check-stamp__word{font-family:var(--font-display);font-weight:700;font-size:30px;letter-spacing:.12em}.is-passed .check-stamp{color:#ffd98c;filter:drop-shadow(0 0 10px rgba(226,184,74,.75))}.is-failed .check-stamp{color:#e0615b;filter:drop-shadow(0 0 10px rgba(190,43,38,.8))}.check-stamp__frame,.check-stamp__inner{stroke:currentColor}.check-stamp__word{fill:currentColor}@keyframes check-life{0%{opacity:0}6%{opacity:1}84%{opacity:1}to{opacity:0}}@keyframes check-die-a{0%{opacity:0;transform:translate(-130px,-70px) rotate(-540deg) scale(.7)}60%{opacity:1;transform:translate(6px,4px) rotate(14deg) scale(1.05)}80%{transform:translate(-2px,-3px) rotate(-5deg)}to{opacity:1;transform:none}}@keyframes check-die-b{0%{opacity:0;transform:translate(130px,-90px) rotate(600deg) scale(.7)}60%{opacity:1;transform:translate(-6px,5px) rotate(-16deg) scale(1.05)}80%{transform:translate(2px,-3px) rotate(6deg)}to{opacity:1;transform:none}}@keyframes check-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes check-stamp{0%{opacity:0;transform:rotate(-4deg) scale(2.4)}to{opacity:1;transform:rotate(-4deg) scale(1)}}.plate-text{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0}.plate-detail{font-family:var(--font-body);font-size:.74rem;font-weight:500;letter-spacing:.02em;color:#f7ebd7d1;text-transform:none}.play-screen{padding:0;gap:0}.play-screen .stage{position:relative;flex:0 0 auto;height:clamp(150px,31dvh,260px);background:#100f12;overflow:hidden}.play-screen .stage.is-combat{height:clamp(132px,25dvh,230px)}.play-screen .stage.is-combat .scene-visual,.play-screen .stage.is-combat .scene-under{-o-object-position:center 12%;object-position:center 12%}.play-screen .play-media{position:absolute;top:0;right:0;bottom:0;left:0;width:auto;max-height:none;aspect-ratio:auto;border:0;border-radius:0}.play-screen .scene-under,.play-screen .scene-visual{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 30%;object-position:center 30%}.play-screen .scene-visual{animation:scene-in .7s ease-out both}.play-screen .scene-visual.is-still{animation:scene-in .7s ease-out both,scene-drift 28s ease-in-out .7s infinite alternate}@keyframes scene-in{0%{opacity:0}to{opacity:1}}@keyframes scene-drift{0%{transform:scale(1)}to{transform:scale(1.07) translateY(-1.5%)}}.play-screen .stage-shade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,rgba(20,19,22,.78) 0%,rgba(20,19,22,0) 34%,rgba(20,19,22,0) 50%,rgba(20,19,22,.82) 84%,var(--stone) 100%)}.play-screen .play-topbar{position:absolute;top:0;left:0;right:0;z-index:2;padding:calc(.4rem + env(safe-area-inset-top,0px)) .5rem 0;display:flex;align-items:center;justify-content:space-between;gap:.4rem}.play-screen .stage-tools{display:flex;gap:.35rem;min-width:var(--touch);justify-content:flex-end}.play-screen .stage-button{position:static;flex:0 0 auto;width:var(--touch);height:var(--touch);padding:0;display:inline-grid;place-items:center;border-radius:50%;border:1px solid rgba(223,207,175,.24);background:#14131694;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ivory);cursor:pointer;transition:border-color .15s,background-color .15s,transform .1s}.play-screen .stage-button:hover{border-color:var(--gold)}.play-screen .stage-button:active{transform:scale(.94)}.play-screen .stage-button svg{width:20px;height:20px;padding:0;border:0;border-radius:0;background:none}.play-screen .voice-trigger[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--stone)}.play-screen .section-badge{margin:0;padding:.3rem .8rem;border-radius:999px;border:1px solid rgba(223,207,175,.2);background:#14131694;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.86rem;letter-spacing:.06em;white-space:nowrap}.play-screen .section-badge .muted{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.play-screen .section-badge strong{color:var(--gold)}.play-screen .play-media .speaker-portrait{right:.6rem;bottom:2.7rem;width:46px;height:60px;border-radius:8px}.play-screen .hud{position:absolute;left:.75rem;right:.75rem;bottom:.5rem;z-index:2;display:flex;align-items:center;gap:.7rem;font-size:.86rem;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px rgba(0,0,0,.9)}.play-screen .hud-stamina,.play-screen .hud-chip{position:relative;display:inline-flex;align-items:center;gap:.32rem}.play-screen .hud-stamina{flex:1 1 auto;min-width:0}.play-screen .hud-stamina>svg{color:#e0615b;flex:0 0 auto}.play-screen .hud-chip>svg{color:var(--gold)}.play-screen .hud strong{font-size:.98rem}.play-screen .hud-of{color:var(--ivory-muted);font-size:.76rem;margin-left:-.2rem}.play-screen .hud-meter{position:relative;flex:1 1 auto;height:9px;border-radius:999px;overflow:hidden;background:#080709b8;border:1px solid rgba(223,207,175,.22)}.play-screen .hud-meter__fill,.play-screen .hud-meter__trace{position:absolute;inset:0 auto 0 0;border-radius:999px}.play-screen .hud-meter__fill{background:linear-gradient(180deg,#a5d894,#4f8a44);box-shadow:inset 0 1px #f0ffe666;transition:width .3s ease-out,background-color .3s}.play-screen .hud-stamina.is-critical .hud-meter__fill,.play-screen .enemy-bar.is-hero.is-low .enemy-bar__fill{background:linear-gradient(180deg,#ef7a6f,#b8322b)}.play-screen .hud-meter__trace{background:#f3e6c8;transition:width .8s ease-in .4s}.play-screen .hud-stamina.is-critical .hud-meter{border-color:var(--blood-hi);animation:critical-pulse 1.1s ease-in-out infinite}.play-screen .hud-stamina.is-critical strong{color:#ff9c94}.play-screen .hud-delta{position:absolute;right:0;bottom:100%;font-size:1.05rem;font-weight:800;opacity:0;pointer-events:none;animation:delta-rise 1.7s ease-out .3s both}.play-screen .hud-delta.is-good{color:#9bd98a}.play-screen .hud-delta.is-bad{color:#ff8078}@keyframes delta-rise{0%{opacity:0;transform:translateY(8px) scale(.8)}14%{opacity:1;transform:translateY(0) scale(1.15)}24%{transform:translateY(-2px) scale(1)}72%{opacity:1}to{opacity:0;transform:translateY(-22px)}}.play-screen .voice-strip{margin:.35rem .75rem 0;border-radius:12px;background:#222026e6;border-color:#c89d464d}.play-screen .parchment-story{border:0;border-radius:0;background:none;padding:.75rem 1.15rem .6rem;touch-action:pan-y;overscroll-behavior:contain;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12px,#000 calc(100% - 22px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 12px,#000 calc(100% - 22px),transparent 100%)}.play-screen .parchment-story:after{display:none}.play-screen .feedback-banner{border-radius:10px}.play-screen .action-dock{position:relative;max-height:52%;padding:.6rem .7rem .55rem;gap:.4rem;border-radius:18px 18px 0 0;border-top:1px solid rgba(200,157,70,.22);background:linear-gradient(180deg,#26222a,#1b191e);box-shadow:0 -12px 26px #0000006b}.play-screen .page-turn{display:flex;gap:.45rem}.play-screen .page-back{flex:0 0 52px;padding:0}.play-screen .action-dock .button{border-radius:12px}.play-screen .action-dock .button.primary.full-width{min-height:50px;font-size:1rem;letter-spacing:.02em}.play-screen .choices-list{gap:.4rem}.play-screen .choices-list .choice-button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;-moz-column-gap:.6rem;column-gap:.6rem;row-gap:.15rem;min-height:50px;padding:.5rem .7rem .5rem .55rem;border:1px solid rgba(223,207,175,.16);background:linear-gradient(180deg,#312c35,#252129);color:var(--ivory);font-weight:500;transition:border-color .15s,transform .1s,background-color .15s}.play-screen .choices-list .choice-button:hover:not(:disabled),.play-screen .choices-list .choice-button:focus-visible{border-color:var(--gold);filter:none}.play-screen .choices-list .choice-button:active:not(:disabled){transform:scale(.985)}.play-screen .choices-list .choice-button.is-busy{border-color:var(--gold);background:linear-gradient(180deg,#3d3426,#2b2520)}.play-screen .choices-list .choice-button:disabled{background:none;border-style:dashed}.play-screen .choice-num{width:26px;height:26px;margin:0;display:inline-grid;place-items:center;border-radius:50%;border:1px solid rgba(200,157,70,.6);color:var(--gold);font-family:var(--font-display);font-size:.82rem;font-weight:700}.play-screen .choice-button:disabled .choice-num{border-color:var(--border);color:var(--ivory-muted)}.play-screen .choice-tag{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.14rem .5rem;border-color:#c89d4673;white-space:nowrap}.play-screen .choice-chance{font-weight:800;padding-left:.35rem;border-left:1px solid rgba(223,207,175,.25)}.play-screen .choice-chance.is-safe{color:#9bd98a}.play-screen .choice-chance.is-even{color:#f0c86a}.play-screen .choice-chance.is-risky{color:#ff8078}.play-screen .choice-hint{grid-column:2 / -1;width:auto}.play-screen .duel{border:0;border-radius:0;background:none;padding:0;gap:.5rem}.play-screen .duel-sides{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.55rem}.play-screen .duel-side{min-width:0;display:flex;flex-direction:column;gap:.1rem;font-size:.8rem}.play-screen .duel-side.is-foe{text-align:right}.play-screen .duel-name{font-family:var(--font-display);font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play-screen .duel-name .muted{font-family:var(--font-body);font-size:.74rem}.play-screen .duel-stamina{font-variant-numeric:tabular-nums}.play-screen .duel-vs{font-family:var(--font-display);font-size:.72rem;font-weight:700;color:var(--gold);width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(200,157,70,.5);border-radius:50%;transform:rotate(-8deg)}.play-screen .duel .enemy-bar{height:10px;margin:.15rem 0;border-radius:999px}.play-screen .duel .is-foe .enemy-bar__fill,.play-screen .duel .is-foe .enemy-bar__trace{inset:0 0 0 auto}.play-screen .enemy-bar.is-hero .enemy-bar__fill{background:linear-gradient(180deg,#a5d894,#4f8a44)}.play-screen .duel-clash{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.35rem;padding:.35rem .5rem;border-radius:12px;background:#0c0b0e9e;border:1px solid rgba(223,207,175,.1)}.play-screen .duel-roll{display:flex;align-items:center;gap:.4rem;min-width:0}.play-screen .duel-roll.is-mirrored{flex-direction:row-reverse}.play-screen .duel-sum{display:inline-flex;align-items:baseline;gap:.3rem;color:var(--ivory-muted);font-size:.8rem;font-variant-numeric:tabular-nums}.play-screen .duel-roll.is-mirrored .duel-sum{flex-direction:row-reverse}.play-screen .duel-sum strong{font-family:var(--font-display);font-size:1.35rem;line-height:1;color:var(--ivory)}.play-screen .duel-verdict{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--ivory-muted);width:1.2rem;text-align:center}.play-screen .duel[data-result=player_hit] .duel-roll:not(.is-mirrored) strong,.play-screen .duel[data-result=player_hit] .duel-verdict{color:var(--gold)}.play-screen .duel[data-result=enemy_hit] .duel-roll.is-mirrored strong,.play-screen .duel[data-result=enemy_hit] .duel-verdict{color:#ff8078}.play-screen .duel[data-result=player_hit] .duel-roll.is-mirrored,.play-screen .duel[data-result=enemy_hit] .duel-roll:not(.is-mirrored){opacity:.62}.play-screen .duel-hint{font-size:.86rem;line-height:1.35;color:var(--ivory-muted)}.play-screen .luck-prompt{margin-bottom:.4rem}.play-screen .attack-button{min-height:52px}.play-screen .attack-button svg{width:20px;height:20px}.play-screen .ending-card{border-radius:14px}.play-screen .play-bottombar{gap:0;padding:.1rem .35rem calc(.25rem + env(safe-area-inset-bottom,0px));background:#1b191e;border-top:1px solid rgba(223,207,175,.08)}.play-screen .nav-button{min-height:50px;border:0;border-radius:12px;background:none;box-shadow:none;color:var(--ivory-muted);font-size:.7rem;letter-spacing:.02em;transition:color .15s,background-color .15s}.play-screen .nav-button:hover,.play-screen .nav-button:focus-visible{color:var(--ivory);background:#dfcfaf0f}.play-screen .nav-button svg{width:22px;height:22px}@media (min-height: 760px){.play-screen .stage{height:clamp(200px,34dvh,300px)}}.dice-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:12px;background:#080709eb}.dice-ritual{width:min(100%,440px);max-height:100%;overflow-y:auto;color:#dfcfaf;background:linear-gradient(155deg,#312923,#141316 65%);border:1px solid #9a7838;border-radius:12px;box-shadow:0 20px 80px #000,inset 0 0 0 4px #141316;padding:22px 16px 16px;text-align:center}.dice-heading h2{font-family:Cinzel,serif;font-size:1.25rem;line-height:1.35;margin:8px 0 12px}.dice-rule{color:#e5bd70;font:700 1.05rem Cinzel,serif;margin:0 0 8px}.dice-stakes,.dice-detail,.dice-help{font-size:.95rem;line-height:1.35;margin:0}.dice-tray{display:grid;align-items:center;min-height:175px;margin:18px 0;padding:20px 6px;border:1px solid #614d32;border-radius:45%/18%;background:radial-gradient(ellipse,#352b23,#1b1715 70%);box-shadow:inset 0 6px 24px #0009,0 1px #756044}.dice-faces{display:flex;justify-content:center;gap:10px}.dice-faces .die-svg{flex-shrink:0;filter:drop-shadow(0 7px 3px #0008)}.unthrown-die{width:58px;height:58px;border:2px dashed #b99d6d;border-radius:9px;display:grid;place-items:center;font:28px Cinzel,serif;color:#dfcfaf;transform:rotate(-10deg)}.unthrown-die+.unthrown-die{transform:rotate(12deg)}.dice-waiting>span{display:block;margin-top:20px;color:#dfcfaf}.dice-groups{display:flex;justify-content:center;gap:18px}.dice-group{min-width:0}.dice-group>.eyebrow{display:block;margin-bottom:10px}.dice-equation{font-size:1rem;margin:10px 0}.dice-equation strong{font-size:1.7rem;color:#efd599}.dice-verdict{display:block;font:700 1.25rem Cinzel,serif;margin:2px 0 6px}.dice-receipt.is-good .dice-verdict{color:#e8c473}.dice-receipt.is-bad .dice-verdict{color:#ffb1a0}.dice-controls{display:grid;gap:10px}.dice-throw{min-height:58px;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.dice-throw[data-held=true]{background:#69491f;box-shadow:inset 0 0 18px #e9bc6755}.dice-ritual button{min-height:44px}.dice-help{color:#c9bca3;font-size:.85rem}.play-surface{display:contents}@media (max-height: 560px){.dice-ritual{padding:12px}.dice-tray{margin:10px 0;padding:12px 4px;min-height:120px}}[data-reduced-motion=true] .dice-tray *,.dice-tray[data-reduced-motion=true] *{animation:none!important;transition:none!important}@media (prefers-reduced-motion: reduce){.dice-tray *{animation:none!important;transition:none!important}}
