@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-cyrillic-ext-400-normal-W3Dto7M0.woff2)format("woff2"),url(./cormorant-garamond-cyrillic-ext-400-normal-DLdKLAvx.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-cyrillic-400-normal-DD2KOZkl.woff2)format("woff2"),url(./cormorant-garamond-cyrillic-400-normal-CVFrM67f.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-vietnamese-400-normal-6K-YXo6g.woff2)format("woff2"),url(./cormorant-garamond-vietnamese-400-normal-4uxlocMh.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-ext-400-normal-Drx2k2n9.woff2)format("woff2"),url(./cormorant-garamond-latin-ext-400-normal-uvC0WHQr.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-400-normal-B-1hWBU7.woff2)format("woff2"),url(./cormorant-garamond-latin-400-normal-B7YtguxJ.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./cormorant-garamond-cyrillic-ext-600-normal-BMhMHfrj.woff2)format("woff2"),url(./cormorant-garamond-cyrillic-ext-600-normal-CsIYWmWK.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./cormorant-garamond-cyrillic-600-normal-C2atO-64.woff2)format("woff2"),url(./cormorant-garamond-cyrillic-600-normal-FNmA3REe.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./cormorant-garamond-vietnamese-600-normal-BoXdMtcr.woff2)format("woff2"),url(./cormorant-garamond-vietnamese-600-normal-C4HEjEaf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./cormorant-garamond-latin-ext-600-normal-DaBc-lu7.woff2)format("woff2"),url(./cormorant-garamond-latin-ext-600-normal-Dk3-quAP.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(./cormorant-garamond-latin-600-normal-2CBVLo0M.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(./spectral-cyrillic-ext-400-normal-B4-YHs9i.woff2)format("woff2"),url(./spectral-cyrillic-ext-400-normal--n_iQ4wr.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:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(./spectral-cyrillic-400-normal-Bx9Tn3WZ.woff2)format("woff2"),url(./spectral-cyrillic-400-normal-X3p2PSzL.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(./spectral-vietnamese-400-normal-C7CRHYqk.woff2)format("woff2"),url(./spectral-vietnamese-400-normal-CWkMWCzb.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:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(./spectral-latin-ext-400-normal-XDLFwhqg.woff2)format("woff2"),url(./spectral-latin-ext-400-normal-BHbqXr-7.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:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(./spectral-latin-400-normal-CTVgUekv.woff2)format("woff2"),url(./spectral-latin-400-normal-D34IWA1h.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:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(./spectral-cyrillic-ext-600-normal-CvRHnPuy.woff2)format("woff2"),url(./spectral-cyrillic-ext-600-normal-BVATWin6.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:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(./spectral-cyrillic-600-normal-Dl75bDKp.woff2)format("woff2"),url(./spectral-cyrillic-600-normal-veT-ELBO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(./spectral-vietnamese-600-normal-ZNiwCzjU.woff2)format("woff2"),url(./spectral-vietnamese-600-normal-esmjhrFa.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:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(./spectral-latin-ext-600-normal-DKlDBbgb.woff2)format("woff2"),url(./spectral-latin-ext-600-normal-DnKmvInL.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:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(./spectral-latin-600-normal-DE3OxvnQ.woff2)format("woff2"),url(./spectral-latin-600-normal-DXnQJnYb.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-surface:#0a0a0a;--color-panel:#141010;--color-gold:#c8a84e;--color-gold-dark:#7a6528;--color-text:#e8d5a0;--color-text-muted:#8b7355;--color-destructive:#7a1f1f;--color-panel-edge:#c8a84e59;--color-selection:#c8a84e2e;--color-selection-border:#c8a84ebf;--color-blocked:#c8a84e8c;--border-frame:2px solid var(--color-gold);--border-frame-inner:1px solid var(--color-panel-edge);--border-button:1px solid var(--color-gold);--border-button-muted:1px solid var(--color-text-muted);--font-display:"Cormorant Garamond", "Times New Roman", serif;--font-body:"Spectral", Georgia, serif;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);font-size:14px;line-height:1.5}button,a{font:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-gold-dark);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--color-gold)}.planner-shell{max-width:1440px;height:100vh;padding:var(--space-md);margin:0 auto}.planner-shell--grid{max-width:none}.planner-layout{grid-template-columns:240px minmax(0,1fr) 300px;column-gap:0;height:100%;display:grid}.planner-layout--grid{grid-template-columns:240px minmax(0,1fr)}.planner-layout__stepper,.planner-layout__center{height:100%;overflow:hidden}.placeholder-screen{align-items:center;gap:var(--space-md);text-align:center;flex-direction:column;justify-content:center;height:100%;display:flex}.placeholder-screen h2{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;font-size:18px;font-weight:600}.placeholder-screen p{color:var(--color-text-muted);max-width:320px;font-size:14px}.attributes-editor{gap:var(--space-sm) var(--space-lg);padding:var(--space-lg) var(--space-lg);grid-template-columns:1fr auto;display:grid}.attributes-editor__header{color:var(--color-text-muted);font-family:var(--font-display);font-variant-numeric:lining-nums tabular-nums;letter-spacing:.1em;padding-bottom:var(--space-sm);text-transform:uppercase;border-bottom:1px solid var(--color-panel-edge);grid-column:1/-1;font-size:13px}.attributes-editor__row{align-items:center;display:contents}.attributes-editor__row>.attributes-editor__label,.attributes-editor__row>.attributes-editor__cell{padding:var(--space-xs) 0}.attributes-editor__label{color:var(--color-text);font-family:var(--font-display);letter-spacing:.04em;align-self:center;font-size:15px}.attributes-editor__value{color:var(--color-text);font-family:var(--font-display);font-variant-numeric:lining-nums tabular-nums;text-align:center;justify-content:center;align-items:baseline;gap:6px;min-width:46px;font-size:22px;line-height:1;display:inline-flex}.attributes-editor__racial{font-family:var(--font-display);font-variant-numeric:lining-nums tabular-nums;letter-spacing:0;opacity:.85;font-size:12px;line-height:1}.attributes-editor__racial--positive{color:var(--color-gold)}.attributes-editor__racial--negative{color:var(--color-destructive)}.attributes-editor__racial--zero{color:var(--color-text-muted);opacity:.6}.attributes-editor__cell{align-items:center;gap:var(--space-sm);text-align:center;justify-content:flex-end;justify-self:end;display:inline-flex}.attributes-editor__cell--base .nwn-button{color:var(--color-text);font-family:var(--font-display);min-width:32px;min-height:32px;padding:0;font-size:16px;line-height:1}.attributes-editor__actions{margin-top:var(--space-lg);grid-column:1/-1}.attributes-editor .foundation-step__issue{grid-column:1/-1}.attributes-editor__summary{gap:var(--space-xs);margin-top:var(--space-md);flex-direction:column;display:flex}.attributes-editor__summary>div{justify-content:space-between;display:flex}.attributes-editor__summary dt{color:var(--color-text-muted);font-size:14px}.attributes-editor__summary dd{color:var(--color-text);font-family:var(--font-display);font-variant-numeric:lining-nums tabular-nums;margin:0;font-size:16px;font-weight:600}.planner-panel{background:var(--color-panel);border:var(--border-frame);border-radius:0;position:relative}.planner-panel:before{border:var(--border-frame-inner);content:"";pointer-events:none;border-radius:0;position:absolute;inset:8px}.planner-panel--inner{padding:var(--space-lg)}.planner-summary__grid{gap:var(--space-md);margin:0;display:grid}.planner-summary__grid dt{color:var(--color-text-muted);margin-bottom:var(--space-xs);font-size:14px}.planner-summary__grid dd{margin:0;font-size:14px;font-weight:600}.foundation-board{gap:var(--space-xl)}.foundation-board.is-embedded>header{display:none}.foundation-board__layout{background:var(--color-surface);border:1px solid var(--color-panel-edge);gap:var(--space-xl);padding:var(--space-lg);border-radius:0;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);display:grid}.foundation-board__steps{gap:var(--space-md);display:grid}.foundation-step,.foundation-sheet{background:var(--color-panel);color:var(--color-text)}.foundation-step:before,.foundation-sheet:before{border-color:var(--color-selection-border)}.foundation-step h2,.foundation-sheet h2,.attribute-control strong{color:var(--color-text)}.foundation-sheet{gap:var(--space-lg);flex-direction:column;display:flex}.foundation-option{background:var(--color-selection);border-color:var(--color-selection-border);color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;min-height:44px}.foundation-option.is-selected{background:var(--color-selection);border-color:var(--color-selection-border)}.foundation-option.is-blocked{background:var(--color-selection);border-color:var(--color-blocked)}.foundation-option:disabled{cursor:not-allowed;opacity:.52}.foundation-step__issue{background:var(--color-selection);border:1px solid var(--color-selection-border);color:var(--color-text);margin:var(--space-md) 0 0;border-radius:0;padding:12px 14px}.foundation-step__issue.is-illegal{border-color:var(--color-destructive);background:#7a1f1f38}.foundation-sheet .planner-shell__cta{width:fit-content;margin-top:auto}.attribute-budget{gap:var(--space-md);flex-direction:column;display:flex}.attribute-budget .planner-summary__grid{gap:var(--space-sm)}.attribute-control{background:var(--color-selection);border:1px solid var(--color-panel-edge);align-items:center;gap:var(--space-md);border-radius:0;justify-content:space-between;padding:14px 16px;display:flex}.attribute-control p{color:var(--color-text-muted);letter-spacing:.12em;margin:0 0 4px;font-size:14px;font-weight:600}.attribute-control strong{font-family:var(--font-display);font-size:20px;font-weight:600;line-height:1}.attribute-control__buttons{gap:var(--space-sm);flex-wrap:wrap;display:flex}.attribute-control__buttons button{border:1px solid var(--color-gold);color:var(--color-text);cursor:pointer;background:#e8d5a014;border-radius:0;min-width:40px;min-height:40px;padding:0 14px}.attribute-control__buttons button:disabled{cursor:not-allowed;opacity:.45}.summary-status--blocked{color:var(--color-gold)}.summary-status--illegal{color:var(--color-destructive)}.progression-shell{gap:var(--space-xl)}.progression-summary-strip,.level-sheet{background:var(--color-panel);color:var(--color-text)}.progression-summary-strip:before,.level-sheet:before{border-color:var(--color-selection-border)}.progression-summary-strip .planner-summary__grid dt{color:var(--color-text-muted)}.progression-summary-strip__header{align-items:flex-start;gap:var(--space-md);justify-content:space-between;display:flex}.progression-summary-strip__grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.progression-summary-strip__status{background:var(--color-selection);border:1px solid var(--color-panel-edge);align-items:center;gap:var(--space-sm);border-radius:0;justify-content:space-between;padding:12px 14px;display:flex}.progression-summary-strip__status strong{font-family:var(--font-display)}.progression-summary-strip__status span{color:var(--color-text-muted)}.progression-summary-strip__status.is-blocked{border-color:var(--color-blocked)}.progression-summary-strip__status.is-illegal{border-color:var(--color-destructive)}.progression-summary-strip__attributes{margin-top:var(--space-md)}.progression-origin-editor{gap:var(--space-lg);display:grid}.progression-board{background:var(--color-surface);border:1px solid var(--color-panel-edge);gap:var(--space-xl);padding:var(--space-lg);border-radius:0;grid-template-columns:minmax(240px,320px) minmax(0,1fr);display:grid}.skill-board.selection-screen{padding-bottom:var(--space-md)}.skill-board .selection-screen__content{padding-bottom:var(--space-sm);grid-template-columns:1fr;overflow-y:auto}.skill-board .skill-sheet{padding:var(--space-md);background:0 0;border:none}.skill-board .skill-sheet:before{display:none}.skill-board__layout{gap:var(--space-lg)}.skill-stats-board__layout{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.skill-stats-board__panel{gap:var(--space-md);display:grid}.skill-stats-board__panel:last-child{grid-column:1/-1}.skill-stats-board__panel h2,.skill-stats-board__row h3,.skill-stats-board__issue h3{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:16px;font-weight:600;line-height:1.2}.skill-stats-board__totals{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.skill-stats-board__rows,.skill-stats-board__issues{gap:var(--space-sm);display:grid}.skill-stats-board__row,.skill-stats-board__issue{background:var(--color-panel);border:1px solid var(--color-panel-edge);color:var(--color-text);gap:var(--space-sm);border-radius:0;padding:14px 16px;display:grid}.skill-stats-board__row.is-blocked,.skill-stats-board__issue.is-blocked{background:var(--color-selection);border-color:var(--color-blocked)}.skill-stats-board__row.is-illegal,.skill-stats-board__issue.is-illegal{border-color:var(--color-destructive);background:#7a1f1f38}.skill-stats-board__row p,.skill-stats-board__issue p{color:var(--color-text-muted);margin:0}.skill-stats-board__facts{color:var(--color-text-muted);gap:var(--space-sm);flex-wrap:wrap;display:flex}.skill-summary-strip .planner-summary__grid dd,.skill-sheet__summary-grid dd{color:var(--color-text)}.skill-sheet{gap:var(--space-lg)}.skill-sheet__summary-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.skill-sheet__groups{gap:var(--space-lg);display:grid}.skill-sheet__group{gap:var(--space-sm);display:grid}.skill-sheet__group h3{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:18px;font-weight:600;line-height:1.2}.skill-sheet__rows{gap:var(--space-sm);display:grid}.skill-sheet__row{background:var(--color-selection);border:1px solid var(--color-panel-edge);gap:var(--space-sm);border-radius:0;min-width:0;padding:14px 16px;display:grid;overflow:hidden}.skill-sheet__row.is-blocked{background:var(--color-selection);border-color:var(--color-blocked)}.skill-sheet__row.is-illegal{border-color:var(--color-destructive);background:#7a1f1f38}.skill-sheet__row-main,.skill-sheet__controls{align-items:center;gap:var(--space-sm);flex-wrap:wrap;justify-content:space-between;display:flex}.skill-sheet__row-main h4,.skill-sheet__next-cost strong{color:var(--color-text);margin:0}.skill-sheet__meta{color:var(--color-text-muted);gap:var(--space-sm);flex-wrap:wrap;margin-top:6px;display:flex}.skill-sheet__value{justify-items:end;display:grid}.skill-sheet__value span{font-family:var(--font-display);font-size:20px;font-weight:600}.skill-sheet__value small,.skill-sheet__next-cost span{color:var(--color-text-muted)}.skill-sheet__stepper,.skill-sheet__input input{border:1px solid var(--color-gold);color:var(--color-text);background:#e8d5a014;border-radius:0;min-height:44px}.skill-sheet__stepper{cursor:pointer;min-width:44px}.skill-sheet__stepper:disabled,.skill-sheet__input input:disabled{cursor:not-allowed;opacity:.45}.skill-sheet__input input{width:88px;padding:0 14px}.skill-sheet__next-cost{justify-items:end;gap:2px;min-width:110px;display:grid}.skill-sheet__issues{gap:var(--space-xs);display:grid}.skill-board .skill-sheet__summary-inline{gap:var(--space-md);flex-wrap:wrap;display:flex}.skill-board .skill-sheet__summary-inline>div{align-items:baseline;gap:var(--space-xs);display:flex}.skill-board .skill-sheet__groups{gap:var(--space-md)}.skill-board .skill-sheet__group h3{letter-spacing:.1em;margin-bottom:2px;font-size:14px}.skill-board .skill-sheet__rows{gap:2px}.skill-board .skill-sheet__row{align-items:center;gap:var(--space-sm);flex-wrap:wrap;padding:6px 12px;display:flex}.skill-board .skill-sheet__row-label{align-items:baseline;gap:var(--space-sm);flex:1;min-width:0;display:flex}.skill-board .skill-sheet__row-label h4{white-space:nowrap;margin:0;font-size:14px}.skill-board .skill-sheet__meta-inline{color:var(--color-text-muted);gap:var(--space-xs);font-size:12px;display:flex}.skill-board .skill-sheet__controls{flex-wrap:nowrap;justify-content:center;align-items:center;gap:4px;display:flex}.skill-board .skill-sheet__stepper{min-width:28px;min-height:28px;font-size:14px}.skill-board .skill-sheet__input input{text-align:center;width:52px;min-height:28px;padding:0 6px}.skill-board .skill-sheet__totals-inline{justify-content:flex-end;align-items:baseline;gap:4px;min-width:60px;display:flex}.skill-board .skill-sheet__total-value{color:var(--color-text);font-family:var(--font-display);font-size:16px;font-weight:600}.skill-board .skill-sheet__cap-value{color:var(--color-text-muted);font-size:12px}.skill-board .skill-sheet__issues{flex-basis:100%}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.level-sheet{gap:var(--space-md);flex-direction:column;display:flex}.level-sheet__placeholder{background:var(--color-selection);border:1px solid var(--color-panel-edge);min-height:240px;padding:var(--space-lg);border-radius:0}.level-sheet__placeholder p{color:var(--color-text-muted);margin:0}.level-sheet__requirements,.level-sheet__gains,.level-sheet__ability{gap:var(--space-sm);display:grid}.level-sheet__requirements h3,.level-sheet__gains h3,.level-sheet__ability h3{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:16px;font-weight:600;line-height:1.2}.level-sheet__rows{gap:var(--space-sm);display:grid}.level-sheet__repair-callout{background:var(--color-selection);border:1px solid var(--color-blocked);color:var(--color-text);border-radius:0;margin:0;padding:12px 14px}.ability-increase-control{gap:var(--space-sm);flex-wrap:wrap;display:flex}.ability-increase-control__button{border:1px solid var(--color-panel-edge);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-display);background:0 0;justify-content:center;align-items:center;min-width:52px;min-height:36px;padding:8px 12px;display:inline-flex}.ability-increase-control__button:hover{background:color-mix(in srgb, var(--color-selection) 55%, transparent);border-color:var(--color-gold-dark);color:var(--color-text)}.ability-increase-control__button.is-selected{background:var(--color-selection);border-color:var(--color-selection-border);color:var(--color-text)}.ability-increase-control__button:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.is-selected{background:var(--color-selection);border-color:var(--color-selection-border)}.is-blocked{border-color:var(--color-blocked)}.is-illegal{border-color:var(--color-destructive)}.is-active{background:var(--color-selection);border-color:var(--color-selection-border)}.stepper-step{border:1px solid var(--color-gold);color:var(--color-text);cursor:pointer;font-family:var(--font-body);align-items:center;gap:var(--space-sm);min-height:40px;padding:var(--space-xs) var(--space-sm);text-align:left;background:0 0;border-radius:0;width:100%;font-size:14px;font-weight:400;transition:background-color .15s,border-color .15s;display:flex}.stepper-step:hover{background:var(--color-selection)}.stepper-step.is-active{background:var(--color-selection);border-color:var(--color-selection-border);color:var(--color-text)}.stepper-step.is-complete{border-color:var(--color-gold);color:var(--color-gold)}.stepper-step.is-pending{border-color:var(--color-text-muted);color:var(--color-text-muted);cursor:not-allowed;opacity:.65}.stepper-step.is-blocked{border-color:var(--color-blocked);color:var(--color-text-muted)}.stepper-step__icon{flex-shrink:0;width:16px;height:16px}.stepper-step__label{flex:1}.stepper-step__summary{color:var(--color-text);font-weight:600}.creation-stepper{grid-template-rows:auto auto 1fr auto;height:100%;display:grid;overflow:hidden}.creation-stepper__title-bar{border-bottom:1px solid var(--color-gold);padding:var(--space-md);text-align:center}.creation-stepper__title-bar h2{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;font-size:18px;font-weight:600}.creation-stepper__section-heading{color:var(--color-text-muted);font-family:var(--font-body);letter-spacing:.16em;margin-bottom:var(--space-sm);text-transform:uppercase;font-size:14px;font-weight:400}.creation-stepper__origin{padding:var(--space-md)}.creation-stepper__progression{min-height:0;padding:var(--space-md);overflow-y:auto}.build-progression-board__title-bar{padding:var(--space-xs,4px) var(--space-sm,8px)}.build-progression-board__title-bar h2{padding:0 var(--space-xs,4px);margin:0}.creation-stepper__steps{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.creation-stepper__unlock-card{background:var(--color-selection);border:1px solid var(--color-panel-edge);gap:var(--space-sm);padding:var(--space-md);display:grid}.creation-stepper__unlock-kicker{color:var(--color-gold);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:12px;line-height:1.2}.creation-stepper__unlock-body{color:var(--color-text);margin:0;font-size:13px;line-height:1.45}.creation-stepper__unlock-card .nwn-button{justify-content:center;width:100%}.creation-stepper__bottom{border-top:1px solid var(--color-panel-edge);gap:var(--space-sm);padding:var(--space-md);flex-direction:column;display:flex}.level-sub-steps{gap:var(--space-sm);margin-top:var(--space-sm);flex-direction:column;display:flex}.nwn-frame{background:var(--color-panel);border:2px solid var(--color-gold);border-radius:0;position:relative}.nwn-frame:before{border:1px solid var(--color-panel-edge);content:"";pointer-events:none;position:absolute;inset:8px}.nwn-button{cursor:pointer;font-family:var(--font-body);letter-spacing:.02em;min-height:44px;padding:var(--space-sm) var(--space-md);background:0 0;border-radius:0;font-size:14px;font-weight:600;line-height:1.3;transition:background-color .15s,border-color .15s}.nwn-button:hover{background:var(--color-selection)}.nwn-button:disabled{cursor:not-allowed;opacity:.45}.nwn-button:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.nwn-button--primary{border:2px solid var(--color-gold);color:var(--color-text)}.nwn-button--secondary{border:1px solid var(--color-text-muted);color:var(--color-text-muted)}.nwn-button--auxiliary{border:1px solid var(--color-text-muted);color:var(--color-text-muted);font-weight:400}.nwn-button--icon{border:1px solid var(--color-gold);color:var(--color-text);min-height:36px;padding:var(--space-xs);background:#e8d5a014}.action-bar{align-items:center;gap:var(--space-sm);padding:var(--space-md);justify-content:flex-end;display:flex}.action-bar__left{margin-right:auto}.selection-screen{flex-direction:column;height:100%;display:flex;overflow:hidden}.selection-screen__title-bar{border-bottom:1px solid var(--color-gold);padding:var(--space-md);text-align:center}.selection-screen__title-bar h2{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:18px;font-weight:600}.selection-screen__content{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;display:grid;overflow:hidden auto}.selection-screen__action-bar{border-top:1px solid var(--color-panel-edge)}.option-list{border-right:1px solid var(--color-panel-edge);padding:var(--space-sm);flex-direction:column;gap:0;display:flex;overflow-y:auto}.option-list__item{border:1px solid var(--color-gold);color:var(--color-text);cursor:pointer;font-family:var(--font-body);align-items:center;gap:var(--space-sm);min-height:40px;padding:var(--space-xs) var(--space-sm);text-align:left;background:0 0;border-radius:0;justify-content:space-between;width:100%;margin-bottom:-1px;font-size:14px;font-weight:400;transition:background-color .15s;display:flex}.option-list__item:hover{background:var(--color-selection)}.option-list__item.is-selected{background:var(--color-selection);border-color:var(--color-selection-border)}.option-list__item.is-blocked{border-color:var(--color-blocked);opacity:.6}.option-list__item:disabled{cursor:not-allowed;opacity:.45}.option-list__label{flex:1}.option-list__secondary{color:var(--color-text-muted);font-size:12px}.origin-race-picker{border-right:1px solid var(--color-panel-edge);gap:var(--space-sm);min-height:0;padding:var(--space-sm);flex-direction:column;display:flex;overflow-y:auto}.origin-race-picker__group{border:1px solid var(--color-panel-edge);padding:var(--space-sm);flex-direction:column;display:flex}.origin-race-picker__heading{color:var(--color-text);font-family:var(--font-display);letter-spacing:.1em;margin:0 0 var(--space-sm) 0;text-transform:uppercase;font-size:14px;font-weight:600;line-height:1.2}.origin-race-picker__items{flex-direction:column;gap:0;display:flex}.origin-race-picker__items .option-list__item{border-color:var(--color-panel-edge)}.origin-race-picker__items .option-list__item.is-selected{border-color:var(--color-selection-border)}.detail-panel{gap:var(--space-md);padding:var(--space-md);flex-direction:column;display:flex;overflow-y:auto}.detail-panel__title{border-bottom:1px solid var(--color-panel-edge);font-family:var(--font-display);letter-spacing:.1em;padding-bottom:var(--space-sm);text-transform:uppercase;margin:0;font-size:16px;font-weight:600}.detail-panel__body{color:var(--color-text);white-space:pre-wrap;font-size:14px;line-height:1.5}.confirm-dialog{max-width:420px;padding:var(--space-lg);width:90vw}.confirm-dialog::backdrop{background:#000000b3}.confirm-dialog__title{font-family:var(--font-display);letter-spacing:.15em;margin:0 0 var(--space-md);text-transform:uppercase;font-size:18px;font-weight:600}.confirm-dialog__body{color:var(--color-text);margin:0 0 var(--space-lg);font-size:14px;line-height:1.5}.confirm-dialog__actions{gap:var(--space-sm);justify-content:flex-end;display:flex}.character-sheet{flex-direction:column;height:100%;display:flex;overflow:hidden}.character-sheet__title-bar{border-bottom:1px solid var(--color-gold);padding:var(--space-md);text-align:center}.character-sheet__title-bar h2{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:18px;font-weight:600}.character-sheet__content{padding:var(--space-md);flex:1;overflow-y:auto}.character-sheet__portrait{height:198px;margin:0 auto var(--space-lg);background:0 0;border:0;justify-content:center;align-items:center;width:198px;display:flex;overflow:visible}.character-sheet__portrait img{filter:drop-shadow(1px 0 0 var(--color-text)) drop-shadow(-1px 0 0 var(--color-text)) drop-shadow(0 1px 0 var(--color-text)) drop-shadow(0 -1px 0 var(--color-text));object-fit:contain;width:100%;height:100%;display:block}.character-sheet__stat-grid{gap:var(--space-xs);grid-template-columns:1fr;margin:0;display:grid;overflow:hidden}.character-sheet__stat-grid>div{align-items:center;gap:var(--space-xs);display:flex}.character-sheet__stat-grid dt{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:400;overflow:hidden}.character-sheet__stat-grid .stat-value{color:var(--color-text);font-family:var(--font-display);text-align:center;min-width:28px;font-size:16px;font-weight:600}.character-sheet__stat-grid .stat-mod{color:var(--color-text-muted);text-align:right;min-width:32px;font-size:11px}.character-sheet__derived{border-top:1px solid var(--color-panel-edge);gap:var(--space-xs);margin-top:var(--space-md);padding-top:var(--space-md);display:grid}.character-sheet__derived>div{justify-content:space-between;align-items:center;display:flex}.character-sheet__derived dt{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.character-sheet__derived dd{color:var(--color-text);font-family:var(--font-display);margin:0;font-size:14px;font-weight:600}.character-sheet__equipment{border-top:1px solid var(--color-panel-edge);gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);flex-direction:column;display:flex}.character-sheet__equipment-presets,.character-sheet__equipment-selectors{gap:var(--space-xs);grid-template-columns:1fr;display:grid}.character-sheet__equipment-button{min-height:36px;padding:var(--space-xs) var(--space-sm);width:100%;font-size:12px}.character-sheet__equipment-button--small{min-height:32px;font-size:11px}.character-sheet__equipment-help-action{justify-content:center;display:flex}.character-sheet__equipment-help-button{min-height:28px;padding:var(--space-xs) var(--space-sm);width:auto;font-size:10px}.character-sheet__skill-bonuses{gap:var(--space-xs);margin:0;padding:0;list-style:none;display:grid}.character-sheet__skill-bonuses li{color:var(--color-text-muted);align-items:center;gap:var(--space-xs);justify-content:space-between;font-size:11px;display:flex}.character-sheet__skill-bonuses li span:last-child{color:var(--color-text);font-family:var(--font-display);font-weight:600}.character-sheet-equipment-dialog{max-width:320px;padding:var(--space-lg);width:90vw}.character-sheet-equipment-dialog--skills{max-width:420px}.character-sheet-equipment-dialog--help{max-width:460px}.character-sheet-equipment-dialog::backdrop{background:#000000b3}.character-sheet-equipment-dialog__title{color:var(--color-text);font-family:var(--font-display);letter-spacing:.15em;margin:0 0 var(--space-md);text-transform:uppercase;font-size:18px;font-weight:600}.character-sheet-equipment-dialog__options{gap:var(--space-xs);margin-bottom:var(--space-lg);display:grid}.character-sheet-equipment-dialog__option{justify-content:center;width:100%;min-height:36px}.character-sheet-equipment-dialog__option.is-selected{background:var(--color-selection);border-color:var(--color-gold);color:var(--color-text)}.character-sheet-skill-bonus-dialog__options{gap:var(--space-xs);margin-bottom:var(--space-lg);max-height:min(60vh,440px);padding-right:var(--space-xs);display:grid;overflow-y:auto}.character-sheet-skill-bonus-dialog__option{align-items:center;gap:var(--space-sm);text-align:left;justify-content:space-between;width:100%;min-height:36px;font-size:12px;display:flex}.character-sheet-skill-bonus-dialog__option.is-selected{background:var(--color-selection);border-color:var(--color-gold);color:var(--color-text)}.character-sheet-skill-bonus-dialog__bonus{color:var(--color-text);font-family:var(--font-display);flex:none;font-weight:600}.character-sheet-equipment-help{gap:var(--space-sm);margin:0 0 var(--space-lg);display:grid}.character-sheet-equipment-help__item{gap:2px;display:grid}.character-sheet-equipment-help dt{color:var(--color-text);font-family:var(--font-display);margin:0;font-size:13px;font-weight:600}.character-sheet-equipment-help dd{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.45}.character-sheet-equipment-dialog__actions{justify-content:flex-end;display:flex}.character-sheet__empty{align-items:center;gap:var(--space-md);padding:var(--space-xl);text-align:center;flex-direction:column;justify-content:center;display:flex}.character-sheet__empty h3{font-family:var(--font-display);margin:0;font-size:16px;font-weight:600}.character-sheet__empty p{color:var(--color-text-muted);margin:0;font-size:14px}.shell-reveal{animation:.42s both shell-reveal}@keyframes shell-reveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.planner-shell__mobile-toggle,.planner-shell__mobile-close,.planner-layout__backdrop{display:none}@media (width<=1023px){.planner-shell{padding-top:calc(var(--space-md) + 3.5rem)}.planner-layout{grid-template-columns:minmax(0,1fr) 300px}.planner-layout--grid{grid-template-columns:minmax(0,1fr)}.planner-layout__stepper{background:var(--color-panel);border-right:var(--border-frame);z-index:10;width:280px;padding-top:3.5rem;display:none;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;box-shadow:4px 0 16px #000000a6}.planner-layout__stepper.is-open{display:block}.planner-shell__mobile-toggle{background:var(--color-panel);border:var(--border-button);color:var(--color-gold);cursor:pointer;font-family:var(--font-display);letter-spacing:.05em;z-index:11;align-items:center;gap:.5rem;height:40px;padding:0 .75rem;font-size:1rem;display:inline-flex;position:fixed;top:.75rem;left:.75rem}.planner-shell__mobile-toggle[aria-expanded=true]{display:none}.planner-shell__mobile-close{background:var(--color-panel);border:var(--border-button);color:var(--color-gold);cursor:pointer;font-family:var(--font-display);letter-spacing:.05em;z-index:12;align-items:center;gap:.5rem;height:40px;padding:0 .75rem;font-size:1rem;display:inline-flex;position:fixed;top:.75rem;left:auto;right:calc(100vw - 280px + .75rem)}.planner-layout__backdrop{z-index:9;background:#0a0a0ab3;display:none;position:fixed;inset:0}.planner-layout__backdrop.is-open{display:block}.foundation-board__layout,.skill-stats-board__layout{grid-template-columns:1fr}.skill-stats-board__panel:last-child{grid-column:auto}}@media (width<=767px){.planner-layout,.progression-board{grid-template-columns:1fr}.skill-sheet__row-main,.skill-sheet__controls{flex-direction:column;align-items:flex-start}.skill-sheet__next-cost,.skill-sheet__value{justify-items:start}}.feat-board__main{border-right:1px solid var(--color-panel-edge);gap:var(--space-sm);min-height:0;padding:var(--space-sm);flex-direction:column;display:flex}.feat-board__slot-strip{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr));display:grid}.feat-board__slot-card{border:1px solid var(--color-panel-edge);gap:var(--space-xs);min-width:0;padding:var(--space-sm) var(--space-md);background:#e8d5a00f;flex-direction:column;display:flex}.feat-board__slot-card--current{background:var(--color-selection);border-color:var(--color-selection-border)}.feat-board__slot-card--chosen{border-color:var(--color-gold)}.feat-board__slot-card-header{align-items:center;gap:var(--space-xs,4px) var(--space-sm,8px);flex-wrap:wrap;justify-content:space-between;min-width:0;display:flex}.feat-board__slot-card-header>*{min-width:0}.feat-board__slot-card-pill{flex-shrink:0}.feat-board__slot-card-title{color:var(--color-text-muted);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:12px;font-weight:600}.feat-board__slot-card-pill{border:1px solid var(--color-panel-edge);color:var(--color-text-muted);letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;font-size:11px}.feat-board__slot-card--current .feat-board__slot-card-pill{border-color:var(--color-selection-border);color:var(--color-text)}.feat-board__slot-card--chosen .feat-board__slot-card-pill{border-color:var(--color-gold);color:var(--color-gold)}.feat-board__slot-card-value{color:var(--color-text);font-family:var(--font-body);min-height:1.5em;margin:0;font-size:14px}.feat-board__slot-prompt{color:var(--color-text-muted);padding:0 var(--space-xs);margin:0;font-size:13px;line-height:1.5}.feat-board__search{padding:var(--space-sm);position:relative}.feat-board__search input{border:1px solid var(--color-text-muted);color:var(--color-text);font-family:var(--font-body);min-height:40px;padding:var(--space-xs) var(--space-sm);padding-right:calc(var(--space-sm) * 2 + 56px);background:#e8d5a014;border-radius:0;width:100%;font-size:14px}.feat-board__search input:focus{border-color:var(--color-gold);outline:2px solid var(--color-gold);outline-offset:2px}.feat-board__search input::placeholder{color:var(--color-text-muted)}.feat-board__search-clear{color:var(--color-text-muted);cursor:pointer;padding:var(--space-xs);right:var(--space-sm);background:0 0;border:none;font-size:14px;position:absolute;top:50%;transform:translateY(-50%)}.feat-board__search-clear:hover{color:var(--color-text)}.feat-board__section-heading{border-bottom:1px solid var(--color-gold);color:var(--color-text);font-family:var(--font-display);letter-spacing:.1em;margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);text-transform:uppercase;font-size:16px;font-weight:600;line-height:1.2}.feat-board__section-header{align-items:baseline;gap:var(--space-xs,4px) var(--space-sm);padding:0 var(--space-sm,8px);flex-wrap:wrap;justify-content:space-between;display:flex}.feat-board__section-pill{border:1px solid var(--color-panel-edge);color:var(--color-text-muted);letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;font-size:11px}.feat-board__section-note{color:var(--color-text-muted);margin:var(--space-sm,8px) 0;padding-left:var(--space-sm,8px);padding-right:var(--space-sm,8px);font-size:13px;line-height:1.4}.feat-sheet{min-height:0;padding-left:var(--space-sm,8px);padding-right:var(--space-sm,8px);flex-direction:column;flex:1;display:flex;overflow-y:auto}.feat-sheet>.feat-sheet__group,.feat-sheet>.feat-board__section-header{padding-left:0;padding-right:0}.feat-sheet__group{margin-bottom:var(--space-xl);padding:var(--space-xs);border:1px solid #0000}.feat-sheet__group--current{border-color:var(--color-selection-border);background:#e8d5a00a}.feat-picker__list{margin:0;padding-left:0;list-style:none;overflow-y:auto}.feat-picker__item{min-width:0;list-style:none}.feat-picker__row-shell{width:100%;position:relative}.feat-picker__item--family{flex-direction:column;gap:0;display:flex}.feat-picker__item--family-expanded>.feat-picker__row--expanded{border-bottom-color:#0000}.feat-picker__item--family-expanded>.feat-family-expander{border-top:0;margin-top:-1px}.feat-picker__partition{gap:var(--space-xs,4px);padding:0 var(--space-sm,8px);flex-direction:column;display:flex}.feat-picker__partition+.feat-picker__partition{margin-top:var(--space-sm,8px)}.feat-picker__partition-heading{letter-spacing:.04em;text-transform:uppercase;margin:var(--space-sm,8px) 0 var(--space-xs,4px);padding:0 var(--space-sm,8px);color:var(--text-muted,#7a6a56);font-size:13px;font-weight:600}.feat-picker__partition--unavailable .feat-picker__partition-heading{color:var(--text-disabled,#9a8a78)}.feat-board .selection-screen__content{overflow-y:visible}.feat-board__prereq-list{margin:var(--space-sm) 0 0;padding:0;list-style:none}.feat-board__prereq-item{padding:var(--space-xs) 0;font-size:14px;line-height:1.5}.feat-board__prereq-item.is-met{color:var(--color-text-muted)}.feat-board__prereq-item.is-failed{border-left:2px solid var(--color-destructive);color:var(--color-text);padding:var(--space-xs) var(--space-sm);background:#7a1f1f38}.feat-board__blocked-reason{color:var(--color-text);margin-top:var(--space-xs);padding-left:var(--space-sm);font-size:14px;line-height:1.4}.feat-board__blocked-reason .is-failed{border-left:2px solid var(--color-destructive);color:var(--color-text);padding:var(--space-xs) var(--space-sm);background:#7a1f1f38}.feat-detail-panel .feat-board__prereq-list{margin-top:var(--space-md)}.planner-footer{border-top:var(--border-frame);background:var(--color-panel);font-family:var(--font-display);color:var(--color-gold-faded);letter-spacing:.05em;text-align:right;padding:.5rem 1rem;font-size:.75rem}.planner-footer__dataset{font-variant:small-caps}.resumen-board{gap:1rem;height:100%;min-height:0;padding:1.5rem;display:grid;overflow-y:auto}.toast{z-index:1000;border:var(--border-frame);background:var(--color-panel);color:var(--color-gold);font-family:var(--font-display);align-items:center;gap:.75rem;max-width:40rem;padding:.75rem 1rem;display:inline-flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.toast--warn{border-color:var(--color-gold-faded)}.toast--error{color:#ffb8a6;border-color:#ba3a26}.toast__close{color:inherit;cursor:pointer;background:0 0;border:0;font-size:1.25rem;line-height:1}.resumen-board__header{font-family:var(--font-display);color:var(--color-gold);justify-content:space-between;align-items:baseline;display:flex}.resumen-board__dataset{color:var(--color-gold-faded);font-variant:small-caps;font-size:.875rem}.resumen-board__actions{padding:var(--space-sm,8px) var(--space-sm,8px);flex-wrap:wrap;gap:.75rem;display:flex}.resumen-table{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;display:grid}.resumen-table__block{padding:var(--space-md,16px)}.resumen-table__heading{font-family:var(--font-display);color:var(--color-gold);padding:0 var(--space-sm,8px);margin-top:0}.resumen-table table{border-collapse:collapse;width:100%}.resumen-table th,.resumen-table td{border-bottom:1px solid var(--color-gold-faded);text-align:left;padding:.25rem .5rem}.resumen-table__edit-button{width:100%;min-width:0}.resumen-table__block--progresion,.resumen-table__block--habilidades{grid-column:1/-1}.resumen-table__identity-header{color:var(--color-text);font-family:var(--font-body);padding:0 var(--space-sm,8px);grid-column:1/-1}.resumen-table__identity-header__dataset{color:var(--color-gold-faded);font-variant:small-caps}.resumen-board__empty-state{padding:var(--space-md,16px)}.resumen-board__empty-state h3{font-family:var(--font-display);color:var(--color-gold);margin-top:0}.resumen-board__empty-state p{color:var(--color-text-muted);margin:0}.level-grid-board{gap:var(--space-md);height:100%;min-height:0;padding:var(--space-lg);display:grid;overflow:hidden}.level-grid-board__header{align-items:flex-end;gap:var(--space-md);justify-content:space-between;display:flex}.level-grid-board__header h2{color:var(--color-gold);font-family:var(--font-display);margin:0}.level-grid-board__header p{color:var(--color-text-muted);margin:var(--space-xs) 0 0}.level-grid-board__dataset{color:var(--color-gold-faded);font-variant:small-caps;text-align:right;font-size:.875rem}.level-grid-board__identity{border-bottom:1px solid var(--color-panel-edge);border-top:1px solid var(--color-panel-edge);color:var(--color-text);align-items:center;gap:var(--space-sm);min-height:2.5rem;padding:var(--space-sm) var(--space-md);background:linear-gradient(90deg,#e8d5a014,#0000);display:flex}.level-grid-board__identity span[aria-hidden=true]{color:var(--color-gold-faded);font-size:.65rem}.level-grid-board__frame{min-height:0;padding:0;overflow:hidden}.level-grid-board__scroll{overscroll-behavior:contain;scrollbar-gutter:stable;height:100%;overflow:auto}.level-grid-board__scroll:focus-visible{outline:2px solid var(--color-gold);outline-offset:-2px}.level-grid-table{--level-grid-level-width:3.5rem;--level-grid-header-row-height:2.15rem;border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:78.5rem}.level-grid-table th,.level-grid-table td{color:var(--color-text-muted);min-height:2.75rem;padding:var(--space-xs) var(--space-sm);vertical-align:middle;background:#0b1218e0;border-bottom:1px solid #e8d5a01f;border-right:1px solid #e8d5a014}.level-grid-table thead th{border-bottom:1px solid var(--color-gold-faded);color:var(--color-gold);font-family:var(--font-display);letter-spacing:.06em;text-align:center;text-transform:uppercase;z-index:3;background:linear-gradient(#e8d5a02e,#0b1218fa);font-size:.78rem;font-weight:600;position:sticky;top:0}.level-grid-table thead tr:first-child th{height:var(--level-grid-header-row-height)}.level-grid-table thead tr:nth-child(2) th{top:var(--level-grid-header-row-height)}.level-grid-table thead th[scope=colgroup]{color:var(--color-gold);background:linear-gradient(#e8d5a03d,#0b1218fa)}.level-grid-table tbody tr.is-configured:hover td,.level-grid-table tbody tr.is-configured:hover th{background:var(--color-selection);color:var(--color-text)}.level-grid-table tbody tr.is-configured .level-grid-table__sticky-class{color:var(--color-text);font-weight:600}.level-grid-table__sticky-level{text-align:center;width:var(--level-grid-level-width);z-index:2;position:sticky;left:0}.level-grid-table__sticky-class{left:var(--level-grid-level-width);text-overflow:ellipsis;white-space:nowrap;z-index:2;width:10rem;position:sticky;overflow:hidden}.level-grid-table thead .level-grid-table__sticky-level,.level-grid-table thead .level-grid-table__sticky-class{z-index:4}.level-grid-table__ability{width:3rem}.level-grid-table__number{font-variant-numeric:tabular-nums;text-align:center}.level-grid-table__combat-start,.level-grid-table__saves-start,.level-grid-table__feats-start,.level-grid-table__extra-start{border-left:1px solid var(--color-gold-faded)}.level-grid-table__feats-start{width:14rem}.level-grid-table__extra-start{width:20rem}.level-grid-table__detail{color:var(--color-text);padding-block:var(--space-sm);vertical-align:top;line-height:1.25}.level-grid-table__entries{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.level-grid-table__entries li{padding-left:.8rem;position:relative}.level-grid-table__entries li:before{color:var(--color-gold-faded);content:"›";position:absolute;left:0}.level-grid-table__empty{color:var(--color-text-muted)}.save-slot-dialog,.load-slot-dialog{min-width:20rem;padding:1rem}.save-slot-dialog__actions,.load-slot-dialog__actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.load-slot-dialog__list{max-height:20rem;margin:.5rem 0;padding:0;list-style:none;overflow-y:auto}.load-slot-dialog__list button{text-align:left;border:1px solid var(--color-gold-faded);width:100%;color:var(--color-gold);cursor:pointer;font-family:var(--font-display);background:0 0;padding:.5rem}.load-slot-dialog__list button:hover{background:var(--color-panel)}.version-mismatch-dialog{min-width:24rem;max-width:40rem;padding:1rem}.version-mismatch-dialog__title{margin-top:0}.version-mismatch-dialog__diff{grid-template-columns:auto 1fr;align-items:center;gap:.5rem 1rem;margin:.75rem 0;display:grid}.version-mismatch-dialog__diff dt{font-family:var(--font-display);color:var(--color-gold-faded)}.version-mismatch-dialog__diff dd{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;display:flex}.version-mismatch-dialog__incoming{color:#ffb8a6}.version-mismatch-dialog__arrow{color:var(--color-gold-faded)}.version-mismatch-dialog__current{color:var(--color-gold)}.version-mismatch-dialog__note{color:var(--color-gold-faded);font-size:.875rem}.version-mismatch-dialog__actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.share-entry{font-family:var(--font-display);color:var(--color-gold);text-align:center;padding:2rem}.share-entry--error{max-width:40rem;margin:2rem auto}.skill-board__section-heading{border-bottom:1px solid var(--color-gold);color:var(--color-text);font-family:var(--font-display);letter-spacing:.1em;margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);text-transform:uppercase;font-size:16px;font-weight:600;line-height:1.2}.skill-board__cost-hint{color:var(--color-text-muted);letter-spacing:0;text-transform:none;font-size:12px;font-weight:400}.class-picker{gap:var(--space-sm);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.class-picker>section{border:1px solid var(--color-panel-edge);padding:var(--space-md);flex-direction:column;display:flex}.class-picker>section:last-child ul{max-height:44vh}.class-picker__section-heading{color:var(--color-text);font-family:var(--font-display);letter-spacing:.1em;margin:0 0 var(--space-sm) 0;text-transform:uppercase;font-size:16px;font-weight:600;line-height:1.2}.class-picker__list{gap:var(--space-xs);flex-direction:column;min-height:0;max-height:28vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.class-picker__row{border:1px solid var(--color-panel-edge);color:var(--color-text);cursor:pointer;padding:var(--space-sm) var(--space-md);text-align:left;background:0 0;flex-direction:column;align-items:flex-start;width:100%;display:flex}.class-picker__row--blocked{border-color:var(--color-blocked);cursor:not-allowed;opacity:1}.class-picker__row--active{background:var(--color-selection);border-color:var(--color-selection-border)}.class-picker__row--blocked .class-picker__label{color:var(--color-text-muted)}.class-picker__reason{color:var(--color-text-muted);margin-top:var(--space-xs);font-size:14px;font-style:italic}.class-picker__requirements{gap:var(--space-xs);margin-top:var(--space-xs);flex-direction:column;width:100%;display:flex}.class-picker__requirement{border-left:2px solid var(--color-panel-edge);align-items:start;gap:var(--space-xs);grid-template-columns:auto minmax(0,1fr) auto;width:100%;padding:4px 6px;font-size:12px;line-height:1.25;display:grid}.class-picker__requirement.is-met{color:#d2e6c6;background:#366a3f2e;border-left-color:#6fa36e}.class-picker__requirement.is-unmet{border-left-color:var(--color-destructive);color:var(--color-text);background:#7a1f1f38}.class-picker__requirement.is-pending{border-left-color:var(--color-blocked);color:var(--color-text-muted);background:#c8a84e1a}.class-picker__requirement-status{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border:1px solid;padding:1px 5px;font-size:10px;line-height:1.2}.class-picker__requirement-label{overflow-wrap:anywhere}.class-picker__requirement-value{color:var(--color-text-muted);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}.class-picker__row:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.feat-picker__header{font-variant-numeric:lining-nums tabular-nums;margin-bottom:var(--space-sm);padding-left:var(--space-xs,4px);padding-right:var(--space-xs,4px);justify-content:space-between;align-items:baseline;display:flex}.feat-picker__counter{border-bottom:1px solid var(--color-gold);color:var(--color-text);font-family:var(--font-display);font-variant-numeric:lining-nums tabular-nums;letter-spacing:.1em;padding:0 var(--space-sm,8px) var(--space-xs,4px);text-transform:uppercase;width:100%;margin:0;font-size:16px;font-weight:600;line-height:1.2}.feat-picker__row{border:1px solid var(--color-panel-edge);color:var(--color-text);cursor:pointer;padding:var(--space-sm) var(--space-md);text-align:left;background:0 0;flex-direction:column;align-items:flex-start;width:100%;display:flex}.feat-picker__row--blocked{border-color:var(--color-blocked);cursor:not-allowed;opacity:.55}.feat-picker__row--chosen{background:var(--color-selection);border:1px solid var(--color-selection-border);padding-right:calc(var(--space-md) * 2 + 72px)}.feat-picker__row--focused{background:var(--color-selection)}.feat-picker__label{font-family:var(--font-body);font-size:14px;font-weight:400}.feat-picker__reason{color:var(--color-text-muted);margin-top:var(--space-xs);font-size:12px;font-style:italic}.feat-picker__pill{border:1px solid var(--color-blocked);color:var(--color-text-muted);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;align-self:flex-end;max-width:100%;padding:2px 8px;font-size:12px;overflow:hidden}.feat-picker__row--blocked .feat-picker__reason,.feat-picker__row--blocked .feat-picker__pill{opacity:1}.feat-picker__row:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.feat-picker__remove-action{border:1px solid var(--color-selection-border);color:var(--color-text);cursor:pointer;letter-spacing:.1em;right:var(--space-sm);text-transform:uppercase;top:var(--space-sm);background:0 0;padding:2px 8px;font-size:12px;position:absolute}.feat-picker__remove-action:hover{border-color:var(--color-gold);color:var(--color-gold)}.feat-picker__empty{color:var(--color-text-muted);padding:0 var(--space-sm);margin:0;font-size:13px}.feat-summary-card{padding:var(--space-lg)}.feat-summary-card__list{margin:0 0 var(--space-md) 0;padding:0;list-style:none}.feat-summary-card__item{color:var(--color-text);font-family:var(--font-body);padding:var(--space-xs) 0;font-size:14px}.feat-summary-card__modify{align-self:flex-end}.feat-picker__row--family{gap:var(--space-sm)}.feat-picker__row--family .feat-picker__pill--family{align-self:flex-start}.feat-picker__row--expanded{border-color:var(--color-selection-border)}.feat-picker__pill--family{border-color:var(--color-panel-edge);color:var(--color-text)}.feat-family-expander{background:var(--color-panel);border:1px solid var(--color-panel-edge);box-sizing:border-box;margin:0 0 var(--space-sm) 0;min-inline-size:0;padding:var(--space-sm) var(--space-md) var(--space-md);width:100%;display:block}.feat-family-expander:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.feat-family-expander__legend{color:var(--color-text);font-family:var(--font-display);letter-spacing:.1em;padding:0 var(--space-xs);text-transform:uppercase;font-size:12px;font-weight:600}.feat-family-expander__options{border-top:1px solid color-mix(in srgb, var(--color-panel-edge) 80%, transparent);gap:var(--space-xs);max-height:320px;padding-top:var(--space-sm);flex-direction:column;display:flex;overflow-y:auto}.feat-family-expander__option{background:color-mix(in srgb, var(--color-panel) 78%, black);border:1px solid color-mix(in srgb, var(--color-panel-edge) 72%, transparent);color:var(--color-text);cursor:pointer;font-family:var(--font-body);align-items:flex-start;gap:var(--space-md);padding:var(--space-sm);font-size:14px;line-height:1.45;display:flex}.feat-family-expander__option--blocked{border-color:var(--color-blocked);cursor:not-allowed;opacity:.55}.feat-family-expander__option input{margin:2px 0 0}.feat-family-expander__option-label{flex:1;min-width:0}.level-editor__action-bar{background:var(--color-panel);border-top:1px solid var(--color-panel-edge);padding:var(--space-md);z-index:1;justify-content:flex-end;display:flex;position:sticky;bottom:0}.build-progression-board{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.level-progression__list{gap:var(--space-xs);overscroll-behavior:contain;flex:auto;grid-template-rows:repeat(20,auto);min-height:0;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.level-progression-row{display:block}.level-progression-row__header{border:1px solid var(--color-panel-edge);color:var(--color-text);cursor:pointer;align-items:center;gap:var(--space-sm);min-height:32px;padding:6px var(--space-md);text-align:left;background:0 0;grid-template-columns:2.5rem minmax(0,1fr) auto auto auto;width:100%;transition:background-color .15s,border-color .15s;display:grid}.level-progression-row__header:hover{background:var(--color-selection)}.level-progression-row__header:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.level-progression-row--expanded>.level-progression-row__header{background:var(--color-selection);border-color:var(--color-selection-border)}.level-progression-row[data-legality=incomplete]>.level-progression-row__header{border-color:var(--color-blocked)}.level-progression-row[data-legality=invalid]>.level-progression-row__header{border-color:var(--color-destructive)}.level-progression-row--locked>.level-progression-row__header{border-color:var(--color-blocked);cursor:not-allowed;opacity:.45}.level-progression-row__level{color:var(--color-text);font-family:var(--font-display);font-variant-numeric:lining-nums tabular-nums;text-align:right;min-width:1.5rem;font-size:16px;font-weight:600;line-height:1}.level-row__pill{border:1px solid var(--color-panel-edge);color:var(--color-text);font-family:var(--font-body);font-variant-numeric:lining-nums tabular-nums;align-items:center;gap:var(--space-xs);letter-spacing:.05em;white-space:nowrap;padding:2px 8px;font-size:12px;line-height:1;display:inline-flex}.level-row__pill--class{font-variant-numeric:normal;text-overflow:ellipsis;max-width:14rem;overflow:hidden}.level-row__pill--feats{justify-content:center;min-width:4rem}.level-row__pill--skills{justify-content:center;min-width:5rem}.level-row__pill--legality{border:none;justify-content:center;min-width:1.5rem;padding:2px 4px;font-size:14px}.level-row__pill--legality-legal{color:var(--color-gold)}.level-row__pill--legality-incomplete{color:var(--color-blocked)}.level-row__pill--legality-invalid{color:var(--color-destructive)}.level-row__pill--legality-locked{color:var(--color-text-muted)}.level-progression-row[data-legality=incomplete] .level-row__pill--class{color:var(--color-text-muted);font-style:italic}.level-progression-row__expanded{background:var(--color-panel);border:1px solid var(--color-selection-border);gap:var(--space-md);padding:var(--space-lg);border-top:none;flex-direction:column;display:flex}@media (width<=767px){.planner-shell{max-width:none;height:auto;min-height:100dvh;padding:var(--space-sm);padding-top:calc(var(--space-sm) + 3.5rem)}.planner-layout{gap:var(--space-sm);flex-direction:column;height:auto;min-height:0;display:flex}.planner-layout__center,.character-sheet,.selection-screen{min-width:0;height:auto;overflow:visible}.character-sheet__content{overflow-y:visible}.foundation-board__layout,.progression-board{gap:var(--space-md);padding:var(--space-sm)}.selection-screen__content{grid-template-columns:1fr;overflow:auto visible}.option-list,.origin-race-picker,.feat-board__main{border-bottom:1px solid var(--color-panel-edge);border-right:0;max-height:none;overflow-y:visible}.detail-panel,.feat-sheet{min-width:0;max-height:none;overflow-y:visible}.attributes-editor{gap:var(--space-sm);padding:var(--space-md)}.action-bar,.resumen-board__actions,.version-mismatch-dialog__actions,.save-slot-dialog__actions,.load-slot-dialog__actions,.confirm-dialog__actions{flex-wrap:wrap;justify-content:flex-start;align-items:stretch}.action-bar__left{flex-basis:100%;margin-right:0}.action-bar .nwn-button,.resumen-board__actions .nwn-button{flex:10rem}.resumen-board{height:auto;padding:var(--space-sm);overflow-y:visible}.level-grid-board{height:auto;padding:var(--space-sm);overflow:visible}.level-grid-board__header{align-items:flex-start;gap:var(--space-xs);flex-direction:column}.level-grid-board__dataset{text-align:left}.level-grid-board__frame{max-width:100%}.level-grid-board__scroll{max-height:min(70vh,42rem)}.resumen-board__header{align-items:flex-start;gap:var(--space-xs);flex-direction:column}.resumen-table{grid-template-columns:1fr}.resumen-table__identity-header{overflow-wrap:anywhere}.resumen-table__block{max-width:100%;padding:var(--space-sm);overflow-x:auto}.resumen-table table{min-width:max-content}.level-progression-row__header{gap:var(--space-xs);padding:6px var(--space-sm);flex-wrap:wrap;display:flex}.level-row__pill--class{flex:8rem;max-width:100%}.level-row__pill--feats,.level-row__pill--skills{min-width:0}.level-progression-row__expanded{padding:var(--space-md)}.skill-board .skill-sheet__row-label h4{overflow-wrap:anywhere;white-space:normal}.skill-board .skill-sheet__controls{flex-wrap:wrap}.toast{width:max-content;max-width:calc(100vw - 2rem)}.save-slot-dialog,.load-slot-dialog,.version-mismatch-dialog{width:calc(100vw - 2rem);min-width:0;max-width:calc(100vw - 2rem)}.version-mismatch-dialog__diff{grid-template-columns:1fr}}
