body{margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:var(--5e-bg-body);color:var(--5e-text-primary);line-height:1.4}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--5e-bg-body)}.app.loading,.app.error{align-items:center;justify-content:center;text-align:center;padding:2rem}.app-header{background:var(--5e-bg-primary);border-bottom:1px solid var(--5e-border-grey);padding:.75rem 0;flex-shrink:0}.header-container{max-width:1400px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between}.header-left{flex:1;display:flex;align-items:center;gap:.75rem}.back-btn{padding:.5rem 1rem;background:var(--5e-bg-secondary);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.back-btn:hover{background:var(--5e-bg-tertiary);border-color:var(--color-primary-hover);color:var(--color-primary-hover)}.level-up-btn{padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.level-up-btn:hover{background:var(--color-primary-hover);box-shadow:0 0 8px #d53a5980;transform:translateY(-1px)}.header-right{display:flex;align-items:center;gap:.75rem}.app-title{display:flex;align-items:baseline;gap:.5rem;margin:0}.title-main{color:var(--color-accent-blue)}.title-sub{color:var(--5e-text-muted);font-weight:400;margin-left:.5rem}.user-info{display:flex;align-items:center;gap:.75rem}.username{color:var(--5e-text-primary);font-size:.875rem;font-weight:500}.logout-btn{padding:.5rem 1rem;background:var(--5e-bg-secondary);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.logout-btn:hover{background:var(--5e-bg-tertiary);border-color:var(--color-primary-hover);color:var(--color-primary-hover)}.save-btn{padding:.5rem 1.25rem;background:var(--color-primary);color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.save-btn:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 0 1px 1px #888;transform:translateY(-1px)}.save-btn:disabled{opacity:.5;cursor:not-allowed}.save-btn.saving{opacity:.7}.app-main{flex:1;padding:1rem;max-width:1400px;margin:0 auto;width:100%}.character-sheet{height:calc(100vh - 100px);overflow:hidden}.character-sheet-container{display:flex;gap:1rem;height:100%}.character-sheet-left{width:350px;flex-shrink:0;overflow-y:auto;overflow-x:hidden;background:var(--5e-bg-secondary);border:1px solid var(--5e-border-grey);border-radius:8px;padding:1rem;box-sizing:border-box}.character-sheet-right{flex:1;overflow:hidden;background:var(--5e-bg-secondary);border:1px solid var(--5e-border-grey);border-radius:8px;display:flex;flex-direction:column}.left-panel{height:100%}.character-header{margin-bottom:1.5rem}.character-name-section{margin-bottom:1rem}.field-label{display:block;font-size:.875rem;font-weight:600;color:var(--5e-text-muted);margin-bottom:.25rem}.character-name-input{width:100%;padding:.75rem;font-size:1.125rem;font-weight:600;background:var(--5e-bg-body);color:var(--5e-text-primary);border:1px solid var(--5e-border-grey);border-radius:4px}.character-name-input:focus{outline:none;border-color:var(--5e-color-link);box-shadow:0 0 0 2px #5e72e433}.character-basics{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.basic-field{display:flex;flex-direction:column}.level-input,.race-select,.class-select,.background-select{padding:.5rem;background:var(--5e-bg-body);color:var(--5e-text-primary);border:1px solid var(--5e-border-grey);border-radius:4px;font-size:.875rem;line-height:1;width:100%;max-width:100%;box-sizing:border-box;height:calc(1.875rem + 2px)}.level-input{text-align:center;font-weight:600}.ability-scores-section{margin-bottom:1.5rem}.section-title{font-size:1rem;font-weight:600;color:var(--5e-text-heading);margin-bottom:.75rem;padding-bottom:.25rem;border-bottom:1px solid var(--5e-border-grey)}.ability-scores-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.ability-score{background:var(--5e-bg-body);border:1px solid var(--5e-border-grey);border-radius:4px;padding:.5rem;text-align:center}.ability-name{font-size:.75rem;font-weight:600;color:var(--5e-text-muted);margin-bottom:.25rem}.ability-value{font-size:1.25rem;font-weight:700;color:var(--5e-text-primary);margin-bottom:.25rem}.ability-modifier{font-size:.875rem;color:var(--5e-text-muted)}.combat-stats-section{margin-bottom:1.5rem}.combat-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.combat-stat{background:var(--5e-bg-body);border:1px solid var(--5e-border-grey);border-radius:4px;padding:.5rem;text-align:center}.stat-label{font-size:.75rem;font-weight:600;color:var(--5e-text-muted);margin-bottom:.25rem}.stat-value{font-size:1rem;font-weight:600;color:var(--5e-text-primary)}.right-panel{height:100%;display:flex;flex-direction:column}.tabs-container{border-bottom:1px solid var(--5e-border-grey);background:var(--5e-bg-body);border-radius:8px 8px 0 0}.tabs-list{display:flex;padding:0;margin:0;list-style:none}.tab-item{flex:1}.tab-button{width:100%;padding:.75rem 1rem;background:none;border:none;color:var(--5e-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem;transition:all .2s ease;border-bottom:2px solid transparent}.tab-content{flex:1;overflow-y:auto;padding:1rem}.tab-title{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:var(--5e-text-heading)}.spellbook{overflow-y:auto;max-height:calc(100vh - 200px)}.spell-level-section{margin-bottom:1.5rem;border:1px solid var(--5e-border-grey);border-radius:6px;background:var(--5e-bg-body)}.spell-level-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;margin-bottom:.5rem}.spell-level-title{margin:0;font-size:1rem;font-weight:600;color:var(--5e-color-link)}.spell-usage-counter{display:flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:600;color:var(--5e-text-primary)}.infinity-symbol{font-size:1.25rem;color:var(--5e-color-link)}.slot-divider{color:var(--5e-text-muted)}.current-slots{color:var(--5e-color-link)}.max-slots{color:var(--5e-text-muted)}.spell-list{padding:0}.spell-item{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:.75rem;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--5e-border-grey);transition:background-color .2s ease}.spell-name{font-weight:600;color:var(--5e-text-primary)}.spell-components{font-size:.75rem;font-weight:600;color:var(--5e-text-muted);letter-spacing:.5px}.spell-casting-time,.spell-range{font-size:.75rem;color:var(--5e-text-muted)}.spell-actions{display:flex;gap:.25rem}.spell-action-btn{padding:.25rem;background:none;border:none;cursor:pointer;border-radius:3px;font-size:.75rem;transition:background-color .2s ease}.spell-action-btn:hover{background:var(--5e-bg-tertiary)}.add-spell-btn{width:100%;padding:.75rem;background:var(--5e-bg-secondary);color:var(--5e-color-link);border:1px dashed var(--5e-border-grey);border-radius:0 0 6px 6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.add-spell-btn:hover{background:var(--5e-bg-tertiary);border-color:var(--5e-color-link)}.spellbook-header{margin-bottom:1rem}.spellbook-controls{display:flex;gap:1rem;margin-bottom:1rem;align-items:center;flex-wrap:wrap}.search-container{position:relative;flex:1;min-width:200px}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--5e-text-muted);font-size:.875rem}.spell-search{width:100%;padding:.5rem .5rem .5rem 2.5rem;background:var(--5e-bg-body);color:var(--5e-text-primary);border:1px solid var(--5e-border-grey);border-radius:4px;font-size:.875rem}.spell-search:focus{outline:none;border-color:var(--5e-color-link);box-shadow:0 0 0 2px #5e72e433}.filter-controls{display:flex;gap:.5rem;align-items:center}.level-filter{padding:.5rem;background:var(--5e-bg-body);color:var(--5e-text-primary);border:1px solid var(--5e-border-grey);border-radius:4px;font-size:.875rem;min-width:120px}.prepared-filter{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:var(--5e-bg-body);color:var(--5e-text-muted);border:1px solid var(--5e-border-grey);border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s ease}.prepared-filter:hover{background:var(--5e-bg-tertiary);color:var(--5e-text-primary)}.prepared-filter.active{background:var(--5e-color-link);color:#fff;border-color:var(--5e-color-link)}.concentration-banner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--5e-color-link);color:#fff;border-radius:6px;margin-bottom:1rem;font-weight:600}.concentration-text{font-size:.875rem}.end-concentration-btn{padding:.25rem .75rem;background:#fff3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:600;transition:background-color .2s ease}.end-concentration-btn:hover{background:#ffffff4d}.spell-item{display:flex;flex-direction:column;padding:.75rem 1rem;border-bottom:1px solid var(--5e-border-grey);transition:background-color .2s ease}.spell-item:hover{background:var(--5e-bg-tertiary)}.spell-item:last-child{border-bottom:none}.spell-main-info{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:.75rem;align-items:center}.spell-name-container{display:flex;align-items:center;gap:.5rem}.spell-name-btn{background:none;border:none;color:var(--5e-text-primary);font-weight:600;font-size:.875rem;cursor:pointer;text-align:left;padding:0;transition:color .2s ease}.spell-name-btn:hover{color:var(--5e-color-link)}.concentration-indicator{font-size:.5rem;color:var(--5e-text-muted)}.concentration-indicator.active{color:var(--5e-color-link);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.slot-dots{display:flex;gap:.25rem;align-items:center;margin-right:.5rem}.slot-dot{background:none;border:none;cursor:pointer;color:var(--5e-text-muted);font-size:.75rem;padding:0;transition:color .2s ease}.slot-dot.available{color:var(--5e-color-link)}.slot-dot.used{color:var(--5e-text-muted)}.slot-dot:hover{color:var(--5e-text-primary)}.slot-text{font-size:.875rem;font-weight:600}.spell-actions{display:flex;gap:.25rem;align-items:center;margin-top:.5rem;justify-content:flex-end}.spell-action-btn{padding:.375rem;background:var(--5e-bg-body);color:var(--5e-text-muted);border:1px solid var(--5e-border-grey);border-radius:4px;cursor:pointer;font-size:.75rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:2rem;min-height:2rem}.spell-action-btn:hover{background:var(--5e-bg-tertiary);color:var(--5e-text-primary)}.spell-action-btn:disabled{opacity:.5;cursor:not-allowed}.spell-action-btn.preparation-btn.active,.spell-action-btn.preparation-btn:hover{color:var(--5e-color-link)}.spell-action-btn.cast-btn:hover{color:#4ade80;border-color:#4ade80}.spell-action-btn.edit-btn:hover{color:#fbbf24;border-color:#fbbf24}.spell-action-btn.remove-btn:hover{color:#ef4444;border-color:#ef4444}.spell-details{margin-top:1rem;padding:1rem;background:var(--5e-bg-body);border:1px solid var(--5e-border-grey);border-radius:6px;font-size:.875rem;line-height:1.5}.spell-description{margin-bottom:.75rem}.spell-material{margin-bottom:.75rem;font-style:italic;color:var(--5e-text-muted)}.spell-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.75rem;color:var(--5e-text-muted);margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--5e-border-grey)}.spell-meta span{display:block}.tab-navigation{display:flex;background:var(--5e-bg-body);border-radius:8px 8px 0 0;border-bottom:1px solid var(--5e-border-grey)}.tab-button{flex:1;padding:.75rem 1rem;background:none;border:none;color:var(--5e-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem;transition:all .2s ease;border-bottom:2px solid transparent}.tab-button:hover{color:var(--5e-text-primary);background:var(--5e-bg-tertiary)}.tab-button.active{color:var(--5e-color-link);border-bottom-color:var(--5e-color-link);background:var(--5e-bg-secondary)}.tab-icon{font-size:1rem}.tab-text{font-weight:500}@media (max-width: 768px){.spellbook-controls{flex-direction:column;align-items:stretch}.filter-controls{justify-content:space-between}.spell-main-info{grid-template-columns:1fr;gap:.5rem;text-align:left}.spell-actions{justify-content:flex-start;margin-top:.75rem}.tab-button .tab-text{display:none}}body{color:var(--text-primary);font-family:var(--font-ui);background:var(--surface-canvas)}.app{color:var(--text-primary);background:radial-gradient(circle at 14% 8%,rgba(20,85,192,.13),transparent 30rem),var(--surface-canvas)}.app-header{position:relative;z-index:50;padding:0;border-bottom:1px solid var(--border-subtle);background:#050b16f5;box-shadow:0 18px 45px #01050e40}.sheet-global-bar{display:flex;width:min(100% - 2rem,96rem);min-height:4.25rem;align-items:center;justify-content:space-between;margin-inline:auto;border-bottom:1px solid var(--border-subtle)}.sheet-operations{display:flex;min-width:0;align-items:center;gap:var(--space-2)}.sheet-save-status{display:inline-flex;align-items:center;gap:var(--space-2);margin-right:var(--space-2);color:var(--text-muted);font:var(--text-xs) var(--font-data);white-space:nowrap}.save-status-dot{width:.48rem;height:.48rem;border-radius:50%;background:var(--forge-success);box-shadow:0 0 0 4px #2585531a}.sheet-save-status.is-saving .save-status-dot{background:var(--forge-gold-500);box-shadow:0 0 0 4px #e7b83e1a;animation:save-pulse .9s ease-in-out infinite alternate}.sheet-save-status.is-dirty .save-status-dot{background:var(--forge-gold-500);box-shadow:0 0 0 4px #e7b83e1a}.sheet-save-status.is-error{color:#e88993}.sheet-save-status.is-error .save-status-dot{background:var(--forge-danger);box-shadow:0 0 0 4px #b431401f}.sheet-tool-button,.sheet-save-button{display:inline-flex;min-height:2.55rem;align-items:center;justify-content:center;gap:var(--space-2);padding:.6rem .78rem;border-radius:var(--radius-md);font:600 var(--text-xs) var(--font-ui);cursor:pointer}.sheet-tool-button{border:1px solid var(--border-subtle);color:var(--text-secondary);background:var(--surface-panel)}.sheet-tool-button:hover:not(:disabled){border-color:var(--border-strong);color:var(--text-primary);background:var(--surface-panel-raised)}.sheet-save-button{border:1px solid #0a3d97;color:#fff;background:var(--forge-royal-600)}.sheet-save-button:hover:not(:disabled){background:var(--forge-royal-500)}.sheet-tool-button:disabled,.sheet-save-button:disabled{cursor:wait;opacity:.5}.sheet-brand{display:inline-flex;align-items:center;gap:var(--space-3);padding:0;border:0;color:var(--text-primary);font:var(--text-lg) var(--font-display);background:none;cursor:pointer}.sheet-brand-crest{display:grid;width:2rem;height:2.25rem;place-items:center;color:var(--forge-midnight-950);font:.55rem var(--font-data);background:var(--forge-gold-500);clip-path:polygon(50% 0,94% 15%,86% 72%,50% 100%,14% 72%,6% 15%)}.sheet-chronicle-bar{display:flex;width:min(100% - 2rem,96rem);align-items:end;gap:var(--space-6);margin-inline:auto;padding:var(--space-5) 0 var(--space-6)}.sheet-snapshot-context{display:flex;width:min(100% - 2rem,96rem);align-items:center;gap:var(--space-3);margin:calc(-1 * var(--space-3)) auto var(--space-4);padding:var(--space-2) var(--space-3);border:1px solid rgba(47,114,220,.3);border-radius:var(--radius-md);color:#b8d0f5;font-size:var(--text-sm);background:#2f72dc14}.sheet-snapshot-context strong{flex:0 0 auto;color:#d5e4fc;font-family:var(--font-data);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.sheet-snapshot-context.is-unlinked{border-color:#b86b1866;color:#e8c49a;background:#b86b181a}.app-header .header-right{flex:0 0 auto}.level-up-btn{flex:0 0 auto;min-height:2.9rem;padding:.75rem 1rem;border:1px solid #0a3d97;border-radius:var(--radius-md);color:#fff;font:600 var(--text-sm) var(--font-ui);background:var(--forge-royal-600);box-shadow:var(--shadow-control)}.level-up-btn:hover{background:var(--forge-royal-500);box-shadow:0 12px 28px #0d3f9b47}.app-main{width:100%;max-width:100rem;padding:var(--space-4)}.character-sheet{height:calc(100vh - 12.5rem);min-height:30rem}.app:has(.sheet-snapshot-context) .character-sheet{height:calc(100vh - 15.25rem)}.character-sheet-left,.character-sheet-right{border-color:var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-panel);box-shadow:0 18px 48px #01050e2e}@media (max-width: 950px){.sheet-global-bar{align-items:flex-start;gap:var(--space-3);padding-block:var(--space-3)}.sheet-operations{flex-wrap:wrap;justify-content:flex-end}.sheet-save-status{width:100%;justify-content:flex-end;order:-1}.sheet-chronicle-bar{align-items:stretch;flex-direction:column}.character-sheet{height:calc(100vh - 17rem)}}@keyframes save-pulse{to{opacity:.45}}.spells-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;min-height:300px}.placeholder-icon{color:var(--5e-text-muted);margin-bottom:1rem;opacity:.6}.placeholder-title{margin:0 0 .75rem;font-size:1.25rem;font-weight:600;color:var(--5e-text-primary)}.placeholder-text{margin:0 0 1.5rem;color:var(--5e-text-muted);line-height:1.6;max-width:400px}.add-first-spells{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:300px}.add-spell-btn.primary{background:var(--5e-color-link);color:#fff;border:1px solid var(--5e-color-link);padding:.75rem 1rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem}.add-spell-btn.primary:hover{background:var(--5e-color-link-hover);border-color:var(--5e-color-link-hover)}.subsection-title{font-size:1rem;font-weight:600;color:var(--5e-color-link);margin:0 0 .75rem}.features-sections .subsection-title{font-size:.8rem;font-weight:700;color:var(--5e-color-link);margin:0 0 1rem;letter-spacing:.3px}.section-divider{height:1px;background:linear-gradient(to right,transparent,var(--5e-border-grey) 20%,var(--5e-border-grey) 80%,transparent);margin:1.5rem 0}.features-sections{display:flex;flex-direction:column;gap:0}.racial-traits-section,.background-features-section,.feats-section,.spells-section,.inventory-section{margin-bottom:.5rem}.racial-traits,.background-features{display:flex;flex-direction:column;gap:.75rem}.feature-item{margin-bottom:1rem;padding:.75rem;background:var(--5e-bg-secondary);border-radius:4px;border:1px solid var(--5e-border-grey)}.feature-name{font-size:.9rem;font-weight:600;color:var(--color-accent-blue);margin:0 0 .5rem}.feature-description{font-size:.875rem;line-height:1.6;color:var(--5e-text-primary)}.feature-description p{margin:0 0 .5rem}.feature-description p:last-child{margin-bottom:0}.traits-placeholder,.background-placeholder{padding:1rem;text-align:center}.placeholder-text{color:var(--5e-text-muted);font-style:italic;font-size:.875rem}.loading-placeholder{padding:1rem;text-align:center;color:var(--5e-text-muted)}.collapsible-feature-card{background:var(--5e-bg-secondary);border:1px solid var(--5e-border-grey);border-radius:4px;overflow:hidden}.feature-card-header{width:100%;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--5e-bg-secondary);border:none;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--5e-border-grey)}.feature-card-header:hover{background:var(--5e-bg-body)}.feature-card-header .expand-icon{color:var(--5e-text-light);font-size:.75rem;transition:transform .2s,color .2s;min-width:12px;display:inline-block}.feature-card-header:hover .expand-icon{color:var(--5e-text-primary)}.feature-card-header .expand-icon.collapsed{transform:rotate(-90deg)}.feature-card-header .card-title{font-size:.95rem;font-weight:600;color:var(--5e-text-primary);text-align:left}.feature-card-content{padding:1rem;max-height:2000px;overflow:hidden;transition:max-height .3s ease,padding .3s ease;background:#222}.feature-card-content.collapsed{max-height:0;padding:0 1rem;overflow:hidden}.trait-entry{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--5e-border-grey)}.trait-entry:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.trait-name{font-size:.875rem;font-weight:600;color:var(--color-accent-blue);margin:0 0 .5rem}.trait-name svg{color:var(--5e-text-primary)!important}.trait-description{font-size:.8125rem;line-height:1.6;color:var(--text-secondary)}.trait-description p{margin:0 0 .5rem}.trait-description p:last-child{margin-bottom:0}.trait-list{margin:.35rem 0 .5rem 1.1rem;padding:0;display:flex;flex-direction:column;gap:.3rem}.trait-list li{line-height:1.5}.background-grants-summary{padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.25rem}.bg-grant-row{display:flex;gap:.4rem;font-size:.85rem;line-height:1.5}.bg-grant-label{color:var(--text-muted);font-weight:500;white-space:nowrap}.bg-grant-value{color:var(--text-secondary)}.homebrew-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;background:var(--5e-link-blue);color:var(--5e-bg-body);font-size:.65rem;font-weight:700;border-radius:3px;letter-spacing:.5px}.homebrew-subclass-group{margin-bottom:1.5rem}.homebrew-subclass-group:last-child{margin-bottom:0}.subclass-group-title{font-size:.875rem;font-weight:600;color:var(--5e-text-heading);margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--5e-border-grey)}.homebrew-feature .feature-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem}.homebrew-feature .feature-level{font-size:.75rem;font-weight:400;color:var(--5e-text-muted);margin-left:.5rem}.homebrew-feature .feature-uses{font-size:.75rem;color:var(--5e-text-muted);font-style:italic}.homebrew-feature .scales-notice{margin-top:.5rem;font-size:.75rem;color:var(--5e-text-muted)}.nested-entry{margin:.5rem 0;padding-left:1rem;border-left:2px solid var(--5e-border-grey)}.nested-entry strong{display:block;margin-bottom:.25rem;color:var(--5e-text-heading)}.feature-table{width:100%;margin:1rem 0;border-collapse:collapse;font-size:.8125rem;background:var(--5e-bg-body);border:1px solid var(--5e-border-grey)}.feature-table caption{text-align:left;font-weight:600;color:var(--5e-text-heading);padding:.5rem;font-size:.875rem}.feature-table thead th{background:var(--5e-bg-secondary);color:var(--5e-text-primary);font-weight:600;text-align:left;padding:.5rem;border-bottom:1px solid var(--5e-border-grey)}.feature-table tbody td{padding:.5rem;border-bottom:1px solid var(--5e-border-grey);color:var(--5e-text-primary)}.feature-table tbody tr:last-child td{border-bottom:none}.feature-table tbody tr:hover{background:var(--5e-bg-tertiary)}.biography-tab{padding:1rem}.biography-form{display:flex;flex-direction:column;gap:1rem}.bio-field{display:flex;flex-direction:column;gap:.5rem}.bio-label{font-size:.875rem;font-weight:600;color:var(--color-accent-blue)}.bio-textarea{width:100%;padding:.75rem;background:var(--5e-bg-body);color:var(--5e-text-primary);border:1px solid var(--5e-border-grey);border-radius:4px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:.875rem;line-height:1.5;resize:vertical;min-height:60px}.bio-textarea:focus{outline:none;border-color:var(--5e-color-link);box-shadow:0 0 0 2px #5e72e433}.bio-textarea::placeholder{color:var(--5e-text-muted);opacity:.7}.notes-tab{padding:1rem;display:flex;flex-direction:column;height:100%}.notes-section{flex:1;display:flex;flex-direction:column}.notes-textarea{width:100%;flex:1;padding:.75rem;background:var(--5e-bg-body);color:var(--5e-text-primary);border:1px solid var(--5e-border-grey);border-radius:4px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:.875rem;line-height:1.5;resize:vertical;min-height:400px}.notes-textarea:focus{outline:none;border-color:var(--5e-color-link);box-shadow:0 0 0 2px #5e72e433}.notes-textarea::placeholder{color:var(--5e-text-muted);opacity:.7}.character-sheet-right .biography-tab,.character-sheet-right .notes-tab{height:auto;padding:0;color:var(--text-primary)}.character-sheet-right .record-writing-overview{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-1) var(--space-3);border-bottom:1px solid var(--border-subtle)}.character-sheet-right .record-writing-kicker{display:block;margin-bottom:var(--space-1);color:var(--forge-gold-400);font:var(--text-xs) var(--font-data);letter-spacing:.12em;text-transform:uppercase}.character-sheet-right .record-writing-overview h3{margin:0;color:var(--text-primary);font:400 var(--text-xl) var(--font-display)}.character-sheet-right .record-snapshot-badge{padding:.35rem .6rem;border:1px solid rgba(231,184,62,.35);border-radius:999px;color:var(--forge-gold-400);background:#e7b83e0f;font:var(--text-xs) var(--font-data);white-space:nowrap}.character-sheet-right .record-writing-guidance{max-width:48rem;margin:var(--space-3) var(--space-1) var(--space-4);color:var(--text-muted);font-size:var(--text-sm);line-height:1.55}.character-sheet-right .biography-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.character-sheet-right .bio-field,.character-sheet-right .notes-section{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--surface-panel-raised),rgba(13,27,48,.76));box-shadow:0 12px 28px #01050e24}.character-sheet-right .bio-field--wide{grid-column:1 / -1}.character-sheet-right .bio-label,.character-sheet-right .notes-label{color:var(--forge-gold-400);font:var(--text-xs) var(--font-data);letter-spacing:.08em;text-transform:uppercase}.character-sheet-right .bio-textarea,.character-sheet-right .notes-textarea{width:100%;min-height:6.25rem;padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);outline:none;color:var(--text-primary);caret-color:var(--forge-gold-400);background:var(--surface-control);font:var(--text-sm)/1.6 var(--font-ui);resize:vertical}.character-sheet-right .notes-textarea{min-height:27rem}.character-sheet-right .bio-textarea:hover,.character-sheet-right .notes-textarea:hover{border-color:#bdc9da61}.character-sheet-right .bio-textarea:focus,.character-sheet-right .notes-textarea:focus{border-color:#2f72dcb8;box-shadow:0 0 0 3px #2f72dc24}.character-sheet-right .bio-textarea::placeholder,.character-sheet-right .notes-textarea::placeholder{color:var(--text-muted);opacity:.72}@media (max-width: 980px){.character-sheet-right .biography-form{grid-template-columns:1fr}.character-sheet-right .bio-field--wide{grid-column:auto}}.feature-usage-tracker{background:var(--5e-bg-secondary);border:1px solid var(--5e-border-grey);border-radius:4px;margin-bottom:1rem;overflow:hidden}.tracker-header{width:100%;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--5e-bg-secondary);border:none;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--5e-border-grey)}.tracker-header:hover{background:var(--5e-bg-body)}.tracker-header .expand-icon{color:var(--5e-text-light);font-size:.75rem;transition:transform .2s,color .2s;min-width:12px;display:inline-block}.tracker-header:hover .expand-icon{color:var(--5e-text-primary)}.tracker-header .expand-icon.collapsed{transform:rotate(-90deg)}.tracker-header h4{margin:0;font-size:.95rem;font-weight:600;color:var(--5e-text-primary);text-align:left;flex:1}.tracker-content{padding:1rem;max-height:2000px;overflow:hidden;transition:max-height .3s ease,padding .3s ease;background:#222}.tracker-content.collapsed{max-height:0;padding:0 1rem}.rest-buttons{display:flex;gap:.5rem}.rest-button{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--5e-bg-body);color:var(--5e-text-primary);border:1px solid var(--5e-border-grey);border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.rest-button:hover{background:var(--5e-bg-tertiary);border-color:var(--5e-color-link)}.rest-button.short-rest{color:#4ade80}.rest-button.long-rest{color:#60a5fa}.feature-uses-list{display:flex;flex-direction:column;gap:.75rem}.feature-use-item{display:flex;flex-direction:column;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--5e-border-grey)}.feature-use-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.feature-use-main{display:flex;justify-content:space-between;align-items:center}.feature-name-row{display:flex;align-items:center;gap:.3rem}.sub-features-toggle{background:none;border:none;color:var(--5e-text-muted);cursor:pointer;padding:0;display:flex;align-items:center;font-size:.65rem;flex-shrink:0;transition:color .15s}.sub-features-toggle:hover{color:var(--5e-text-primary)}.feature-sub-forms{margin-top:.4rem;padding-top:.4rem;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.55rem}.sub-form-entry{display:flex;flex-direction:column;gap:.15rem}.sub-form-name{font-size:.8rem;font-weight:500;color:var(--text-muted)}.sub-form-desc{font-size:.78rem;color:var(--text-secondary);margin:0;line-height:1.5}.feature-use-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.feature-name{font-size:.875rem;font-weight:600;color:var(--color-accent-blue);margin:0}.feature-reset{font-size:.75rem;color:var(--5e-text-muted)}.feature-use-controls{display:flex;align-items:center;gap:.5rem}.use-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--5e-bg-primary);color:var(--5e-text-primary);border:1px solid var(--5e-border-grey);border-radius:4px;cursor:pointer;transition:all .2s;font-size:.75rem}.use-button:hover:not(:disabled){background:var(--5e-color-link);border-color:var(--5e-color-link);color:#fff}.use-button:disabled{opacity:.3;cursor:not-allowed}.use-counter{display:flex;align-items:center;gap:.25rem;font-size:1rem;font-weight:600;min-width:60px;justify-content:center}.current-uses{color:var(--5e-color-link);font-size:1.125rem}.current-uses.depleted{color:#ef4444}.uses-separator,.max-uses{color:var(--5e-text-muted)}.character-sheet-right .features-tab{color:var(--text-primary)}.character-sheet-right .features-overview{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-4);padding:0 var(--space-1) var(--space-4);border-bottom:1px solid var(--border-subtle)}.character-sheet-right .features-overview-kicker{display:block;margin-bottom:var(--space-1);color:var(--forge-gold-400);font:var(--text-xs) var(--font-data);letter-spacing:.12em;text-transform:uppercase}.character-sheet-right .features-overview h3{margin:0;color:var(--text-primary);font:400 var(--text-xl) var(--font-display)}.character-sheet-right .features-overview p{max-width:35rem;margin:0;color:var(--text-muted);font-size:var(--text-sm);line-height:1.55;text-align:right}.character-sheet-right .feature-usage-tracker,.character-sheet-right .collapsible-feature-card{margin-bottom:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-panel-raised);box-shadow:0 12px 28px #01050e24}.character-sheet-right .tracker-header,.character-sheet-right .feature-card-header{min-height:3.65rem;padding:var(--space-3) var(--space-4);border-bottom-color:var(--border-subtle);color:var(--text-primary);background:linear-gradient(100deg,rgba(47,114,220,.1),transparent 55%),var(--surface-panel-raised)}.character-sheet-right .tracker-header{display:flex;align-items:center;gap:var(--space-3)}.character-sheet-right .tracker-toggle{display:flex;min-width:0;flex:1;align-items:center;gap:var(--space-2);padding:0;border:0;color:inherit;text-align:left;background:none;cursor:pointer}.character-sheet-right .tracker-toggle>span:last-child{display:flex;min-width:0;flex-direction:column;gap:.1rem}.character-sheet-right .tracker-toggle small{color:var(--forge-gold-400);font:var(--text-xs) var(--font-data);letter-spacing:.08em;text-transform:uppercase}.character-sheet-right .tracker-toggle strong{color:var(--text-primary);font-size:var(--text-sm)}.character-sheet-right .tracker-header:hover,.character-sheet-right .feature-card-header:hover{background:linear-gradient(100deg,rgba(47,114,220,.16),transparent 62%),var(--surface-panel-raised)}.character-sheet-right .tracker-header .expand-icon,.character-sheet-right .feature-card-header .expand-icon{color:var(--forge-gold-400)}.character-sheet-right .tracker-header .expand-icon.collapsed,.character-sheet-right .feature-card-header .expand-icon.collapsed{color:var(--forge-steel-300)}.character-sheet-right .feature-card-header .card-title{color:var(--text-primary);font-size:var(--text-sm)}.character-sheet-right .tracker-content,.character-sheet-right .feature-card-content{padding:var(--space-4);color:var(--text-secondary);background:#050b164d}.character-sheet-right .tracker-content.collapsed,.character-sheet-right .feature-card-content.collapsed{padding:0 var(--space-4)}.character-sheet-right .rest-button{min-height:2.35rem;padding:.45rem .7rem;border-color:var(--border-strong);border-radius:var(--radius-md);background:var(--surface-control)}.character-sheet-right .rest-button:hover{border-color:#2f72dc94;background:var(--surface-control-hover)}.character-sheet-right .rest-button.short-rest{color:#83d4aa}.character-sheet-right .rest-button.long-rest{color:#8eb8ff}.character-sheet-right .feature-uses-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.character-sheet-right .feature-use-item{min-width:0;margin:0;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#122541b8}.character-sheet-right .feature-use-main{gap:var(--space-3)}.character-sheet-right .feature-name{color:var(--text-primary);font-size:var(--text-sm)}.character-sheet-right .feature-reset{color:var(--text-muted);font:var(--text-xs) var(--font-data)}.character-sheet-right .use-button{width:2rem;height:2rem;border-color:var(--border-strong);border-radius:50%;color:var(--text-secondary);background:var(--surface-control)}.character-sheet-right .use-button:hover:not(:disabled){border-color:#2f72dcad;background:var(--forge-royal-600)}.character-sheet-right .use-counter{min-width:3.75rem;padding:.3rem .5rem;border:1px solid var(--border-subtle);border-radius:999px;background:#050b1659;font-family:var(--font-data)}.character-sheet-right .current-uses{color:var(--forge-gold-400);font-size:var(--text-base)}.character-sheet-right .current-uses.depleted{color:#dc6673}.character-sheet-right .uses-separator,.character-sheet-right .max-uses{color:var(--text-muted)}.character-sheet-right .feature-sub-forms{border-top-color:var(--border-subtle)}.character-sheet-right .sub-form-name{color:var(--forge-gold-400)}.character-sheet-right .sub-form-desc,.character-sheet-right .trait-description{color:var(--text-secondary)}.character-sheet-right .trait-entry{margin-bottom:var(--space-3);padding:0 0 var(--space-3) var(--space-3);border-bottom-color:var(--border-subtle);border-left:2px solid rgba(231,184,62,.25)}.character-sheet-right .trait-name{margin-bottom:var(--space-2);color:var(--forge-gold-400);font-size:var(--text-sm)}.character-sheet-right .background-grants-summary{border-bottom-color:var(--border-subtle)}.character-sheet-right .bg-grant-label{color:var(--text-muted)}.character-sheet-right .bg-grant-value{color:var(--text-secondary)}.character-sheet-right .features-tab>.section-divider,.character-sheet-right .features-sections>.section-divider{height:1px;margin:var(--space-4) 0;background:linear-gradient(to right,transparent,var(--border-subtle) 15%,var(--border-subtle) 85%,transparent)}.character-sheet-right .feats-section>.section-title{margin:0 0 var(--space-3);color:var(--text-primary);font:400 var(--text-lg) var(--font-display)}@media (max-width: 1100px){.character-sheet-right .features-overview{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.character-sheet-right .features-overview p{text-align:left}.character-sheet-right .feature-uses-list{grid-template-columns:1fr}.character-sheet-right .tracker-header{align-items:flex-start;flex-direction:column}}.multiclass-manager{margin-top:1.5rem;margin-bottom:1.5rem}.multiclass-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.multiclass-header h3{margin:0;font-size:1rem;color:var(--text-primary);font-weight:600}.total-level{font-size:.875rem;color:var(--5e-text-primary);font-weight:600}.class-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.class-entry{background:var(--5e-bg-secondary);border:1px solid var(--5e-border-grey);border-radius:4px;padding:1rem}.class-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.class-entry-header .class-name{font-size:.95rem;font-weight:600;color:var(--text-secondary)}.remove-class-btn{display:inline-flex;min-height:1.9rem;align-items:center;justify-content:center;gap:.35rem;padding:.28rem .58rem;border:1px solid rgba(184,59,73,.58);border-radius:var(--radius-sm);color:#ff9da7;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;background:#b83b490f;cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast),background-color var(--duration-fast)}.remove-class-btn:hover{border-color:var(--forge-danger);color:#ffd4d8;background:#b83b492e}.class-entry-controls{display:grid;grid-template-columns:1fr 2fr;gap:1rem}.class-entry-controls .form-group{display:flex;flex-direction:column;gap:.25rem}.class-entry-controls label{font-size:.75rem;color:var(--5e-text-muted);text-transform:uppercase;letter-spacing:.5px}.class-level-select,.subclass-select{padding:.5rem;background:var(--5e-bg-body);color:var(--5e-text-primary);border:1px solid var(--5e-border-grey);border-radius:4px;font-size:.875rem}.class-level-select:focus,.subclass-select:focus{outline:none;border-color:var(--5e-color-link)}.add-class-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem;background:var(--5e-bg-secondary);color:var(--5e-color-link);border:1px dashed var(--5e-border-grey);border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s,border-color .2s}.add-class-btn:hover:not(:disabled){background:var(--5e-bg-body);border-color:var(--color-primary-hover);color:var(--color-primary-hover)}.add-class-btn:disabled{opacity:.5;cursor:not-allowed}.add-class-form{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--5e-bg-secondary);border:1px solid var(--5e-border-grey);border-radius:4px}.new-class-select{padding:.5rem;background:var(--5e-bg-body);color:var(--5e-text-primary);border:1px solid var(--5e-border-grey);border-radius:4px;font-size:.875rem}.new-class-select:focus{outline:none;border-color:var(--5e-color-link)}.add-class-actions{display:flex;gap:.5rem}.add-class-actions .btn-primary,.add-class-actions .btn-secondary{flex:1;padding:.5rem;border:none;border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s}.add-class-actions .btn-primary{background:var(--color-primary);color:#fff}.add-class-actions .btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.add-class-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}.add-class-actions .btn-secondary{background:var(--5e-bg-body);color:var(--5e-text-primary);border:1px solid var(--5e-border-grey)}.add-class-actions .btn-secondary:hover{background:var(--5e-bg-primary)}.multiclass-summary{margin-top:.75rem;padding:.65rem .75rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:center;color:var(--text-secondary);font-family:var(--font-data);font-size:var(--text-xs);font-weight:600;background:linear-gradient(135deg,#2f72dc1a,#e7b83e0b),var(--surface-control)}.subclass-control{display:flex;gap:.5rem;align-items:center}.subclass-control .subclass-select{flex:1}.edit-homebrew-btn{min-width:2.5rem;padding:.5rem;display:flex;align-items:center;justify-content:center;border:1px solid rgba(43,170,138,.42);border-radius:var(--radius-md);color:var(--forge-verdigris-300);background:#2baa8a1a;cursor:pointer;transition:background-color var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.edit-homebrew-btn:hover{border-color:var(--forge-verdigris-500);color:#b8f2e2;background:#2baa8a33}.subclass-select optgroup{border-top:1px solid var(--5e-border-grey);background:var(--5e-bg-body)}.create-homebrew-option{color:var(--color-accent-brown);font-weight:600}.background-select optgroup{border-top:1px solid var(--5e-border-grey);background:var(--5e-bg-body)}.sheet-panel-intro{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) var(--space-5);padding:var(--space-4);border-bottom:1px solid var(--border-subtle);background:#050b1657}.sheet-panel-intro p{margin:0 0 var(--space-1);color:var(--text-accent);font:500 .64rem var(--font-data);letter-spacing:.11em;text-transform:uppercase}.sheet-panel-intro h2{margin:0;color:var(--text-primary);font:400 var(--text-xl) var(--font-display)}.sheet-panel-intro>span{color:var(--text-muted);font-size:var(--text-xs);line-height:1.45}.sheet-panel-intro--build{display:block}.sheet-panel-intro--build>span{display:block;margin-top:var(--space-2)}.sheet-panel-intro--record>span{flex:0 0 auto;padding:.35rem .55rem;border:1px solid var(--border-gold);border-radius:999px;color:var(--forge-gold-400);font-family:var(--font-data);background:#e7b83e12}.character-sheet-left{width:clamp(22rem,29vw,27rem);padding:var(--space-4)}.character-sheet-left .character-header,.character-sheet-left .ability-scores-section,.character-sheet-left .core-stats-section{margin-bottom:var(--space-6)}.character-sheet-left .section-title{position:relative;margin:0 0 var(--space-4);padding:0 0 var(--space-3) var(--space-3);border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font:400 var(--text-lg) var(--font-display);letter-spacing:.01em}.character-sheet-left .section-title:before{position:absolute;top:.22rem;bottom:var(--space-3);left:0;width:2px;content:"";background:var(--forge-gold-500)}.character-sheet-left .section-description{margin:calc(-1 * var(--space-2)) 0 var(--space-4);color:var(--text-muted);font-size:var(--text-xs);line-height:1.55}.character-sheet-left .foundation-section,.character-sheet-left .proficiencies-section{margin-bottom:var(--space-6)}.character-sheet-left .core-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.character-sheet-left .core-stats-grid .stat-item{display:flex;min-width:0;min-height:5.25rem;align-items:flex-start;flex-direction:column;justify-content:space-between;padding:var(--space-3)}.character-sheet-left .core-stats-grid .stat-value{width:100%}.character-sheet-left .core-stats-grid .stat-input{width:min(4rem,100%)}.character-sheet-left .core-stats-grid .hp-inputs{flex-wrap:wrap}.character-sheet-left .field-label,.character-sheet-left .stat-label{color:var(--text-muted);font-family:var(--font-ui);letter-spacing:.035em}.character-sheet-left .character-name-input,.character-sheet-left select,.character-sheet-left .stat-input{border-color:var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);background:var(--surface-control)}.character-sheet-left .character-name-input{min-height:3.4rem;font-family:var(--font-display);font-size:var(--text-xl);font-weight:400}.character-sheet-left .character-name-input:focus,.character-sheet-left select:focus,.character-sheet-left .stat-input:focus{border-color:var(--forge-royal-500);box-shadow:var(--focus-ring)}.character-sheet-left .class-entry,.character-sheet-left .ability-score-block,.character-sheet-left .stat-item{border-color:var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-panel-raised)}.character-sheet-left .multiclass-header h3{color:var(--text-primary);font:400 var(--text-lg) var(--font-display)}.character-sheet-left .total-level{color:var(--forge-gold-400);font-family:var(--font-data);font-size:var(--text-xs)}.character-sheet-left .modifier-circle{border-color:var(--border-gold);color:var(--forge-gold-400);font-family:var(--font-data);background:#e7b83e0f}.character-sheet-left .stat-value,.character-sheet-left .ability-value{color:var(--text-primary);font-family:var(--font-data)}.character-sheet-right{background:var(--surface-panel)}.character-sheet-right .right-panel{min-height:0}.character-sheet-right .sheet-panel-intro{flex:0 0 auto;margin:0;padding:var(--space-4) var(--space-5)}.character-sheet-right .tab-navigation{display:flex;flex:0 0 auto;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);border-radius:0;background:#050b167a}.character-sheet-right .tab-button{min-height:2.9rem;padding:.7rem var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-muted);font-family:var(--font-ui)}.character-sheet-right .tab-button:hover{border-color:var(--border-subtle);color:var(--text-primary);background:var(--surface-panel-raised)}.character-sheet-right .tab-button.active{border-color:#2f72dc61;color:#fff;background:#2f72dc29;box-shadow:inset 0 -2px var(--forge-royal-500)}.character-sheet-right .tab-button.active .tab-icon{color:var(--forge-gold-400)}.character-sheet-right .tab-content{min-height:0;padding:var(--space-4);background:var(--surface-panel)}@media (max-width: 1080px){.sheet-panel-intro--build>span,.character-sheet-right .sheet-panel-intro>span{display:none}.character-sheet-left{width:22rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--5e-bg-primary);border:1px solid var(--5e-border-grey);border-radius:8px;width:90%;max-width:450px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0006}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--5e-border-grey)}.modal-header h3{margin:0;color:var(--5e-font-primary);font-size:18px;font-weight:600}.close-button{background:none;border:none;color:var(--5e-font-muted);font-size:24px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-button:hover{background:var(--5e-bg-alt);color:var(--5e-font-primary)}.modal-body{padding:20px}.score-breakdown{margin-bottom:20px}.score-breakdown h4{margin:0 0 16px;color:var(--5e-font-primary);font-size:16px;font-weight:600}.breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--5e-border-light)}.breakdown-row:last-child{border-bottom:none}.breakdown-row label{color:var(--5e-font-primary);font-weight:500;min-width:120px}.score-value{color:var(--5e-font-primary);font-weight:600;min-width:40px;text-align:right}.score-input{background:var(--5e-bg-body);border:1px solid var(--5e-border-grey);border-radius:4px;color:var(--5e-font-primary);padding:4px 8px;width:80px;text-align:center;font-weight:600}.score-input:focus{outline:none;border-color:var(--5e-link-blue);box-shadow:0 0 0 2px #7db6e833}.breakdown-row.total{border-top:2px solid var(--5e-link-blue);margin-top:8px;padding-top:12px;font-weight:700}.total-value{color:var(--5e-link-blue)!important;font-size:18px}.modal-help{background:var(--5e-bg-alt);border:1px solid var(--5e-border-light);border-radius:6px;padding:12px;margin-top:16px}.modal-help p{margin:0 0 8px;color:var(--5e-font-muted);font-size:13px;line-height:1.4}.modal-help p:last-child{margin-bottom:0}.modal-help strong{color:var(--5e-font-primary)}.modal-footer{display:flex;justify-content:center;gap:12px;padding:16px 20px;border-top:1px solid var(--5e-border-grey)}.btn-cancel,.btn-save{padding:8px 16px;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel{background:var(--5e-bg-alt);color:var(--5e-font-primary);border:1px solid var(--5e-border-grey)}.btn-cancel:hover{background:var(--5e-border-grey)}.btn-save{background:var(--5e-link-blue);color:var(--5e-bg-primary)}.btn-save:hover{background:var(--5e-active-blue)}@media (max-width: 480px){.modal-content{width:95%;margin:10px}.modal-header,.modal-body,.modal-footer{padding-left:16px;padding-right:16px}.breakdown-row{flex-direction:column;align-items:flex-start;gap:4px}.score-value,.score-input{align-self:flex-end}}.modal-content{background:var(--5e-bg-primary);border:1px solid var(--5e-border-grey);border-radius:8px;max-width:500px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000080}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;color:var(--5e-text-primary);font-size:1.25rem;font-weight:600}.modal-close{background:none;border:none;color:var(--text-color);font-size:2rem;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s}.modal-close:hover{opacity:1}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-message{color:var(--text-color);margin-bottom:1.5rem;line-height:1.6}.source-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.source-option{display:flex;align-items:flex-start;padding:1rem;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s;background:var(--input-bg)}.source-option:hover{border-color:#33a5a5;background:var(--input-bg-hover)}.source-option.selected{border-color:#33a5a5;border-width:3px;background:#33a5a526;box-shadow:0 0 8px #33a5a566,inset 0 0 0 1px #33a5a580;padding:calc(1rem - 1px)}.source-option input[type=radio]{margin-right:.75rem;margin-top:.25rem;cursor:pointer;flex-shrink:0}.source-details{flex:1}.source-name{color:var(--text-color);font-size:1rem;margin-bottom:.25rem}.page-ref{color:var(--text-muted);font-size:.875rem;font-weight:400}.source-full-name{color:var(--text-muted);font-size:.875rem}.source-help-text{color:var(--text-muted);font-size:.875rem;margin-top:1rem;padding:.75rem;background:#33a5a51a;border-left:3px solid #33A5A5;border-radius:4px}.external-link{color:#33a5a5;text-decoration:none}.external-link:hover{text-decoration:underline}.modal-footer{display:flex;justify-content:center;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color);background:transparent}.btn-primary,.btn-secondary{padding:.5rem 1.25rem;border-radius:4px;border:none;cursor:pointer;font-size:.9375rem;font-weight:500;transition:all .2s}.btn-primary{background:#33a5a5;color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-accent-blue)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--input-bg-hover)}.languages-proficiencies-section{padding:12px;margin-bottom:8px;background-color:var(--5e-bg-primary);border-radius:var(--5e-border-radius);border:1px solid var(--5e-border-primary);transition:border-color .2s}.languages-proficiencies-section:hover{border-color:var(--color-accent-blue)}.section-title{font-size:16px;font-weight:600;margin:0 0 15px;color:var(--5e-text-heading)}.subsection{margin-bottom:12px}.subsection:last-child{margin-bottom:0}.subsection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.subsection-title{font-size:14px;font-weight:500;margin:0;color:var(--5e-text-light)}.add-button{width:24px;height:24px;border-radius:50%;border:1px solid var(--5e-border-primary);background-color:var(--5e-bg-alt);color:var(--5e-text-primary);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.add-button:hover{background-color:var(--5e-bg-secondary);border-color:var(--color-accent-blue);box-shadow:var(--5e-btn-hover-shadow)}.input-row{display:flex;gap:8px;margin-bottom:10px}.add-input{flex:1;padding:6px 10px;border:1px solid var(--5e-border-primary);border-radius:var(--5e-border-radius);background-color:var(--5e-bg-body);color:var(--5e-text-primary);font-size:13px}.add-input:focus{outline:none;border-color:var(--5e-border-focus);box-shadow:0 0 0 2px #66afe940}.confirm-button{padding:6px 12px;border:1px solid var(--color-accent-blue);border-radius:var(--5e-border-radius);background-color:var(--5e-btn-primary-bg);color:var(--5e-text-white);font-size:13px;cursor:pointer;transition:all .2s}.confirm-button:hover{background-color:var(--color-accent-blue);border-color:var(--color-accent-blue);box-shadow:var(--5e-btn-hover-shadow)}.items-list{display:flex;flex-wrap:wrap;gap:8px;min-height:32px}.proficiency-empty-state{display:inline-flex;min-height:2rem;align-items:center;padding:.35rem 0;color:var(--text-muted);font-size:var(--text-xs);font-style:italic}.item-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background-color:var(--5e-bg-alt);border:1px solid var(--5e-border-primary);border-radius:12px;font-size:12px;color:var(--5e-text-primary);transition:all .2s}.item-chip:hover{background-color:var(--5e-bg-secondary);border-color:var(--5e-link-blue)}.item-chip--granted{border-color:var(--color-accent-brown, #8a6a3a);opacity:.85}.item-chip--granted:hover{border-color:var(--color-accent-brown, #8a6a3a);opacity:1}.item-grant-badge{font-size:10px;opacity:.7}.piety-grant-badge{color:var(--5e-text-heading, #D29A38);opacity:.85;flex-shrink:0}.item-name{-webkit-user-select:none;user-select:none}.remove-button{width:16px;height:16px;border-radius:50%;border:none;background-color:var(--5e-btn-danger-bg);color:var(--5e-text-white);font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0;line-height:1}.remove-button:hover{background-color:#ac2925;transform:scale(1.1)}.dropdown-menu{margin-bottom:10px;background-color:var(--5e-bg-primary);border:1px solid var(--5e-border-primary);border-radius:var(--5e-border-radius);padding:8px;max-height:300px;display:flex;flex-direction:column;box-shadow:var(--5e-shadow-dropdown)}.dropdown-search{width:100%;padding:6px 10px;border:1px solid var(--5e-border-primary);border-radius:var(--5e-border-radius);background-color:var(--5e-bg-input);color:var(--5e-text-primary);font-size:13px;margin-bottom:8px}.dropdown-search:focus{outline:none;border-color:var(--5e-border-focus);box-shadow:0 0 0 2px #66afe940}.dropdown-options{flex:1;overflow-y:auto;max-height:200px;padding-right:4px}.dropdown-options::-webkit-scrollbar{width:6px}.dropdown-options::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:3px}.dropdown-options::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:3px}.dropdown-options::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}.option-group{margin-bottom:12px}.option-group:last-child{margin-bottom:0}.group-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:6px;padding-left:4px;letter-spacing:.5px}.checkbox-option{display:flex;align-items:center;gap:8px;padding:6px 8px;cursor:pointer;border-radius:3px;transition:background-color .2s;-webkit-user-select:none;user-select:none}.checkbox-option:hover{background-color:var(--option-hover-bg)}.checkbox-option input[type=checkbox]{cursor:pointer;width:14px;height:14px;accent-color:var(--primary-color)}.checkbox-option span{font-size:13px;color:var(--text-color)}.empty-dropdown{color:var(--text-tertiary);font-size:12px;font-style:italic;padding:12px;text-align:center}.custom-option-btn{margin-top:8px;padding:6px 10px;border:1px dashed var(--border-color);border-radius:4px;background-color:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .2s;text-align:center}.custom-option-btn:hover{background-color:var(--button-hover-bg);border-color:var(--primary-color);color:var(--primary-color)}.cancel-button{padding:6px 12px;border:1px solid var(--border-color);border-radius:4px;background-color:var(--button-bg);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s}.cancel-button:hover{background-color:var(--button-hover-bg);border-color:var(--text-secondary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.homebrew-modal{background:var(--5e-bg-primary);border:1px solid var(--5e-border-grey);border-radius:8px;width:90%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000080}.homebrew-modal .modal-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--5e-border-grey)}.homebrew-modal .modal-title-row h2{margin:0;font-size:1.25rem;color:var(--5e-text-primary);font-weight:600;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.homebrew-modal .close-btn{background:none;border:none;color:var(--5e-text-muted);font-size:1.5rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.homebrew-modal .close-btn:hover{color:var(--5e-text-primary)}.homebrew-modal .modal-content{flex:1;overflow-y:auto;padding:1.5rem;width:100%;max-width:100%;box-sizing:border-box}.homebrew-modal .modal-footer{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 1.5rem;border-top:1px solid var(--5e-border-grey);background:transparent}.homebrew-modal .form-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--5e-border-grey)}.homebrew-modal .form-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.homebrew-modal .form-section h3{margin:0 0 1rem;font-size:1.125rem;color:var(--5e-text-primary);font-weight:600;font-family:Helvetica Neue,Helvetica,Arial,sans-serif!important}.homebrew-modal .form-field{margin-bottom:1rem}.homebrew-modal .form-field:last-child{margin-bottom:0}.homebrew-modal .form-field label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:600;color:var(--5e-text-light)}.homebrew-modal .form-field input[type=text],.homebrew-modal .form-field input[type=number],.homebrew-modal .form-field select,.homebrew-modal .form-field textarea{width:100%;padding:.5rem;background:var(--5e-bg-body);border:1px solid var(--5e-border-grey);border-radius:4px;color:var(--5e-text-primary);font-size:.875rem;font-family:inherit}.homebrew-modal .form-field input:focus,.homebrew-modal .form-field select:focus,.homebrew-modal .form-field textarea:focus{outline:none;border-color:var(--5e-link-blue);box-shadow:0 0 0 2px #7db6e833}.homebrew-modal .form-field textarea{resize:vertical;min-height:80px}.homebrew-modal .form-field .disabled-input{background:var(--5e-bg-input-disabled, rgba(14, 14, 14, .533));cursor:not-allowed;opacity:.6}.homebrew-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.homebrew-modal .form-hint{margin:0 0 .75rem;color:var(--5e-text-muted);font-size:.875rem}.homebrew-modal .required{color:var(--color-primary)}.homebrew-modal .form-actions{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--5e-border-grey)}.homebrew-modal .form-actions-right{display:flex;gap:.75rem}.homebrew-modal .btn-cancel,.homebrew-modal .btn-save,.homebrew-modal .btn-delete,.homebrew-modal .btn-add,.homebrew-modal .btn-remove{padding:.5rem 1rem;border-radius:4px;border:none;cursor:pointer;font-size:.875rem;font-weight:600;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s}.homebrew-modal .btn-cancel{background:var(--5e-bg-secondary);color:var(--5e-text-primary)}.homebrew-modal .btn-cancel:hover{background:var(--5e-bg-tertiary)}.homebrew-modal .btn-save{background:var(--5e-btn-primary-bg);color:var(--5e-text-primary)}.homebrew-modal .btn-save:hover:not(:disabled){background:var(--5e-link-hover)}.homebrew-modal .btn-save:disabled{opacity:.5;cursor:not-allowed}.homebrew-modal .btn-delete{background:transparent;color:var(--5e-text-muted);border:1px solid rgba(200,60,60,.35)}.homebrew-modal .btn-delete:hover{background:var(--5e-btn-danger-bg, rgba(200, 60, 60, .8));color:#fff;border-color:transparent}.homebrew-modal .btn-add{background:var(--5e-btn-primary-bg);color:var(--5e-text-primary)}.homebrew-modal .btn-add:hover{background:var(--5e-link-hover)}.homebrew-modal .btn-remove{background:var(--5e-bg-secondary);color:var(--5e-text-muted);padding:.25rem .5rem}.homebrew-modal .btn-remove:hover{background:var(--5e-btn-danger-bg);color:#fff}.homebrew-modal .empty-state{text-align:center;color:var(--5e-text-muted);padding:2rem;font-style:italic}.homebrew-modal .toggle-switch{position:relative;display:inline-block;width:50px;height:24px}.homebrew-modal .toggle-switch input{opacity:0;width:0;height:0}.homebrew-modal .toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--5e-bg-tertiary);transition:.3s;border-radius:24px}.homebrew-modal .toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%}.homebrew-modal .toggle-switch input:checked+.toggle-slider{background:var(--5e-btn-primary-bg)}.homebrew-modal .toggle-switch input:checked+.toggle-slider:before{transform:translate(26px)}.spell-search-container{position:relative;width:100%}.spell-search-input-wrapper{position:relative;display:flex;align-items:center}.spell-search-input{width:100%;padding:.5rem .75rem;background:var(--5e-bg-body);border:1px solid var(--5e-border-grey);border-radius:4px;color:var(--5e-text-primary);font-size:.875rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}.spell-search-input:focus{outline:none;border-color:var(--5e-link-blue);box-shadow:0 0 0 2px #7db6e833}.spell-search-input::placeholder{color:var(--5e-text-muted)}.spell-search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:300px;overflow-y:auto;background:var(--5e-bg-secondary);border:1px solid var(--5e-border-grey);border-radius:4px;box-shadow:0 4px 12px #00000080;z-index:1000}.spell-option{display:flex;justify-content:space-between;align-items:center;padding:.625rem .75rem;cursor:pointer;transition:background-color .15s;border-bottom:1px solid var(--5e-border-grey)}.spell-option:last-child{border-bottom:none}.spell-option:hover,.spell-option.highlighted{background:var(--5e-bg-body)}.spell-option-name{font-size:.875rem;color:var(--5e-text-primary);font-weight:500;display:flex;align-items:center;gap:.5rem}.homebrew-tag{font-size:.625rem;padding:.125rem .375rem;background:var(--5e-link-blue);color:var(--5e-bg-body);border-radius:3px;font-weight:700;letter-spacing:.5px}.spell-option-info{font-size:.75rem;color:var(--5e-text-muted);white-space:nowrap}.spell-search-dropdown::-webkit-scrollbar{width:8px}.spell-search-dropdown::-webkit-scrollbar-track{background:var(--5e-bg-primary)}.spell-search-dropdown::-webkit-scrollbar-thumb{background:var(--5e-border-grey);border-radius:4px}.spell-search-dropdown::-webkit-scrollbar-thumb:hover{background:var(--5e-text-muted)}.homebrew-subclass-modal .section-header-with-toggle{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.homebrew-subclass-modal .section-header-with-button{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.homebrew-subclass-modal .spell-level-group{margin-bottom:1.5rem}.homebrew-subclass-modal .spell-level-group:last-child{margin-bottom:0}.homebrew-subclass-modal .spell-level-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.homebrew-subclass-modal .spell-level-header label{font-weight:600;color:var(--5e-text-primary);font-size:.95rem}.homebrew-subclass-modal .always-prepared-checkbox{margin-bottom:.75rem}.homebrew-subclass-modal .spell-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.homebrew-subclass-modal .spell-tag{display:inline-flex;align-items:center;gap:.5rem;background:var(--5e-bg-tertiary);border:1px solid var(--5e-border-grey);border-radius:4px;padding:.25rem .5rem;font-size:.875rem;color:var(--5e-text-primary)}.homebrew-subclass-modal .spell-tag button{background:none;border:none;color:var(--5e-text-muted);cursor:pointer;padding:0;display:flex;align-items:center;font-size:.75rem;transition:color .2s}.homebrew-subclass-modal .spell-tag button:hover{color:var(--5e-text-primary)}.homebrew-subclass-modal .add-spell-input input{width:100%;padding:.5rem;background:var(--5e-bg-body);border:1px solid var(--5e-border-grey);border-radius:4px;color:var(--5e-text-primary);font-size:.875rem}.homebrew-subclass-modal .add-level-btn-wrapper{display:flex;justify-content:flex-end;margin-top:.75rem}.homebrew-subclass-modal .features-container{display:flex;flex-direction:column;gap:1rem}.homebrew-subclass-modal .feature-card{padding:1rem 0}.homebrew-subclass-modal .feature-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.homebrew-subclass-modal .feature-number{font-weight:600;color:var(--5e-text-muted);font-size:.875rem}.stat-item.editable-stat .stat-value{display:flex;align-items:center;gap:4px}.stat-input{background:var(--5e-bg-body);border:1px solid var(--5e-border-grey);border-radius:4px;color:var(--5e-font-primary);font-size:16px;font-weight:600;padding:4px 8px;text-align:center;width:80px;transition:all .2s ease}.stat-input:hover{border-color:var(--5e-color-link);background:var(--5e-bg-body)}.stat-input:focus{outline:none;border-color:var(--5e-color-link);background:var(--5e-bg-body);box-shadow:0 0 0 2px #5e72e433}.hp-inputs{display:flex;align-items:center;gap:6px}.hp-current{width:80px;color:var(--5e-link-blue)}.hp-max{width:80px}.hp-separator{color:var(--5e-font-muted);font-size:16px;font-weight:600}.speed-input-wrapper{display:flex;align-items:center;gap:4px}.speed-input{width:80px}.speed-unit{color:var(--5e-font-muted);font-size:14px;font-weight:400}.speed-overridden{color:var(--5e-warning-orange)!important;border-color:var(--5e-warning-orange)!important}.reset-override-btn{background:var(--5e-bg-secondary);border:1px solid var(--5e-border-grey);border-radius:3px;color:var(--5e-font-primary);cursor:pointer;transition:all .2s ease}.reset-override-btn:hover{background:var(--5e-bg-tertiary);border-color:var(--color-accent-blue);color:var(--color-accent-blue)}.ability-score-block{border:1px solid var(--5e-border-grey);border-radius:var(--5e-border-radius, 4px);padding:12px;margin-bottom:8px;background:var(--5e-bg-primary);color:var(--5e-font-primary)}.ability-header{margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}.ability-name{font-weight:600;font-size:14px;color:var(--5e-font-primary);letter-spacing:.5px;flex:1}.edit-icon{background:none;border:none;color:var(--5e-font-muted);cursor:pointer;padding:2px 4px;border-radius:3px;font-size:12px;transition:all .2s ease;opacity:.7}.edit-icon:hover{background:var(--5e-border-grey);color:var(--5e-link-blue);opacity:1}.ability-content{display:flex;gap:16px;align-items:flex-start}.ability-core{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:60px}.modifier-circle{width:48px;height:48px;border-radius:50%;border:2px solid var(--5e-border-grey);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;background:var(--5e-active-blue);color:#fff}.total-score-display{width:40px;height:32px;border:1px solid var(--5e-border-grey);background:var(--5e-bg-alt);color:var(--5e-font-primary);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.total-score-display:hover{border-color:var(--5e-link-blue);background:var(--5e-bg-primary)}.ability-skills{flex:1;display:flex;flex-direction:column;gap:4px}.save-throw,.skill{display:flex;align-items:center;gap:8px;font-size:13px}.proficiency-dot{font-size:16px;width:16px;text-align:center;line-height:1}.proficiency-dot.proficient{color:var(--5e-link-blue)}.proficiency-dot.expertise{color:var(--5e-text-heading);font-size:12px}.proficiency-dot.unproficient{color:var(--5e-font-muted)}.proficiency-dot.clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease}.proficiency-dot.clickable:hover{color:var(--5e-link-blue);transform:scale(1.1)}.proficiency-dot.item-granted{color:var(--color-accent-brown, #c99a3a)}.proficiency-dot.item-granted:hover{color:var(--color-accent-brown, #c99a3a);filter:brightness(1.2)}.skill-modifier{font-weight:600;min-width:28px;text-align:right;color:var(--5e-font-primary)}.skill-label{color:var(--5e-font-muted);font-weight:500}.save-throw .skill-label{font-weight:600;text-transform:uppercase;font-size:12px;letter-spacing:.3px}.ability-score-block:hover{border-color:var(--color-accent-blue)}@media (max-width: 768px){.ability-content{flex-direction:column;gap:12px;align-items:center}.ability-skills{width:100%}}.subclass-locked{padding:.5rem .75rem;background:#ffffff0d;border:1px solid var(--5e-border-grey);border-radius:var(--5e-border-radius, 4px);color:var(--5e-text-muted);font-size:.9rem;text-align:center}.subclass-select{width:100%;padding:.5rem .75rem;background:#111;border:1px solid var(--5e-border-grey);border-radius:var(--5e-border-radius, 4px);color:var(--text-primary);font-size:.95rem;cursor:pointer}.subclass-select:hover{border-color:var(--5e-link-blue)}.subclass-select:focus{outline:none;border-color:var(--5e-link-blue);box-shadow:0 0 0 2px #7db6e833}.weapons-list{display:flex;flex-direction:column;gap:12px}.weapon-item{background:var(--5e-bg-primary);border:1px solid var(--5e-border-grey);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:8px}.weapon-name{font-size:16px;font-weight:600;color:var(--5e-link-blue);margin-bottom:4px}.weapon-stats{display:flex;flex-direction:column;gap:6px;font-size:14px}.weapon-attack,.weapon-damage,.weapon-properties{display:flex;align-items:baseline;gap:8px}.weapon-stat-label{color:var(--5e-font-muted);font-weight:500;min-width:80px}.weapon-stat-value{color:var(--5e-font-primary);font-weight:600}.weapon-properties .weapon-stat-value{font-style:italic;font-weight:400}.stat-block-title{font-size:1rem;font-weight:600;color:var(--5e-text-primary);margin-bottom:.75rem;padding-bottom:.25rem;border-bottom:1px solid var(--5e-border-grey)}.proficiencies-section{margin-top:1.5rem;margin-bottom:1.5rem}.proficiencies-grid{display:flex;flex-direction:column;gap:.75rem}.proficiencies-grid .stat-item{background:var(--5e-bg-primary);border:1px solid var(--5e-border-grey);border-radius:4px;padding:.75rem}.proficiencies-grid .stat-label{font-size:.75rem;font-weight:600;color:var(--5e-font-muted);margin-bottom:.5rem;display:block}.proficiencies-grid .stat-value{font-size:.875rem;font-weight:400;color:var(--5e-font-primary);line-height:1.6}.expandable-selector{padding:0;background:var(--5e-bg-secondary);border:1px solid var(--5e-border-grey);border-radius:4px;overflow:hidden;margin-bottom:.75rem}.selector-status{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--5e-bg-secondary);border:none;border-bottom:1px solid var(--5e-border-grey);font-size:14px;font-weight:600;color:var(--color-accent-blue);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease;outline:none;box-shadow:none}.selector-status:hover{background:var(--5e-bg-body)}.section-collapse-btn{background:none;border:none;color:var(--5e-text-light);cursor:pointer;padding:0;font-size:10px;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px}.expandable-selector>:not(.selector-status){background:#222;padding:1rem}.selected-items{margin-bottom:16px}.selected-items-label{color:var(--5e-font-secondary);margin:0 0 8px;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.selected-item-card,.item-option{border:1px solid var(--border-subtle);border-radius:5px;background:#ffffff08;transition:border-color .15s;overflow:hidden;margin-bottom:6px}.selected-item-card:hover,.item-option:hover{border-color:var(--color-accent-blue-hover-border)}.selected-item-card.expanded,.item-option.expanded{border-color:var(--color-accent-blue-selected-border);background:var(--color-accent-blue-selected-bg)}.item-option.unprepared{opacity:.6}.item-card-header,.item-option-header{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;cursor:pointer;-webkit-user-select:none;user-select:none}.item-expand-icon{font-size:.6rem;color:var(--color-card-expand-icon);transition:transform .15s;flex-shrink:0}.item-expand-icon--open{transform:rotate(90deg);color:var(--forge-gold-400)}.item-card-header .item-name{color:var(--color-card-item-name);font-size:.85rem;font-weight:600;flex:1}.item-option-header .item-name{color:var(--color-card-item-name);font-size:.85rem;font-weight:600}.item-source-badge{font-size:.65rem;color:var(--color-source-badge-text);background:var(--color-source-badge-bg);border:1px solid var(--border-subtle);border-radius:3px;padding:.05rem .3rem;flex-shrink:0}.item-info{display:flex;align-items:center;gap:.4rem;flex:1;min-width:0;flex-wrap:wrap}.item-meta{color:var(--text-muted);font-size:.72rem;font-style:italic;flex-shrink:0}.item-details,.item-preview-details{border-top:1px solid var(--border-subtle);padding:.5rem .6rem .6rem;font-size:.78rem;color:var(--5e-text-primary);line-height:1.5}.item-card-actions{display:flex;justify-content:flex-end;gap:.4rem;margin-top:.5rem}.sel-btn{font-size:.75rem;padding:.25rem .75rem;border-radius:4px;border:1px solid;cursor:pointer;font-family:inherit;background:transparent;transition:background .15s,color .15s}.sel-btn--add{border-color:var(--color-accent-blue);color:var(--color-accent-blue)}.sel-btn--add:hover{background:var(--color-accent-blue);color:#fff}.sel-btn--remove{border-color:var(--color-danger-border);color:var(--color-danger-text)}.sel-btn--remove:hover{background:var(--color-danger-hover-bg)}.sel-btn--edit{border-color:var(--color-accent-blue-hover-border);color:var(--color-accent-blue)}.sel-btn--edit:hover{background:var(--color-accent-blue-focus)}.sel-btn--delete{border-color:var(--color-danger-border);color:var(--color-danger-text)}.sel-btn--delete:hover{background:var(--color-danger-hover-bg)}.add-item-section{margin-top:16px}.search-and-custom-actions{display:flex;gap:8px;margin-bottom:12px;align-items:center}.item-search-input{flex:1;padding:8px 12px;background:var(--5e-bg-body);border:1px solid var(--5e-border-grey);border-radius:6px;color:var(--5e-font-primary);font-size:14px}.item-search-input:focus{outline:none;border-color:var(--color-accent-blue);box-shadow:0 0 0 2px var(--color-accent-blue-focus)}.item-search-input::placeholder{color:var(--5e-font-muted)}.custom-actions{display:flex;gap:8px}.available-items{max-height:300px;overflow-y:auto}.no-items-message{text-align:center;padding:2rem 1rem;color:var(--5e-font-muted);font-size:14px;font-style:italic}.available-items::-webkit-scrollbar{width:6px}.available-items::-webkit-scrollbar-track{background:var(--5e-bg-primary);border-radius:3px}.available-items::-webkit-scrollbar-thumb{background:var(--5e-border-grey);border-radius:3px}.available-items::-webkit-scrollbar-thumb:hover{background:var(--5e-font-muted)}.prepare-item-btn{background:none;border:none;color:var(--5e-font-secondary);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;min-width:32px;height:32px;flex-shrink:0}.prepare-item-btn:hover{background:var(--5e-bg-hover);color:var(--5e-text-primary)}.prepare-item-btn.prepared,.prepare-item-btn.unprepared{color:var(--5e-font-muted)}.homebrew-badge,.feat-badge,.subclass-badge,.other-class-badge{display:inline-flex;align-items:center;margin-left:6px;font-size:14px;opacity:.9;vertical-align:middle;line-height:1}.homebrew-badge,.feat-badge{color:var(--text-secondary)}.subclass-badge{color:var(--color-accent-purple)}.other-class-badge{color:var(--color-warning);opacity:.8}.homebrew-feat-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.homebrew-feat-modal{background:var(--5e-bg-primary);border:1px solid var(--5e-border-grey);border-radius:8px;max-width:640px;width:100%;max-height:90vh;overflow-y:auto;padding:2rem}.homebrew-feat-form{display:flex;flex-direction:column;gap:1.5rem}.optional-label{font-size:.8rem;font-weight:400;color:var(--text-muted)}.input-disabled{opacity:.5;cursor:not-allowed!important}.skill-checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1rem}.skill-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--5e-font-primary);font-size:.875rem}.skill-checkbox-label input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--5e-link-blue)}.homebrew-feat-modal::-webkit-scrollbar{width:10px}.homebrew-feat-modal::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.homebrew-feat-modal::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.homebrew-feat-modal::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.ability-bonus-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.ability-bonus-row{display:flex;align-items:center;gap:.5rem}.ability-bonus-label{font-size:.8rem;color:var(--text-muted);min-width:6rem}.ability-bonus-row select{padding:.3rem .5rem;background:var(--5e-bg-body);border:1px solid var(--5e-border-grey);border-radius:4px;color:var(--5e-font-primary);font-size:.875rem;cursor:pointer}.remove-bonus-btn{padding:.2rem .55rem;background:#c83c3c26;border:1px solid rgba(200,60,60,.3);border-radius:4px;color:#c84040;font-size:1rem;line-height:1;cursor:pointer;transition:background .15s}.remove-bonus-btn:hover{background:#c83c3c4d}.add-bonus-btn{padding:.3rem .75rem;background:#ffffff0f;border:1px dashed rgba(255,255,255,.2);border-radius:4px;color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:background .15s,color .15s;margin-bottom:.75rem}.add-bonus-btn:hover{background:#ffffff1f;color:var(--text-secondary)}.choose-bonus-toggle{margin:.5rem 0}.choose-bonus-config{margin-top:.6rem;padding:.75rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:4px;display:flex;flex-direction:column;gap:.75rem}.ability-pool-buttons{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.3rem}.ability-pool-btn{padding:.3rem .65rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:var(--text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s}.ability-pool-btn:hover{background:#ffffff1a}.ability-pool-btn.selected{background:#78aedd33;border-color:var(--5e-link-blue);color:var(--5e-link-blue)}.choose-bonus-hint{font-size:.78rem;color:var(--text-muted);margin-top:.3rem;display:block}.language-note{justify-content:flex-end}.homebrew-feat-edit-btn{display:inline-flex;align-items:center;gap:.35rem;margin-top:.65rem;padding:.3rem .65rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:var(--text-muted);font-size:.78rem;cursor:pointer;transition:background .15s,color .15s}.homebrew-feat-edit-btn:hover{background:#78aedd26;border-color:var(--5e-link-blue);color:var(--5e-link-blue)}.homebrew-feat-btn{background:var(--5e-bg-secondary);border:1px solid var(--5e-border-secondary);color:var(--color-accent-brown);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap;transition:all .2s ease;display:flex;align-items:center;gap:4px}.homebrew-feat-btn:hover{background:var(--color-accent-brown);color:#1a1a1a;border-color:var(--color-accent-brown);box-shadow:0 0 8px #ac753c66}.feat-selector{padding:0;background:transparent;border:none;border-radius:0}.feat-status{margin-bottom:12px;text-align:center;padding:8px;background:var(--5e-bg-secondary);border-radius:4px;border:1px solid var(--5e-border-grey)}.feats-available{color:var(--5e-color-link);font-weight:600;font-size:14px}.next-feat-level,.no-more-feats{color:var(--5e-font-muted);font-size:13px;font-style:italic}.selected-feats{margin-bottom:16px}.selected-feats-label{color:var(--5e-font-secondary);margin:0 0 8px;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.selected-feat-card{background:var(--5e-bg-alt);border:1px solid var(--5e-border-light);border-radius:6px;padding:12px;margin-bottom:8px;transition:all .2s ease}.selected-feat-card.expanded{background:var(--5e-bg-primary)}.feat-card-header{display:flex;align-items:center;gap:8px}.feat-expand-btn{background:none;border:none;color:var(--color-secondary);cursor:pointer;padding:4px;font-size:12px;transition:color .2s ease;min-width:20px}.feat-expand-btn:hover{color:var(--5e-font-primary)}.selected-feat-card .feat-name{color:var(--5e-font-primary);font-weight:600;flex:1}.feat-description{margin-top:12px;padding-top:12px;border-top:1px solid var(--5e-border-grey)}.feat-text{color:var(--5e-font-secondary);font-size:13px;line-height:1.6;margin:0 0 12px;white-space:pre-wrap;font-family:inherit}.feat-ability-section{background:var(--5e-bg-alt);padding:10px;border-radius:4px;margin-bottom:8px}.feat-ability-section strong{color:var(--5e-font-primary);display:block;margin-bottom:6px;font-size:13px}.ability-choice{color:var(--color-secondary);font-size:12px;margin-left:8px}.ability-choice-interactive{margin-top:8px}.ability-choice-interactive>span{color:var(--5e-font-secondary);font-size:12px;display:block;margin-bottom:6px}.selected-bonus-display,.static-bonus-display{color:var(--color-secondary);font-weight:600;font-size:14px;margin:8px 0;padding:6px 10px;background:#5e72e41a;border-left:3px solid var(--color-secondary);border-radius:4px}.ability-buttons{display:flex;gap:6px;flex-wrap:wrap}.ability-btn{background:var(--5e-bg-primary);border:1px solid var(--5e-border-grey);color:var(--5e-font-primary);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s ease}.ability-btn:hover{background:var(--5e-border-grey);border-color:var(--color-secondary)}.ability-btn.selected{background:var(--color-secondary);border-color:var(--color-secondary);color:#1e1e1e}.feat-proficiency-section{background:var(--5e-bg-alt);padding:10px;border-radius:4px;margin-top:8px}.feat-proficiency-section strong{color:var(--5e-font-primary);display:block;margin-bottom:8px;font-size:13px}.proficiency-choice-section{margin-top:12px}.proficiency-label{color:var(--5e-font-secondary);font-size:12px;display:block;margin-bottom:8px}.selected-proficiencies-display{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.proficiency-badge{background:#5e72e433;color:var(--color-secondary);padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;border:1px solid var(--color-secondary)}.proficiency-buttons{display:flex;gap:6px;flex-wrap:wrap;max-height:200px;overflow-y:auto;padding:4px}.proficiency-btn{background:var(--5e-bg-primary);border:1px solid var(--5e-border-grey);color:var(--5e-font-primary);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s ease}.proficiency-btn:hover:not(:disabled){background:var(--5e-border-grey);border-color:var(--color-secondary)}.proficiency-btn.selected{background:var(--color-secondary);border-color:var(--color-secondary);color:#1e1e1e;font-weight:600}.proficiency-btn:disabled{opacity:.5;cursor:not-allowed}.proficiency-subsection{margin-top:12px}.proficiency-subsection-title{color:var(--5e-font-primary);font-size:12px;font-weight:600;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.feat-spell-section{background:var(--5e-bg-alt);padding:10px;border-radius:4px;margin-top:8px}.feat-spell-section strong{color:var(--5e-font-primary);display:block;margin-bottom:8px;font-size:13px}.selected-spells-display{background:var(--5e-bg-primary);padding:12px;border-radius:6px;margin-bottom:12px;border:1px solid var(--color-secondary)}.spell-category{margin-bottom:10px}.spell-category:last-child{margin-bottom:0}.spell-category-title{color:var(--color-secondary);font-weight:600;font-size:12px;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.spell-list-display{list-style:none;padding:0;margin:0}.spell-list-display li{color:var(--5e-font-primary);font-size:13px;padding:4px 0 4px 16px;position:relative}.spell-list-display li:before{content:"✦";position:absolute;left:0;color:var(--color-secondary)}.spell-list-display li strong{color:var(--5e-font-secondary);font-size:11px;margin-right:4px}.spell-choices{display:flex;flex-direction:column;gap:12px}.fixed-spell{color:var(--color-secondary);font-size:12px;padding:4px 8px;background:var(--5e-bg-primary);border-radius:4px;display:inline-block;margin:2px}.spell-choice-section{margin-top:8px}.spell-choice-header{color:var(--5e-font-secondary);font-size:12px;margin-bottom:6px}.feat-spell-section .spell-list{display:flex;flex-wrap:wrap;gap:4px;max-height:150px;overflow-y:auto;padding:4px}.feat-spell-section .spell-option{background:var(--5e-bg-primary);border:1px solid var(--5e-border-grey);color:var(--5e-font-primary);padding:6px 10px;border-radius:4px;cursor:pointer;font-size:11px;transition:all .2s ease;display:flex;align-items:center;gap:4px}.feat-spell-section .spell-option:hover:not(:disabled){background:var(--5e-border-grey);border-color:var(--color-secondary)}.feat-spell-section .spell-option.selected{background:var(--color-secondary);border-color:var(--color-secondary);color:#1e1e1e}.feat-spell-section .spell-option:disabled{opacity:.5;cursor:not-allowed}.spell-level{font-size:10px;opacity:.7}.spell-select{width:100%;padding:6px 10px;background:var(--5e-bg-primary);border:1px solid var(--5e-border-grey);border-radius:4px;color:var(--5e-font-primary);font-size:12px;cursor:pointer}.spell-select:focus{outline:none;border-color:var(--color-secondary)}.innate-spells-section{margin-top:8px}.innate-spell-header{color:var(--5e-font-secondary);font-size:12px;margin-bottom:4px;font-weight:600}.remove-feat-btn{background:none;border:none;color:var(--5e-font-muted);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.remove-feat-btn:hover{background:var(--5e-border-grey);color:var(--5e-text-danger)}.add-feat-section{margin-top:16px}.feat-search-input{width:100%;padding:8px 12px;background:var(--5e-bg-alt);border:1px solid var(--5e-border-grey);border-radius:6px;color:var(--5e-font-primary);font-size:14px;margin-bottom:12px}.feat-search-input:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 2px #7db6e833}.feat-search-input::placeholder{color:var(--5e-font-muted)}.available-feats{max-height:300px;overflow-y:auto}.feat-option{background:var(--5e-bg-alt);border:1px solid var(--border-subtle);border-radius:6px;padding:12px;margin-bottom:8px;transition:all .2s ease}.feat-option.expanded{background:var(--5e-bg-primary)}.feat-option-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.feat-option:hover{border-color:var(--color-secondary)}.feat-info{display:flex;flex-direction:column;gap:4px;flex:1}.feat-info .feat-name{color:var(--5e-font-primary);font-weight:600;font-size:15px}.feat-preview-description{margin-top:12px;padding-top:12px;border-top:1px solid var(--5e-border-grey)}.preview-ability-info,.preview-prerequisite-info{margin-top:8px;font-size:13px;color:var(--5e-font-secondary)}.preview-ability-info strong,.preview-prerequisite-info strong{color:var(--color-secondary);display:block;margin-bottom:4px}.feat-source{color:var(--5e-font-muted);font-size:12px;font-style:italic}.add-feat-btn{background:var(--color-secondary);color:var(--5e-bg-primary);border:none;border-radius:4px;padding:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.add-feat-btn:hover{background:var(--5e-active-blue);transform:scale(1.05)}.add-feat-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.available-feats::-webkit-scrollbar{width:6px}.available-feats::-webkit-scrollbar-track{background:var(--5e-bg-primary);border-radius:3px}.available-feats::-webkit-scrollbar-thumb{background:var(--5e-border-grey);border-radius:3px}.available-feats::-webkit-scrollbar-thumb:hover{background:var(--5e-font-muted)}.feat-ignore-prereqs-toggle{display:flex;align-items:center;gap:5px;font-size:.75em;color:var(--5e-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.feat-ignore-prereqs-toggle input{cursor:pointer;accent-color:var(--color-accent-brown)}.feat-ignore-prereqs-toggle:has(input:checked){color:var(--color-accent-brown)}.more-results-note{margin-top:8px;padding:8px;text-align:center;font-size:12px;color:var(--5e-font-muted);font-style:italic;background:var(--5e-bg-secondary);border-radius:4px;border:1px solid var(--5e-border-grey)}.character-sheet-right .feat-selector-main{border-color:var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-panel-raised)}.character-sheet-right .feat-status,.character-sheet-right .feat-selector-main .selector-status{border-color:var(--border-subtle);color:var(--text-secondary);background:linear-gradient(100deg,rgba(47,114,220,.1),transparent 55%),var(--surface-panel-raised)}.character-sheet-right .feats-available{color:var(--forge-gold-400)}.character-sheet-right .next-feat-level,.character-sheet-right .no-more-feats{color:var(--text-muted)}.character-sheet-right .feat-ignore-prereqs-toggle{color:var(--text-muted);font:var(--text-xs) var(--font-data)}.character-sheet-right .feat-ignore-prereqs-toggle input{accent-color:var(--forge-royal-500)}.character-sheet-right .feat-ignore-prereqs-toggle:has(input:checked){color:var(--forge-gold-400)}.character-sheet-right .homebrew-feat-btn{min-height:2.75rem;padding:.65rem .85rem;border:1px solid var(--border-gold);border-radius:var(--radius-md);color:var(--forge-gold-400);background:#e7b83e0f}.character-sheet-right .homebrew-feat-btn:hover{color:var(--forge-midnight-950);background:var(--forge-gold-500)}.character-sheet-right .feat-ability-section,.character-sheet-right .feat-proficiency-section,.character-sheet-right .feat-spell-section,.character-sheet-right .selected-spells-display{border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);background:#050b164d}.character-sheet-right .ability-btn,.character-sheet-right .proficiency-btn,.character-sheet-right .feat-spell-section .spell-option,.character-sheet-right .spell-select{border-color:var(--border-strong);border-radius:var(--radius-md);color:var(--text-secondary);background:var(--surface-control)}.character-sheet-right .ability-btn.selected,.character-sheet-right .proficiency-btn.selected,.character-sheet-right .feat-spell-section .spell-option.selected{border-color:#e7b83e80;color:var(--forge-midnight-950);background:var(--forge-gold-500)}.character-sheet-right .feat-text,.character-sheet-right .preview-ability-info,.character-sheet-right .preview-prerequisite-info{color:var(--text-secondary)}.character-sheet-right .preview-ability-info strong,.character-sheet-right .preview-prerequisite-info strong,.character-sheet-right .feat-spell-section strong{color:var(--forge-gold-400)}.homebrew-spell-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow-y:auto}.homebrew-spell-modal{background:var(--5e-bg-primary);border:1px solid var(--5e-border-grey);border-radius:8px;max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #00000080}.homebrew-spell-header{display:flex;justify-content:center;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--5e-border-grey);background:var(--5e-bg-primary);position:relative}.homebrew-spell-header h2{margin:0;color:var(--5e-text-primary);font-size:20px;font-family:inherit}.close-modal-btn{background:none;border:none;color:var(--5e-font-secondary);cursor:pointer;font-size:20px;padding:4px;display:flex;align-items:center;justify-content:center;position:absolute;right:1.5rem;transition:color .2s ease}.close-modal-btn:hover{color:var(--5e-color-danger)}.homebrew-spell-content{flex:1;overflow-y:auto;padding:24px}.homebrew-spell-footer{display:flex;justify-content:center;gap:1rem;padding:1rem 1.5rem;border-top:1px solid var(--5e-border-grey);background:transparent}.form-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--5e-border-grey)}.form-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.form-section h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.125rem;font-weight:600;border-bottom:none;padding-bottom:0}.form-row{display:flex;gap:12px;margin-bottom:12px;align-items:flex-start}.form-field{display:flex;flex-direction:column;flex:1;min-width:0}.form-field.full-width{width:100%}.form-field.small{flex:0 0 80px}.form-field.checkbox-field{flex-direction:row;align-items:center;flex:0 0 auto}.form-field label{color:var(--5e-font-secondary);font-size:13px;font-weight:600;margin-bottom:6px;display:flex;align-items:center;gap:6px}.form-field.checkbox-field label{margin-bottom:0;cursor:pointer}.form-field input[type=text],.form-field input[type=number],.form-field select{background:var(--5e-bg-alt);border:1px solid var(--5e-border-secondary);color:var(--5e-text-primary);padding:8px 10px;border-radius:4px;font-size:14px;transition:border-color .2s ease}.form-field input[type=text]:focus,.form-field input[type=number]:focus,.form-field select:focus{outline:none;border-color:var(--5e-color-link)}.form-field input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--5e-color-link)}.spell-name-input{font-size:16px!important;font-weight:600}.description-entry-row{display:flex;gap:8px;margin-bottom:12px;align-items:flex-start}.description-textarea{flex:1;background:var(--5e-bg-body);border:1px solid var(--5e-border-secondary);color:var(--5e-text-primary);padding:10px 12px;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical;min-height:60px;transition:border-color .2s ease}.description-textarea:focus{outline:none;border-color:var(--5e-color-link)}.remove-entry-btn{background:var(--5e-bg-secondary);border:1px solid var(--5e-border-secondary);color:var(--5e-color-danger);padding:8px 10px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.remove-entry-btn:hover{background:var(--5e-color-danger);color:#fff}.add-entry-btn{background:var(--5e-bg-secondary);border:1px solid var(--5e-border-secondary);color:var(--5e-color-link);padding:8px 14px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:13px;transition:all .2s ease}.add-entry-btn:hover{background:var(--5e-color-link);color:#fff}.spell-preview h3{display:flex;align-items:center;gap:8px;color:var(--5e-color-link)}.preview-content{background:var(--5e-bg-alt);border:1px solid var(--5e-border-secondary);border-radius:6px;padding:16px}.preview-header{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--5e-border-secondary)}.preview-header strong{display:block;color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:4px}.preview-meta{color:var(--5e-font-secondary);font-size:13px;font-style:italic}.preview-details{margin-bottom:12px}.preview-details>div{color:var(--5e-font-secondary);font-size:13px;margin-bottom:4px}.preview-details strong{color:var(--5e-text-primary);margin-right:4px}.preview-description p{color:var(--5e-text-primary);font-size:14px;line-height:1.6;margin:8px 0}.preview-higher-level{margin-top:12px;padding-top:12px;border-top:1px solid var(--5e-border-secondary);color:var(--5e-text-primary);font-size:14px;line-height:1.6}.preview-higher-level strong{color:var(--5e-color-link)}.cancel-btn,.save-btn{padding:10px 20px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.cancel-btn{background:var(--5e-bg-secondary);color:var(--5e-font-secondary);border:1px solid var(--5e-border-secondary)}.cancel-btn:hover{background:var(--5e-bg-alt)}.save-btn{background:var(--5e-color-link);color:#fff}.save-btn:hover:not(:disabled){background:#4a5dc9}.save-btn:disabled{background:var(--5e-bg-secondary);color:var(--5e-font-muted);cursor:not-allowed;opacity:.5}@media (max-width: 768px){.homebrew-spell-modal{max-width:100%;max-height:95vh}.form-row{flex-direction:column}.form-field.small{flex:1}}.spellcasting-disabled{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;text-align:center;color:var(--5e-text-muted)}.spellcasting-disabled p{margin:0;line-height:1.5}.spellcasting-disabled-hint{font-size:.85em;max-width:320px}.enable-spellcasting-btn{margin-top:8px;padding:8px 20px;background:var(--color-accent-blue, #5397C0);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9em;transition:background .15s}.enable-spellcasting-btn:hover{background:var(--color-accent-blue-hover, #4285a8)}.spell-selector{padding:0;background:transparent;border:none;border-radius:0}.spell-selector-cantrips{background:var(--5e-bg-secondary);border:1px solid var(--5e-border-grey);border-radius:4px;overflow:hidden;margin-bottom:.75rem}.spell-selector-cantrips .selector-status{color:var(--5e-text-light)}.spell-selector-cantrips .selector-status strong{color:var(--color-accent-blue);font-weight:600}.spell-selector-cantrips .cantrips-count{color:var(--5e-text-light)}.spell-selector-cantrips .cantrips-count.over-limit{color:var(--c-orange)}.spell-selector-cantrips .section-collapse-btn{color:var(--5e-text-light)}.spell-selector-cantrips .section-collapse-btn:hover{color:var(--5e-text-primary)}.spell-selector-cantrips .selector-status:not([data-collapsed=true]) .section-collapse-btn{color:var(--5e-text-light)}.loading-state,.no-spellcasting{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:var(--5e-text-muted)}.spellcasting-info{background:var(--5e-bg-secondary);border:1px solid var(--5e-border-primary);border-radius:6px;padding:1rem;margin-bottom:1rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.info-row:not(:last-child){border-bottom:1px solid var(--5e-border-secondary)}.info-label{font-size:.875rem;color:var(--5e-text-muted);font-weight:500}.info-value{font-size:1rem;color:var(--5e-text-primary);font-weight:600}.homebrew-spell-btn{background:var(--5e-bg-secondary);border:1px solid var(--5e-border-secondary);color:var(--color-accent-brown);padding:8px 14px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap;transition:all .2s ease;display:flex;align-items:center;gap:4px}.homebrew-spell-btn:hover{background:var(--color-accent-brown);color:#1a1a1a;border-color:var(--color-accent-brown);box-shadow:0 0 8px #ac753c66}.cantrips-available{color:var(--5e-color-link);font-size:14px}.over-limit{color:var(--c-orange);font-size:14px}.at-limit{color:var(--5e-font-secondary);font-size:14px}.selected-spells{margin-bottom:16px}.selected-spells-label{color:var(--5e-font-secondary);margin:0 0 8px;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.selected-spell-card{background:var(--5e-bg-alt);border:1px solid var(--border-subtle);border-radius:6px;padding:12px;margin-bottom:8px;transition:all .2s ease}.selected-spell-card.expanded{background:var(--5e-bg-primary)}.spell-card-header{display:flex;align-items:center;gap:8px}.spell-expand-btn{background:none;border:none;color:var(--color-secondary);cursor:pointer;padding:4px;font-size:12px;transition:color .2s ease;min-width:24px;height:24px;flex-shrink:0}.spell-expand-btn:hover{color:var(--5e-font-primary)}.selected-spell-card .spell-name{color:var(--5e-font-primary);font-weight:600;flex:1}.spell-description{margin-top:12px;padding-top:12px;border-top:1px solid var(--5e-border-grey)}.spell-text{color:var(--5e-font-secondary);font-size:13px;line-height:1.6;margin:0 0 12px;white-space:pre-wrap;font-family:inherit}.spell-meta-section{background:var(--5e-bg-alt);padding:10px;border-radius:4px;margin-bottom:8px}.spell-meta-row{color:var(--5e-font-secondary);font-size:13px;margin-bottom:4px}.spell-meta-row:last-child{margin-bottom:0}.spell-meta-row strong{color:var(--color-secondary);margin-right:6px}.spell-scaling-info{margin-top:12px;padding:10px;background:var(--5e-bg-alt);border-radius:4px;border-left:3px solid var(--5e-accent-purple)}.spell-scaling-info strong{color:var(--5e-accent-purple);display:block;margin-bottom:6px;font-size:12px}.remove-spell-btn{background:none;border:none;color:var(--5e-font-muted);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.remove-spell-btn:hover{background:var(--5e-border-grey);color:var(--5e-text-danger)}.section-divider{height:1px;background:var(--5e-border-grey);margin:16px 0}.add-spell-section{margin-top:16px}.spell-search-input{width:100%;padding:8px 12px;background:var(--5e-bg-body);border:1px solid var(--5e-border-grey);border-radius:6px;color:var(--5e-font-primary);font-size:14px;margin-bottom:12px}.spell-search-input:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 2px #7db6e833}.spell-search-input::placeholder{color:var(--5e-font-muted)}.available-spells{max-height:300px;overflow-y:auto}.spell-option{background:var(--5e-bg-alt);border:1px solid var(--border-subtle);border-radius:6px;padding:12px;margin-bottom:8px;transition:all .2s ease}.spell-option.expanded{background:var(--5e-bg-primary)}.spell-option:hover{border-color:var(--color-secondary)}.spell-option-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.spell-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.spell-info .spell-name{color:var(--5e-font-primary);font-weight:600;font-size:15px;white-space:nowrap}.spell-source{color:var(--5e-font-muted);font-size:12px;font-style:italic}.other-class-badge{color:var(--color-secondary);opacity:.8;font-size:14px;margin-left:4px}.spell-preview-description{margin-top:12px;padding-top:12px;border-top:1px solid var(--5e-border-grey)}.preview-spell-info{background:var(--5e-bg-alt);padding:10px;border-radius:4px;margin-top:8px}.preview-spell-scaling{margin-top:8px;padding:8px;background:var(--5e-bg-alt);border-radius:4px;font-size:13px;color:var(--5e-font-secondary)}.preview-spell-scaling strong{color:var(--5e-accent-purple);display:block;margin-bottom:4px}button.add-spell-btn{background:var(--color-secondary)!important;color:var(--5e-bg-primary)!important;border:none!important;border-radius:4px!important;padding:8px!important;cursor:pointer!important;transition:all .2s ease!important;display:flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;flex-shrink:0!important}button.add-spell-btn:hover{background:var(--5e-active-blue)!important;transform:scale(1.05)!important}button.add-spell-btn:disabled{opacity:.5!important;cursor:not-allowed!important;transform:none}.no-spells-message{text-align:center;padding:2rem 1rem;color:var(--5e-font-muted);font-size:14px;font-style:italic}.more-results-note{text-align:center;padding:8px;margin-top:8px;color:var(--5e-font-muted);font-size:12px;font-style:italic}.coming-soon{margin-top:2rem}.available-spells::-webkit-scrollbar{width:6px}.available-spells::-webkit-scrollbar-track{background:var(--5e-bg-primary);border-radius:3px}.available-spells::-webkit-scrollbar-thumb{background:var(--5e-border-grey);border-radius:3px}.available-spells::-webkit-scrollbar-thumb:hover{background:var(--5e-font-muted)}.leveled-spells-section{background:var(--5e-bg-secondary);border:1px solid var(--5e-border-grey);border-radius:4px;overflow:hidden;margin-bottom:.75rem}.leveled-spells-header{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--5e-bg-secondary);border-bottom:1px solid var(--5e-border-grey);cursor:pointer;transition:background .15s ease;-webkit-user-select:none;user-select:none}.leveled-spells-header:hover{background:var(--5e-bg-body)}.leveled-spells-header .section-collapse-btn{background:none;border:none;color:var(--5e-text-light);cursor:pointer;padding:0;font-size:10px;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;transition:transform .2s ease;transform:rotate(0)}.leveled-spells-header[data-collapsed=true] .section-collapse-btn{transform:rotate(-90deg)}.leveled-spells-status{flex:1;font-size:14px;font-weight:600;color:var(--5e-text-light)}.leveled-spells-status strong{color:var(--color-accent-blue);margin-right:8px;font-weight:600}.leveled-spells-content{padding:1rem;background:#222}.spell-level-label{color:var(--5e-text-primary);font-weight:600;font-size:14px}.spell-slots,.spells-available,.spells-prepared{color:var(--5e-color-link);font-weight:600;font-size:14px}.spells-known{color:var(--5e-font-secondary);font-weight:500;font-size:14px}.at-limit{color:var(--5e-color-warning);font-weight:600;font-size:14px}.over-limit{color:var(--5e-color-danger);font-weight:600;font-size:14px}.multiclass-spell-summary{display:inline-flex;flex-wrap:wrap;gap:.1rem 0;align-items:center}.class-count-sep{color:var(--text-muted);margin:0 .3rem}.class-spell-filter{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.75rem}.class-filter-tab{padding:.2rem .65rem;border:1px solid var(--border-subtle);border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.75rem;font-family:inherit;transition:background .15s,color .15s,border-color .15s}.class-filter-tab:hover:not(.active){border-color:var(--color-accent-blue-hover-border);color:var(--color-accent-blue)}.class-filter-tab.active{border-color:var(--color-accent-blue);color:var(--color-accent-blue);background:var(--color-accent-blue-selected-bg)}.spell-resource-summary{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.spell-resource-summary>div{display:grid;gap:var(--space-1);flex:1 1 220px;padding:var(--space-3) var(--space-4);background:var(--surface-panel-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.spell-resource-summary span{font-family:var(--font-data)}.spell-resource-summary small,.spell-selection-note{color:var(--text-secondary)}.spell-summary-toggle{width:100%;text-align:left;font:inherit;color:inherit;border:0;border-bottom:1px solid var(--border-subtle)}.spell-summary-toggle .multiclass-spell-summary{display:flex;flex-wrap:wrap;gap:var(--space-4)}.spell-class-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.spell-class-actions strong{color:var(--text-secondary);font-size:var(--text-sm)}.spell-assignment-review,.spell-selection-notice{padding:var(--space-4);color:var(--text-primary)}.spell-assignment-review p{color:var(--text-secondary)}.spell-assignment-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.character-sheet-right .spell-selector{color:var(--text-primary)}.character-sheet-right .spellbook-overview{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-4);padding:0 var(--space-1) var(--space-4);border-bottom:1px solid var(--border-subtle)}.character-sheet-right .spellbook-overview-kicker{display:block;margin-bottom:var(--space-1);color:var(--forge-gold-400);font:var(--text-xs) var(--font-data);letter-spacing:.12em;text-transform:uppercase}.character-sheet-right .spellbook-overview h3{margin:0;color:var(--text-primary);font:400 var(--text-xl) var(--font-display)}.character-sheet-right .spellbook-overview p{max-width:35rem;margin:0;color:var(--text-muted);font-size:var(--text-sm);line-height:1.55;text-align:right}.character-sheet-right .spellcasting-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#050b1661}.character-sheet-right .spellcasting-info .info-row{display:flex;min-height:5rem;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(145deg,var(--surface-panel-raised),rgba(13,27,48,.72))}.character-sheet-right .spellcasting-info .info-label{color:var(--text-muted);font:var(--text-xs) var(--font-data);letter-spacing:.07em;text-transform:uppercase}.character-sheet-right .spellcasting-info .info-value{color:var(--text-primary);font:400 var(--text-xl) var(--font-display)}.character-sheet-right .expandable-selector,.character-sheet-right .leveled-spells-section{margin-bottom:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-panel-raised);box-shadow:0 12px 28px #01050e24}.character-sheet-right .selector-status,.character-sheet-right .leveled-spells-header{min-height:3.65rem;padding:var(--space-3) var(--space-4);border-bottom-color:var(--border-subtle);color:var(--text-secondary);background:linear-gradient(100deg,rgba(47,114,220,.1),transparent 55%),var(--surface-panel-raised)}.character-sheet-right .selector-status:hover,.character-sheet-right .leveled-spells-header:hover{background:linear-gradient(100deg,rgba(47,114,220,.16),transparent 62%),var(--surface-panel-raised)}.character-sheet-right .selector-status .section-collapse-btn,.character-sheet-right .leveled-spells-header .section-collapse-btn{color:var(--forge-gold-400)}.character-sheet-right .spell-selector-cantrips .selector-status strong,.character-sheet-right .leveled-spells-status strong,.character-sheet-right .spell-level-label{color:var(--text-primary);font-weight:650}.character-sheet-right .expandable-selector>:not(.selector-status),.character-sheet-right .leveled-spells-content{padding:var(--space-4);background:#050b164d}.character-sheet-right .leveled-spells-content .expandable-selector{box-shadow:none}.character-sheet-right .selected-items-label{color:var(--forge-gold-400);font:var(--text-xs) var(--font-data);letter-spacing:.1em}.character-sheet-right .selected-item-card,.character-sheet-right .item-option{margin-bottom:var(--space-2);border-color:var(--border-subtle);border-radius:var(--radius-md);background:#122541b8}.character-sheet-right .selected-item-card:hover,.character-sheet-right .item-option:hover{border-color:#e7b83e61}.character-sheet-right .selected-item-card.expanded,.character-sheet-right .item-option.expanded{border-color:#2f72dc80;background:var(--surface-panel-raised)}.character-sheet-right .item-card-header,.character-sheet-right .item-option-header{min-height:2.85rem;padding:.62rem .75rem}.character-sheet-right .item-card-header .item-name,.character-sheet-right .item-option-header .item-name{color:var(--text-primary);font-size:var(--text-sm)}.character-sheet-right .item-meta{color:var(--text-muted)}.character-sheet-right .item-source-badge{padding:.12rem .38rem;border-color:#e7b83e38;border-radius:999px;color:var(--forge-gold-400);background:#e7b83e0f;font-family:var(--font-data)}.character-sheet-right .item-details,.character-sheet-right .item-preview-details{padding:var(--space-3);border-top-color:var(--border-subtle);color:var(--text-secondary)}.character-sheet-right .search-and-custom-actions{margin-bottom:var(--space-3)}.character-sheet-right .item-search-input{min-height:2.75rem;padding:.65rem .85rem;border-color:var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);caret-color:var(--forge-gold-400);background:var(--surface-control)}.character-sheet-right .item-search-input:focus{border-color:#2f72dcb8;box-shadow:0 0 0 3px #2f72dc24}.character-sheet-right .homebrew-spell-btn{min-height:2.75rem;padding:.65rem .85rem;border-color:var(--border-gold);border-radius:var(--radius-md);color:var(--forge-gold-400);background:#e7b83e0f}.character-sheet-right .homebrew-spell-btn:hover{border-color:var(--forge-gold-500);color:var(--forge-midnight-950);background:var(--forge-gold-500);box-shadow:0 8px 18px #e7b83e1f}.character-sheet-right .class-filter-tab{min-height:2.35rem;padding:.45rem .75rem;border-color:var(--border-subtle);border-radius:999px;color:var(--text-muted);background:var(--surface-panel)}.character-sheet-right .class-filter-tab.active{border-color:#e7b83e7a;color:var(--forge-gold-400);background:#e7b83e14}.character-sheet-right .spell-slots,.character-sheet-right .spells-available,.character-sheet-right .spells-prepared{color:#8eb8ff}.character-sheet-right .at-limit{color:var(--forge-gold-400)}.character-sheet-right .over-limit{color:var(--forge-danger, #dc6673)}@media (max-width: 980px){.character-sheet-right .spellbook-overview{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.character-sheet-right .spellbook-overview p{text-align:left}.character-sheet-right .spellcasting-info{grid-template-columns:1fr}}.homebrew-item-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.homebrew-item-modal{background:var(--5e-bg-primary);border:1px solid var(--5e-border-grey);border-radius:8px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;padding:2rem}.modal-title{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;text-align:center;border-bottom:1px solid var(--5e-border-grey);padding-bottom:1rem}.homebrew-item-form{display:flex;flex-direction:column;gap:0}.form-section{background:transparent;padding:0 0 1rem;border-radius:0;border:none;border-bottom:1px solid var(--5e-border-grey);margin-bottom:1rem}.form-section:last-child{padding-bottom:0;border-bottom:none;margin-bottom:0}.form-section h3{color:var(--text-primary);font-size:1.125rem;margin-bottom:1rem;font-weight:600}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem}.form-row:last-child{margin-bottom:0}.form-field{display:flex;flex-direction:column;gap:.4rem}.form-field label{font-size:.85rem;color:var(--text-muted);font-weight:500}.form-field input[type=text],.form-field input[type=number],.form-field select,.form-field textarea{padding:.5rem;background:var(--5e-bg-body);border:1px solid var(--5e-border-grey);border-radius:4px;color:var(--5e-font-primary);font-size:.9rem;font-family:inherit}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--5e-link-blue);box-shadow:0 0 0 2px #7db6e833}.form-field textarea{resize:vertical;min-height:100px;line-height:1.5}.checkbox-group{display:flex;flex-wrap:wrap;gap:1rem}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--5e-font-primary);font-size:.9rem}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.property-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.property-btn{padding:.5rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:var(--5e-font-primary);cursor:pointer;font-size:.85rem;transition:all .2s}.property-btn:hover{background:#ffffff1a;border-color:#78aedd}.property-btn.selected{background:#78aedd33;border-color:#78aedd;color:#78aedd;font-weight:600}.form-actions{display:flex;gap:1rem;justify-content:center;padding-top:1rem;background:transparent}.btn-cancel,.btn-save{padding:.7rem 1.5rem;border-radius:4px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel{background:var(--5e-bg-secondary);border:1px solid var(--5e-border-grey);color:var(--text-secondary)}.btn-cancel:hover{background:var(--5e-bg-tertiary);border-color:var(--5e-border-primary);color:var(--text-primary)}.btn-save{background:var(--5e-btn-primary-bg);border:1px solid var(--5e-border-grey);color:var(--text-primary)}.btn-save:hover:not(:disabled){background:#5080b3;border-color:var(--5e-border-primary);transform:translateY(-1px);box-shadow:0 4px 12px #2a4e6c4d}.btn-save:disabled{opacity:.5;cursor:not-allowed}.grants-hint{font-size:.82rem;color:var(--text-muted);margin:-.5rem 0 1rem}.grants-subsection{margin-bottom:1.25rem}.grants-subsection>label,.grants-subsection-header label{display:block;font-size:.85rem;color:var(--text-muted);font-weight:500;margin-bottom:.5rem}.grants-subsection-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.grants-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.grants-row select{flex:1;padding:.4rem .5rem;background:var(--5e-bg-body);border:1px solid var(--5e-border-grey);border-radius:4px;color:var(--5e-font-primary);font-size:.85rem}.grants-number{width:60px;padding:.4rem .5rem;background:var(--5e-bg-body);border:1px solid var(--5e-border-grey);border-radius:4px;color:var(--5e-font-primary);font-size:.85rem;text-align:center}.grants-label{font-size:.85rem;color:var(--text-muted);white-space:nowrap}.btn-grants-add{display:flex;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.8rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.btn-grants-add:hover{background:#ffffff1a;color:var(--text-primary)}.btn-grants-remove{padding:.3rem .4rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:.8rem;transition:color .15s}.btn-grants-remove:hover{color:#e06c6c}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.35rem}.skill-checkbox-label{display:flex;align-items:center;gap:.4rem;font-size:.83rem;color:var(--text-secondary);cursor:pointer}.skill-checkbox-label input[type=checkbox]{width:14px;height:14px;cursor:pointer}.tag-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.grants-tag{display:flex;align-items:center;gap:.3rem;padding:.25rem .5rem;background:#ffffff12;border:1px solid rgba(255,255,255,.15);border-radius:3px;font-size:.82rem;color:var(--text-primary)}.grants-tag button{display:flex;align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0;font-size:.75rem;transition:color .15s}.grants-tag button:hover{color:#e06c6c}.grants-input-row{display:flex;gap:.5rem;align-items:center}.grants-input-row input{flex:1;padding:.4rem .5rem;background:var(--5e-bg-body);border:1px solid var(--5e-border-grey);border-radius:4px;color:var(--5e-font-primary);font-size:.85rem}.grants-input-row input:focus{outline:none;border-color:var(--5e-link-blue)}.grants-dropdown{background:var(--5e-bg-secondary);border:1px solid var(--5e-border-grey);border-radius:4px;padding:.5rem;margin-bottom:.5rem}.grants-search{width:100%;padding:.35rem .5rem;background:var(--5e-bg-body);border:1px solid var(--5e-border-grey);border-radius:4px;color:var(--5e-font-primary);font-size:.83rem;margin-bottom:.4rem;box-sizing:border-box}.grants-search:focus{outline:none;border-color:var(--5e-link-blue)}.grants-dropdown-list{max-height:160px;overflow-y:auto;display:flex;flex-direction:column;gap:.2rem}.grants-type-badge{font-size:.72rem;color:var(--text-muted);margin-left:.3rem;font-style:italic}.homebrew-item-modal::-webkit-scrollbar{width:10px}.homebrew-item-modal::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.homebrew-item-modal::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.homebrew-item-modal::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.inventory-selector{display:flex;flex-direction:column;gap:.75rem}.inventory-subsection-title{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin-bottom:0;background:var(--5e-bg-secondary);border:none;border-bottom:1px solid var(--5e-border-grey);font-size:14px;font-weight:600;color:var(--5e-text-light);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease;outline:none;box-shadow:none}.inventory-subsection-title:hover{background:var(--5e-bg-body)}.inventory-subsection-title .section-collapse-btn{background:none;border:none;color:var(--5e-text-light);cursor:pointer;padding:0;font-size:10px;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;transition:transform .2s ease;transform:rotate(0)}.inventory-subsection-title[data-collapsed=true] .section-collapse-btn{transform:rotate(-90deg)}.currency-section{background:var(--5e-bg-secondary);border:1px solid var(--5e-border-grey);border-radius:4px;margin-bottom:.75rem;overflow:hidden}.currency-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin-bottom:.75rem;max-width:100%;padding:1rem}.currency-input{display:flex;flex-direction:column;gap:.25rem;min-width:0}.currency-input label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;font-weight:600}.currency-input input{padding:.4rem;background:#1a1a1a;border:1px solid #444;border-radius:4px;color:var(--5e-font-primary);font-size:.9rem;text-align:center}.currency-input input:focus{outline:none;border-color:var(--color-secondary)}.currency-summary{text-align:right;color:var(--text-muted);font-size:.9rem;padding:.5rem 1rem 1rem;border-top:1px solid var(--border-subtle)}.currency-summary strong{color:var(--color-accent-brown)}.equipped-section{background:#ffffff08;padding:1rem;border-radius:6px;border:1px solid var(--border-subtle)}.equipped-category{margin-bottom:1rem}.equipped-category:last-child{margin-bottom:0}.equipped-category h5{font-size:.85rem;color:var(--color-secondary);margin-bottom:.5rem;text-transform:uppercase;font-weight:600}.inventory-category{margin-bottom:1.5rem}.inventory-category:last-child{margin-bottom:0}.category-title{font-size:.9rem;color:var(--color-accent-blue);margin-bottom:.75rem;font-weight:600;padding:.5rem;background:#78aedd1a;border-left:3px solid var(--color-accent-blue);border-radius:4px}.category-title svg{color:var(--5e-text-primary)!important}.equipped-category .inventory-item{margin-bottom:.5rem}.equipped-category .inventory-item:last-child{margin-bottom:0}.carried-items-section{background:var(--5e-bg-secondary);border:1px solid var(--5e-border-grey);border-radius:4px;margin-bottom:.75rem;overflow:hidden}.carried-items-section>:not(.inventory-subsection-title){padding:0 1rem}.carried-items-section .inventory-category:last-child{padding-bottom:1rem}.weight-display{font-size:.85rem;color:var(--text-muted);margin-bottom:.75rem;padding-bottom:.75rem;padding-top:1rem;border-bottom:1px solid var(--border-subtle)}.weight-display strong{color:var(--5e-font-primary)}.carried-items-list{display:flex;flex-direction:column;gap:.5rem}.inventory-item{background:#ffffff08;border:1px solid var(--border-subtle);border-radius:5px;transition:border-color .15s;overflow:hidden}.inventory-item:hover{border-color:var(--color-accent-blue-hover-border)}.inventory-item.expanded{border-color:var(--color-accent-blue-selected-border);background:var(--color-accent-blue-selected-bg)}.item-row-carried{display:flex;align-items:center;padding:.75rem;gap:.5rem}.item-info-carried{display:flex;align-items:center;gap:.75rem;flex:1}.item-name{color:var(--5e-font-primary);font-weight:500}.attuned-badge{margin-left:.5rem;font-size:.9rem;opacity:.9}.item-quantity{color:var(--text-muted);font-size:.85rem}.item-weight{color:var(--text-muted);font-size:.8rem}.item-stat{color:var(--color-secondary);font-size:.85rem}.item-actions{display:flex;gap:.5rem;align-items:center}.item-action-btn{padding:.35rem .75rem;border:1px solid var(--border-subtle);background:#ffffff0d;color:var(--5e-font-primary);border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .2s;display:flex;align-items:center;gap:.3rem;height:32px;min-height:32px}.item-action-btn:hover{background:#ffffff1a;border-color:var(--color-secondary)}.item-action-btn.equip{border-color:var(--color-secondary);color:var(--color-secondary)}.item-action-btn.equip.equipped{background:#78aedd33;border-color:var(--color-secondary);font-weight:600}.quantity-input{width:80px;padding:.35rem .5rem;border:1px solid var(--border-subtle);background:#1a1a1a;color:var(--5e-font-primary);border-radius:4px;font-size:.85rem;text-align:center;height:32px;transition:all .2s}.quantity-input:hover{background:#ffffff1a;border-color:var(--color-secondary)}.quantity-input:focus{outline:none;border-color:var(--color-secondary);background:#ffffff1a}.item-action-btn.unequip{border-color:var(--color-danger);color:var(--color-danger)}.item-action-btn.quantity{padding:.35rem .5rem}.item-action-btn.attune{border-color:#9b59b6;color:#9b59b6}.item-action-btn.attune.attuned{background:#9b59b633;border-color:#9b59b6;font-weight:600}.item-action-btn:disabled{opacity:.5;cursor:not-allowed;background:#ffffff0d;color:var(--text-muted);border-color:#444}.item-action-btn:disabled:hover{background:#ffffff0d;color:var(--text-muted);transform:none}.attunement-display{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;margin-bottom:.75rem;background:#915bd31a;border:1px solid rgba(145,91,211,.3);border-radius:4px;font-size:.9rem}.attunement-label{color:var(--5e-font-muted);font-weight:500}.attunement-count{color:var(--color-accent-purple);font-weight:600}.add-items-section{background:var(--5e-bg-secondary);border:1px solid var(--5e-border-grey);border-radius:4px;margin-bottom:.75rem;overflow:hidden}.add-items-section>:not(.inventory-subsection-title){padding:0 1rem}.add-items-section .available-items-grid{padding-bottom:1rem}.purchase-toggle{display:flex;align-items:center;margin:.75rem 0 .5rem}.purchase-toggle label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--5e-font-primary);font-size:.9rem}.purchase-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer}.homebrew-item-btn{background:var(--5e-bg-secondary);border:1px solid var(--5e-border-secondary);color:var(--color-accent-brown);padding:8px 14px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap;transition:all .2s ease;display:flex;align-items:center;gap:4px}.homebrew-item-btn:hover{background:var(--color-accent-brown);color:#1a1a1a;border-color:var(--color-accent-brown);box-shadow:0 0 8px #ac753c66}.item-filters{display:flex;gap:.75rem;margin-bottom:1rem}.item-search-input{flex:1;padding:.5rem .75rem;background:#1a1a1a;border:1px solid #444;border-radius:4px;color:var(--5e-font-primary);font-size:.9rem}.item-search-input:focus{outline:none;border-color:var(--color-secondary)}.category-filter{padding:.5rem .75rem;background:#1a1a1a;border:1px solid #444;border-radius:4px;color:var(--5e-font-primary);font-size:.9rem;cursor:pointer}.category-filter:focus{outline:none;border-color:var(--color-secondary)}.available-items-list{max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.available-item{background:#ffffff08;border:1px solid var(--border-subtle);border-radius:5px;transition:border-color .15s;overflow:hidden;flex-shrink:0}.available-item.expanded{border-color:var(--color-accent-blue-selected-border);background:var(--color-accent-blue-selected-bg)}.available-item:hover{border-color:var(--color-accent-blue-hover-border)}.item-row{display:flex;align-items:center;padding:.45rem .6rem;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.expand-btn{background:none;border:none;padding:0;margin:0;cursor:pointer;display:inline-flex;align-items:center;flex-shrink:0}.expand-arrow{font-size:.6rem;color:var(--color-card-expand-icon);transition:transform .15s;display:inline-block;flex-shrink:0}.expand-arrow.expanded{transform:rotate(90deg)}.item-info-available{display:flex;align-items:center;gap:.5rem;flex:1;flex-wrap:wrap}.item-name-available{color:var(--color-card-item-name);font-weight:600;font-size:.85rem}.available-item .item-source-badge{font-size:.65rem;color:var(--color-source-badge-text);background:var(--color-source-badge-bg);border:1px solid var(--border-subtle);border-radius:3px;padding:.05rem .3rem;flex-shrink:0}.available-item .item-card-actions{display:flex;justify-content:flex-end;gap:.4rem;margin-top:.5rem}.available-item .sel-btn{font-size:.75rem;padding:.25rem .75rem;border-radius:4px;border:1px solid;cursor:pointer;font-family:inherit;background:transparent;transition:background .15s,color .15s}.available-item .sel-btn--add{border-color:var(--color-accent-blue);color:var(--color-accent-blue)}.available-item .sel-btn--add:hover{background:var(--color-accent-blue);color:#fff}.available-item .sel-btn--edit{border-color:var(--color-accent-blue-hover-border);color:var(--color-accent-blue)}.available-item .sel-btn--edit:hover{background:var(--color-accent-blue-focus)}.available-item .sel-btn--delete{border-color:var(--color-danger-border);color:var(--color-danger-text)}.available-item .sel-btn--delete:hover{background:var(--color-danger-hover-bg)}.item-stat-available{color:var(--color-accent-blue);font-size:.85rem}.item-weight-available{color:var(--text-muted);font-size:.85rem}.item-value-available{color:var(--color-accent-brown);font-size:.85rem}.item-description-section{padding:.75rem;padding-top:0;border-top:1px solid var(--border-subtle);background:#0003}.item-stats-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.item-stat-label{font-size:.85rem;color:var(--text-muted);font-weight:500}.item-stat-value{font-size:.85rem;color:var(--text-secondary);margin-right:1rem}.item-description-content{font-size:.85rem;line-height:1.5;color:var(--text-secondary)}.item-description-content p{margin:.5rem 0}.item-description-content p:first-child{margin-top:0}.item-description-content p:last-child{margin-bottom:0}.no-description{font-style:italic;color:var(--text-muted);margin:0}.item-description-section .item-meta{margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:.85rem}.item-description-section .item-meta:first-of-type{margin-top:.5rem}.item-description-section .item-meta strong{color:var(--color-secondary)}.empty-message{text-align:center;color:var(--text-muted);padding:2rem;font-style:italic}.inventory-loading{text-align:center;padding:3rem;color:var(--text-muted)}.available-items-list::-webkit-scrollbar{width:8px}.available-items-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.available-items-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.available-items-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.character-sheet-right .inventory-selector{gap:var(--space-3);color:var(--text-primary)}.character-sheet-right .inventory-overview{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-1);padding:0 var(--space-1) var(--space-4);border-bottom:1px solid var(--border-subtle)}.character-sheet-right .inventory-overview-kicker{display:block;margin-bottom:var(--space-1);color:var(--forge-gold-400);font:var(--text-xs) var(--font-data);letter-spacing:.12em;text-transform:uppercase}.character-sheet-right .inventory-overview h3{margin:0;color:var(--text-primary);font:400 var(--text-xl) var(--font-display)}.character-sheet-right .inventory-overview p{max-width:34rem;margin:0;color:var(--text-muted);font-size:var(--text-sm);line-height:1.55;text-align:right}.character-sheet-right .currency-section,.character-sheet-right .carried-items-section,.character-sheet-right .add-items-section{margin:0;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-panel-raised);box-shadow:0 12px 28px #01050e24}.character-sheet-right .inventory-subsection-title{min-height:3.65rem;padding:var(--space-3) var(--space-4);border-bottom-color:var(--border-subtle);color:var(--text-primary);background:linear-gradient(100deg,rgba(47,114,220,.1),transparent 55%),var(--surface-panel-raised)}.character-sheet-right .inventory-subsection-title:hover{background:linear-gradient(100deg,rgba(47,114,220,.16),transparent 62%),var(--surface-panel-raised)}.character-sheet-right .inventory-subsection-title .section-collapse-btn,.character-sheet-right .inventory-subsection-title>svg{color:var(--forge-gold-400)}.character-sheet-right .currency-grid{gap:var(--space-2);margin:0;padding:var(--space-4);background:#050b164d}.character-sheet-right .currency-input{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(145deg,var(--surface-panel-raised),rgba(13,27,48,.72))}.character-sheet-right .currency-input label{color:var(--forge-gold-400);font:var(--text-xs) var(--font-data);letter-spacing:.1em}.character-sheet-right .currency-input input{width:100%;min-height:2.65rem;padding:.5rem;border-color:var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);caret-color:var(--forge-gold-400);background:var(--surface-control);font:500 var(--text-base) var(--font-data)}.character-sheet-right .currency-input input:focus{border-color:#2f72dcb8;box-shadow:0 0 0 3px #2f72dc24}.character-sheet-right .currency-summary{padding:var(--space-3) var(--space-4);border-top-color:var(--border-subtle);color:var(--text-muted);background:#050b164d;font-family:var(--font-data)}.character-sheet-right .currency-summary strong{color:var(--forge-gold-400)}.character-sheet-right .inventory-info-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding-top:var(--space-4)}.character-sheet-right .weight-display,.character-sheet-right .attunement-display{min-height:3rem;margin:0;padding:.7rem var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);background:#050b1647;font:var(--text-sm) var(--font-data)}.character-sheet-right .weight-display strong{color:var(--text-primary)}.character-sheet-right .attunement-display{border-color:#a78bfa47;background:#a78bfa12}.character-sheet-right .attunement-label{color:var(--text-muted)}.character-sheet-right .attunement-count{color:#c4b5fd;font-family:var(--font-data)}.character-sheet-right .category-title{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);padding:var(--space-2) var(--space-3);border:0;border-bottom:1px solid var(--border-subtle);border-radius:0;color:var(--text-secondary);background:transparent;font:600 var(--text-xs) var(--font-data);letter-spacing:.08em;text-transform:uppercase}.character-sheet-right .category-title svg{color:var(--forge-gold-400)!important}.character-sheet-right .inventory-item,.character-sheet-right .available-item{margin-bottom:var(--space-2);border-color:var(--border-subtle);border-radius:var(--radius-md);background:#122541b8}.character-sheet-right .inventory-item:hover,.character-sheet-right .available-item:hover{border-color:#e7b83e61}.character-sheet-right .inventory-item.expanded,.character-sheet-right .available-item.expanded{border-color:#2f72dc80;background:var(--surface-panel-raised)}.character-sheet-right .item-row-carried,.character-sheet-right .available-item .item-row{min-height:3.15rem;padding:.62rem .75rem}.character-sheet-right .item-info-carried .item-name,.character-sheet-right .item-name-available{color:var(--text-primary);font-size:var(--text-sm);font-weight:650}.character-sheet-right .item-quantity,.character-sheet-right .item-weight,.character-sheet-right .item-weight-available{color:var(--text-muted);font-family:var(--font-data)}.character-sheet-right .item-stat,.character-sheet-right .item-stat-available{color:#8eb8ff}.character-sheet-right .item-value-available{color:var(--forge-gold-400);font-family:var(--font-data)}.character-sheet-right .available-item .item-source-badge{padding:.12rem .38rem;border-color:#e7b83e38;border-radius:999px;color:var(--forge-gold-400);background:#e7b83e0f;font-family:var(--font-data)}.character-sheet-right .item-action-btn,.character-sheet-right .quantity-input{min-height:2.25rem;height:2.25rem;border-color:var(--border-strong);border-radius:var(--radius-md);color:var(--text-secondary);background:var(--surface-control)}.character-sheet-right .item-action-btn:hover,.character-sheet-right .quantity-input:hover{border-color:#2f72dc8c;color:var(--text-primary);background:var(--surface-control-hover)}.character-sheet-right .item-action-btn.equip{border-color:#2f72dc6b;color:#8eb8ff}.character-sheet-right .item-action-btn.equip.equipped{border-color:#25855380;color:#83d4aa;background:#2585531f}.character-sheet-right .item-action-btn.attune{border-color:#a78bfa61;color:#c4b5fd}.character-sheet-right .item-action-btn.attune.attuned{border-color:#a78bfa8c;color:#ddd6fe;background:#a78bfa1f}.character-sheet-right .quantity-input{width:4rem;padding:.35rem;color:var(--text-primary);font-family:var(--font-data)}.character-sheet-right .item-description-section{padding:var(--space-3);border-top-color:var(--border-subtle);color:var(--text-secondary);background:#050b1647}.character-sheet-right .item-description-content,.character-sheet-right .item-stat-value{color:var(--text-secondary)}.character-sheet-right .item-stat-label,.character-sheet-right .item-description-section .item-meta{color:var(--text-muted)}.character-sheet-right .item-description-section .item-meta strong{color:var(--forge-gold-400)}.character-sheet-right .purchase-toggle{margin:var(--space-4) 0 var(--space-3)}.character-sheet-right .purchase-toggle label{color:var(--text-secondary)}.character-sheet-right .purchase-toggle input[type=checkbox]{accent-color:var(--forge-royal-500)}.character-sheet-right .item-filters{align-items:stretch;gap:var(--space-2);margin-bottom:var(--space-3)}.character-sheet-right .inventory-selector .item-search-input,.character-sheet-right .category-filter{min-height:2.75rem;padding:.65rem .85rem;border-color:var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);caret-color:var(--forge-gold-400);background:var(--surface-control)}.character-sheet-right .inventory-selector .item-search-input:focus,.character-sheet-right .category-filter:focus{border-color:#2f72dcb8;box-shadow:0 0 0 3px #2f72dc24}.character-sheet-right .homebrew-item-btn{min-height:2.75rem;padding:.65rem .85rem;border-color:var(--border-gold);border-radius:var(--radius-md);color:var(--forge-gold-400);background:#e7b83e0f}.character-sheet-right .homebrew-item-btn:hover{border-color:var(--forge-gold-500);color:var(--forge-midnight-950);background:var(--forge-gold-500);box-shadow:0 8px 18px #e7b83e1f}.character-sheet-right .available-items-list{gap:0;margin-bottom:var(--space-4);padding-right:var(--space-1)}.character-sheet-right .empty-message{color:var(--text-muted)}@media (max-width: 1100px){.character-sheet-right .inventory-overview{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.character-sheet-right .inventory-overview p{text-align:left}.character-sheet-right .inventory-info-row{grid-template-columns:1fr}.character-sheet-right .item-row-carried{align-items:flex-start;flex-wrap:wrap}.character-sheet-right .item-actions{width:100%;padding-left:1.25rem}}.character-sheet-right .piety-add-deity-row,.character-sheet-right .piety-deity-card,.character-sheet-right .piety-reward{border-color:var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);background:#122541b8}.character-sheet-right .piety-add-deity-row:hover,.character-sheet-right .piety-deity-card:hover,.character-sheet-right .piety-reward:hover{border-color:#e7b83e61}.character-sheet-right .piety-deity-name-input,.character-sheet-right .piety-score-input,.character-sheet-right .piety-threshold-input,.character-sheet-right .piety-notes-textarea,.character-sheet-right .piety-description-textarea{border-color:var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);caret-color:var(--forge-gold-400);background:var(--surface-control)}.character-sheet-right .piety-tier-label,.character-sheet-right .piety-milestone--reached,.character-sheet-right .piety-reward-badge{border-color:#e7b83e6b;color:var(--forge-gold-400);background:#e7b83e12}.piety-add-deity-row{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border:1px dashed var(--border-subtle);border-radius:5px;color:var(--5e-text-muted);font-size:.85rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s,color .15s;margin-top:4px}.piety-add-deity-row:hover{border-color:var(--color-accent-blue-hover-border);color:var(--color-card-item-name)}.piety-add-deity-icon{font-size:.7rem;flex-shrink:0}.piety-deity-card{border:1px solid var(--border-subtle);background:#ffffff08;border-radius:5px;margin-bottom:6px;overflow:hidden;transition:border-color .15s}.piety-deity-card:hover{border-color:var(--color-accent-blue-hover-border)}.piety-deity-header{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;cursor:pointer;-webkit-user-select:none;user-select:none}.piety-deity-header .expand-icon{color:var(--color-card-expand-icon);font-size:.6rem;flex-shrink:0;display:inline-block;transition:transform .15s}.piety-deity-header .expand-icon.collapsed{transform:rotate(-90deg)}.piety-deity-name-input{background:transparent;border:none;border-bottom:1px solid var(--border-subtle);color:var(--color-card-item-name);font-size:.85rem;font-weight:600;flex:1;min-width:0;padding:2px 4px}.piety-deity-name-input:focus{outline:none;border-bottom-color:var(--5e-text-heading, #D29A38)}.piety-tier-label{font-size:.65rem;color:var(--color-source-badge-text, #666);background:var(--color-source-badge-bg, rgba(255,255,255,.06));border:1px solid var(--border-subtle, rgba(255,255,255,.1));border-radius:3px;padding:.05rem .3rem;white-space:nowrap;flex-shrink:0}.piety-remove-btn{background:none;border:none;color:var(--color-source-badge-text, #666);cursor:pointer;padding:2px 4px;font-size:.78rem;flex-shrink:0;transition:color .15s}.piety-remove-btn:hover{color:var(--color-danger, #e74c3c)}.piety-deity-body{border-top:1px solid var(--border-subtle);padding:.6rem .6rem .75rem}.piety-score-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.piety-score-label{font-size:.78rem;color:var(--5e-text-muted);min-width:80px}.piety-score-controls{display:flex;align-items:center;gap:4px}.piety-score-btn{background:#ffffff0f;border:1px solid var(--border-subtle, rgba(255,255,255,.1));color:var(--5e-text-primary);width:26px;height:26px;border-radius:4px;cursor:pointer;font-size:1.1em;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .12s}.piety-score-btn:hover{background:#ffffff1f}.piety-score-input{width:54px;background:var(--5e-bg-body, #111);border:1px solid var(--border-subtle, rgba(255,255,255,.15));color:var(--5e-text-white);font-size:1em;font-weight:700;text-align:center;border-radius:3px;padding:3px 4px}.piety-score-input:focus{outline:1px solid var(--5e-text-heading, #D29A38)}.piety-score-milestones{display:flex;gap:4px;flex-wrap:wrap}.piety-milestone{font-size:.72rem;padding:2px 6px;border-radius:10px;border:1px solid var(--border-subtle, rgba(255,255,255,.1));color:var(--color-source-badge-text, #666);transition:background .15s,color .15s,border-color .15s}.piety-milestone--reached{border-color:var(--5e-text-heading, #D29A38);color:var(--5e-text-heading, #D29A38);background:#d29a381a}.piety-notes-row{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.piety-notes-label{font-size:.78rem;color:var(--5e-text-muted)}.piety-notes-textarea,.piety-description-textarea{background:var(--5e-bg-body, #111);border:1px solid var(--border-subtle, rgba(255,255,255,.12));border-radius:3px;color:var(--5e-text-primary);font-size:.82rem;padding:6px 8px;resize:vertical;width:100%;box-sizing:border-box}.piety-notes-textarea:focus,.piety-description-textarea:focus{outline:1px solid rgba(210,154,56,.4)}.piety-rewards-section{margin-top:4px}.piety-rewards-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.piety-rewards-title{font-size:.78rem;color:var(--5e-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.piety-add-reward-btn{background:none;border:1px dashed var(--border-subtle, rgba(255,255,255,.2));color:var(--5e-text-muted);border-radius:3px;padding:2px 8px;font-size:.75rem;cursor:pointer;display:flex;align-items:center;gap:4px}.piety-add-reward-btn:hover{border-color:var(--5e-text-primary);color:var(--5e-text-primary)}.piety-rewards-empty{font-size:.78rem;color:var(--color-source-badge-text, #666);font-style:italic;margin:4px 0}.piety-reward{border:1px solid var(--border-subtle);border-radius:5px;background:#ffffff08;margin-bottom:6px;overflow:hidden;transition:border-color .15s}.piety-reward:hover{border-color:var(--color-accent-blue-hover-border)}.piety-reward--unlocked{border-color:#d29a3859;background:#d29a380a}.piety-reward--unlocked:hover{border-color:#d29a3899}.piety-reward-header{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;cursor:pointer;-webkit-user-select:none;user-select:none}.piety-reward-expand-icon,.piety-grants-expand-icon{color:var(--color-card-expand-icon);font-size:.6rem;flex-shrink:0;display:inline-block;transition:transform .15s}.piety-reward-expand-icon.collapsed,.piety-grants-expand-icon.collapsed{transform:rotate(-90deg)}.piety-reward-status{font-size:.85rem;color:var(--color-source-badge-text, #666);flex-shrink:0}.piety-reward--unlocked .piety-reward-status{color:var(--5e-text-heading, #D29A38)}.piety-reward-threshold{display:flex;align-items:center;gap:4px;font-size:.85rem;color:var(--color-card-item-name);flex:1;min-width:0}.piety-threshold-input{width:52px;background:#ffffff0f;border:1px solid var(--border-subtle, rgba(255,255,255,.12));color:var(--5e-text-white);font-size:.85rem;text-align:center;border-radius:3px;padding:1px 4px}.piety-threshold-input:focus{outline:1px solid rgba(210,154,56,.4)}.piety-reward-badge{font-size:.65rem;font-weight:700;letter-spacing:.06em;color:var(--5e-text-heading, #D29A38);border:1px solid var(--5e-text-heading, #D29A38);border-radius:10px;padding:1px 6px;flex-shrink:0}.piety-reward-grants-badge{font-size:.65rem;color:var(--color-accent-blue, #5397C0);border:1px solid var(--color-accent-blue, #5397C0);border-radius:10px;padding:1px 6px;flex-shrink:0}.piety-reward-body{border-top:1px solid var(--border-subtle);padding:.5rem .6rem .6rem;color:var(--5e-text-primary)}.piety-grants-section{margin-top:8px}.piety-grants-toggle{background:none;border:none;color:var(--5e-text-muted);font-size:.78rem;cursor:pointer;display:flex;align-items:center;gap:4px;padding:0;margin-bottom:6px}.piety-grants-toggle:hover{color:var(--5e-text-primary)}.piety-grants-body{background:#0003;border:1px solid rgba(255,255,255,.07);border-radius:3px;padding:8px 10px}.grants-subsection{margin-bottom:10px}.grants-subsection-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;font-size:.78rem;color:var(--5e-text-muted);font-weight:600}.grants-add-btn{background:none;border:1px dashed var(--border-subtle, rgba(255,255,255,.2));color:var(--5e-text-muted);border-radius:3px;padding:1px 6px;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:3px}.grants-add-btn:hover{border-color:var(--5e-text-primary);color:var(--5e-text-primary)}.grants-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.grants-row select,.grants-row input[type=number]{background:var(--5e-bg-body, #111);border:1px solid var(--border-subtle, rgba(255,255,255,.15));color:var(--5e-text-primary);border-radius:3px;padding:2px 6px;font-size:.82rem}.grants-remove-btn{background:none;border:none;color:var(--color-source-badge-text, #666);cursor:pointer;font-size:.78rem;padding:2px}.grants-remove-btn:hover{color:var(--color-danger, #e74c3c)}.grants-skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px 8px}.grants-skill-label{font-size:.78rem;color:var(--5e-text-primary);display:flex;align-items:center;gap:4px;cursor:pointer}.grants-skill-label input{cursor:pointer}.grants-skill-label:hover{color:var(--color-card-item-name, #ddd)}.grants-language-input-row input,.grants-language-input-row select{background:var(--5e-bg-body, #111);border:1px solid var(--border-subtle, rgba(255,255,255,.15));color:var(--5e-text-primary);border-radius:3px;padding:3px 8px;font-size:.82rem;width:100%;box-sizing:border-box;margin-bottom:6px;cursor:pointer}.grants-tags{display:flex;flex-wrap:wrap;gap:4px}.grants-tag{background:var(--color-accent-blue-selected-bg, rgba(83,151,192,.05));border:1px solid var(--color-accent-blue-selected-border, rgba(83,151,192,.4));color:var(--color-accent-blue-hover, #6aabcf);border-radius:10px;padding:2px 8px 2px 10px;font-size:.78rem;display:flex;align-items:center;gap:4px}.grants-tag button{background:none;border:none;color:var(--color-accent-blue-hover, #6aabcf);cursor:pointer;font-size:.78rem;padding:0;line-height:1;opacity:.7}.grants-tag button:hover{opacity:1}.grants-spell-search-row{position:relative}.grants-spell-search-input{width:100%;background:var(--5e-bg-body, #111);color:var(--5e-text-primary);border:1px solid var(--border-subtle, rgba(255,255,255,.1));border-radius:3px;padding:.3rem .5rem;font-size:.82rem;box-sizing:border-box}.grants-spell-search-input:focus{outline:none;border-color:var(--color-accent-blue, #5397C0)}.grants-spell-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--5e-bg-secondary, #1a1a1a);border:1px solid var(--color-accent-blue, #5397C0);border-top:none;border-radius:0 0 4px 4px;max-height:180px;overflow-y:auto;z-index:100}.grants-spell-option{padding:.3rem .5rem;font-size:.82rem;color:var(--5e-text-primary);cursor:pointer}.grants-spell-option:hover{background:#5397c026;color:var(--color-accent-blue, #5397C0)}.grants-spell-option-empty{padding:.3rem .5rem;font-size:.82rem;color:var(--text-muted);font-style:italic}.character-sheet-right .piety-add-deity-row{width:100%;min-height:2.4rem;margin-top:var(--space-2);padding:.48rem .7rem;border:1px dashed rgba(47,114,220,.5);border-radius:var(--radius-md);color:var(--forge-steel-300);font:600 var(--text-xs) var(--font-ui);text-align:left;background:#2f72dc0f}.character-sheet-right .piety-add-deity-row:hover{border-color:var(--forge-royal-500);color:var(--text-primary);background:#2f72dc24}.character-sheet-right .piety-deity-header .expand-icon,.character-sheet-right .piety-reward-expand-icon,.character-sheet-right .piety-grants-expand-icon{color:var(--forge-gold-400);opacity:1}.character-sheet-right .piety-deity-header .expand-icon.collapsed,.character-sheet-right .piety-reward-expand-icon.collapsed,.character-sheet-right .piety-grants-expand-icon.collapsed{color:var(--forge-steel-300)}.character-sheet-right .piety-remove-btn,.character-sheet-right .grants-remove-btn{display:inline-flex;min-height:1.75rem;align-items:center;justify-content:center;gap:.32rem;padding:.25rem .48rem;border:1px solid rgba(184,59,73,.5);border-radius:var(--radius-sm);color:#ff9da7;font:700 .68rem var(--font-ui);background:#b83b490f}.character-sheet-right .piety-remove-btn:hover,.character-sheet-right .grants-remove-btn:hover{border-color:var(--forge-danger);color:#ffd4d8;background:#b83b492e}.character-sheet-right .grants-remove-btn{width:1.75rem;padding:0}.character-sheet-right .piety-score-label,.character-sheet-right .piety-notes-label,.character-sheet-right .piety-rewards-title,.character-sheet-right .grants-subsection-header{color:var(--text-muted)}.character-sheet-right .piety-score-btn{border-color:var(--border-strong);border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--surface-control)}.character-sheet-right .piety-score-btn:hover{border-color:#2f72dc9e;color:var(--text-primary);background:var(--surface-control-hover)}.character-sheet-right .piety-add-reward-btn{min-height:1.9rem;padding:.3rem .62rem;border:1px solid var(--forge-royal-500);border-radius:var(--radius-sm);color:#fff;font:700 var(--text-xs) var(--font-ui);background:linear-gradient(180deg,var(--forge-royal-500),var(--forge-royal-700));box-shadow:0 5px 14px #14389233}.character-sheet-right .piety-add-reward-btn:hover{border-color:#6aa0f2;color:#fff;background:linear-gradient(180deg,#4b86e5,var(--forge-royal-600))}.character-sheet-right .piety-reward-grants-badge{border-color:#2baa8a6b;color:var(--forge-verdigris-300);background:#2baa8a1a}.character-sheet-right .piety-grants-toggle{color:var(--forge-steel-300);font-family:var(--font-ui)}.character-sheet-right .piety-grants-toggle:hover{color:var(--forge-gold-400)}.character-sheet-right .piety-grants-body{border-color:var(--border-subtle);border-radius:var(--radius-md);background:#050b1652}.character-sheet-right .grants-add-btn{border-color:#2f72dc80;color:var(--forge-steel-300)}.character-sheet-right .grants-add-btn:hover{border-color:var(--forge-royal-500);color:var(--text-primary);background:#2f72dc1f}.character-sheet-right .grants-tag{border-color:#2baa8a5c;color:var(--forge-verdigris-300);background:#2baa8a17}.character-sheet-right .grants-tag button{color:inherit}.character-sheet-right .grants-spell-dropdown{border-color:var(--forge-royal-500);background:var(--surface-panel-raised);box-shadow:var(--shadow-control)}.character-sheet-right .grants-spell-option{color:var(--text-secondary)}.character-sheet-right .grants-spell-option:hover{color:var(--text-primary);background:#2f72dc29}.character-sheet-right .grants-spell-option-empty,.character-sheet-right .piety-rewards-empty{color:var(--text-muted)}.invocation-selector{display:flex;flex-direction:column;gap:.6rem;padding:.5rem 0}.inv-count-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.2rem}.inv-count-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.inv-count-badge{background:var(--color-accent-purple-count-bg);border:1px solid var(--color-accent-purple-count-border);color:var(--color-accent-purple, #915bd3);font-size:.8rem;font-weight:600;padding:.1rem .5rem;border-radius:10px}.inv-count-badge--full{background:#d29a382e;border-color:#d29a3866;color:var(--5e-text-heading, #D29A38)}.inv-card{border:1px solid var(--border-subtle);border-radius:5px;background:#ffffff08;transition:border-color .15s;overflow:hidden;flex-shrink:0}.inv-card:hover{border-color:var(--color-accent-purple-hover-border)}.inv-card--selected{border-color:var(--color-accent-purple-selected-border);background:var(--color-accent-purple-selected-bg)}.inv-card--dimmed{opacity:.6}.inv-card-header{display:flex;align-items:flex-start;gap:.5rem;padding:.45rem .6rem;cursor:pointer;-webkit-user-select:none;user-select:none}.inv-card-title-area{flex:1;display:flex;flex-direction:column;gap:.2rem}.inv-card-title-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.inv-card-name{font-size:.85rem;font-weight:600;color:var(--color-card-item-name)}.inv-source-badge{font-size:.65rem;color:var(--color-source-badge-text);background:var(--color-source-badge-bg);border:1px solid var(--border-subtle);border-radius:3px;padding:.05rem .3rem}.inv-prereq-chips{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.2rem}.inv-prereq-chip{font-size:.65rem;padding:.05rem .35rem;border-radius:8px;border:1px solid}.inv-prereq-chip--met{color:var(--color-prereq-met);border-color:var(--color-prereq-met-border);background:var(--color-prereq-met-bg)}.inv-prereq-chip--unmet{color:var(--color-danger-text);border-color:var(--color-danger-unmet-border);background:var(--color-danger-unmet-bg)}.inv-expand-icon{font-size:.6rem;color:var(--color-card-expand-icon);transition:transform .15s;margin-top:.15rem;flex-shrink:0}.inv-expand-icon--open{transform:rotate(90deg);color:var(--forge-gold-400)}.inv-card-body{border-top:1px solid var(--border-subtle);padding:.5rem .6rem .6rem}.inv-description{font-size:.78rem;color:var(--5e-text-primary);line-height:1.5;margin-bottom:.5rem}.inv-entry-text{margin:0 0 .35rem}.inv-entry-list{margin:.25rem 0 .35rem 1.2rem;padding:0}.inv-entry-list li{margin-bottom:.2rem}.inv-card-actions{display:flex;justify-content:flex-end}.inv-btn{font-size:.75rem;padding:.25rem .75rem;border-radius:4px;border:1px solid;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.inv-btn--add{background:transparent;border-color:var(--color-accent-purple, #915bd3);color:var(--color-accent-purple, #915bd3)}.inv-btn--add:hover:not(:disabled){background:var(--color-accent-purple, #915bd3);color:#fff}.inv-btn--add:disabled{opacity:.4;cursor:not-allowed}.inv-btn--remove{background:transparent;border-color:var(--color-danger-border);color:var(--color-danger-text)}.inv-btn--remove:hover{background:var(--color-danger-hover-bg)}.inv-selected-section{display:flex;flex-direction:column;gap:.4rem}.inv-available-section{display:flex;flex-direction:column;gap:.4rem;border-top:1px solid var(--border-subtle);padding-top:.5rem;margin-top:.2rem}.inv-available-toggle{display:flex;align-items:center;gap:.4rem;background:none;border:none;color:var(--forge-steel-300);font-size:.78rem;font-family:inherit;cursor:pointer;padding:.1rem 0;text-transform:uppercase;letter-spacing:.04em}.inv-available-toggle:hover{color:var(--forge-gold-400)}.inv-available-toggle .expand-icon{display:inline-block;font-size:.6rem;color:inherit;transition:transform .15s}.inv-available-toggle .expand-icon.expanded{transform:rotate(90deg)}.inv-search{width:100%;padding:.35rem .6rem;background:var(--5e-bg-body, #111);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-primary);font-size:.8rem;font-family:inherit;box-sizing:border-box}.inv-search:focus{outline:none;border-color:var(--color-accent-purple-focus-border)}.inv-available-list{display:flex;flex-direction:column;gap:.3rem;max-height:480px;overflow-y:auto;padding-right:2px}.inv-loading,.inv-empty{font-size:.78rem;color:var(--text-muted);text-align:center;padding:.5rem}.pact-boon-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.2rem;padding:.4rem .6rem;background:var(--color-accent-purple-selected-bg);border:1px solid var(--color-accent-purple-muted-border);border-radius:5px}.pact-boon-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.pact-boon-select{background:var(--5e-bg-body, #111);border:1px solid var(--color-accent-purple-hover-border);border-radius:4px;color:var(--text-primary);font-size:.8rem;font-family:inherit;padding:.2rem .5rem;cursor:pointer}.pact-boon-select:focus{outline:none;border-color:var(--color-accent-purple, #915bd3)}.homebrew-background-modal .modal-content{max-width:100%}.custom-background-modal .skill-button{padding:.5rem .75rem;background:var(--5e-bg-body);color:var(--5e-text-primary);border:1px solid var(--5e-border-grey);border-radius:4px;font-size:.875rem;cursor:pointer;transition:all .2s ease;text-align:left}.custom-background-modal .skill-button:hover{background:var(--5e-bg-secondary);border-color:var(--5e-text-muted)}.custom-background-modal .skill-button.selected{background:var(--5e-bg-secondary);border-color:var(--5e-link-blue);color:var(--5e-link-blue);font-weight:600}.custom-background-modal .skill-button.selected:hover{background:var(--5e-bg-tertiary);box-shadow:0 0 0 2px #7db6e833}.custom-background-modal .modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--5e-border-grey)}.custom-background-modal .btn-primary{padding:.5rem 1.25rem;background:var(--5e-btn-primary-bg);color:var(--5e-text-primary);border:none;border-radius:4px;cursor:pointer;font-size:.9375rem;font-weight:500;transition:all .2s}.custom-background-modal .btn-primary:hover:not(:disabled){box-shadow:0 0 1px 1px #888}.homebrew-background-modal .skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem}.homebrew-background-modal .skill-button{padding:.5rem .75rem;background:var(--5e-bg-body);color:var(--5e-text-primary);border:1px solid var(--5e-border-grey);border-radius:4px;font-size:.875rem;cursor:pointer;transition:all .2s ease;text-align:left}.homebrew-background-modal .skill-button:hover{background:var(--5e-bg-secondary);border-color:var(--5e-text-muted)}.homebrew-background-modal .skill-button.selected{background:var(--5e-bg-secondary);border-color:var(--5e-link-blue);color:var(--5e-link-blue);font-weight:600}.homebrew-background-modal .skill-button.selected:hover{background:var(--5e-bg-tertiary);box-shadow:0 0 0 2px #7db6e833}.propagation-banner{background:#8968381f;border-bottom:1px solid rgba(243,156,18,.25);border-left:3px solid var(--color-warning);padding:.55rem 1rem;display:flex;flex-direction:column;gap:.45rem}.propagation-banner-header{display:flex;align-items:center;gap:.75rem}.propagation-banner-title{font-size:.8rem;font-weight:600;color:var(--color-warning);flex:1}.propagation-banner-bulk{display:flex;align-items:center;gap:.15rem;font-size:.75rem}.prop-bulk-sep{color:var(--5e-border-primary);padding:0 .1rem}.prop-bulk-btn{background:none;border:none;color:var(--5e-text-muted);font-size:.75rem;cursor:pointer;padding:.1rem .35rem;border-radius:3px;transition:color .15s}.prop-bulk-btn:hover:not(:disabled){color:var(--5e-text-light)}.prop-bulk-btn:disabled{opacity:.35;cursor:default}.propagation-banner-body{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.propagation-banner-items{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;flex:1}.prop-item{display:flex;align-items:baseline;gap:.35rem;cursor:pointer;font-size:.8rem;-webkit-user-select:none;user-select:none}.prop-item input[type=checkbox]{cursor:pointer;accent-color:var(--color-warning);width:13px;height:13px;flex-shrink:0;position:relative;top:1px}.prop-item-label{color:var(--5e-text-primary);font-weight:500;white-space:nowrap}.prop-item-desc{color:var(--5e-text-muted);font-size:.75rem}.propagation-banner-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.prop-apply-btn{padding:.3rem .8rem;background:var(--5e-btn-warning-bg);border:1px solid var(--color-warning);border-radius:4px;color:var(--color-warning);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.prop-apply-btn:hover:not(:disabled){background:#f39c1233;border-color:var(--color-warning);color:var(--5e-text-white)}.prop-apply-btn:disabled{opacity:.35;cursor:not-allowed}.prop-dismiss-btn{background:none;border:none;color:var(--5e-text-muted);font-size:.8rem;cursor:pointer;padding:.3rem .4rem;border-radius:4px;transition:color .15s;white-space:nowrap}.prop-dismiss-btn:hover{color:var(--5e-text-primary)}.user-menu{position:relative;display:inline-block;font-family:var(--font-ui)}.user-menu-trigger{display:flex;min-height:2.65rem;align-items:center;gap:var(--space-2);padding:.65rem .9rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-ui);font-size:var(--text-sm);background:var(--surface-panel);cursor:pointer;transition:color var(--duration-fast) ease,border-color var(--duration-fast) ease,background var(--duration-fast) ease}.user-menu-trigger:hover,.user-menu-trigger[aria-expanded=true]{border-color:var(--border-strong);color:var(--text-primary);background:var(--surface-panel-raised)}.user-menu-trigger .username{color:inherit;font-family:var(--font-data);font-size:var(--text-xs);font-weight:500}.user-menu-trigger .chevron{font-size:.65rem;transition:transform var(--duration-fast) var(--ease-forge)}.user-menu-trigger .chevron.open{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;z-index:1000;top:calc(100% + var(--space-2));right:0;min-width:14rem;overflow:hidden;padding:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-panel-raised);box-shadow:0 22px 55px #01050e85;animation:menu-seat var(--duration-fast) var(--ease-forge) both}.last-saved-info{width:100%;padding:var(--space-2) var(--space-3) var(--space-3);border-bottom:1px solid var(--border-subtle);color:var(--text-muted);font-family:var(--font-data);font-size:.68rem;text-align:left}.menu-item{display:flex;width:100%;min-height:2.55rem;align-items:center;gap:var(--space-3);padding:.65rem var(--space-3);border:0;border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;text-align:left;background:transparent;cursor:pointer;transition:color var(--duration-fast) ease,background var(--duration-fast) ease}.menu-item:hover:not(:disabled){color:var(--text-primary);background:#2f72dc24}.menu-item:disabled{cursor:not-allowed;opacity:.5}.menu-item.logout{margin-top:var(--space-2);border-top:1px solid var(--border-subtle);border-radius:0 0 var(--radius-sm) var(--radius-sm)}.menu-item.logout:hover{color:#ffcbd1;background:#b83b4924}.menu-icon{flex:0 0 auto;color:var(--text-muted);font-size:.9rem}.menu-item:hover .menu-icon{color:currentColor}@keyframes menu-seat{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.forge-dialog-backdrop{position:fixed;z-index:2000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-4);background:#01050ed1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:forge-fade var(--duration-fast) ease both}.forge-dialog{width:min(100%,31rem);padding:var(--space-6);border:1px solid var(--border-strong);border-radius:var(--radius-lg);color:var(--text-primary);background:linear-gradient(145deg,rgba(20,85,192,.09),transparent 48%),var(--surface-panel-raised);box-shadow:var(--shadow-panel);animation:forge-dialog-seat var(--duration-base) var(--ease-forge) both}.forge-dialog--danger{border-color:#b83b497a}.forge-dialog-mark{display:grid;width:3rem;height:3rem;place-items:center;margin-bottom:var(--space-5);border:1px solid rgba(231,184,62,.35);border-radius:50%;color:var(--forge-gold-400);background:#e7b83e12}.forge-dialog--danger .forge-dialog-mark{border-color:#b83b4973;color:#ffabb4;background:#b83b491f}.forge-dialog-eyebrow{margin:0 0 var(--space-2);color:var(--text-accent);font:500 var(--text-xs) var(--font-data);letter-spacing:.12em;text-transform:uppercase}.forge-dialog h2{margin:0;color:var(--text-primary);font:400 var(--text-2xl)/1.15 var(--font-display)}.forge-dialog-description{margin:var(--space-3) 0 0;color:var(--text-secondary);line-height:1.65}.forge-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}.forge-dialog-actions button{min-height:2.9rem;padding:.7rem 1rem;border-radius:var(--radius-md);font:600 var(--text-sm) var(--font-ui);cursor:pointer}.forge-dialog-cancel{border:1px solid var(--border-strong);color:var(--text-secondary);background:transparent}.forge-dialog-cancel:hover{color:var(--text-primary);background:var(--surface-control)}.forge-dialog-confirm{border:1px solid #0a3d97;color:#fff;background:var(--forge-royal-600)}.forge-dialog--danger .forge-dialog-confirm{border-color:#ffffff14;background:var(--forge-danger)}.forge-dialog-confirm:hover{filter:brightness(1.12)}.forge-dialog-actions button:disabled{cursor:wait;opacity:.58}.forge-toast{position:fixed;z-index:2100;right:var(--space-5);bottom:var(--space-5);display:grid;grid-template-columns:auto minmax(0,1fr) auto;max-width:min(28rem,calc(100vw - 2rem));align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid rgba(37,133,83,.48);border-radius:var(--radius-md);color:#c9f3d9;font-size:var(--text-sm);background:#102b24;box-shadow:0 18px 48px #01050e75;animation:forge-toast-seat var(--duration-base) var(--ease-forge) both}.forge-toast--error{border-color:#b83b4985;color:#ffd7dc;background:#301820}.forge-toast-mark{display:grid;width:1.4rem;height:1.4rem;place-items:center;border-radius:50%;color:#07150d;font:700 .72rem var(--font-data);background:#78d8a2}.forge-toast--error .forge-toast-mark{color:#fff;background:var(--forge-danger)}.forge-toast button{padding:0;border:0;color:inherit;font-size:1.25rem;line-height:1;background:none;cursor:pointer;opacity:.75}@keyframes forge-fade{0%{opacity:0}}@keyframes forge-dialog-seat{0%{opacity:0;transform:translateY(12px) scale(.985)}}@keyframes forge-toast-seat{0%{opacity:0;transform:translateY(12px)}}@media (max-width:520px){.forge-dialog{padding:var(--space-5)}.forge-dialog-actions{grid-template-columns:1fr}.forge-toast{right:var(--space-4);bottom:var(--space-4);left:var(--space-4)}}.character-list-screen{position:relative;isolation:isolate;min-height:100vh;color:var(--text-primary);background:radial-gradient(circle at 12% 18%,rgba(20,85,192,.16),transparent 31rem),radial-gradient(circle at 88% 74%,rgba(231,184,62,.055),transparent 25rem),var(--surface-canvas)}.character-list-screen:before{position:fixed;z-index:-1;top:0;right:0;bottom:0;left:0;content:"";opacity:.18;pointer-events:none;background-image:linear-gradient(rgba(159,176,200,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(159,176,200,.06) 1px,transparent 1px);background-size:4rem 4rem;-webkit-mask-image:linear-gradient(to bottom,black,transparent 72%);mask-image:linear-gradient(to bottom,black,transparent 72%)}.character-list-header{position:sticky;z-index:20;top:0;border-bottom:1px solid var(--border-subtle);background:#050b16e0;box-shadow:0 12px 36px #01050e2e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.header-content{display:flex;align-items:center;justify-content:space-between;width:min(100% - 3rem,88rem);min-height:4.75rem;margin-inline:auto}.app-lockup,.header-right{display:flex;align-items:center}.app-lockup{gap:var(--space-3)}.app-crest{position:relative;display:grid;width:2.35rem;height:2.65rem;place-items:center;color:var(--forge-midnight-950);font-family:var(--font-data);font-size:.62rem;font-weight:600;background:var(--forge-gold-500);clip-path:polygon(50% 0,94% 15%,86% 72%,50% 100%,14% 72%,6% 15%)}.app-title{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:.02em}.header-right{gap:var(--space-3)}.header-create-btn,.create-btn-large{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid #0a3d97;border-radius:var(--radius-md);color:#fff;font-family:var(--font-ui);font-weight:600;background:var(--forge-royal-600);box-shadow:var(--shadow-control);cursor:pointer;transition:transform var(--duration-fast) var(--ease-forge),background var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.header-create-btn{min-height:2.65rem;padding:.65rem 1rem;font-size:var(--text-sm)}.header-create-btn:hover,.create-btn-large:hover{background:var(--forge-royal-500);box-shadow:0 12px 28px #0d3f9b47;transform:translateY(-1px)}.character-list-main{padding:clamp(2.5rem,6vw,5.5rem) 1.5rem 5rem}.character-list-container{width:min(100%,82rem);margin-inline:auto}.list-header{display:flex;align-items:end;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-7);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-subtle)}.list-eyebrow,.character-kicker{margin:0 0 var(--space-2);color:var(--text-accent);font-family:var(--font-data);font-size:var(--text-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase}.list-title{margin:0;color:var(--text-primary);font-family:var(--font-display);font-size:clamp(2.4rem,5vw,4.4rem);font-weight:400;line-height:1}.list-description{max-width:36rem;margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:var(--text-base);line-height:1.6}.library-count{display:flex;flex-direction:column;align-items:flex-end;flex:0 0 auto;color:var(--text-muted);font-family:var(--font-data);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.library-count strong{color:var(--forge-gold-400);font-size:var(--text-2xl);font-weight:500;line-height:1}.error-message{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-3) var(--space-4);border:1px solid rgba(184,59,73,.38);border-radius:var(--radius-md);color:#ffd7dc;font-size:var(--text-sm);background:#b83b4924}.error-message .error-icon{display:grid;width:1.35rem;height:1.35rem;place-items:center;border-radius:50%;color:#fff;font-family:var(--font-data);font-size:.7rem;background:var(--forge-danger)}.error-message button{margin-left:auto;padding:0;border:0;color:#ffd7dc;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:.2em;background:none;cursor:pointer}.character-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));gap:var(--space-5)}.character-card{position:relative;overflow:hidden;min-width:0;padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);color:var(--text-primary);background:linear-gradient(145deg,rgba(20,85,192,.07),transparent 45%),var(--surface-panel);box-shadow:0 20px 55px #01050e3d;transition:border-color var(--duration-base) ease,transform var(--duration-base) var(--ease-forge),box-shadow var(--duration-base) ease}.character-card:before{position:absolute;top:0;bottom:0;left:0;width:3px;content:"";background:linear-gradient(var(--forge-gold-400),rgba(231,184,62,.08))}.character-card:hover{border-color:#e7b83e4d;box-shadow:0 26px 64px #01050e57;transform:translateY(-3px)}.card-identity{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-4)}.character-monogram{display:grid;width:3.25rem;height:3.25rem;place-items:center;border:1px solid var(--border-gold);border-radius:50%;color:var(--forge-gold-400);font-family:var(--font-display);font-size:var(--text-xl);background:#e7b83e12}.character-heading{min-width:0}.character-kicker{margin-bottom:var(--space-1);color:var(--text-muted);font-size:.65rem}.character-name{overflow:hidden;margin:0;color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.character-level{display:flex;flex-direction:column;align-items:center;justify-content:center;width:3.35rem;height:3.35rem;border-radius:50%;color:var(--forge-midnight-950);font-family:var(--font-data);line-height:1;background:var(--forge-gold-500);box-shadow:0 0 0 5px #e7b83e1a}.character-level span{margin-bottom:.1rem;padding:0;border:0;font-size:.53rem;letter-spacing:.05em;text-transform:uppercase;background:transparent;box-shadow:none}.character-level strong{padding:0;border:0;color:inherit;font-size:var(--text-lg);font-weight:600;background:transparent;box-shadow:none}.level-thread{display:grid;grid-template-columns:auto 1fr auto;align-items:center;margin:var(--space-5) 0}.thread-line{height:1px;background:linear-gradient(to right,var(--forge-gold-500),rgba(159,176,200,.22))}.thread-node{display:grid;width:1.75rem;height:1.75rem;place-items:center;border:1px solid var(--border-gold);border-radius:50%;color:var(--forge-gold-400);font-family:var(--font-data);font-size:.65rem;background:var(--surface-panel)}.thread-node.is-current{color:var(--forge-midnight-950);background:var(--forge-gold-500)}.card-meta{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-5);padding:var(--space-4) 0;border-block:1px solid var(--border-subtle)}.meta-item{display:flex;flex-direction:column;gap:var(--space-1);color:var(--text-secondary);font-family:var(--font-data);font-size:var(--text-xs)}.meta-item small{color:var(--text-muted);font-family:var(--font-ui);font-size:.68rem;letter-spacing:.07em;text-transform:uppercase}.card-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--space-2)}.action-btn{display:inline-flex;min-height:2.65rem;align-items:center;justify-content:center;gap:var(--space-2);padding:.65rem .85rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;background:transparent;cursor:pointer;transition:color var(--duration-fast) ease,border-color var(--duration-fast) ease,background var(--duration-fast) ease}.action-btn.primary{justify-content:space-between;padding-inline:var(--space-4);border-color:#0a3d97;color:#fff;background:var(--forge-royal-600)}.action-btn.primary:hover{background:var(--forge-royal-500)}.action-btn.secondary:hover{border-color:#2f72dc94;color:#fff;background:#2f72dc1f}.action-btn.danger:hover{border-color:#b83b4980;color:#ffcbd1;background:#b83b491f}.placeholder-card{display:grid;min-height:22rem;place-items:center;border-style:dashed;color:inherit;font-family:var(--font-ui);text-align:center;background:#0d1b306b;cursor:pointer}.placeholder-card:before{display:none}.placeholder-card:hover{border-color:#2f72dc99;background:#1455c014}.placeholder-content{display:flex;flex-direction:column;align-items:center}.placeholder-icon{display:grid;width:3.25rem;height:3.25rem;place-items:center;margin-bottom:var(--space-4);border:1px solid var(--border-strong);border-radius:50%;color:var(--forge-gold-400);background:var(--surface-panel-raised);transition:transform var(--duration-base) var(--ease-forge)}.placeholder-card:hover .placeholder-icon{transform:rotate(90deg)}.placeholder-title{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-xl)}.placeholder-text{margin-top:var(--space-2);color:var(--text-muted);font-size:var(--text-sm)}.empty-state{display:flex;min-height:28rem;align-items:center;flex-direction:column;justify-content:center;padding:var(--space-7);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:center;background:var(--surface-panel);box-shadow:var(--shadow-panel)}.empty-seal{display:grid;width:5rem;height:5rem;place-items:center;margin-bottom:var(--space-5);border:1px solid var(--border-gold);border-radius:50%;color:var(--forge-gold-400);font-size:var(--text-2xl);background:#e7b83e12}.empty-state h2{margin:0;color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-3xl);font-weight:400}.empty-state>p:not(.list-eyebrow){max-width:33rem;margin:var(--space-3) 0 var(--space-5);color:var(--text-secondary);line-height:1.65}.create-btn-large{min-height:3.25rem;padding:.85rem 1.25rem}.loading-container{display:flex;min-height:100vh;align-items:center;flex-direction:column;justify-content:center;gap:var(--space-4);color:var(--text-secondary)}.loading-crest{display:grid;width:3rem;height:3.35rem;place-items:center;color:var(--forge-midnight-950);font-family:var(--font-data);font-size:.72rem;background:var(--forge-gold-500);clip-path:polygon(50% 0,94% 15%,86% 72%,50% 100%,14% 72%,6% 15%)}.loading-spinner{width:8rem;height:1px;overflow:hidden;background:var(--border-subtle)}.loading-spinner:after{display:block;width:42%;height:100%;content:"";background:var(--forge-gold-500);animation:loading-thread 1.1s var(--ease-forge) infinite alternate}.loading-container p{margin:0;font-family:var(--font-data);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}@keyframes loading-thread{0%{transform:translate(-100%)}to{transform:translate(240%)}}@media (max-width: 760px){.header-content{width:min(100% - 2rem,88rem)}.header-create-btn span,.header-create-btn:not(:has(span)){display:inline-flex}.list-header{align-items:flex-start;flex-direction:column}.library-count{align-items:flex-start}.card-actions{grid-template-columns:1fr 1fr}.action-btn.primary{grid-column:1 / -1}}@media (max-width: 520px){.app-title{display:none}.header-create-btn{padding-inline:var(--space-3)}.character-list-main{padding-inline:var(--space-4)}.character-card{padding:var(--space-4)}.card-identity{grid-template-columns:auto minmax(0,1fr)}.character-level{grid-column:1 / -1;justify-self:start}}.deleted-bin-container{min-height:100vh;color:var(--text-primary);background:radial-gradient(circle at 15% 15%,rgba(20,85,192,.13),transparent 30rem),var(--surface-canvas)}.bin-header{position:sticky;z-index:100;top:0;border-bottom:1px solid var(--border-subtle);background:#050b16e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bin-header-inner{display:flex;width:min(100% - 3rem,88rem);min-height:4.75rem;align-items:center;justify-content:space-between;margin-inline:auto}.bin-lockup{display:flex;align-items:center;gap:var(--space-3);color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-xl)}.bin-crest{display:grid;width:2.35rem;height:2.65rem;place-items:center;color:var(--forge-midnight-950);font-family:var(--font-data);font-size:.62rem;background:var(--forge-gold-500);clip-path:polygon(50% 0,94% 15%,86% 72%,50% 100%,14% 72%,6% 15%)}.back-btn{min-height:2.65rem;padding:.65rem 1rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-secondary);font:600 var(--text-sm) var(--font-ui);background:var(--surface-panel);cursor:pointer}.back-btn:hover{color:var(--text-primary);border-color:#2f72dc8c;background:var(--surface-panel-raised)}.bin-content{width:min(100% - 3rem,76rem);margin-inline:auto;padding:clamp(2.5rem,6vw,5.5rem) 0 5rem}.bin-page-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-7);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-subtle)}.bin-eyebrow{margin:0 0 var(--space-2);color:var(--text-accent);font:500 var(--text-xs) var(--font-data);letter-spacing:.12em;text-transform:uppercase}.bin-title{margin:0;color:var(--text-primary);font:400 clamp(2.3rem,5vw,4rem)/1 var(--font-display)}.bin-page-heading p:last-child{margin:var(--space-3) 0 0;color:var(--text-secondary)}.bin-heading-icon{color:#9fb0c84d;font-size:2.3rem}.error-banner,.bin-notice{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm)}.error-banner{justify-content:space-between;border:1px solid rgba(184,59,73,.38);color:#ffd7dc;background:#b83b4924}.bin-notice{border:1px solid rgba(231,184,62,.28);color:var(--forge-gold-400);background:#e7b83e12}.error-actions{display:flex;gap:var(--space-2)}.retry-btn,.dismiss-btn{padding:.45rem .75rem;border:1px solid currentColor;border-radius:var(--radius-sm);color:inherit;font:600 var(--text-sm) var(--font-ui);background:transparent;cursor:pointer}.deleted-characters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:var(--space-5)}.deleted-bin-container .deleted-character-card{padding:var(--space-5);border:1px solid var(--border-subtle);border-left:3px solid rgba(184,59,73,.65);border-radius:var(--radius-lg);background:var(--surface-panel);box-shadow:0 20px 55px #01050e3d}.deleted-bin-container .character-info{margin-bottom:var(--space-5)}.deleted-bin-container .character-name{margin:0 0 var(--space-3);color:var(--text-primary);font:400 var(--text-2xl) var(--font-display)}.deleted-bin-container .character-meta{margin:0 0 var(--space-4);color:var(--forge-gold-400);font:var(--text-sm) var(--font-data)}.deletion-info,.purge-warning{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--text-sm)}.purge-warning{color:var(--text-secondary);font-weight:600}.purge-warning.urgent{color:#ff9ca7}.deleted-bin-container .character-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.deleted-bin-container .action-btn{min-height:2.65rem;padding:.65rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-secondary);font:600 var(--text-sm) var(--font-ui);background:transparent;cursor:pointer}.deleted-bin-container .restore-btn:hover{color:#8fdfb4;border-color:#258553a6;background:#25855321}.deleted-bin-container .delete-btn:hover{color:#ffcbd1;border-color:#b83b498c;background:#b83b4921}.deleted-bin-container .empty-state{min-height:25rem;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-panel)}.deleted-bin-container .empty-icon{margin-bottom:var(--space-4);color:var(--forge-gold-400);font-size:3rem}.deleted-bin-container .empty-state h3{margin:0;color:var(--text-primary);font:400 var(--text-2xl) var(--font-display)}.deleted-bin-container .empty-state p{max-width:34rem;margin:var(--space-3) auto 0;color:var(--text-secondary);line-height:1.6}@media (max-width: 650px){.bin-lockup span:last-child{display:none}.bin-content{width:min(100% - 2rem,76rem)}.bin-page-heading{align-items:flex-start}.bin-heading-icon{display:none}.deleted-bin-container .character-actions{grid-template-columns:1fr}}.auth-screen{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(34rem,1.12fr) minmax(30rem,.88fr);min-height:100vh;overflow:hidden;color:var(--forge-steel-300);background:radial-gradient(circle at 18% 18%,rgba(20,85,192,.25),transparent 32rem),linear-gradient(145deg,var(--forge-midnight-800),var(--forge-midnight-950) 72%)}.auth-screen:before{position:absolute;z-index:-2;top:0;right:0;bottom:0;left:0;content:"";opacity:.22;background-image:linear-gradient(rgba(159,176,200,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(159,176,200,.08) 1px,transparent 1px);background-size:4rem 4rem;-webkit-mask-image:linear-gradient(to right,black,transparent 78%);mask-image:linear-gradient(to right,black,transparent 78%)}.auth-atmosphere{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;pointer-events:none}.auth-orbit{position:absolute;display:block;border:1px solid rgba(231,184,62,.13);border-radius:50%}.auth-orbit:before,.auth-orbit:after{position:absolute;top:50%;left:50%;content:"";background:#e7b83e1f;transform:translate(-50%,-50%)}.auth-orbit:before{width:1px;height:115%}.auth-orbit:after{width:115%;height:1px}.auth-orbit-one{top:-14rem;left:-13rem;width:38rem;height:38rem}.auth-orbit-two{bottom:-22rem;left:28%;width:42rem;height:42rem}.auth-brand-panel{display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(2rem,5vw,5rem);border-right:1px solid var(--border-subtle-dark)}.auth-brand-lockup{display:flex;align-items:center;gap:var(--space-3)}.auth-crest{position:relative;display:grid;width:3rem;height:3.35rem;place-items:center;color:var(--forge-midnight-950);background:var(--forge-gold-500);clip-path:polygon(50% 0,94% 15%,86% 72%,50% 100%,14% 72%,6% 15%);filter:drop-shadow(0 8px 12px rgba(0,0,0,.3))}.auth-crest:after{position:absolute;top:5px;right:5px;bottom:5px;left:5px;content:"";border:1px solid rgba(8,20,38,.52);clip-path:inherit}.auth-crest span{z-index:1;font-family:var(--font-data);font-size:.72rem;font-weight:600;letter-spacing:.04em}.auth-brand-name{margin:0;color:var(--forge-folio-50);font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:.025em}.auth-brand-copy{max-width:46rem;margin-block:clamp(4rem,11vh,8rem)}.auth-brand-kicker,.auth-eyebrow{margin:0 0 var(--space-3);color:var(--forge-gold-400);font-family:var(--font-data);font-size:var(--text-xs);font-weight:500;letter-spacing:.13em;text-transform:uppercase}.auth-brand-copy h1{max-width:14ch;margin:0;color:var(--forge-folio-50);font-family:var(--font-display);font-size:var(--text-display);font-weight:400;line-height:.98;text-wrap:balance}.auth-brand-copy>p:last-child{max-width:38rem;margin:var(--space-5) 0 0;color:var(--forge-steel-300);font-size:var(--text-lg);line-height:1.7}.auth-chronicle{width:min(100%,35rem)}.auth-chronicle-labels{display:flex;justify-content:space-between;margin-bottom:var(--space-3);color:var(--forge-steel-400);font-family:var(--font-data);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.auth-chronicle-track{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center}.auth-chronicle-line{height:1px;background:linear-gradient(to right,var(--forge-gold-500),rgba(159,176,200,.28))}.auth-chronicle-node{display:grid;width:2rem;height:2rem;place-items:center;border:1px solid var(--border-gold);border-radius:50%;color:var(--forge-gold-400);font-family:var(--font-data);font-size:var(--text-xs);background:var(--forge-midnight-900)}.auth-chronicle-node.is-current{color:var(--forge-midnight-950);background:var(--forge-gold-500);box-shadow:0 0 0 6px #e7b83e1f}.auth-form-panel{display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:clamp(2rem,5vw,5.5rem);color:var(--text-primary);background:radial-gradient(circle at 100% 0%,rgba(20,85,192,.13),transparent 28rem),linear-gradient(155deg,var(--surface-panel-raised),var(--surface-panel) 58%,#091526);box-shadow:-28px 0 80px #01050e57,inset 1px 0 #e7b83e14}.auth-mobile-brand{display:none}.auth-container{width:min(100%,31rem);margin-inline:auto;animation:auth-enter var(--duration-slow) var(--ease-forge) both}.auth-header{margin-bottom:var(--space-6)}.auth-title{margin:0;color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-3xl);font-weight:400;line-height:1.15}.auth-description{max-width:29rem;margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:var(--text-base);line-height:1.65}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-field{display:flex;flex-direction:column;gap:var(--space-2)}.auth-field label{color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.auth-field input{width:100%;min-height:3.25rem;padding:.85rem 1rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);outline:none;color:var(--text-primary);caret-color:var(--forge-gold-400);background:var(--surface-control);box-shadow:inset 0 1px #ffffff09,0 8px 22px #01050e24;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease,background var(--duration-fast) ease}.auth-field input:hover:not(:disabled){border-color:#2f72dc9e;background:var(--surface-control-hover)}.auth-field input:focus{border-color:var(--forge-royal-500);background:#172f50;box-shadow:var(--focus-ring)}.auth-field input::placeholder{color:#8698b2}.auth-field input:disabled{cursor:wait;opacity:.62}.auth-error{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid rgba(184,59,73,.3);border-radius:var(--radius-md);color:#ffd7dc;font-size:var(--text-sm);line-height:1.45;background:#b83b4926}.error-icon{display:grid;flex:0 0 auto;width:1.25rem;height:1.25rem;place-items:center;margin-top:1px;border-radius:50%;color:#fff;font-family:var(--font-data);font-size:.7rem;background:var(--forge-danger)}.auth-button{display:flex;align-items:center;justify-content:space-between;min-height:3.4rem;margin-top:var(--space-2);padding:.9rem 1.1rem .9rem 1.25rem;border:1px solid #0a3d97;border-radius:var(--radius-md);color:#fff;font-size:var(--text-base);font-weight:600;background:var(--forge-royal-600);box-shadow:var(--shadow-control);cursor:pointer;transition:transform var(--duration-fast) var(--ease-forge),background var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.auth-button:hover:not(:disabled){background:var(--forge-royal-500);box-shadow:0 12px 28px #0d3f9b42;transform:translateY(-2px)}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{cursor:wait;opacity:.64}.auth-button-arrow{color:var(--forge-gold-400);font-family:var(--font-data);font-size:var(--text-xl);line-height:1;transition:transform var(--duration-fast) var(--ease-forge)}.auth-button:hover .auth-button-arrow{transform:translate(3px)}.auth-footer{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border-subtle);text-align:center}.auth-footer p{margin:0;color:var(--text-secondary);font-size:var(--text-sm)}.auth-link{padding:0;border:0;color:var(--forge-gold-400);font-size:inherit;font-weight:600;text-decoration:underline;text-decoration-color:#f2cf6a4d;text-underline-offset:.22em;background:none;cursor:pointer;transition:color var(--duration-fast) ease,text-decoration-color var(--duration-fast) ease}.auth-link:hover:not(:disabled){color:#ffe39a;text-decoration-color:currentColor}.auth-link:disabled{cursor:wait;opacity:.55}.auth-edition-note{width:min(100%,31rem);margin:var(--space-6) auto 0;color:var(--text-muted);font-family:var(--font-data);font-size:var(--text-xs);letter-spacing:.06em;text-align:center;text-transform:uppercase}@keyframes auth-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 980px){.auth-screen{grid-template-columns:1fr;overflow:auto}.auth-brand-panel{display:none}.auth-form-panel{min-height:100vh}.auth-mobile-brand{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-7);color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-xl)}.auth-mobile-mark{display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:50%;color:var(--forge-midnight-950);font-family:var(--font-data);font-size:.7rem;background:var(--forge-gold-500)}}@media (max-width: 520px){.auth-form-panel{justify-content:flex-start;padding:var(--space-5)}.auth-mobile-brand{margin:var(--space-4) 0 var(--space-6)}.auth-title{font-size:var(--text-2xl)}}.settings-page{min-height:100vh;padding:clamp(2rem,6vw,5rem) 1.5rem;color:var(--text-primary);background:radial-gradient(circle at 12% 12%,rgba(20,85,192,.14),transparent 30rem),var(--surface-canvas)}.settings-container{width:min(100%,58rem);margin-inline:auto}.settings-header{display:flex;align-items:end;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-7);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-subtle)}.settings-eyebrow{margin:0 0 var(--space-2);color:var(--text-accent);font:500 var(--text-xs) var(--font-data);letter-spacing:.12em;text-transform:uppercase}.settings-header h1{margin:0;color:var(--text-primary);font:400 clamp(2.5rem,6vw,4.5rem)/1 var(--font-display)}.settings-intro{margin:var(--space-3) 0 0;color:var(--text-secondary)}.back-to-characters-btn{flex:0 0 auto;min-height:2.65rem;padding:.65rem 1rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-secondary);font:600 var(--text-sm) var(--font-ui);background:var(--surface-panel);cursor:pointer}.back-to-characters-btn:hover{color:var(--text-primary);border-color:#2f72dc8c;background:var(--surface-panel-raised)}.settings-section{margin-bottom:var(--space-5);padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-panel);box-shadow:0 18px 48px #01050e33}.section-heading{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.section-number{color:var(--forge-gold-400);font:var(--text-sm) var(--font-data)}.section-heading h2{margin:0;color:var(--text-primary);font:400 var(--text-xl) var(--font-display)}.section-heading p{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--text-sm)}.account-info{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.info-item{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-panel-raised)}.info-label{color:var(--text-muted);font-size:.68rem;letter-spacing:.07em;text-transform:uppercase}.info-value{color:var(--text-primary);font-family:var(--font-data);font-size:var(--text-sm)}.settings-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.form-group input{min-height:3.15rem;padding:.8rem 1rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);outline:none;color:var(--text-primary);caret-color:var(--forge-gold-400);background:var(--surface-control)}.form-group input::placeholder{color:#8698b2}.form-group input:hover:not(:disabled){border-color:#2f72dc99;background:var(--surface-control-hover)}.form-group input:focus{border-color:var(--forge-royal-500);box-shadow:var(--focus-ring)}.form-group input:disabled{cursor:wait;opacity:.55}.form-error,.form-success{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm)}.form-error{border:1px solid rgba(184,59,73,.38);color:#ffd7dc;background:#b83b4924}.form-success{border:1px solid rgba(37,133,83,.45);color:#b9f0d0;background:#25855324}.settings-button,.danger-button,.cancel-button{min-height:2.8rem;padding:.7rem 1.1rem;border-radius:var(--radius-md);font:600 var(--text-sm) var(--font-ui);cursor:pointer}.settings-button{align-self:flex-start;border:1px solid #0a3d97;color:#fff;background:var(--forge-royal-600)}.settings-button:hover:not(:disabled){background:var(--forge-royal-500)}.danger-section{border-color:#b83b4961}.danger-text,.modal-warning{color:#e9aab2;line-height:1.55}.danger-button{border:1px solid rgba(255,255,255,.08);color:#fff;background:var(--forge-danger)}.danger-button:hover:not(:disabled){background:#d14857}.settings-button:disabled,.danger-button:disabled,.cancel-button:disabled{cursor:wait;opacity:.55}.modal-overlay{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#01050ed1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-content{width:min(100%,32rem);max-height:90vh;overflow:auto;padding:var(--space-6);border:1px solid rgba(184,59,73,.45);border-radius:var(--radius-lg);color:var(--text-primary);background:var(--surface-panel-raised);box-shadow:var(--shadow-panel)}.modal-content h2{margin:0 0 var(--space-3);color:var(--text-primary);font:400 var(--text-2xl) var(--font-display)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5)}.cancel-button{border:1px solid var(--border-strong);color:var(--text-secondary);background:transparent}.cancel-button:hover:not(:disabled){color:var(--text-primary);background:var(--surface-control)}@media (max-width:650px){.settings-header{align-items:flex-start;flex-direction:column}.account-info{grid-template-columns:1fr}.back-to-characters-btn{width:100%}.modal-actions{flex-direction:column-reverse}}.version-selector{display:grid;grid-template-columns:minmax(15rem,.72fr) minmax(28rem,1.5fr);align-items:end;gap:clamp(2rem,5vw,5rem);min-width:0;flex:1}.chronicle-identity{min-width:0}.chronicle-identity>p{margin:0 0 var(--space-2);color:var(--text-accent);font:500 var(--text-xs) var(--font-data);letter-spacing:.12em;text-transform:uppercase}.chronicle-title-row{display:flex;min-width:0;align-items:center;gap:var(--space-3)}.chronicle-title-row h1{overflow:hidden;margin:0;color:var(--text-primary);font:400 clamp(2rem,3.6vw,3.5rem)/1 var(--font-display);text-overflow:ellipsis;white-space:nowrap}.chronicle-status{flex:0 0 auto;padding:.32rem .55rem;border:1px solid rgba(231,184,62,.34);border-radius:999px;color:var(--forge-gold-400);font:500 .62rem var(--font-data);letter-spacing:.06em;text-transform:uppercase;background:#e7b83e12}.chronicle-status.is-history{border-color:#2f72dc6b;color:#a9c8fa;background:#2f72dc1a}.chronicle-status.is-unlinked{border-color:#b86b1880;color:#f0b875;background:#b86b181f}.chronicle-navigation{min-width:0}.chronicle-labels{display:flex;justify-content:space-between;margin-bottom:var(--space-3);color:var(--text-muted);font:var(--text-xs) var(--font-data);letter-spacing:.08em;text-transform:uppercase}.chronicle-track{display:flex;align-items:center;overflow-x:auto;padding:6px 3px 9px;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.chronicle-step{display:flex;min-width:0;flex:1 0 auto;align-items:center}.chronicle-line{width:clamp(1.8rem,4vw,4.5rem);height:1px;background:linear-gradient(to right,var(--forge-gold-500),rgba(159,176,200,.26))}.chronicle-line.is-unlinked{background:repeating-linear-gradient(to right,rgba(184,107,24,.7) 0 5px,transparent 5px 9px)}.chronicle-node{display:grid;width:2.15rem;height:2.15rem;flex:0 0 auto;place-items:center;border:1px solid var(--border-gold);border-radius:50%;color:var(--forge-gold-400);font:var(--text-xs) var(--font-data);background:var(--surface-panel);cursor:pointer;transition:transform var(--duration-fast) var(--ease-forge),background var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.chronicle-node:hover{transform:translateY(-2px);background:var(--surface-panel-raised)}.chronicle-node.is-current-build{color:var(--forge-midnight-950);background:var(--forge-gold-500);box-shadow:0 0 0 5px #e7b83e1a}.chronicle-node.is-selected{outline:2px solid var(--forge-royal-500);outline-offset:3px}.chronicle-node.is-unlinked{border-style:dashed;border-color:#b86b18b8;color:#f0b875;background:#291d16}.chronicle-node.is-unlinked.is-selected{outline-color:#d48b35}@media (max-width:950px){.version-selector{grid-template-columns:1fr;gap:var(--space-5)}}:root{--5e-bg-body: #111;--5e-bg-primary: #222;--5e-bg-secondary: #272727;--5e-bg-tertiary: #333;--5e-bg-alt: #383838;--5e-bg-inset: #323431;--5e-bg-inset-alt: #28303a;--5e-bg-input: #222;--5e-bg-input-disabled: rgba(14, 14, 14, .533);--5e-text-primary: var(--text-secondary);--5e-text-muted: var(--text-muted);--5e-text-heading: #D29A38;--5e-text-white: var(--text-primary);--5e-text-light: var(--forge-steel-300);--5e-text-dark: #333;--5e-link-blue: #22946E;--5e-link-hover: #5080b3;--5e-color-link: #D53A59;--5e-accent-blue: #337ab7;--5e-accent-blue-light: #7398b7;--color-primary: #A82235;--color-primary-hover: #E55A75;--color-primary-active: #C12A49;--color-secondary: #22946E;--color-secondary-hover: #2AB085;--color-accent-blue: #5397C0;--color-accent-blue-hover: #6aabcf;--color-accent-brown: #AC753C;--color-accent-purple: #915bd3;--color-danger: #e74c3c;--color-danger-hover: #e8505f;--color-warning: #f39c12;--color-success: #27ae60;--color-info: #3498db;--5e-border-primary: #555;--5e-border-grey: #404040;--5e-border-secondary: #444;--5e-border-tertiary: #656565;--5e-border-light: #ccc;--border-subtle: rgba(255, 255, 255, .1);--5e-border-focus: #66afe9;--5e-btn-default-bg: #222;--5e-btn-default-border: #555;--5e-btn-default-text: var(--text-secondary);--5e-btn-primary-bg: #2a4e6c;--5e-btn-danger-bg: #7e3a38;--5e-btn-danger-bg-hover: #a84745;--5e-btn-danger-bg-alpha: rgba(126, 58, 56, .2);--5e-btn-warning-bg: #896838;--5e-btn-info-bg: #2a697c;--5e-btn-success-bg: #427442;--5e-btn-hover-shadow: 0 0 1px 1px #888;--5e-text-danger: #ff6b6b;--5e-highlight-bg: #cc0;--5e-highlight-text: #222;--5e-stripe-odd: rgba(170, 170, 170, .133);--5e-shadow-dropdown: 0 6px 12px rgba(0, 0, 0, .56);--5e-shadow-panel: 0 1px 4px rgba(0, 0, 0, .475);--5e-spacer: 1rem;--5e-border-radius: 4px;--5e-border-radius-sm: 3px;--color-accent-blue-hover-border: rgba(83, 151, 192, .35);--color-accent-blue-selected-border: rgba(83, 151, 192, .4);--color-accent-blue-selected-bg: rgba(83, 151, 192, .05);--color-accent-blue-focus: rgba(83, 151, 192, .2);--color-accent-purple-count-bg: rgba(145, 91, 211, .18);--color-accent-purple-count-border: rgba(145, 91, 211, .4);--color-accent-purple-hover-border: rgba(145, 91, 211, .35);--color-accent-purple-selected-border:rgba(145, 91, 211, .5);--color-accent-purple-selected-bg: rgba(145, 91, 211, .06);--color-accent-purple-focus-border: rgba(145, 91, 211, .45);--color-accent-purple-muted-border: rgba(145, 91, 211, .2);--color-danger-text: #f87171;--color-danger-border: rgba(248, 113, 113, .5);--color-danger-hover-bg: rgba(248, 113, 113, .15);--color-danger-unmet-border: rgba(248, 113, 113, .4);--color-danger-unmet-bg: rgba(248, 113, 113, .08);--color-prereq-met: #6bcf7f;--color-prereq-met-border: rgba(107, 207, 127, .4);--color-prereq-met-bg: rgba(107, 207, 127, .08);--color-card-expand-icon: var(--forge-steel-400);--color-card-item-name: var(--text-primary);--color-source-badge-text: var(--text-muted);--color-source-badge-bg: rgba(255, 255, 255, .06)}body{background-color:var(--5e-bg-body)!important;color:var(--5e-text-primary)!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.42857143}.viewport-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-flow:column nowrap;overflow:auto;height:100vh;width:100vw}.view-col-wrapper{display:flex;flex-direction:row;max-height:100%;height:100%;min-height:0}.view-col{position:relative;margin:7px 7px 12px;flex:1;display:flex;flex-direction:column}.page__header{background:var(--5e-bg-primary);border-bottom:1px solid var(--5e-border-primary);padding:1rem 0}.page__title{color:var(--5e-text-primary);font-size:2rem;font-weight:300;margin:0}.page__subtitle{color:var(--5e-text-muted);font-size:.9rem;margin:0}.lst__form-top{display:flex;margin-bottom:.5rem;gap:.5rem}.lst__search{background:var(--5e-bg-input);border:1px solid var(--5e-border-primary);color:var(--5e-text-primary);border-radius:var(--5e-border-radius);flex:1;padding:.375rem .75rem .375rem 2rem}.lst__search:focus{border-color:var(--5e-border-focus);outline:none;box-shadow:0 0 0 2px #66afe940}.lst__wrp-search-glass{position:absolute;top:0;bottom:2px;left:6px;opacity:.5;display:flex;align-items:center;pointer-events:none;color:var(--5e-text-muted)}.ve-btn{background:var(--5e-btn-default-bg);border:1px solid var(--5e-btn-default-border);color:var(--5e-btn-default-text);padding:.375rem .75rem;border-radius:var(--5e-border-radius);font-size:14px;cursor:pointer;transition:all .15s ease-in-out}.ve-btn:hover{background:var(--5e-bg-secondary);text-decoration:none;box-shadow:var(--5e-btn-hover-shadow)}.ve-btn:active{box-shadow:inset 0 3px 7px #111e}.ve-btn-primary{background:var(--5e-btn-primary-bg);border-color:var(--5e-accent-blue);color:var(--5e-text-white)}.ve-btn-primary:hover{background:var(--5e-btn-primary-bg);box-shadow:var(--5e-btn-hover-shadow)}.ve-btn-xs{padding:.25rem .5rem;font-size:12px}.list{background:var(--5e-bg-primary);border:1px solid var(--5e-border-primary);border-radius:var(--5e-border-radius);overflow:hidden}.lst__row{border-bottom:1px solid var(--5e-border-secondary);transition:background-color .15s ease}.lst__row:last-child{border-bottom:none}.lst__row:hover{background:var(--5e-bg-alt)}.lst__row-inner{line-height:14px;color:inherit;display:flex;align-items:center;overflow:hidden;padding:8px 12px;text-decoration:none;cursor:pointer}.lst__row-inner:hover,.lst__row-inner:focus{text-decoration:none;color:inherit}.lst__row--selected{background:var(--5e-btn-primary-bg);color:var(--5e-text-white)}.lst__row--selected:hover{background:var(--5e-accent-blue)}.stats{background:var(--5e-bg-primary);border:1px solid var(--5e-border-primary);border-radius:var(--5e-border-radius);padding:1rem;overflow-y:auto}.stats h1,.stats h2,.stats h3,.stats h4{color:var(--5e-text-heading);border-bottom:1px solid var(--5e-text-heading);padding-bottom:.25rem;margin-bottom:.75rem}.stats p{margin-bottom:.75rem;line-height:1.4}.form-control{background:var(--5e-form-bg);border:1px solid var(--5e-border-grey);color:var(--5e-font-primary);padding:.375rem .75rem;border-radius:var(--5e-border-radius);font-size:14px}.form-control:focus{border-color:var(--5e-link-blue);outline:none;box-shadow:0 0 0 2px #7db6e840}.form-control option{background:var(--5e-form-bg);color:var(--5e-font-primary)}a{color:var(--5e-link-blue);text-decoration:none}a:hover{color:var(--5e-link-blue);text-decoration:underline}.ve-flex{display:flex}.ve-flex-v-baseline{align-items:baseline}.ve-flex-vh-center{display:flex;align-items:center;justify-content:center}.ve-col-4{flex:0 0 33.333333%}.ve-col-2{flex:0 0 16.666667%}.ve-grow{flex-grow:1}.no-wrap{white-space:nowrap}.no-events{pointer-events:none}.no-shrink{flex-shrink:0}.container{max-width:1200px;margin:0 auto;padding:0 15px}.input-group{display:flex;margin-bottom:.5rem}.input-group--bottom{border-top:1px solid var(--5e-border-grey);padding-top:.5rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--5e-bg-body)}::-webkit-scrollbar-thumb{background:var(--5e-border-grey);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--5e-font-muted)}@media screen and (max-width: 991px){.view-col-wrapper{flex-direction:column;max-height:none;height:initial;display:block}.view-col{margin:7px 7px 12px}}:root{--forge-midnight-950: #050b16;--forge-midnight-900: #081426;--forge-midnight-800: #10213a;--forge-royal-700: #0d3f9b;--forge-royal-600: #1455c0;--forge-royal-500: #2f72dc;--forge-gold-500: #e7b83e;--forge-gold-400: #f2cf6a;--forge-verdigris-500: #2baa8a;--forge-verdigris-300: #78d8bf;--forge-folio-100: #f4eedc;--forge-folio-50: #fbf8ee;--forge-ink-900: #192236;--forge-ink-700: #34415a;--forge-steel-400: #9fb0c8;--forge-steel-300: #bdc9da;--surface-canvas: var(--forge-midnight-950);--surface-frame: var(--forge-midnight-900);--surface-panel: #0d1b30;--surface-panel-raised: #122541;--surface-control: #142a49;--surface-control-hover: #193354;--text-primary: #f2f0e8;--text-secondary: var(--forge-steel-300);--text-muted: var(--forge-steel-400);--text-accent: var(--forge-gold-400);--border-subtle: rgba(189, 201, 218, .16);--border-strong: rgba(189, 201, 218, .28);--forge-success: #258553;--forge-warning: #b86b18;--forge-danger: #b83b49;--forge-info: var(--forge-royal-600);--font-display: "New Rocker", Georgia, serif;--font-ui: "IBM Plex Sans", "Segoe UI", sans-serif;--font-data: "IBM Plex Mono", "Cascadia Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.375rem;--text-display: clamp(2.8rem, 5vw, 5rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-sm: .375rem;--radius-md: .625rem;--radius-lg: 1rem;--radius-panel: 1.25rem;--border-subtle-dark: rgba(194, 211, 235, .16);--border-gold: rgba(231, 184, 62, .62);--border-folio: rgba(25, 34, 54, .18);--shadow-panel: 0 32px 80px rgba(1, 5, 14, .46);--shadow-control: 0 8px 22px rgba(6, 20, 44, .16);--focus-ring: 0 0 0 3px rgba(47, 114, 220, .34);--duration-fast: .14s;--duration-base: .22s;--duration-slow: .42s;--ease-forge: cubic-bezier(.22, 1, .36, 1)}@font-face{font-family:New Rocker;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/new-rocker-latin-ext-400-normal-CaA-Vusr.woff2) format("woff2"),url(/assets/new-rocker-latin-ext-400-normal-xIfo5LFX.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:New Rocker;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/new-rocker-latin-400-normal-Dx1Qcjw-.woff2) format("woff2"),url(/assets/new-rocker-latin-400-normal-B_vCYENR.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html{color-scheme:dark;font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizeLegibility}body{font-family:var(--font-ui)!important}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--forge-gold-400);outline-offset:3px}::selection{color:var(--forge-midnight-950);background:var(--forge-gold-400)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{color-scheme:dark}:is(.modal-content,.homebrew-modal,.homebrew-item-modal,.homebrew-spell-modal,.homebrew-feat-modal,.character-sheet) :is(input,select,textarea,button){font:inherit}:is(.modal-content,.homebrew-modal,.homebrew-item-modal,.homebrew-spell-modal,.homebrew-feat-modal,.character-sheet) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:linear-gradient(180deg,#081225f5,#0b1931f5);color:var(--text-primary);box-shadow:inset 0 1px #ffffff09,inset 0 0 0 1px #0000002e;caret-color:var(--forge-gold-400);transition:border-color var(--duration-fast) var(--ease-forge),box-shadow var(--duration-fast) var(--ease-forge),background var(--duration-fast) var(--ease-forge)}:is(.modal-content,.homebrew-modal,.homebrew-item-modal,.homebrew-spell-modal,.homebrew-feat-modal,.character-sheet) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea):hover:not(:disabled){border-color:#2f72dcb3;background:linear-gradient(180deg,#0a172ffa,#0d1f3bfa)}:is(.modal-content,.homebrew-modal,.homebrew-item-modal,.homebrew-spell-modal,.homebrew-feat-modal,.character-sheet) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea):focus{outline:none;border-color:var(--forge-royal-500);box-shadow:0 0 0 3px #3c73f52e,inset 0 1px #ffffff0a}:is(.modal-content,.homebrew-modal,.homebrew-item-modal,.homebrew-spell-modal,.homebrew-feat-modal,.character-sheet) :is(input,select,textarea):disabled{cursor:not-allowed;opacity:.54;filter:saturate(.55)}:is(.modal-content,.homebrew-modal,.homebrew-item-modal,.homebrew-spell-modal,.homebrew-feat-modal,.character-sheet) :is(input,textarea)::placeholder{color:var(--text-muted);opacity:.82}:is(.modal-content,.homebrew-modal,.homebrew-item-modal,.homebrew-spell-modal,.homebrew-feat-modal,.character-sheet) :is(select option,select optgroup){background:var(--surface-panel-raised);color:var(--text-primary)}:is(.modal-content,.homebrew-modal,.homebrew-item-modal,.homebrew-spell-modal,.homebrew-feat-modal,.character-sheet) :is(input[type=checkbox],input[type=radio]){accent-color:var(--forge-royal-500)}:is(.modal-overlay,.homebrew-item-modal-overlay,.homebrew-spell-overlay,.homebrew-feat-overlay){background:#020711d1;backdrop-filter:blur(8px) saturate(.72);-webkit-backdrop-filter:blur(8px) saturate(.72);padding:clamp(1rem,4vw,3rem)}:is(.modal-content,.homebrew-modal,.homebrew-item-modal,.homebrew-spell-modal,.homebrew-feat-modal){position:relative;overflow:hidden auto;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:radial-gradient(circle at 92% 3%,rgba(53,100,215,.16),transparent 30%),linear-gradient(155deg,#132648fb,#081327fc 62%);color:var(--text-primary);box-shadow:var(--shadow-panel),0 0 0 1px #e6bb5b0e}:is(.modal-content,.homebrew-modal,.homebrew-item-modal,.homebrew-spell-modal,.homebrew-feat-modal):before{content:"";position:absolute;z-index:1;inset:0 0 auto;height:2px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--forge-gold-500),#5f91e5,transparent);opacity:.88}.homebrew-modal>.modal-content{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.homebrew-modal>.modal-content:before{display:none}:is(.modal-header,.modal-title-row,.homebrew-spell-header){border-bottom-color:var(--border-subtle);background:linear-gradient(90deg,rgba(231,184,62,.055),transparent 32%),#08142ae0}:is(.modal-header h2,.modal-header h3,.modal-title,.modal-title-row h2,.homebrew-spell-header h2){margin-top:0;color:var(--text-primary);font-family:var(--font-display);font-weight:400;letter-spacing:.025em;text-shadow:0 2px 14px rgba(0,0,0,.42)}:is(.modal-close,.homebrew-modal .close-button,.close-button){border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted)}:is(.modal-close,.homebrew-modal .close-button,.close-button):hover{border-color:var(--border-subtle);background:var(--surface-control-hover);color:var(--text-primary)}:is(.form-section,.section,.modal-section,.ability-section){border-color:var(--border-subtle)}:is(.form-section h3,.section h3,.modal-section h3,.ability-section h3){color:var(--forge-gold-400);font-family:var(--font-ui);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}:is(.form-field label,.form-group label,.field-group label,.modal-field label){color:var(--text-secondary);font-weight:700}:is(.required,.required-marker){color:var(--forge-gold-400)}:is(.modal-actions,.modal-footer,.form-actions){border-top-color:var(--border-subtle)}:is(.modal-actions,.modal-footer,.form-actions) :is(button[type=submit],.save-button,.confirm-button,.primary-button){border-color:var(--forge-royal-500);background:linear-gradient(180deg,var(--forge-royal-500),var(--forge-royal-700));color:#fff;box-shadow:0 8px 20px #14389247,inset 0 1px #ffffff29}:is(.modal-actions,.modal-footer,.form-actions) :is(button[type=submit],.save-button,.confirm-button,.primary-button):hover:not(:disabled){border-color:#6aa0f2;background:linear-gradient(180deg,#4b86e5,var(--forge-royal-600))}:is(.modal-actions,.modal-footer,.form-actions) :is(.cancel-button,.secondary-button){border-color:var(--border-strong);background:var(--surface-control);color:var(--text-secondary)}:is(.modal-actions,.modal-footer,.form-actions) :is(.cancel-button,.secondary-button):hover:not(:disabled){border-color:#2f72dcb3;background:var(--surface-control-hover);color:var(--text-primary)}:is(.modal-actions,.modal-footer,.form-actions) .btn-cancel{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:linear-gradient(180deg,#193354f5,#0f223ef5);color:var(--text-secondary);box-shadow:inset 0 1px #ffffff0b}:is(.modal-actions,.modal-footer,.form-actions) .btn-cancel:hover:not(:disabled){border-color:#2f72dcb3;background:linear-gradient(180deg,#1f416afa,#142e52fa);color:var(--text-primary)}:is(.source-option,.choice-option,.ability-option,.skill-option,.property-button){border-color:var(--border-strong);background:var(--surface-control);color:var(--text-secondary)}:is(.source-option,.choice-option,.ability-option,.skill-option,.property-button):hover:not(:disabled){border-color:#2f72dcb3;background:var(--surface-control-hover);color:var(--text-primary)}:is(.source-option,.choice-option,.ability-option,.skill-option,.property-button):is(.selected,.active){border-color:var(--forge-gold-500);background:linear-gradient(180deg,#e6bb5b2b,#7252181f);color:#f8dfa0;box-shadow:inset 0 0 0 1px #e6bb5b17}:is(.dropdown-menu,.custom-dropdown-menu,.select-menu){border:1px solid var(--border-strong);border-radius:var(--radius-md);background:radial-gradient(circle at 100% 0,rgba(53,100,215,.13),transparent 36%),var(--surface-panel-raised);color:var(--text-primary);box-shadow:0 18px 48px #01050e85}:is(.dropdown-menu,.custom-dropdown-menu,.select-menu) :is(.dropdown-search,input[type=search]){border-color:var(--border-strong);background:var(--surface-control)}:is(.checkbox-option,.dropdown-option,.select-option){color:var(--text-secondary)}:is(.checkbox-option,.dropdown-option,.select-option):hover{background:var(--surface-control-hover);color:var(--text-primary)}:is(.checkbox-option,.dropdown-option,.select-option):has(input:checked){background:#3564d71f;color:var(--text-primary)}.character-sheet-left .add-class-btn{border:1px dashed rgba(231,184,62,.48);border-radius:var(--radius-md);background:linear-gradient(135deg,#e7b83e13,#2f72dc12);color:var(--forge-gold-400);box-shadow:inset 0 1px #ffffff06}.character-sheet-left .add-class-btn:hover:not(:disabled){border-color:var(--forge-gold-400);background:linear-gradient(135deg,#e7b83e24,#2f72dc1f);color:#f8dfa0}.character-sheet-left .add-class-form{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:radial-gradient(circle at 100% 0,rgba(47,114,220,.1),transparent 44%),linear-gradient(155deg,#12294afa,#091b34fa);box-shadow:inset 0 1px #ffffff08}.character-sheet-left .add-class-actions .btn-secondary{border:1px solid var(--border-strong);background:var(--surface-control);color:var(--text-secondary)}.character-sheet-left .add-class-actions .btn-secondary:hover:not(:disabled){border-color:#2f72dcb3;background:var(--surface-control-hover);color:var(--text-primary)}.character-sheet-left .add-class-actions .btn-primary{border:1px solid var(--forge-royal-500);background:linear-gradient(180deg,var(--forge-royal-500),var(--forge-royal-700));color:#fff;box-shadow:0 6px 16px #14389238}.character-sheet-left .add-class-actions .btn-primary:hover:not(:disabled){border-color:#6aa0f2;background:linear-gradient(180deg,#4b86e5,var(--forge-royal-600))}.character-sheet-left .add-class-actions .btn-primary:disabled{border-color:var(--border-subtle);background:var(--surface-control);color:var(--text-muted);box-shadow:none;opacity:.58}.character-sheet-left .total-score-display{border-color:var(--border-strong);border-radius:var(--radius-sm);background:linear-gradient(180deg,#122d4ffa,#091a33fa);color:var(--text-primary);font-family:var(--font-data);box-shadow:inset 0 1px #ffffff0a}.character-sheet-left .total-score-display:hover{border-color:var(--forge-royal-500);background:linear-gradient(180deg,#1a3d67fa,#0d2544fa);box-shadow:0 0 0 3px #2f72dc21}.character-sheet-left .languages-proficiencies-section{border-color:var(--border-subtle);border-radius:var(--radius-md);background:radial-gradient(circle at 100% 0,rgba(47,114,220,.09),transparent 42%),linear-gradient(155deg,#122848f5,#0a1b33f5);box-shadow:inset 0 1px #ffffff06}.character-sheet-left .languages-proficiencies-section:hover{border-color:#2f72dc85}.character-sheet-left .add-button{border-color:#e7b83e66;background:#e7b83e14;color:var(--forge-gold-400);box-shadow:inset 0 1px #ffffff0a}.character-sheet-left .add-button:hover{border-color:var(--forge-gold-400);background:#e7b83e29;color:#f8dfa0;box-shadow:0 0 0 3px #e7b83e17}.character-sheet-left .item-chip{border-color:var(--border-strong);background:linear-gradient(180deg,#183558f5,#0e2340f5);color:var(--text-secondary)}.character-sheet-left .item-chip:hover{border-color:#2f72dcb3;background:linear-gradient(180deg,#1f446ffa,#122d4efa);color:var(--text-primary)}.character-sheet-left .item-chip--granted{border-color:#e7b83e6b;background:linear-gradient(180deg,#56431c5c,#17283df5)}.character-sheet-left .stat-item{border-color:var(--border-subtle);background:linear-gradient(145deg,#142d4ef5,#0c1f3af5);box-shadow:inset 0 1px #ffffff06}.character-sheet-left .core-stats-grid{gap:var(--space-2)}.character-sheet-left .core-stats-grid .stat-item{min-height:5.5rem;padding:var(--space-3)}.character-sheet-left .core-stats-grid .stat-item--calculated{border-color:#bdc9da1c;background:linear-gradient(145deg,#122846d1,#0a1b33db)}.character-sheet-left .core-stats-grid .stat-item--calculated .stat-value{color:var(--text-primary);font-family:var(--font-data);font-size:1.18rem;font-weight:500;letter-spacing:-.025em}.character-sheet-left .core-stats-grid .editable-stat{border-color:#2f72dc38;background:radial-gradient(circle at 100% 0,rgba(47,114,220,.08),transparent 50%),linear-gradient(145deg,#142d4ef5,#0c1f3af5)}.character-sheet-left .core-stats-grid .stat-item--hp{grid-column:1 / -1;min-height:auto}.character-sheet-left .hp-inputs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:var(--space-2)}.character-sheet-left .hp-field{display:grid;min-width:0;gap:var(--space-1)}.character-sheet-left .hp-field-label{color:var(--text-muted);font-family:var(--font-ui);font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.character-sheet-left .core-stats-grid :is(.hp-current,.hp-max){width:100%;min-height:2.45rem}.character-sheet-left .hp-current{border-color:#2baa8a6b;color:var(--forge-verdigris-300)}.character-sheet-left .hp-separator{padding-bottom:.58rem;color:var(--text-muted);font-family:var(--font-data)}.character-sheet-left .stat-label{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.character-sheet-left .speed-input-wrapper{gap:var(--space-2)}.character-sheet-left .speed-unit{color:var(--text-muted);font-family:var(--font-data);font-size:var(--text-xs)}.character-sheet-left .core-stats-grid .stat-input{width:min(4.5rem,100%);min-height:2.35rem;font-family:var(--font-data);font-weight:500}.character-sheet-left .core-stats-grid input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.character-sheet-left .core-stats-grid input[type=number]::-webkit-inner-spin-button,.character-sheet-left .core-stats-grid input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.character-sheet input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield;font-family:var(--font-data);font-variant-numeric:tabular-nums}.character-sheet input[type=number]::-webkit-inner-spin-button,.character-sheet input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.character-sheet-right .quantity-input{width:4.25rem;min-height:2.25rem;padding:.35rem .55rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:linear-gradient(180deg,#081225f5,#0b1931f5);color:var(--text-primary);text-align:center;box-shadow:inset 0 1px #ffffff09}.character-sheet-right .quantity-input:hover{border-color:#2f72dc9e;background:linear-gradient(180deg,#0a172ffa,#0d1f3bfa)}.character-sheet-right .quantity-input:focus{border-color:var(--forge-royal-500);background:linear-gradient(180deg,#0a172ffa,#0d1f3bfa);box-shadow:var(--focus-ring)}.background-choice-modal{width:min(92vw,680px);max-width:680px}.background-choice-modal .modal-header{align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);background:linear-gradient(90deg,rgba(231,184,62,.055),transparent 34%),#08142ae0}.background-choice-modal .modal-eyebrow{margin:0 0 var(--space-1);color:var(--forge-gold-400);font-family:var(--font-data);font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.background-choice-modal .modal-header h2{margin:0;color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;letter-spacing:.025em}.background-choice-modal .modal-body{padding:var(--space-5)}.background-choice-modal .background-choice-intro{margin:0 0 var(--space-4);color:var(--text-secondary);line-height:1.55}.background-choice-modal .background-choice-intro strong{color:var(--text-primary)}.background-choice-modal .choice-section{margin:0 0 var(--space-3);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:radial-gradient(circle at 100% 0,rgba(47,114,220,.08),transparent 48%),linear-gradient(145deg,#122846e6,#0a1b33f0)}.background-choice-modal .choice-section h4{margin:0 0 var(--space-1);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:700}.background-choice-modal .choice-hint{margin:0;color:var(--text-muted);font-size:var(--text-xs);font-style:normal}.background-choice-modal .ability-choice-grid{gap:var(--space-2);margin-top:var(--space-3)}.background-choice-modal .ability-choice-button{min-height:2.55rem;padding:.55rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:linear-gradient(180deg,#142e50fa,#0b1d37fa);color:var(--text-secondary);font-family:var(--font-ui);font-weight:600;text-align:left}.background-choice-modal .ability-choice-button:hover:not(:disabled){border-color:#2f72dcb8;background:linear-gradient(180deg,#1d3f68fa,#102848fa);color:var(--text-primary)}.background-choice-modal .ability-choice-button.selected,.background-choice-modal .ability-choice-button.selected:hover{border-color:var(--forge-gold-500);background:linear-gradient(180deg,#e7b83e2e,#5b451824);color:#f8dfa0}.background-choice-modal .form-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.background-choice-modal .form-actions .btn-secondary{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-control);color:var(--text-secondary)}.background-choice-modal .form-actions .btn-secondary:hover{border-color:#2f72dca6;background:var(--surface-control-hover);color:var(--text-primary)}.background-choice-modal .form-actions .btn-primary{border:1px solid var(--forge-royal-500);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--forge-royal-500),var(--forge-royal-700));color:#fff;box-shadow:0 8px 20px #14389240}.background-choice-modal .form-actions .btn-primary:hover:not(:disabled){border-color:#6aa0f2;background:linear-gradient(180deg,#4b86e5,var(--forge-royal-600))}.background-choice-modal .form-actions .btn-primary:disabled{border-color:var(--border-subtle);background:var(--surface-control);color:var(--text-muted);box-shadow:none;opacity:.58}.character-sheet-left .speed-overridden{border-color:#2baa8a94!important;color:var(--forge-verdigris-300)!important;box-shadow:inset 0 0 0 1px #2baa8a14}.character-sheet-left .stat-override-tools{display:inline-flex;align-items:center;gap:.3rem}.character-sheet-left .reset-override-btn{min-height:1.4rem;padding:.12rem .34rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-control);color:var(--text-muted);font-family:var(--font-ui);font-size:.58rem;font-weight:700}.character-sheet-left .reset-override-btn:hover{border-color:#2f72dcad;background:var(--surface-control-hover);color:var(--text-primary)}.homebrew-background-modal{max-width:760px}.homebrew-background-modal .modal-title-row h2{font-family:var(--font-display)!important;font-weight:400;letter-spacing:.025em}.homebrew-background-modal .form-section h3{color:var(--forge-gold-400);font-family:var(--font-ui)!important;font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.homebrew-background-modal .skill-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.homebrew-background-modal .skill-button{min-height:2.55rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:linear-gradient(180deg,#142e50fa,#0b1d37fa);color:var(--text-secondary);font-family:var(--font-ui);font-weight:600;text-align:left;box-shadow:inset 0 1px #ffffff08}.homebrew-background-modal .skill-button:hover:not(:disabled){border-color:#2f72dcb8;background:linear-gradient(180deg,#1d3f68fa,#102848fa);color:var(--text-primary)}.homebrew-background-modal .skill-button.selected{border-color:var(--forge-gold-500);background:linear-gradient(180deg,#e7b83e2e,#5b451824);color:#f8dfa0}.homebrew-background-modal .form-section:has(+.form-actions){margin-bottom:0;padding-bottom:0;border-bottom:0}.homebrew-background-modal .form-actions{justify-content:flex-end;margin-top:var(--space-5);padding-top:var(--space-4);border-top-color:var(--border-subtle)}.homebrew-background-modal .form-actions-right{margin-left:auto}.homebrew-spell-modal .preview-content{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:linear-gradient(145deg,#142d4ef5,#0a1c36f5);color:var(--text-secondary);box-shadow:inset 0 1px #ffffff08}.homebrew-spell-modal .preview-header{border-bottom-color:var(--border-subtle)}.homebrew-spell-modal .preview-header strong,.homebrew-spell-modal .preview-details strong,.homebrew-spell-modal .preview-description p,.homebrew-spell-modal .preview-higher-level{color:var(--text-primary)}.homebrew-spell-modal .preview-meta,.homebrew-spell-modal .preview-details>div{color:var(--text-muted)}.homebrew-spell-modal .cancel-btn{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:linear-gradient(180deg,#193354f5,#0f223ef5);color:var(--text-secondary)}.homebrew-spell-modal .cancel-btn:hover:not(:disabled){border-color:#2f72dcb3;background:linear-gradient(180deg,#1f416afa,#142e52fa);color:var(--text-primary)}.homebrew-spell-modal .add-entry-btn{border:1px dashed rgba(231,184,62,.52);border-radius:var(--radius-md);background:linear-gradient(135deg,#e7b83e13,#2f72dc12);color:var(--forge-gold-400);font-weight:700;box-shadow:inset 0 1px #ffffff06}.homebrew-spell-modal .add-entry-btn:hover:not(:disabled){border-color:var(--forge-gold-400);background:linear-gradient(135deg,#e7b83e26,#2f72dc1f);color:#f8dfa0}.homebrew-spell-modal .save-btn{border:1px solid var(--forge-royal-500);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--forge-royal-500),var(--forge-royal-700));color:#fff;box-shadow:0 8px 20px #14389247,inset 0 1px #ffffff29}.homebrew-spell-modal .save-btn:hover:not(:disabled){border-color:#6aa0f2;background:linear-gradient(180deg,#4b86e5,var(--forge-royal-600));color:#fff}.homebrew-spell-modal .save-btn:disabled{border-color:var(--border-subtle);background:var(--surface-control);color:var(--text-muted);box-shadow:none}.character-sheet-right .spell-meta-section{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(145deg,#142d4ef5,#0a1c36f5);color:var(--text-secondary);box-shadow:inset 0 1px #ffffff06}.character-sheet-right .spell-meta-row{color:var(--text-secondary)}.character-sheet-right .spell-meta-row strong{color:var(--forge-gold-400);font-family:var(--font-ui)}.character-sheet-right .homebrew-badge{display:inline-flex;align-items:center;gap:.3rem;margin-left:.45rem;padding:.16rem .42rem;border:1px solid rgba(43,170,138,.42);border-radius:999px;background:#2baa8a1f;color:var(--forge-verdigris-300);font-family:var(--font-data);font-size:.62rem;font-weight:600;line-height:1;letter-spacing:.025em;opacity:1;vertical-align:middle}.character-sheet-right .homebrew-badge svg{width:.68rem;height:.68rem}.character-sheet-right .item-card-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.character-sheet-right .sel-btn{min-height:2rem;padding:.34rem .72rem;border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700}.character-sheet-right .sel-btn--edit{border-color:var(--border-strong);background:var(--surface-control);color:var(--text-secondary)}.character-sheet-right .sel-btn--edit:hover{border-color:#2f72dcad;background:var(--surface-control-hover);color:var(--text-primary)}.character-sheet-right .sel-btn--add{border-color:var(--forge-royal-500);background:linear-gradient(180deg,var(--forge-royal-500),var(--forge-royal-700));color:#fff;box-shadow:0 6px 16px #14389238}.character-sheet-right .sel-btn--add:hover{border-color:#6aa0f2;background:linear-gradient(180deg,#4b86e5,var(--forge-royal-600));color:#fff}.character-sheet-right :is(.sel-btn--remove,.sel-btn--delete){border-color:#b83b4994;background:#b83b490f;color:#ff9da7}.character-sheet-right :is(.sel-btn--remove,.sel-btn--delete):hover{border-color:var(--forge-danger);background:#b83b492e;color:#ffd4d8}@media (max-width: 720px){.homebrew-background-modal .skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}:is(.help-text,.field-help,.form-hint,.modal-description,.ability-breakdown,.score-breakdown){color:var(--text-muted)}.modal-help{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(135deg,#2f72dc1c,#e7b83e0e);color:var(--text-secondary)}.modal-help strong{color:var(--forge-gold-400)}:is(.error-message,.field-error,.validation-error){border-color:#ee606057;background:#70182033;color:#ffb9bd}:is(.modal-content,.homebrew-modal,.homebrew-item-modal,.homebrew-spell-modal,.homebrew-feat-modal,.dropdown-menu){scrollbar-color:rgba(47,114,220,.7) rgba(4,11,24,.45);scrollbar-width:thin}@media (max-width: 720px){:is(.modal-overlay,.homebrew-item-modal-overlay,.homebrew-spell-overlay,.homebrew-feat-overlay){padding:.75rem}}*{box-sizing:border-box}a{font-weight:500;color:var(--5e-link-blue);text-decoration:inherit;transition:color .2s ease}a:hover{color:var(--5e-link-hover)}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg-primary)}h1{font-size:2.5em;line-height:1.1;color:var(--text-primary);margin:0}h2{color:var(--text-primary)}h3{color:var(--5e-text-heading)}strong{color:var(--color-accent-blue)}#root{width:100%;min-height:100vh;margin:0;padding:0}.choice-section{margin:1rem 0;padding:1rem;background:var(--5e-bg-primary);border-radius:var(--5e-border-radius);border:1px solid var(--5e-border-primary)}.choice-section h4{margin:0 0 .75rem;color:var(--5e-text-primary);font-size:1rem;font-weight:600}.choice-hint{margin:.5rem 0;font-size:.875rem;color:var(--5e-text-light);font-style:italic}.ability-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin-top:.75rem}.ability-choice-button{padding:.75rem 1rem;background:var(--5e-bg-body);border:1px solid var(--5e-border-primary);border-radius:calc(var(--5e-border-radius) - 1px);color:var(--5e-text-light);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.ability-choice-button:hover{background:var(--5e-bg-secondary);border-color:var(--5e-border-focus);color:var(--5e-text-white)}.ability-choice-button.selected{background:var(--color-accent-blue);border-color:var(--color-accent-blue);color:var(--5e-text-white);font-weight:600}.lineage-option-select{text-align:center}.lineage-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}.lineage-option-button{padding:1.5rem 1rem;background:var(--5e-bg-primary);border:2px solid var(--5e-border-grey);border-radius:.5rem;cursor:pointer;transition:all .2s ease;text-align:center}.lineage-option-button:hover{background:#33a5a51a;border-color:#33a5a5;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.lineage-option-button.selected{background:#33a5a540;border-color:#33a5a5;border-width:3px;padding:calc(1.5rem - 1px) calc(1rem - 1px);box-shadow:0 0 8px #33a5a580,inset 0 0 0 1px #33a5a580}.lineage-option-button.selected:hover{background:#33a5a54d;border-color:#33a5a5}.lineage-option-button h4{margin:0 0 .5rem;color:var(--5e-text-primary);font-size:1.1rem;font-weight:600}.lineage-option-button p{margin:0;color:var(--5e-text-muted);font-size:.875rem;line-height:1.5}.ability-choice-button.selected:hover{background:var(--accent-rules);border-color:var(--accent-rules)}
