:root{--bg: #14171c;--panel: #1f242c;--panel-2: #262c35;--border: #39414d;--text: #e6e9ee;--text-dim: #9aa4b2;--accent: #6ba368;--accent-strong: #8fd18b;--gold: #c9a24b;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.app-nav{display:flex;align-items:center;gap:24px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--panel)}.app-brand{font-weight:700;letter-spacing:1px;color:var(--gold)}.app-nav-links{display:flex;gap:18px}.app-nav-links a{color:var(--text-dim);text-decoration:none;font-size:.9rem;text-transform:uppercase;letter-spacing:1px;padding:4px 2px;border-bottom:2px solid transparent}.app-nav-links a:hover{color:var(--text)}.app-nav-links a.is-active{color:var(--accent-strong);border-bottom-color:var(--accent-strong)}.app-body{max-width:1100px;margin:0 auto;padding:24px 20px 48px}.sheet,.editor{display:block}.page-note{padding:40px 20px;text-align:center;color:var(--text-dim)}.page-error{color:#e08a8a}.empty-state{text-align:center;padding:40px 24px}.empty-state h2{margin:0 0 8px}.empty-state p{color:var(--text-dim);margin:0 0 20px}.btn{display:inline-block;padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:.85rem;text-decoration:none;cursor:pointer}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent-strong);color:#0f130f;font-weight:600}.btn-primary:disabled{background:var(--panel-2);color:var(--text-dim);border-color:var(--border);cursor:not-allowed}.btn-ghost{background:transparent}.sheet-header{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--border)}.sheet-heading{display:flex;flex-direction:column;gap:4px}.sheet-header-actions{display:flex;gap:8px}.levelup-transition{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:8px}.levelup-level{display:flex;flex-direction:column;align-items:center;min-width:72px;padding:10px 16px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2)}.levelup-level.is-next{border-color:var(--accent)}.levelup-level-value{font-size:2rem;font-weight:700;color:var(--text)}.levelup-level.is-next .levelup-level-value{color:var(--accent-strong)}.levelup-level-label{font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}.levelup-arrow{font-size:1.6rem;color:var(--text-dim)}.levelup-note{margin:0;text-align:center;color:var(--text-dim);font-size:.9rem}.levelup-note-warn{color:var(--gold)}.levelup-hp{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.levelup-hp-input{flex:0 0 auto}.levelup-hp-math{display:flex;flex-direction:column;gap:2px;font-size:.9rem}.levelup-hp-total{color:var(--text-dim);font-size:.82rem}.levelup-slots{display:flex;flex-direction:column;gap:6px;font-size:.92rem}.levelup-slots-row .text-dim,.text-dim{color:var(--text-dim);margin-right:6px}.feature-level{margin-left:8px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);vertical-align:middle}.levelup-subclass-features{margin-top:14px}.asi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;margin-top:10px}.asi-cell{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}.asi-cell.is-active{border-color:var(--accent)}.asi-abbr{font-size:.72rem;font-weight:700;letter-spacing:1px;color:var(--text-dim)}.asi-score{font-size:1.35rem;font-weight:700}.asi-next{color:var(--accent-strong);font-size:1.1rem}.asi-steppers{display:flex;align-items:center;gap:8px}.asi-alloc{min-width:24px;text-align:center;font-size:.85rem;color:var(--text-dim)}.asi-step{padding:0 10px;font-size:1.15rem;line-height:1.6}.spell-picker-scroll{max-height:280px;overflow-y:auto;padding-right:6px}.spell-picker-scroll .spell-choice-grid{max-height:none;overflow:visible;padding-right:0}.spell-level-group+.spell-level-group{margin-top:12px}.spell-level-heading{display:block;margin:0 0 6px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}.character-name{margin:0;font-size:1.8rem;letter-spacing:.5px}.character-sub{color:var(--text-dim);font-size:1rem;text-transform:uppercase;letter-spacing:1px}.sheet-body{display:grid;grid-template-columns:1fr 1.1fr;gap:20px;align-items:start}.column{display:flex;flex-direction:column;gap:20px}@media (max-width: 760px){.sheet-body{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px}.panel-title{margin:0 0 12px;font-size:.78rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim)}.ability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ability-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px 10px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px}.ability-abbr{font-size:.7rem;letter-spacing:1.5px;color:var(--text-dim)}.ability-mod{font-size:1.9rem;font-weight:700;color:var(--accent-strong);line-height:1}.ability-score{font-size:.85rem;color:var(--text-dim);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:1px 10px}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stat-badge{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px}.stat-value{font-size:1.6rem;font-weight:700}.stat-label{font-size:.66rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}.hp-block{border-top:1px solid var(--border);padding-top:14px}.attack-list{list-style:none;display:flex;flex-direction:column;gap:10px}.attack-subhead{margin:16px 0 10px;font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}.attack-row{padding:10px 12px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px}.attack-main{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.attack-name{font-weight:600;color:var(--text)}.attack-tohit{font-size:1.05rem;font-weight:700;color:var(--accent-strong)}.attack-save{font-size:.85rem;font-weight:700;letter-spacing:.5px;color:var(--accent-strong)}.attack-damage{margin-left:auto;font-size:.9rem;color:var(--text)}.attack-versatile{color:var(--text-dim)}.attack-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.attack-tag{font-size:.68rem;letter-spacing:.3px;padding:2px 8px;border-radius:999px;background:var(--bg);border:1px solid var(--border);color:var(--text-dim)}.attack-tag-warn{color:var(--gold);border-color:var(--gold)}.attack-tag-mastery{color:var(--accent-strong);border-color:var(--accent)}.attack-notes{margin-top:8px;display:flex;flex-direction:column;gap:4px}.attack-note{font-size:.78rem;color:var(--text-dim);line-height:1.35}.attack-note strong{color:var(--text)}.hp-numbers{display:flex;align-items:flex-end;gap:16px}.hp-item{display:flex;flex-direction:column;align-items:center;gap:2px}.hp-value{font-size:1.7rem;font-weight:700}.hp-label{font-size:.66rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}.hp-divider{font-size:1.6rem;color:var(--text-dim);padding-bottom:14px}.hp-temp .hp-value{color:var(--gold)}.hp-temp{margin-left:auto}.hp-input{width:3.2ch;padding:0;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font-size:1.7rem;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}.hp-input:focus{outline:none;border-bottom-color:var(--accent)}.hp-temp .hp-input{color:var(--gold)}.hp-input::-webkit-outer-spin-button,.hp-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.hp-input{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.hp-controls{display:flex;align-items:center;gap:8px;margin-top:12px}.hp-amount{width:4ch;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:.9rem;text-align:center;font-variant-numeric:tabular-nums}.hp-amount::-webkit-outer-spin-button,.hp-amount::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.btn-hp{padding:6px 12px;font-size:.8rem}.btn-damage:hover{border-color:#c65f5f}.btn-heal:hover{border-color:var(--accent-strong)}.death-saves{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.ds-title{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-bottom:8px}.ds-outcome{font-weight:700;letter-spacing:0}.ds-stable{color:var(--accent-strong)}.ds-dead{color:#e6a5a5}.ds-row{display:flex;align-items:center;gap:10px;padding:2px 0}.ds-sub{font-size:.78rem;color:var(--text-dim);min-width:5rem}.ds-pips{display:flex;gap:6px}.ds-pip{width:16px;height:16px;padding:0;border-radius:50%;border:1px solid var(--border);background:transparent;cursor:pointer}.ds-success{border-color:var(--accent)}.ds-success.filled{background:var(--accent)}.ds-failure{border-color:#c65f5f}.ds-failure.filled{background:#c65f5f}.hit-dice{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);flex-wrap:wrap}.hd-label{font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}.hd-pips{display:flex;flex-wrap:wrap;gap:5px}.hd-pip{width:16px;height:16px;padding:0;border-radius:4px;border:1px solid var(--gold);background:transparent;cursor:pointer}.hd-pip.filled{background:var(--gold)}.hd-pip:hover{border-color:var(--accent-strong)}.hd-count{margin-left:auto;font-size:.8rem;color:var(--text-dim);font-variant-numeric:tabular-nums}.condition-chips{display:flex;flex-wrap:wrap;gap:6px}.condition-chip{padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel-2);color:var(--text-dim);font-size:.78rem;cursor:pointer}.condition-chip:hover{border-color:#c65f5f}.condition-chip.active{background:#c65f5f2e;border-color:#c65f5f;color:#e6a5a5;font-weight:600}.exhaustion-track{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);flex-wrap:wrap}.exhaustion-label{font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}.exhaustion-pips{display:flex;gap:4px}.exhaustion-pip{width:22px;height:22px;padding:0;border-radius:6px;border:1px solid var(--border);background:var(--panel-2);color:var(--text-dim);font-size:.72rem;cursor:pointer;font-variant-numeric:tabular-nums}.exhaustion-pip:hover{border-color:#c65f5f}.exhaustion-pip.filled{background:#c65f5f47;border-color:#c65f5f;color:#e6a5a5;font-weight:700}.exhaustion-effect{margin-left:auto;font-size:.78rem;color:var(--text-dim)}.resources-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.resources-head .panel-title{margin:0}.rest-buttons{display:flex;gap:8px}.resource-list{display:flex;flex-direction:column;gap:8px}.resource-row{display:flex;align-items:center;gap:10px}.resource-name{font-size:.85rem;min-width:8.5rem}.resource-recharge{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.resource-pips{display:flex;flex-wrap:wrap;gap:5px}.resource-pip{width:16px;height:16px;padding:0;border-radius:50%;border:1px solid var(--gold);background:transparent;cursor:pointer}.resource-pip.filled{background:var(--gold)}.resource-pip:hover{border-color:var(--accent-strong)}.resource-stepper{display:flex;align-items:center;gap:8px}.resource-stepper button{width:24px;height:24px;border-radius:6px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:1rem;line-height:1;cursor:pointer}.resource-stepper button:hover:not(:disabled){border-color:var(--accent)}.resource-stepper button:disabled{color:var(--text-dim);cursor:not-allowed;opacity:.5}.resource-value{min-width:5.5rem;text-align:center;font-size:.82rem;font-variant-numeric:tabular-nums}.resource-count{margin-left:auto;font-size:.78rem;color:var(--text-dim);font-variant-numeric:tabular-nums}.skill-list{list-style:none;margin:0;padding:0}.skill-row{display:grid;grid-template-columns:16px 34px 1fr auto;align-items:center;gap:10px;padding:7px 6px;border-bottom:1px solid var(--border)}.skill-row:last-child{border-bottom:none}.skill-dot{width:11px;height:11px;border-radius:50%;border:2px solid var(--border);background:transparent}.skill-dot.is-proficient{background:var(--accent);border-color:var(--accent-strong)}.skill-dot.is-expertise{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 2px var(--panel),0 0 0 3px var(--gold)}.expertise-tag{margin-left:8px;font-size:.58rem;text-transform:uppercase;letter-spacing:.5px;color:var(--gold);border:1px solid var(--gold);border-radius:999px;padding:1px 6px;vertical-align:middle}.skill-ability{font-size:.66rem;letter-spacing:1px;color:var(--text-dim)}.skill-name{font-size:.95rem}.skill-bonus{font-variant-numeric:tabular-nums;font-weight:600;color:var(--accent-strong)}.save-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}.save-row{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:10px;padding:6px 4px}.save-name{font-size:.92rem}.save-bonus{font-variant-numeric:tabular-nums;font-weight:600;color:var(--accent-strong)}@media (max-width: 520px){.save-list{grid-template-columns:1fr}}.prof-row{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--border)}.prof-row:last-child{border-bottom:none}.prof-label{font-size:.66rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);padding-top:2px}.prof-values{font-size:.92rem}.prof-chips{display:flex;flex-wrap:wrap;gap:6px}.prof-chip{display:inline-flex;align-items:baseline;gap:6px;font-size:.82rem;line-height:1.35;padding:2px 10px;border:1px solid var(--border);border-radius:999px;background:var(--panel-2)}.prof-chip.is-conditional{border-color:#c9a24b80}.prof-chip-cond{font-size:.66rem;text-transform:uppercase;letter-spacing:.5px;color:var(--gold);white-space:nowrap}.features{margin-top:20px}.feature-list{display:grid;grid-template-columns:1fr;gap:14px}.feature{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.feature-name{margin:0 0 6px;font-size:1rem;color:var(--gold)}.feature-text{margin:0 0 8px;font-size:.88rem;line-height:1.5;color:var(--text)}.feature-choices{margin:0 0 8px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.feature-choices-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.feature-chip{font-size:.8rem;font-weight:600;color:var(--accent-strong);border:1px solid var(--accent);border-radius:6px;padding:1px 8px}.feature-text:last-child{margin-bottom:0}.feat-spells{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.feat-spells .spell-meta{margin-bottom:6px}.spell-stats{margin-bottom:16px}.spell-stats .stat-value{font-size:1.2rem}.slot-tracker{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.slot-level{display:flex;align-items:center;gap:10px;padding:3px 0}.slot-level-label{font-size:.8rem;color:var(--text-dim);min-width:4.5rem}.slot-pips{display:flex;flex-wrap:wrap;gap:5px}.slot-pip{width:16px;height:16px;padding:0;border-radius:50%;border:1px solid var(--accent);background:transparent;cursor:pointer}.slot-pip.filled{background:var(--accent)}.slot-pip:hover{border-color:var(--accent-strong)}.slot-count{margin-left:auto;font-size:.8rem;color:var(--text-dim);font-variant-numeric:tabular-nums}.spell-group{margin-bottom:14px}.spell-group-title{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--gold);margin-bottom:6px}.spell-list{list-style:none;margin:0;padding:0}.spell-row{padding:6px 4px;border-bottom:1px solid var(--border)}.spell-row:last-child{border-bottom:none}.spell-name{font-size:.95rem}.spell-meta{display:block;font-size:.72rem;color:var(--text-dim);margin-top:2px}.spell-tag{margin-left:6px;font-size:.58rem;font-weight:700;color:var(--accent-strong);border:1px solid var(--accent);border-radius:4px;padding:0 4px;vertical-align:middle}.spell-tag-subclass{color:var(--gold);border-color:var(--gold);text-transform:none;letter-spacing:0}.spell-choice-grid{max-height:240px;overflow-y:auto;padding-right:4px}.class-details .feature-list{margin-top:8px}.class-prof-line{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:.85rem;color:var(--text-dim);margin-bottom:14px}.class-prof-line strong{color:var(--text);font-weight:600}.editor .panel{margin-bottom:18px}.text-input{width:100%;padding:10px 12px;font-size:1rem;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:8px}.text-input:focus,.ability-input input:focus{outline:none;border-color:var(--accent)}.option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.option-chip{display:flex;flex-direction:column;gap:3px;text-align:left;padding:10px 12px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font:inherit}.option-chip:hover{border-color:var(--accent)}.option-chip.is-selected{border-color:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--accent-strong);background:#24312300;background:color-mix(in srgb,var(--accent) 14%,var(--panel-2))}.option-chip.small{flex-direction:row;align-items:center;justify-content:center;text-align:center;padding:8px 10px}.option-chip:disabled{opacity:.4;cursor:not-allowed}.option-chip.small.is-locked{flex-direction:column;gap:2px;opacity:1;color:var(--text-dim);border-style:dashed}.option-chip.is-locked:hover{border-color:var(--border)}.option-chip-req{font-size:.68rem;font-style:italic;color:var(--text-dim)}.panel-hint{margin:0 0 12px;padding:8px 12px;border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:6px;background:var(--panel-2);color:var(--text-dim);font-size:.85rem;line-height:1.5}.option-name{font-weight:600}.option-meta{font-size:.72rem;color:var(--text-dim)}.plan-list{list-style:none;margin:0;padding:0}.plan-line{padding:6px 0;border-bottom:1px solid var(--border)}.plan-line:last-child{border-bottom:none}.plan-line-head{display:flex;justify-content:space-between;gap:8px}.plan-wildcard-select{margin-top:6px;width:100%}.subsection{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.subsection-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.subsection-head .panel-title{margin:0}.picks-left{font-size:.72rem;color:var(--gold);border:1px solid var(--border);border-radius:999px;padding:2px 10px}.picks-left.is-done{color:var(--accent-strong)}.skill-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.ability-inputs{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}@media (max-width: 620px){.ability-inputs{grid-template-columns:repeat(3,1fr)}}.ability-input{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px}.ability-input input{width:100%;text-align:center;font-size:1.2rem;font-weight:700;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:4px 0}.ability-mod-preview{font-size:.8rem;color:var(--accent-strong);font-weight:600}.ability-bonus-badge{font-size:.65rem;font-weight:700;color:var(--bg);background:var(--accent-strong);border-radius:999px;padding:0 6px;line-height:1.5}.ability-method{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.ability-method-btn{padding:6px 12px;font-size:.85rem;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:999px;cursor:pointer}.ability-method-btn:hover{border-color:var(--accent)}.ability-method-btn.is-selected{background:var(--accent);border-color:var(--accent-strong);color:var(--bg);font-weight:600}.ability-method-note{margin-left:auto;font-size:.85rem;color:var(--text-dim)}.ability-method-note strong{color:var(--accent-strong)}.ability-stepper{display:flex;align-items:center;gap:6px}.ability-stepper button{width:26px;height:26px;font-size:1rem;font-weight:700;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;cursor:pointer;line-height:1}.ability-stepper button:hover:not(:disabled){border-color:var(--accent)}.ability-stepper button:disabled{opacity:.4;cursor:default}.ability-stepper-value{min-width:22px;text-align:center;font-size:1.2rem;font-weight:700;color:var(--text)}.ability-input select{width:100%;text-align:center;font-size:1.1rem;font-weight:700;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:4px 0}.array-presets{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.array-preset-chips{display:flex;gap:8px;flex-wrap:wrap}.array-preset-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 14px;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:10px;cursor:pointer}.array-preset-chip:hover{border-color:var(--accent)}.array-preset-chip.is-selected{border-color:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--accent-strong);background:var(--panel-2);background:color-mix(in srgb,var(--accent) 14%,var(--panel-2))}.array-preset-name{font-weight:600;font-size:.9rem}.array-preset-values{font-size:.75rem;letter-spacing:.5px;color:var(--text-dim)}.array-remaining{font-size:.85rem;color:var(--text-dim)}.bg-ability{margin-top:16px;padding:14px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px}.bg-ability-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.bg-ability-title{font-weight:600;color:var(--text)}.bg-ability-pool{font-size:.72rem;letter-spacing:1px;color:var(--text-dim)}.bg-ability-modes{display:flex;gap:8px;flex-wrap:wrap}.bg-ability-mode{padding:6px 12px;font-size:.85rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:999px;cursor:pointer}.bg-ability-mode:hover{border-color:var(--accent)}.bg-ability-mode.is-selected{background:var(--accent);border-color:var(--accent-strong);color:var(--bg);font-weight:600}.bg-ability-picks{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px}.bg-ability-pick{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--text-dim)}.bg-ability-pick select{color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:6px 8px;min-width:140px}.bg-ability-hint{margin-top:12px;font-size:.85rem;color:var(--text-dim)}.custom-bg{margin-top:16px;padding:16px;display:flex;flex-direction:column;gap:16px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px}.custom-bg-field{display:flex;flex-direction:column;gap:8px}.custom-bg-variant{margin-top:10px;display:flex;flex-direction:column;gap:8px}.custom-bg-label{font-size:.8rem;font-weight:600;color:var(--text-dim)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.pick-chip{padding:6px 12px;font-size:.85rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:999px;cursor:pointer}.pick-chip:hover:not(:disabled){border-color:var(--accent)}.pick-chip.is-selected{background:var(--accent);border-color:var(--accent-strong);color:var(--bg);font-weight:600}.pick-chip:disabled{opacity:.4;cursor:default}.editor-actions{display:flex;gap:12px;align-items:center;margin-top:8px}.equip-choice{margin-bottom:16px}.equip-choice:last-child{margin-bottom:0}.equip-choice-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-bottom:8px}.equip-option{display:flex;align-items:baseline;gap:12px;width:100%;text-align:left;padding:10px 12px;margin-bottom:8px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font:inherit}.equip-option:hover{border-color:var(--accent)}.equip-option.is-selected{border-color:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--accent-strong)}.equip-option-label{flex:none;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--border);font-size:.8rem;font-weight:700;color:var(--gold)}.equip-option-items{font-size:.88rem;line-height:1.4}.drawer-gold{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border);font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--gold)}.drawer-gold input{width:90px;padding:6px 10px;text-align:right;font-size:1rem;font-weight:700;color:var(--gold);background:var(--bg);border:1px solid var(--border);border-radius:6px}.drawer-gold input:focus{outline:none;border-color:var(--accent)}.worn{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}@media (max-width: 420px){.worn{grid-template-columns:1fr 1fr}}.worn-item{display:flex;flex-direction:column;gap:3px;padding:10px 12px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px}.worn-label{font-size:.66rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}.worn-value{font-weight:600}.inventory-list{list-style:none;margin:0;padding:0}.inventory-row{display:grid;grid-template-columns:32px 1fr auto;align-items:baseline;gap:8px;padding:6px 4px;border-bottom:1px solid var(--border)}.inventory-row:last-child{border-bottom:none}.inv-qty{color:var(--text-dim);font-variant-numeric:tabular-nums;text-align:right}.inv-name{font-size:.95rem}.inv-detail{font-size:.72rem;color:var(--text-dim);text-align:right}.inventory-empty{color:var(--text-dim);font-size:.85rem;margin:4px 0 0}.equipped-tag{margin-left:8px;font-size:.6rem;text-transform:uppercase;letter-spacing:.5px;border-radius:999px;padding:1px 7px;vertical-align:middle;color:var(--accent-strong);border:1px solid var(--accent)}.inv-add{display:flex;gap:10px;margin-bottom:14px}.inv-add .text-input{flex:1}.inv-editor-list{list-style:none;margin:0;padding:0}.inv-editor-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:12px;padding:8px 4px;border-bottom:1px solid var(--border)}.inv-editor-row:last-child{border-bottom:none}.inv-editor-row .inv-detail{text-align:left}.qty-controls{display:flex;align-items:center;gap:8px}.qty-controls button{width:26px;height:26px;border-radius:6px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:1rem;cursor:pointer;line-height:1}.qty-controls button:hover{border-color:var(--accent)}.qty{min-width:20px;text-align:center;font-variant-numeric:tabular-nums}.inv-remove{width:26px;height:26px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;font-size:1.1rem;line-height:1}.inv-remove:hover{border-color:#e08a8a;color:#e08a8a}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-head .panel-title{margin:0}.btn-small{padding:4px 12px;font-size:.72rem;text-transform:uppercase;letter-spacing:.5px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:40}.drawer-backdrop.is-open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;height:100%;width:420px;max-width:90vw;background:var(--panel);border-left:1px solid var(--border);box-shadow:-8px 0 24px #00000059;transform:translate(100%);transition:transform .22s ease;z-index:41;display:flex;flex-direction:column}.drawer.is-open{transform:translate(0)}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.drawer-header h2{margin:0;font-size:1.1rem}.drawer-close{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--text-dim);font-size:1.3rem;line-height:1;cursor:pointer}.drawer-close:hover{color:var(--text);border-color:var(--accent)}.drawer-body{padding:16px 20px;overflow-y:auto;flex:1}.rest-hp{display:flex;flex-direction:column;align-items:center;gap:2px;padding-bottom:14px;margin-bottom:4px;border-bottom:1px solid var(--border)}.rest-hp-value{font-size:1.9rem;font-weight:700;font-variant-numeric:tabular-nums}.rest-hp-sep{color:var(--text-dim);font-weight:400}.rest-hp-label{font-size:.66rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}.rest-section{padding:16px 0;border-bottom:1px solid var(--border)}.rest-section:last-child{border-bottom:none}.rest-section-title{margin:0 0 10px;font-size:.95rem;color:var(--gold)}.rest-hitdice{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.rest-hd-line{display:flex;align-items:center;gap:8px;font-size:.88rem;font-variant-numeric:tabular-nums}.rest-hd-undo{width:24px;height:24px;border-radius:6px;border:1px solid var(--border);background:var(--panel-2);color:var(--text-dim);cursor:pointer;line-height:1}.rest-hd-undo:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.rest-hd-undo:disabled{opacity:.4;cursor:not-allowed}.rest-hd-heal{color:var(--text-dim);font-weight:400}.rest-note{margin:8px 0 0;font-size:.76rem;color:var(--text-dim);line-height:1.4}.rest-action{width:100%}.rest-swap-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.rest-swap-name{font-weight:600;font-size:.9rem}.rest-prep-level{margin-top:8px}.rest-prep-level-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin-bottom:4px}.rest-confirm{display:flex;flex-direction:column;gap:8px}.rest-confirm-label{font-size:.88rem;font-weight:600}.rest-confirm-actions{display:flex;gap:8px}.rest-confirm-actions .btn{flex:1}.drawer .inv-editor-row{grid-template-columns:1fr auto auto auto;gap:10px}.inv-main{display:flex;flex-direction:column;gap:2px;min-width:0}.inv-enhance{margin-top:4px;max-width:100%;font-size:.8rem}.equip-btn{width:92px;padding:5px 0;border-radius:6px;border:1px solid var(--border);background:var(--panel-2);color:var(--text-dim);font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;text-align:center;cursor:pointer;white-space:nowrap}.equip-btn:hover{border-color:var(--accent);color:var(--text)}.equip-btn.is-equipped{background:var(--accent);border-color:var(--accent-strong);color:#0f130f;font-weight:600}.equip-spacer{width:92px}@media (max-width: 520px){.equip-spacer{display:none}.drawer .inv-editor-row{grid-template-columns:1fr auto auto}}
