@font-face{font-family:Cormorant SC;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-sc-cyrillic-ext-600-normal-zT0PYgCP.woff2)format("woff2"),url(/assets/cormorant-sc-cyrillic-ext-600-normal-CQS0OalG.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant SC;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-sc-cyrillic-600-normal-h2Rzx9J-.woff2)format("woff2"),url(/assets/cormorant-sc-cyrillic-600-normal-DOzyb-Sh.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant SC;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-sc-vietnamese-600-normal-jB6KAguT.woff2)format("woff2"),url(/assets/cormorant-sc-vietnamese-600-normal-CCuixYh8.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant SC;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-sc-latin-ext-600-normal-CSxfbO2F.woff2)format("woff2"),url(/assets/cormorant-sc-latin-ext-600-normal-D4UXNUIL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant SC;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-sc-latin-600-normal-wS6gaVTd.woff2)format("woff2"),url(/assets/cormorant-sc-latin-600-normal-CtbbO-J9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant SC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-sc-cyrillic-ext-700-normal-CATgtMv9.woff2)format("woff2"),url(/assets/cormorant-sc-cyrillic-ext-700-normal-dPAuI-N9.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant SC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-sc-cyrillic-700-normal-DfOZQpl7.woff2)format("woff2"),url(/assets/cormorant-sc-cyrillic-700-normal-DRe9UjKP.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant SC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-sc-vietnamese-700-normal-B3z4aG5-.woff2)format("woff2"),url(/assets/cormorant-sc-vietnamese-700-normal-DBKbihEL.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant SC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-sc-latin-ext-700-normal-xX0vxuIm.woff2)format("woff2"),url(/assets/cormorant-sc-latin-ext-700-normal-oC_EXZtZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant SC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-sc-latin-700-normal-DbXnBeCd.woff2)format("woff2"),url(/assets/cormorant-sc-latin-700-normal-ukfxaLH3.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-ext-wght-normal-CGKlZYBf.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-wght-normal-DLqwHbi6.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-ext-wght-normal-e3e57Shi.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-wght-normal-CO1l-giJ.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-vietnamese-wght-normal-LcSrhZ7T.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-ext-wght-normal-BnEbWgdZ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-wght-normal-DLxlUchJ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-ext-wght-italic-DrMGjC4f.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-wght-italic-C2hF6zFe.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-ext-wght-italic-f6xT_0ee.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-wght-italic-9BAkQpca.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-vietnamese-wght-italic-LyOFdRXZ.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-ext-wght-italic-CC1SwlwQ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-wght-italic-Bm_GJfSc.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-ext-wght-normal-c-5QAGAI.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-wght-normal-BMDVbyM7.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-ext-wght-normal-BXZfsJY4.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-wght-normal-Cc-u-6OI.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-vietnamese-wght-normal-BDs68eHQ.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-ext-wght-normal-C8iNium2.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-wght-normal-Bo_j9asI.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-ext-wght-italic-F_qGh3gi.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-wght-italic-BqzjwPnH.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-ext-wght-italic-DBLPjGyR.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-wght-italic-CXgqVJLg.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-vietnamese-wght-italic-Obd_lscc.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-ext-wght-italic-B1mMy0tD.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-wght-italic-DLiStKT6.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Cormorant SC", Garamond, "Times New Roman", serif;--font-text:"Literata Variable", Literata, Georgia, "Times New Roman", serif;--font-ui:"Source Sans 3 Variable", "Source Sans 3", "Segoe UI", system-ui, sans-serif;--desk:#241811;--desk-ink:#ecdfc3;--desk-muted:#c2ac85;--desk-gilt:#d8b56b;--paper:#f3e9d4;--vellum:#fbf6ea;--field:#fffcf5;--sheet:#faf5ea;--sheet-edge:#c9bca1;--stripe:#ebe1c9;--note:#e6e5cc;--note-edge:#a8a273;--boxed:#ebdfc3;--boxed-edge:#6b563d;--ink:#241c14;--ink-soft:#4a3d2f;--muted:#68573f;--placeholder:#7d6c55;--rubric:#7c1f13;--rubric-deep:#5a130a;--stat-red:#6e1a0f;--gilt:#a8853b;--gilt-soft:#d4bf8e;--border:#ddcfb2;--border-strong:#8f7c5c;--ability-a:#ede5d2;--ability-a-mod:#e2d5c2;--ability-b:#e8e3d7;--ability-b-mod:#dbd2c8;--button:#7c1f13;--button-edge:#5a130a;--on-button:#fbf3e4;--ok:#2b6a3c;--warn:#7f4c00;--down:#a01f19;--on-down:#fbf3e4;--focus:#22507f;--shadow:0 1px 2px #4a32161f;--shadow-raised:0 1px 2px #4a321624, 0 6px 18px -10px #4a321659;--page-shadow:0 0 0 1px #00000059, 0 18px 40px -12px #0009;--radius:4px;--texture:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g' x='0' y='0' width='1' height='1'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .38 0 0 0 0 .27 0 0 0 0 .13 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='640'%3E%3Cfilter id='s' x='0' y='0' width='1' height='1'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.004 .007' numOctaves='4' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .4 0 0 0 0 .2 0 0 0 .5 -.18'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23s)'/%3E%3C/svg%3E");--desk-texture:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g' x='0' y='0' width='1' height='1'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}:root[data-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--desk:#0b0806;--desk-ink:#ddcfb4;--desk-muted:#a29176;--desk-gilt:#d9b260;--paper:#16110c;--vellum:#211912;--field:#120e0a;--sheet:#1f1711;--sheet-edge:#4b3a29;--stripe:#2a2018;--note:#22251a;--note-edge:#5d5a3b;--boxed:#2b2118;--boxed-edge:#a88a5c;--ink:#eee3cc;--ink-soft:#d9cab0;--muted:#b3a184;--placeholder:#9c8b70;--rubric:#e2b862;--rubric-deep:#f0cf8a;--stat-red:#eda48c;--gilt:#a8843f;--gilt-soft:#5e4a26;--border:#3a2d21;--border-strong:#7a6650;--ability-a:#2c2219;--ability-a-mod:#372a1f;--ability-b:#29231d;--ability-b-mod:#332b24;--button:#9a2a1b;--button-edge:#6e1c11;--on-button:#fbeee0;--ok:#8fd3a0;--warn:#efc36a;--down:#f3a196;--on-down:#1a0f0a;--focus:#8cc0ea;--shadow:0 1px 2px #0006;--shadow-raised:0 1px 2px #00000073, 0 8px 20px -12px #000c;--page-shadow:0 0 0 1px #ffebc80f, 0 18px 40px -12px #000000e6;--texture:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g' x='0' y='0' width='1' height='1'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .95 0 0 0 0 .85 0 0 0 0 .65 0 0 0 .035 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E"), linear-gradient(transparent, transparent)}html{background:var(--desk)}body{background:var(--desk-texture), var(--desk);color:var(--ink);font-family:var(--font-text);font-optical-sizing:auto;-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.6}a{color:var(--rubric);-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--rubric-deep);text-decoration-color:currentColor}h1,h2,h3,h4,h5{color:var(--rubric);font-family:var(--font-display);letter-spacing:.02em;overflow-wrap:anywhere;font-weight:700;line-height:1.15}h1{margin:0 0 8px;font-size:2.5rem}h2{border-bottom:2px solid var(--gilt-soft);margin:32px 0 10px;padding-bottom:3px;font-size:1.75rem}h3{margin:20px 0 6px;font-size:1.375rem}h4{margin:16px 0 4px;font-size:1.1875rem}@media (width<=480px){h1{font-size:1.9rem}h2{font-size:1.4rem}}:is(.card,.empty-state,.danger-zone,.notice,.chat-message,.stat-block) h2{border-bottom:0;padding-bottom:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,input,select,textarea,.button,label,legend,.badge,.tabs,.tool-tabs,.filters,.field-hint,.field-error,.form-error,.back-link,.card-heading,.timeline-meta,.timeline-actions,.usage,.tool-steps,.dashboard-footer,.list-footer,.world-strip,.segmented,.dice-quick,.roll-result,.fight,.loot,.quick-fight,.creature-results,.details dt,.status{font-family:var(--font-ui)}.link-button{color:var(--rubric);font:inherit;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-underline-offset:.18em;cursor:pointer;background:0 0;border:none;padding:0}.shell{flex-direction:column;min-height:100vh;display:flex}.shell-header{border-bottom:3px double var(--desk-gilt);background:var(--desk-texture), var(--desk);color:var(--desk-ink);font-family:var(--font-ui);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;padding:8px 16px;display:flex}.brand{min-height:44px;color:var(--desk-gilt);font-family:var(--font-display);letter-spacing:.04em;align-items:center;gap:8px;font-size:1.5rem;font-weight:700;text-decoration:none;display:inline-flex}.brand:hover{color:var(--desk-gilt)}.brand-mark{flex-shrink:0}.shell-tools{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.shell-nav{flex-wrap:wrap;align-items:center;gap:4px 16px;display:flex}.shell-nav a,.shell-nav .link-button{min-height:44px;color:var(--desk-ink);align-items:center;text-decoration:none;display:inline-flex}.shell-nav a:hover,.shell-nav .link-button:hover{color:var(--desk-gilt);text-decoration:underline}.theme-toggle{border-radius:var(--radius);width:44px;height:44px;color:var(--desk-ink);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.theme-toggle:hover{border-color:color-mix(in srgb, var(--desk-gilt) 60%, transparent)}.theme-toggle[aria-pressed=true]{color:var(--desk-gilt)}.shell-header :focus-visible{outline:2px solid var(--desk-gilt);outline-offset:2px}.shell-main{box-sizing:border-box;background:var(--texture), var(--paper);flex:1 0 auto;width:100%;max-width:720px;margin:0 auto;padding:24px 16px 32px}@media (width>=760px){.shell-main{max-width:800px;box-shadow:var(--page-shadow);border-radius:2px;flex:none;margin:28px auto 0;padding:36px 40px 44px}.shell-footer{padding-top:16px}}:is(.shell-main:has(>.table-page),.shell-main:has(>.map-page),.shell-main:has(>.plan-page)){max-width:1240px}.shell-footer{box-sizing:border-box;width:100%;max-width:800px;color:var(--desk-muted);font-family:var(--font-ui);text-align:center;margin:0 auto;padding:12px 16px 32px;font-size:.875rem}.shell-footer a{color:inherit}.shell-footer a:hover{color:var(--desk-gilt)}.lead{color:var(--ink-soft);margin:0 0 24px;font-size:1.0625rem;font-style:italic}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 16px;margin-bottom:16px;display:flex}.page-header h1{margin:0}.page-narrow{max-width:560px}.actions,.form-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.actions{gap:8px}.back-link{color:var(--muted);letter-spacing:.05em;margin:0 0 10px;font-size:.9375rem;font-variant-caps:all-small-caps}.back-link a{color:var(--rubric);text-decoration:none}.back-link a:hover{text-decoration:underline}.section-header{border-bottom:2px solid var(--gilt-soft);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 16px;margin:32px 0 12px;display:flex}.section-header h2{border-bottom:0;margin:0;padding-bottom:3px}.muted{color:var(--muted)}.ok{color:var(--ok)}.down,.status-down{color:var(--down)}.opening .markdown>p:first-child:first-letter{float:left;color:var(--rubric);font-family:var(--font-display);margin:.08em .1em 0 0;font-size:3.9em;font-weight:700;line-height:.82}.tabs,.tool-tabs{box-shadow:inset 0 -1px 0 var(--gilt-soft);scrollbar-width:none;gap:2px;margin:0 0 20px;display:flex;overflow-x:auto}.tabs a,.tool-tabs button{min-height:44px;color:var(--muted);font-family:var(--font-display);letter-spacing:.03em;box-sizing:border-box;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex-shrink:0;align-items:center;padding:0 12px;font-size:1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.tabs a:hover,.tool-tabs button:hover{color:var(--ink)}.tabs a[aria-current=page],.tool-tabs button[aria-selected=true]{border-bottom-color:var(--rubric);color:var(--rubric);font-weight:700}.tool-tabs button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.tool-tabs{flex-wrap:wrap;overflow-x:visible}.tool-tabs button{padding:0 10px;font-size:1.125rem}@media (width<=420px){.tabs{flex-wrap:wrap;gap:0 2px;overflow-x:visible}.tabs a{padding:0 8px}}.card,.campaign-card{background:var(--vellum);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-content:start;gap:8px;padding:12px 16px;display:grid}.campaign-card{color:inherit;gap:4px;text-decoration:none}.campaign-card:hover,.card-list a.card:hover{border-color:var(--gilt);color:inherit}.campaign-list,.card-list{gap:10px;margin:0 0 16px;padding:0;list-style:none;display:grid}.campaign-card-title,.card-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.campaign-card-name{color:var(--rubric);font-family:var(--font-display);letter-spacing:.02em;overflow-wrap:anywhere;font-size:1.5625rem;font-weight:700;line-height:1.2}.campaign-card-details{color:var(--muted);font-size:.9375rem}.card-name{color:var(--ink);font-family:var(--font-display);overflow-wrap:anywhere;font-size:1.375rem;font-weight:700;line-height:1.25}a.card-name,.card-name a{color:var(--rubric)}.card-details{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.9375rem}.card-character{color:var(--ink)}.card-heading{color:var(--muted);letter-spacing:.08em;margin:0;font-size:.875rem;font-variant-caps:all-small-caps;font-weight:700}.card-list a.card{color:inherit;text-decoration:none}.dashboard{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.dashboard-footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin:12px 0 0;display:flex}.recap-preview{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.status,.notice{background:var(--note);border-top:3px solid var(--note-edge);border-bottom:3px solid var(--note-edge);box-shadow:var(--shadow);margin:0;padding:12px 16px}.notice{margin-bottom:16px}.notice-action{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.notice-action p{margin:0}.empty-state{background:var(--vellum);border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--muted);text-align:center;margin:0;padding:28px 16px}.empty-state h2{margin:0 0 4px}.empty-state p{margin:0 0 16px}.danger-zone{background:color-mix(in srgb, var(--down) 5%, transparent);border:1px solid var(--down);border-radius:var(--radius);gap:12px;margin-top:36px;padding:16px;display:grid}.danger-zone h2{color:var(--down);margin:0;font-size:1.375rem}.danger-zone p{margin:0}.pitch{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.read-aloud{background:var(--boxed);border-right:3px solid var(--boxed-edge);border-left:3px solid var(--boxed-edge);box-shadow:var(--shadow);margin:0;padding:12px 16px;font-style:italic}.badges{flex-wrap:wrap;gap:6px;margin:8px 0 0;display:flex}.page-header .badges{margin-top:6px}.badge{border:1px solid var(--border-strong);color:var(--muted);letter-spacing:.08em;white-space:nowrap;border-radius:3px;padding:1px 8px;font-size:.8125rem;font-variant-caps:all-small-caps;font-weight:700}.badge-active,.badge-session-completed,.badge-natural{background:color-mix(in srgb, currentColor 8%, transparent);color:var(--ok);border-color:currentColor}.badge-paused,.badge-effect{background:color-mix(in srgb, currentColor 8%, transparent);color:var(--warn);border-color:currentColor}.badge-dead,.badge-fumble,.badge-out{background:color-mix(in srgb, currentColor 8%, transparent);color:var(--down);border-color:currentColor}.badge-session-planned,.badge-turn{background:color-mix(in srgb, currentColor 8%, transparent);color:var(--rubric);border-color:currentColor}.status>div,.details>div{flex-wrap:wrap;align-items:baseline;gap:0 12px;display:flex}.status dt{min-width:80px;font-weight:700}.status dd,.details dd{overflow-wrap:anywhere;margin:0}.details{gap:6px;margin:16px 0 32px;display:grid}.details dt{min-width:120px;color:var(--stat-red);font-weight:700}.details-compact{gap:4px;margin:0}.party-summary{gap:8px;margin:0;padding:0;list-style:none;display:grid}.party-summary li{overflow-wrap:anywhere}.party-summary a{font-weight:600}.party-summary .muted:before{content:" · "}.list-footer{margin:16px 0 0}.auth-card{max-width:400px;margin:24px auto}.auth-footer{color:var(--muted);margin:16px 0 0}.form{gap:16px;display:grid}.field{gap:4px;display:grid}.field label{color:var(--ink-soft);font-weight:700}.field input,.field select,.field textarea,.attendance-character,.combatant-initiative,.health-form input,.rules-search-bar input,.rules-search-bar select,.plan-creatures input{border:1px solid var(--border-strong);background:var(--field);min-height:44px;color:var(--ink);font-family:var(--font-ui);box-sizing:border-box;border-radius:3px;padding:8px 12px;font-size:1rem;box-shadow:inset 0 1px 2px #4a321614}.field textarea{font-family:var(--font-text);resize:vertical;line-height:1.5}::placeholder{color:var(--placeholder);opacity:1}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.attendance-character:focus-visible,.combatant-initiative:focus-visible,.health-form input:focus-visible,.rules-search-bar input:focus-visible,.rules-search-bar select:focus-visible,.plan-creatures input:focus-visible,.button:focus-visible,.link-button:focus-visible,.condition-remove:focus-visible,.compendium-nav button:focus-visible,.compendium-entry:focus-visible,.compendium-table thead button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.field [aria-invalid=true]{border-color:var(--down)}.field-hint,.field-error{margin:0;font-size:.875rem}.field-hint{color:var(--muted)}.field-error,.form-error{color:var(--down);margin:0}.field select:disabled{opacity:.7}.fieldset{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--vellum) 60%, transparent);gap:16px;min-width:0;margin:0;padding:16px;display:grid}.fieldset legend{color:var(--rubric);font-family:var(--font-display);letter-spacing:.02em;padding:0 6px;font-size:1.3125rem;font-weight:700}.checkbox{align-items:center;gap:10px;min-height:44px;display:flex}.checkbox input{width:20px;height:20px;accent-color:var(--rubric);margin:0}.checkbox-list{gap:4px;max-height:240px;display:grid;overflow-y:auto}.button{border:1px solid var(--button-edge);border-radius:var(--radius);background:var(--button);min-height:44px;color:var(--on-button);letter-spacing:.02em;box-sizing:border-box;cursor:pointer;justify-content:center;justify-self:start;align-items:center;padding:8px 20px;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:inset 0 1px #ffffff24,0 1px 2px #28140a40}.button:hover{background:color-mix(in srgb, var(--button) 88%, black);color:var(--on-button)}.button:disabled{opacity:.6;cursor:not-allowed}.button-secondary{border-color:var(--border-strong);background:var(--vellum);color:var(--ink);box-shadow:var(--shadow)}.button-secondary:hover{border-color:var(--rubric);background:var(--vellum);color:var(--rubric)}.button-danger{border-color:color-mix(in srgb, var(--down) 80%, black);background:var(--down);color:var(--on-down)}.button-danger:hover{background:color-mix(in srgb, var(--down) 88%, black);color:var(--on-down)}.danger-link{color:var(--down)}.section-header .button{margin-bottom:6px}.card .button{justify-self:start}.filters{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.filters a{border:1px solid var(--border-strong);background:var(--vellum);min-height:36px;color:var(--muted);border-radius:3px;align-items:center;padding:0 14px;text-decoration:none;display:inline-flex}.filters a[aria-current=page]{border-color:var(--rubric);background:color-mix(in srgb, var(--rubric) 8%, var(--vellum));color:var(--rubric);font-weight:700}.segmented{border:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 16px;padding:0;display:grid}.segmented legend{color:var(--ink-soft);margin-bottom:4px;padding:0;font-weight:700}.segmented label{border:1px solid var(--border-strong);background:var(--vellum);text-align:center;box-sizing:border-box;cursor:pointer;border-radius:3px;justify-content:center;align-items:center;min-height:44px;padding:0 8px;font-size:.9375rem;display:flex;position:relative}.segmented label:has(input:checked){border-color:var(--rubric);background:color-mix(in srgb, var(--rubric) 8%, var(--vellum));box-shadow:inset 0 0 0 1px var(--rubric);color:var(--rubric);font-weight:700}.segmented label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.segmented input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.chip{min-height:40px;padding:4px 12px;font-weight:400}.attendance-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.attendance-list li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.toggle{cursor:pointer;align-items:center;gap:12px;min-height:48px;font-weight:600;display:flex}.toggle input{width:28px;height:28px;accent-color:var(--rubric);margin:0}.attendance-summary{gap:6px;margin:0;padding:0;list-style:none;display:grid}.attendance-summary .muted:before{content:" "}.connection-model{overflow-wrap:anywhere;margin:0}.markdown{overflow-wrap:anywhere}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p,.markdown ul,.markdown ol{margin:0 0 12px}.markdown ul,.markdown ol{padding-left:24px}.markdown h1,.markdown h2,.markdown h3{border:0;margin:18px 0 6px;padding:0;font-size:1.25rem}.markdown code{background:var(--stripe);border-radius:3px;padding:1px 4px;font-size:.9em}.markdown blockquote{border-left:3px solid var(--gilt-soft);color:var(--ink-soft);margin:0 0 12px;padding:2px 0 2px 14px;font-style:italic}.markdown table{border-collapse:collapse;width:100%;font-family:var(--font-ui);margin:0 0 12px;font-size:.9375rem}.markdown th{border-bottom:1px solid var(--gilt);text-align:left;padding:4px 8px}.markdown td{vertical-align:top;padding:4px 8px}.markdown tbody tr:nth-child(odd){background:var(--stripe)}.chat{gap:12px;margin:0 0 16px;padding:0;list-style:none;display:grid}.chat-message{border:1px solid var(--border);border-radius:var(--radius);background:var(--vellum);box-shadow:var(--shadow);gap:8px;padding:12px 16px;display:grid}.chat-user{background:var(--note);border-color:#0000;justify-self:end;max-width:85%}.chat-question{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.tool-steps{color:var(--muted);margin:0;padding:0;font-size:.875rem;list-style:none}.sources h3{color:var(--muted);font-family:var(--font-ui);letter-spacing:.08em;margin:4px 0;font-size:.875rem;font-variant-caps:all-small-caps;font-weight:700}.sources ul{gap:4px;margin:0;padding:0;font-size:.9375rem;list-style:none;display:grid}.usage{color:var(--muted);margin:0;font-size:.8125rem}.attribution{overflow-wrap:anywhere}.book-choice p{margin:0 0 0 30px}.npc-sheet{gap:4px;display:grid}.npc-sheet>*,.npc-creator>*,.card>*{min-width:0}.npc-sheet h2,.npc-sheet h3{margin:20px 0 6px}.npc-sheet ul{margin:0;padding-left:20px}.relationship-row{border-bottom:1px solid var(--border);gap:8px;padding-bottom:12px;display:grid}.relationship-row .link-button{justify-self:start}.npc-creator{gap:12px;display:grid}.npc-creator>p,.draft-preview h2{margin:0}.quick-npc-choices{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;display:grid}.quick-npc{margin-top:16px}.quick-npc h2,.quick-npc p{margin:0}.stat-block{background:var(--sheet);border:2px solid var(--sheet-edge);box-shadow:var(--shadow-raised);color:var(--ink);font-family:var(--font-ui);overflow-wrap:anywhere;border-radius:10px;margin:8px 0 16px;padding:10px 14px;font-size:.9375rem;line-height:1.45;display:block;overflow-x:auto}.stat-block p{margin:0}.stat-block-head{margin-bottom:6px}.stat-block .stat-block-name{border-bottom:1px solid var(--stat-red);color:var(--stat-red);margin:0;padding-bottom:2px;font-size:1.9375rem;font-weight:700;line-height:1.1}.stat-block-creature{color:var(--muted);margin-top:2px;font-style:italic}.stat-block-changes{background:var(--note);border-left:3px solid var(--note-edge);margin:0 0 8px;padding:6px 10px;font-size:.875rem}.stat-block-changes .stat-block-changes-title{color:var(--ink-soft);letter-spacing:.08em;font-variant-caps:all-small-caps;font-weight:700}.stat-block-changes ul{margin:0;padding-left:18px}.stat-block-lines{color:var(--stat-red);margin:0 0 6px;display:grid}.stat-block-lines dt{margin-right:.35em;font-weight:700;display:inline}.stat-block-lines dd{margin:0;display:inline}.stat-block-core{margin-bottom:8px}.stat-block-abilities{border-collapse:separate;border-spacing:2px;color:var(--stat-red);font-variant-numeric:tabular-nums;margin:0 -2px 8px;font-size:.875rem;line-height:1.35}.stat-block-abilities thead th{color:var(--muted);letter-spacing:.08em;text-align:center;text-transform:uppercase;padding:0;font-size:.625rem;font-weight:600}.stat-block-abilities tbody th,.stat-block-abilities tbody td{text-align:center;min-width:2.1em;padding:2px 5px}.stat-block-abilities .ability-name{text-align:left;font-variant-caps:small-caps;font-weight:700}.stat-block-abilities :is(th,td):nth-child(4n+1):not(:first-child){border-left:6px solid var(--sheet)}.stat-block-abilities .ability-name abbr{text-decoration:none}.stat-block-abilities .ability-score{font-weight:700}.stat-block-abilities tbody tr:first-child :is(.ability-name,.ability-score){background:var(--ability-a)}.stat-block-abilities tbody tr:first-child :is(.ability-modifier,.ability-save){background:var(--ability-a-mod)}.stat-block-abilities tbody tr:last-child :is(.ability-name,.ability-score){background:var(--ability-b)}.stat-block-abilities tbody tr:last-child :is(.ability-modifier,.ability-save){background:var(--ability-b-mod)}.stat-block-section{gap:4px;margin-top:4px;display:grid}.stat-block-section>:is(h2,h3,h4,h5){border-bottom:1px solid var(--stat-red);color:var(--stat-red);margin:8px 0 2px;padding-bottom:1px;font-size:1.5rem;font-weight:600;line-height:1.2}.stat-block :is(strong em,em strong){font-style:italic;font-weight:700}.stat-block-source{border-top:1px solid var(--sheet-edge);color:var(--muted);margin-top:10px;padding-top:6px;font-size:.8125rem}.stat-block-source a{color:inherit}@media (width<=480px){.stat-block{padding:8px 10px}.stat-block .stat-block-name{font-size:1.5rem}.stat-block-abilities{border-spacing:1px;font-size:.8125rem}.stat-block-abilities tbody th,.stat-block-abilities tbody td{min-width:0;padding:2px 3px}.stat-block-abilities thead th{letter-spacing:.04em;font-size:.5625rem}.stat-block-abilities :is(th,td):nth-child(4n+1):not(:first-child){border-left-width:4px}}.item-summary{color:var(--ink-soft);margin:0;font-style:italic}.comparisons{overflow-wrap:anywhere;gap:4px;margin:0;padding-left:20px;display:grid}.idea-action{font-family:var(--font-ui);white-space:nowrap;font-size:.875rem}.encounters{gap:4px;margin:0;padding-left:24px;display:grid}.world-strip{background:var(--note);border-top:2px solid var(--note-edge);border-bottom:2px solid var(--note-edge);flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0 0 20px;padding:8px 14px;display:flex}.world-strip>span:first-child{color:var(--rubric);font-weight:700}.world-strip>span:not(.badge){overflow-wrap:anywhere}.table-grid{gap:28px;display:grid}.table-grid>*{min-width:0}@media (width>=960px){.table-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}}.table-timeline h2{margin-top:0}.tool-panel h3{margin:0 0 8px;font-size:1.25rem}.dice-quick{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;margin:0 0 16px;display:grid}.die-button{justify-self:stretch;min-height:52px;padding:8px;font-size:1.125rem}.dice-fields,.world-fields{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px 12px;display:grid}.dice-fields>*,.world-fields>*{align-content:start;min-width:0}.dice-fields input,.world-fields input,.world-fields select{box-sizing:border-box;width:100%;min-width:0}.roll-result{background:var(--vellum);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);gap:8px;margin:16px 0;padding:12px 16px;display:grid}.roll-heading,.roll-total{margin:0}.roll-heading{color:var(--muted);overflow-wrap:anywhere}.roll-total{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.roll-total strong{color:var(--rubric);font-family:var(--font-display);font-variant-numeric:lining-nums tabular-nums;font-size:2.75rem;font-weight:700;line-height:1}.roll-dice,.roll-part{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.roll-dice{gap:4px 8px}.die,.roll-number{box-sizing:border-box;min-width:28px;height:28px;font-family:var(--font-ui);font-variant-numeric:tabular-nums;place-items:center;padding:0 4px;display:inline-grid}.die{border:1px solid var(--border-strong);background:var(--field);border-radius:3px}.die-dropped{color:var(--muted);border-style:dashed;text-decoration:line-through}.roll-sign{color:var(--muted)}.dice-recent p{margin:0 0 8px}.world-panel section+section{margin-top:32px}.world-now{color:var(--rubric);font-family:var(--font-display);margin:0 0 12px;font-size:1.625rem;font-weight:700}.world-panel .actions{margin-bottom:16px}.world-panel .world-fields+.actions{margin-top:12px}.world-panel .badges{margin:0 0 12px}.world-form{gap:12px}.world-details{margin-top:12px}.world-details summary{font-family:var(--font-ui);cursor:pointer;padding:10px 0}.npc-met{margin-top:32px}.timeline{gap:8px;margin:16px 0;padding:0;list-style:none;display:grid}.timeline-entry{background:var(--vellum);border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow);gap:4px;padding:10px 12px;display:grid}.timeline-roll,.timeline-place{border-left-color:var(--ok)}.timeline-time,.timeline-weather,.timeline-reward,.timeline-purchase{border-left-color:var(--warn)}.timeline-npc{border-left-color:var(--rubric)}.timeline-fight{border-left-color:var(--down)}.timeline-meta{color:var(--muted);flex-wrap:wrap;gap:2px 10px;margin:0;font-size:.8125rem;display:flex}.timeline-kind{letter-spacing:.08em;font-variant-caps:all-small-caps;font-weight:700}.timeline-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.timeline-text p{flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;display:flex}.timeline-actions{color:var(--muted);flex-wrap:wrap;align-items:center;gap:0 16px;font-size:.875rem;display:flex}.timeline-actions .link-button{min-height:36px}.combat-start{justify-items:start;gap:12px;display:grid}.fight{gap:16px;display:grid}.fight-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.fight-header p{margin:0}.fight-round{color:var(--rubric);font-family:var(--font-display);font-size:1.625rem;font-weight:700}.combatants{gap:8px;margin:0;padding:0;list-style:none;display:grid}.combatant{background:var(--vellum);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);gap:8px;padding:10px 12px;display:grid}.combatant-turn{border-color:var(--rubric);box-shadow:inset 4px 0 0 var(--rubric), var(--shadow)}.combatant-out{opacity:.7}.combatant-name strong{font-family:var(--font-display);font-size:1.3125rem;font-weight:700}.combatant-out .combatant-name strong{text-decoration:line-through}.combatant-main{grid-template-columns:56px minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.combatant-initiative{text-align:center;width:56px;padding:4px;font-size:1.125rem;font-weight:700}.combatant-name p,.combatant-defense,.combatant-health p{margin:0}.combatant-name>p:first-child{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:4px 6px;min-height:44px;display:flex}.combatant-defense{min-height:44px;color:var(--stat-red);white-space:nowrap;align-items:center;gap:4px;display:flex}.combatant-conditions{flex-wrap:wrap;align-items:center;gap:6px;font-size:.875rem;display:flex}.condition{border:1px solid var(--warn);background:color-mix(in srgb, var(--warn) 8%, transparent);color:var(--warn);border-radius:3px;align-items:center;gap:2px;padding:0 0 0 10px;display:inline-flex}.condition a,.condition .link-button{color:inherit}.condition-remove{min-width:32px;min-height:32px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none}.combatant-health{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.health{gap:4px;min-width:140px;display:grid}.health-bar{background:var(--stripe);border:1px solid var(--border);border-radius:1px;height:6px;display:block;overflow:hidden}.health-bar span{background:var(--ok);height:100%;display:block}.health-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.health-form input{width:72px;padding:4px 8px}.health-form .button{padding:8px 12px}.combatant-more summary{color:var(--muted);font-family:var(--font-ui);cursor:pointer;padding:6px 0;font-size:.875rem}.combatant-more-body{gap:12px;padding-top:8px;display:grid}.combat-fields{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.combat-fields>*{align-content:start;min-width:0}.combat-fields input,.combat-fields select{box-sizing:border-box;width:100%;min-width:0}.add-combatants{border-top:1px solid var(--gilt-soft);gap:12px;padding-top:16px;display:grid}.add-combatants h3{margin:0}.creature-results,.loot-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.creature-results li,.loot-list li{overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:6px 8px;display:flex}.creature-results li:nth-child(odd),.loot-list li:nth-child(odd){background:var(--stripe)}.fight-end{border-top:1px solid var(--gilt-soft);padding-top:16px}.quick-fight{gap:12px;margin-top:8px;display:grid}.quick-fight h3,.quick-fight p,.quick-fight .segmented{margin:0}.quick-fight-card h4,.quick-loot-card h4{overflow-wrap:anywhere;margin:0;font-size:1.25rem}.quick-fight-groups{gap:4px;margin:0;padding:0;list-style:none;display:grid}.quick-fight-more{border-top:1px solid var(--gilt-soft);padding-top:16px}.quick-fight-more>summary{cursor:pointer;font-weight:700}.loot{gap:16px;display:grid}.loot>p{margin:0}.quick-loot{border-top:1px solid var(--gilt-soft);gap:12px;padding-top:16px;display:grid}.quick-loot h3,.quick-loot p,.quick-loot .segmented{margin:0}.quick-loot-card{gap:12px;display:grid}.quick-loot-card h5{color:var(--ink-soft);margin:0 0 8px;font-size:1rem;font-weight:700}.loot-list .field{flex:160px;margin:0}.loot-buy{white-space:nowrap;align-items:center;gap:12px;margin-left:auto;display:inline-flex}.quick-place-details{gap:4px;margin:0;padding-left:20px;display:grid}.plan-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.plan-toolbar .segmented{grid-template-columns:repeat(2,minmax(0,1fr));min-width:200px;margin:0}.plan-layout{gap:16px;display:grid}@media (width>=900px){.plan-layout.has-panel{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:start}.plan-panel{max-height:calc(100vh - 32px);position:sticky;top:16px;overflow-y:auto}}.plan-main{min-width:0}.plan-panel{background:var(--vellum);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-raised);padding:16px}.plan-panel h2{overflow-wrap:anywhere;border:0;margin:0;padding:0;font-size:1.375rem}.plan-canvas{background:var(--vellum);border:1px solid var(--border-strong);border-radius:var(--radius);height:65vh;min-height:420px;overflow:hidden;box-shadow:inset 0 1px 3px #4a32161f}.plan-canvas .react-flow{--xy-background-color:transparent;--xy-background-pattern-color:var(--border-strong);--xy-edge-stroke:var(--muted);--xy-edge-stroke-selected:var(--rubric);--xy-edge-label-background-color:var(--vellum);--xy-edge-label-color:var(--ink);--xy-connectionline-stroke:var(--rubric);--xy-handle-background-color:var(--rubric);--xy-handle-border-color:var(--vellum);--xy-selection-background-color:color-mix(in srgb, var(--rubric) 8%, transparent);--xy-selection-border:1px dotted var(--rubric);--xy-controls-button-background-color:var(--vellum);--xy-controls-button-background-color-hover:var(--stripe);--xy-controls-button-color:var(--ink);--xy-controls-button-color-hover:var(--rubric);--xy-controls-button-border-color:var(--border);--xy-controls-box-shadow:var(--shadow);--xy-attribution-background-color:color-mix(in srgb, var(--vellum) 70%, transparent);font-family:var(--font-ui)}.plan-canvas .react-flow__edge-text{font-size:12px}.plan-canvas .react-flow__attribution a{color:var(--muted)}.plan-hint{margin:8px 0 0}.plan-node{background:var(--vellum);border:1px solid var(--border-strong);border-left:4px solid var(--border-strong);border-radius:var(--radius);width:220px;box-shadow:var(--shadow);color:var(--ink);font-family:var(--font-ui);box-sizing:border-box;padding:8px 12px;font-size:.875rem}.plan-node.is-selected{border-color:var(--rubric);box-shadow:0 0 0 1px var(--rubric), var(--shadow)}.plan-node p,.plan-card p{margin:0}.plan-node-meta{color:var(--muted);letter-spacing:.08em;align-items:center;gap:6px;font-size:.8125rem;font-variant-caps:all-small-caps;font-weight:700;display:flex}.plan-node-title{color:var(--rubric);font-family:var(--font-display);overflow-wrap:anywhere;font-size:1.1875rem;font-weight:700;line-height:1.2}.plan-node-xp{color:var(--stat-red)}.plan-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.plan-card{border-left:4px solid var(--border-strong);gap:8px;display:grid}.plan-card h3{overflow-wrap:anywhere;margin:0}.plan-node-encounter,.plan-card-encounter{border-left-color:var(--down)}.plan-node-place,.plan-card-place{border-left-color:var(--ok)}.plan-node-event,.plan-card-event{border-left-color:var(--warn)}.plan-node-quest,.plan-card-quest{border-left-color:var(--rubric)}.plan-outcomes{gap:4px;margin:0;padding-left:20px;display:grid}.plan-creatures{font-family:var(--font-ui);gap:0;margin:0 0 8px;padding:0;list-style:none;display:grid}.plan-creatures li{flex-wrap:wrap;align-items:center;gap:8px 12px;padding:4px 8px;display:flex}.plan-creatures li:nth-child(odd){background:var(--stripe)}.plan-creatures li>span{overflow-wrap:anywhere;flex:140px}.plan-creatures input{width:72px;padding:4px 8px}.rules-search{gap:8px;display:grid}.rules-search-bar{flex-wrap:wrap;gap:8px;display:flex}.rules-search-bar input{flex:160px;min-width:0}.plan-suggest{border-bottom:1px solid var(--gilt-soft);gap:12px;margin-bottom:16px;padding-bottom:16px;display:grid}.plan-suggest h2,.plan-suggest h3,.plan-suggest h4,.plan-suggest p,.plan-suggest .field{margin:0}.plan-suggest-fight{gap:8px;display:grid}.plan-ideas{gap:8px;margin:0;padding:0;list-style:none;display:grid}.plan-suggestion{overflow-wrap:anywhere;gap:6px;padding:12px;display:grid}.card.plan-suggestion .actions{margin-top:4px}.badge-here{border-color:var(--rubric);color:var(--rubric)}.plan-node.is-current{border-color:var(--rubric)}.plan-play{gap:16px;display:grid}.plan-play>p,.plan-play h3{margin:0}.plan-play-rewards{gap:8px;display:grid}.plan-play-rewards p{margin:0}.plan-play-outcomes{gap:8px;margin-top:8px;display:grid}.plan-play-outcomes .button{text-align:left;white-space:normal;justify-content:flex-start}.plan-play-jump{gap:8px;display:grid}.plan-play-jump .field{margin:0}.plan-paths{margin-top:24px}.plan-paths ol{gap:8px;padding-left:20px;display:grid}.plan-paths li p{overflow-wrap:anywhere;margin:0}:root{--companion-width:420px}.shell:has(.companion-toggle){padding-bottom:64px}.companion-toggle{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30;box-shadow:var(--shadow-raised);gap:8px;position:fixed}.companion-toggle[hidden]{display:none}.companion-count{border-radius:var(--radius);background:var(--on-button);min-width:1.5em;color:var(--button);text-align:center;padding:0 .35em;font-size:.8125rem;font-weight:700;line-height:1.5}.companion{z-index:40;width:min(100vw, var(--companion-width));box-sizing:border-box;border-left:3px double var(--gilt);background:var(--texture), var(--paper);box-shadow:var(--page-shadow);visibility:hidden;flex-direction:column;transition:transform .2s,visibility 0s linear .2s;display:flex;position:fixed;inset:0 0 0 auto;transform:translate(100%)}.companion[data-open]{visibility:visible;transition:transform .2s;transform:none}.companion:focus{outline:none}@media (prefers-reduced-motion:reduce){.companion,.companion[data-open]{transition:none}}@media (width>=1100px){.shell:has(.companion[data-open]){padding-right:var(--companion-width)}}.companion-header{border-bottom:2px solid var(--gilt-soft);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;display:flex}.companion-header h2{border:0;margin:0;padding:0}.companion-body{flex-direction:column;flex:1;gap:8px;min-height:0;padding:12px 16px 16px;display:flex}.companion-reminders{max-height:40%;font-family:var(--font-ui);flex:none;overflow-y:auto}.companion-reminders summary{color:var(--ink-soft);cursor:pointer;font-weight:700}.companion-reminder-list{margin:4px 0;padding:0;list-style:none}.companion-reminder-list label{overflow-wrap:anywhere}.companion-add{gap:8px;margin:4px 0 8px;display:flex}.companion-add .field{flex:1;min-width:0;margin:0}.companion-note{margin:0;font-size:.875rem}.companion .rules-chat{flex-direction:column;flex:1;justify-content:flex-end;gap:8px;min-height:0;display:flex}.companion .chat{flex:1;min-height:0;margin:0;overflow-y:auto}.companion .rules-chat .form{flex:none}.chat-end{height:0;list-style:none}:root{--compendium-width:720px}.compendium-toggle{bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30;box-shadow:var(--shadow-raised);position:fixed;left:16px}.compendium-toggle[hidden]{display:none}.compendium-panel{z-index:35;width:min(100vw, var(--compendium-width));box-sizing:border-box;border-right:3px double var(--gilt);background:var(--texture), var(--paper);box-shadow:var(--page-shadow);visibility:hidden;flex-direction:column;transition:transform .2s,visibility 0s linear .2s;display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.compendium-panel[data-open]{visibility:visible;transition:transform .2s;transform:none}.compendium-panel:focus{outline:none}@media (prefers-reduced-motion:reduce){.compendium-panel,.compendium-panel[data-open]{transition:none}}.compendium-message{margin:12px 16px}.compendium-nav{box-shadow:inset 0 -1px 0 var(--gilt-soft);flex-wrap:wrap;flex:none;gap:2px 4px;padding:6px 12px;display:flex}.compendium-nav button{min-height:32px;color:var(--muted);font-family:var(--font-display);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:0 8px;font-size:1.125rem;font-weight:600}.compendium-nav button:hover{color:var(--ink)}.compendium-nav button[aria-current=true]{border-bottom-color:var(--rubric);color:var(--rubric);font-weight:700}@media (width<=480px){.compendium-nav{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.compendium-nav button{flex:none}}.compendium-stage{flex:1;min-height:0;position:relative}.compendium-list{flex-direction:column;height:100%;display:flex}.compendium-list[data-covered]{visibility:hidden}.compendium-screen{padding:12px 16px 24px;position:absolute;inset:0;overflow-y:auto}.compendium-controls{flex:none;padding:8px 16px 0}.compendium-controls .field{min-width:0;margin:0}.compendium-controls input{min-width:0;max-width:100%}.compendium-filters{font-family:var(--font-ui);margin:8px 0 10px}.compendium-filters summary{color:var(--ink-soft);cursor:pointer;font-weight:700}.compendium-count{border-radius:var(--radius);background:var(--button);color:var(--on-button);margin-left:6px;padding:0 .45em;font-size:.8125rem}.compendium-filter{border:0;margin:8px 0 0;padding:0}.compendium-filter legend{color:var(--muted);padding:0;font-size:.875rem;font-weight:700}.compendium-chips{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.compendium-chips .button{min-height:32px;padding:2px 10px;font-size:.875rem;font-weight:400}.compendium-chips .button[aria-pressed=true]{border-color:var(--rubric);background:color-mix(in srgb, var(--rubric) 10%, var(--vellum));color:var(--rubric);font-weight:700}.compendium-range{gap:16px;margin-top:4px;display:flex}.compendium-range .field{flex:1;align-items:center;gap:8px;min-width:0;margin:0;display:flex}.compendium-range label{font-size:.875rem}.compendium-range select{flex:1;min-width:0;min-height:32px;padding-block:2px}.compendium-filters .link-button{margin:8px 0 4px}.compendium-results{flex:1;min-height:0;padding:0 16px 72px;overflow-y:auto}.compendium-found[data-stale]{opacity:.6}.compendium-total{margin:8px 0 6px;font-size:.875rem}.compendium-table{border-collapse:collapse;width:100%;font-family:var(--font-ui);margin:0 0 12px;font-size:.875rem}.compendium-table thead th{z-index:1;box-shadow:inset 0 -2px 0 var(--gilt-soft);background:var(--paper);text-align:left;white-space:nowrap;padding:0;position:sticky;top:0}.compendium-table thead button,.compendium-heading{box-sizing:border-box;width:100%;color:var(--muted);font:inherit;text-align:inherit;white-space:nowrap;background:0 0;border:none;padding:6px 8px;font-weight:700;display:block}.compendium-table thead button{cursor:pointer}.compendium-table thead button:hover{color:var(--ink)}.compendium-table th[aria-sort] button{color:var(--rubric)}.compendium-table tbody tr{border-bottom:1px solid var(--border);cursor:pointer}.compendium-table tbody tr:nth-child(odd){background:var(--stripe)}.compendium-table tbody tr:hover{background:color-mix(in srgb, var(--gilt) 14%, transparent)}.compendium-table tbody th{text-align:left;padding:0}.compendium-table tbody td{color:var(--ink-soft);overflow-wrap:break-word;padding:4px 8px}.compendium-table thead th[data-numeric],.compendium-table tbody td[data-numeric]{text-align:right;white-space:nowrap}.compendium-entry{box-sizing:border-box;width:100%;color:var(--ink);font-family:var(--font-display);text-align:left;overflow-wrap:break-word;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1.0625rem;font-weight:700;line-height:1.2;display:block}@media (width<=560px){.compendium-table thead th:nth-child(n+5),.compendium-table tbody td:nth-child(n+5){display:none}}.compendium-credit{margin:12px 0 0;font-size:.875rem}:root{--map-line:#3c2d1947;--map-plain:#f1e7d0;--map-grass:#cdd5a4;--map-sand:#ecd8a6;--map-stone:#c8c2b5;--map-floor:#d8cfbf;--map-cobbles:#cbc2b0;--map-marsh:#b7c096;--map-water:#93c4d8;--map-deep:#4f8aa8;--map-foam:#eef6f8;--map-wall:#5b4e40;--map-tree:#5e8a4a;--map-bark:#4a3522;--map-rock:#9a9184;--map-mud:#a08a66;--map-wood:#b08a58;--map-pit:#2a2219;--map-fire:#d8662a;--token-party:#2b6a3c;--token-npc:#7f4c00;--token-foe:#7c1f13;--token-ink:#fbf3e4}:root[data-theme=night]{--map-line:#f0e1c329;--map-plain:#3a3127;--map-grass:#3d4a2f;--map-sand:#5a4c31;--map-stone:#45413a;--map-floor:#4a433a;--map-cobbles:#474136;--map-marsh:#3a452f;--map-water:#33607a;--map-deep:#1f4259;--map-foam:#a9c9d8;--map-wall:#1d1711;--map-tree:#4d7a3c;--map-bark:#1a120b;--map-rock:#7b7367;--map-mud:#5e4d36;--map-wood:#7a5c38;--map-pit:#0c0906;--map-fire:#d8662a}.map-layout{gap:24px;display:grid}@media (width>=960px){.map-layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start}}.map-board{gap:12px;min-width:0;display:grid}.map-tools{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.map-tools .segmented{flex:220px;margin:0}.map-zoom{border:0;gap:4px;margin:0;padding:0;display:flex}.map-zoom .button{min-width:44px}.map-palette{border:0;flex-wrap:wrap;gap:4px;margin:0;padding:0;display:flex}.map-palette .button{gap:6px}.map-palette .button[aria-pressed=true]{border-color:var(--rubric);box-shadow:inset 0 0 0 1px var(--rubric)}.map-swatch{vertical-align:middle;flex:none;width:22px;height:22px}.map-selected{min-height:44px;font-family:var(--font-ui);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.map-status{margin:0}.map-selected .field{grid-template-columns:auto auto;align-items:center;gap:8px}.map-scroll{border:1px solid var(--border-strong);border-radius:var(--radius);max-height:75vh;overflow:auto}.map-drawing{display:block}.map-drawing[data-painting]{cursor:crosshair;touch-action:none}.map-token{cursor:grab;touch-action:none}.map-token:focus{outline:none}.map-token-body{stroke:var(--token-ink);stroke-width:2px}.map-token-character .map-token-body{fill:var(--token-party)}.map-token-npc .map-token-body{fill:var(--token-npc)}.map-token-creature .map-token-body,.map-token-other .map-token-body{fill:var(--token-foe)}.map-token[data-turn] .map-token-body{stroke:var(--desk-gilt);stroke-width:5px}.map-token[data-selected] .map-token-body,.map-token:focus-visible .map-token-body{stroke:var(--focus);stroke-width:5px}.map-token[data-out]{opacity:.55}.map-token-letters{fill:var(--token-ink);font-family:var(--font-ui);text-anchor:middle;dominant-baseline:central;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:700}.map-token-out{stroke:var(--token-ink);stroke-width:3px;stroke-linecap:round}.map-legend{font-family:var(--font-ui);gap:4px;font-size:.9375rem;display:grid}.map-legend ul{flex-wrap:wrap;gap:2px 16px;margin:0;padding:0;list-style:none;display:flex}.map-key{vertical-align:baseline;width:12px;height:12px;display:inline-block}.map-key-character{background:var(--token-party);border-radius:50%}.map-key-npc{background:var(--token-npc);transform:rotate(45deg)}.map-key-creature{background:var(--token-foe);border-radius:2px}.map-layout-form{margin-top:8px}
