.class-detail{max-width:1400px;margin:0 auto}.class-detail .page-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:2rem;align-items:start}.class-detail .sidebar-column{width:auto;height:auto;position:sticky;top:5.5rem}.class-detail .main-column{width:100%;min-width:0}.class-detail .back-link{margin-bottom:1.25rem}.class-detail .class-header{margin-bottom:1.5rem}.class-detail .class-header h1{line-height:1.25;overflow-wrap:anywhere}.class-detail .class-intro{font-size:1rem}.class-detail .quick-stats{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:1rem;margin:1.25rem 0 0;padding:1rem;border:1px solid var(--card-border);border-radius:.75rem;background:var(--card-bg)}.class-detail .quick-stats>div{min-width:0}.class-detail .quick-stats dt{font-size:.75rem;font-weight:500;color:var(--text);margin:0 0 .375rem}.class-detail .quick-stats dd{margin:0;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.class-detail .class-section-nav{display:none}.class-detail :is(#overview,#subclass-panel,#basics,#equipment,#progression,#features-container,.feature,.subclass-fallback,.collapsible-item){scroll-margin-top:5.5rem}.class-detail :is(.class-description,.basic-info,.proficiencies,.multiclass-info,.equipment,.feature){min-width:0;border-radius:.75rem}.class-detail .class-basics{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.class-detail .class-basics.has-subclass-art{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}.class-detail .has-subclass-art .basic-info{grid-column:1;grid-row:1}.class-detail .has-subclass-art .proficiencies{grid-column:1;grid-row:2}.class-detail .has-subclass-art .multiclass-info{grid-column:1 / -1;grid-row:3}.class-detail .subclass-artwork{grid-column:2;grid-row:1 / 3;align-self:center;min-width:0;margin:0;text-align:center}.class-detail .subclass-artwork img{display:block;width:100%;max-width:400px;height:auto;object-fit:contain;margin:0 auto}.class-detail .subclass-artwork figcaption{margin-top:.75rem;font-size:.8125rem;color:var(--text)}.class-detail .class-basics dl{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);font-size:.875rem;line-height:1.5}.class-detail .class-basics dd{min-width:0;overflow-wrap:anywhere}.class-detail .class-basics ul,.class-detail .equipment ul{padding-left:1.25rem}.class-detail .subclass-selector label,.class-detail .level-toolbar label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.class-detail .subclass-selector select,.class-detail .level-toolbar select{width:100%;min-height:44px;padding:.625rem;border:1px solid var(--card-border);border-radius:.5rem;background:var(--background);color:var(--text);font:inherit}.class-detail .control-hint{font-size:.8125rem;margin:.625rem 0;line-height:1.5}.class-detail #subclass-title{font-size:1.375rem;margin:1.5rem 0 .5rem}.class-detail :is(.subclass-catalog,.base-lore,.subclass-fallback){margin-top:1rem;border:1px solid var(--card-border);border-radius:.5rem;padding:0;background:var(--background)}.class-detail :is(.subclass-catalog,.base-lore,.subclass-fallback)>summary{padding:.875rem;cursor:pointer;font-weight:600;color:var(--text)}.class-detail .base-lore>p,.class-detail .subclass-fallback>:not(summary){margin:.875rem}.class-detail .subclass-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:0 .875rem .875rem}.class-detail .subclass-card{display:block;min-width:0;padding:1rem;border:1px solid var(--card-border);border-radius:.5rem;text-decoration:none;color:var(--text);background:var(--card-bg)}.class-detail .subclass-card:hover,.class-detail .subclass-card[aria-current=true]{border-color:var(--primary)}.class-detail .subclass-card h3{margin:0 0 .375rem;font-size:1rem}.class-detail .subclass-card-source,.class-detail .subclass-card-level{font-size:.75rem;line-height:1.5}.class-detail .subclass-card p{font-size:.875rem;line-height:1.5;margin:.625rem 0}.class-detail .equipment>summary{cursor:pointer;font-size:1.25rem;font-weight:700;color:var(--primary)}.class-detail .equipment[open]>summary{margin-bottom:1rem}.class-detail .level-toolbar{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.75rem;margin-bottom:1.5rem}.class-detail .level-toolbar>div{min-width:240px}.class-detail #feature-count{font-size:.875rem;margin:.75rem 0}.class-detail .feature-header{flex-wrap:wrap;gap:.5rem}.class-detail .feature-header h3{flex:1 1 100%;line-height:1.4;overflow-wrap:anywhere}.class-detail .feature-level{order:1;font-size:.8125rem}.class-detail .feature-origin{font-size:.8125rem;color:var(--text);margin:.5rem 0 1rem}.class-detail .feature-actions{position:relative;order:2;margin-left:auto}.class-detail .feature-actions>summary{padding:.625rem .75rem;min-height:44px;border:1px solid var(--card-border);border-radius:.5rem;font-size:.8125rem;cursor:pointer}.class-detail .feature-actions-menu{position:absolute;right:0;top:calc(100% + .25rem);display:grid;gap:.375rem;min-width:210px;padding:.5rem;border:1px solid var(--card-border);border-radius:.5rem;background:var(--card-bg);box-shadow:var(--card-shadow);z-index:5}.class-detail .copy-feature-btn{min-height:44px;font-size:.8125rem}.class-detail .feature-table-scroll{width:100%;max-width:100%;overflow-x:auto;margin:1rem 0}.class-detail .feature-table-scroll>table{margin:0;min-width:420px}.class-detail .class-table a{color:var(--primary);text-underline-offset:3px}.class-detail :is(a,button,select,summary,[tabindex="0"]):focus-visible{outline:3px solid var(--primary);outline-offset:3px}.class-detail .feature:focus,.class-detail #subclass-title:focus{outline:2px solid var(--primary);outline-offset:4px}.class-detail [hidden]{display:none!important}@media (max-width: 1099px){.class-detail .page-shell{display:block}.class-detail .sidebar-column{position:static;width:0;height:0}.class-detail .class-section-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.class-detail .class-section-nav a{min-height:44px;padding:.625rem .75rem;font-size:.875rem;border:1px solid var(--card-border);border-radius:999px;text-decoration:none;color:var(--text)}}@media (max-width: 760px){.class-detail .class-basics,.class-detail .subclass-cards,.class-detail .class-basics.has-subclass-art{grid-template-columns:minmax(0,1fr)}.class-detail .has-subclass-art>:is(.subclass-artwork,.basic-info,.proficiencies,.multiclass-info){grid-column:1;grid-row:auto}.class-detail .subclass-artwork img{max-width:220px}.class-detail :is(.class-description,.basic-info,.proficiencies,.multiclass-info,.equipment,.feature){padding:1rem}.class-detail .class-basics dl{grid-template-columns:minmax(0,1fr);gap:.25rem}.class-detail .class-basics dd{margin-bottom:.75rem}.class-detail .quick-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.875rem}.class-detail .quick-stats>div:last-child{grid-column:1 / -1}.class-detail .level-toolbar>div{width:100%;min-width:0}}@media (prefers-reduced-motion: reduce){.class-detail .feature{transition:none}.class-detail .feature.is-targeted{transform:none}}.feature-header{display:flex;align-items:center;gap:.5rem}.feature-header h3{flex:1 1 auto}.copy-feature-btn{position:relative;padding:.35rem .6rem;background:var(--background);border:1px solid var(--card-border);border-radius:.25rem;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:.875rem;line-height:1;white-space:nowrap}.copy-feature-btn:active:active{transform:translateY(1px)}.copy-tooltip{position:fixed;background:var(--primary);color:#fff;padding:.35rem .6rem;border-radius:6px;font-size:.9rem;box-shadow:0 6px 18px #00000040;transition:opacity .18s ease;z-index:20000;display:none;opacity:0;pointer-events:none}.content{max-width:1200px;margin:0 auto}.page-shell{position:relative;display:block}.sidebar-column{width:0;height:0;overflow:visible}.main-column{width:min(100%,1200px);margin:0 auto;min-width:0}.back-link{display:inline-block;margin-bottom:2rem;color:var(--primary);text-decoration:none}.back-link:hover{text-decoration:underline}.class-header{margin-bottom:2rem}.name-en{color:var(--text);opacity:.7;font-size:.8em}.source{color:var(--text);opacity:.8}.class-description{background:var(--card-bg);padding:1.5rem;border-radius:.5rem;margin-bottom:2rem;box-shadow:var(--card-shadow);border:1px solid var(--card-border)}.subclass-selector{margin-bottom:1.5rem}.subclass-selector select{width:100%;padding:.5rem;border:1px solid var(--card-border);border-radius:.25rem;background:var(--background);color:var(--text);font-size:1rem}.lore-content{line-height:1.6;margin:1rem 0}.lore-content p{margin-bottom:1rem}.lore-content p:last-child{margin-bottom:0}.base-lore{margin-top:1.5rem;padding:1rem;background:var(--background);border-radius:.25rem}.base-lore summary{cursor:pointer;color:var(--primary)}.class-basics{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.basic-info,.proficiencies,.multiclass-info{background:var(--card-bg);padding:1.5rem;border-radius:.5rem;box-shadow:var(--card-shadow);border:1px solid var(--card-border)}.equipment{background:var(--card-bg);padding:1.5rem;border-radius:.5rem;margin-bottom:2rem;box-shadow:var(--card-shadow);border:1px solid var(--card-border)}.equipment-choice{margin-top:1.5rem}.equipment-choice h3{color:var(--primary);margin-bottom:.5rem}.equipment-choice ul{list-style-type:disc;margin-left:1.5rem}.equipment-choice li{margin-bottom:.5rem}dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;margin-top:1rem}dt{font-weight:600;color:var(--primary)}.feature{background:var(--card-bg);padding:1.5rem;border-radius:.5rem;margin-bottom:1rem;box-shadow:var(--card-shadow);border:1px solid var(--card-border);transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}.feature.is-targeted{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 20%,transparent),var(--card-shadow);transform:translateY(-1px)}.feature-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.feature-header h3{color:var(--primary);margin:0;font-size:1.25rem}.feature-level{font-size:.875rem;color:var(--text);opacity:.8;padding:.25rem .5rem;background:var(--background);border-radius:.25rem}.feature-description p{margin-bottom:1rem;line-height:1.6}.feature-description p:last-child{margin-bottom:0}.collapsible-content{margin-top:1rem;border-top:1px solid var(--card-border);padding-top:1rem}.collapsible-group+.collapsible-group{margin-top:1.25rem}.collapsible-group-title{margin:0 0 .5rem;padding-bottom:.35rem;color:var(--primary);border-bottom:1px solid var(--card-border);font-size:1rem}.collapsible-item{background:var(--background);border-radius:.5rem;margin:.5rem 0;overflow:hidden}.collapsible-item:last-child{margin-bottom:0}.collapsible-item summary{padding:.75rem 1rem;cursor:pointer;font-weight:500;user-select:none}.collapsible-item summary:hover{background:var(--nav-hover-bg)}.collapsible-description{padding:1rem;border-top:1px solid var(--card-border);background:var(--card-bg)}.collapsible-description p{margin-bottom:.75rem;line-height:1.6}.collapsible-description p:last-child{margin-bottom:0}.collapsible-description,.collapsible-description p,.collapsible-description table,.collapsible-description td,.collapsible-description th{color:var(--text)!important;visibility:visible!important}.spell-table{width:100%;margin:1rem 0;border-collapse:collapse;background:var(--card-bg);border-radius:.5rem;overflow:hidden;box-shadow:var(--card-shadow)}.spell-table th,.spell-table td{padding:.5rem;border:1px solid var(--card-border);text-align:left}.spell-table th{background:var(--background);font-weight:600;color:var(--primary)}.spell-table tbody tr:nth-child(2n){background:transparent}.spell-table tbody tr{background:transparent!important}.spell-table tbody tr:hover{background:var(--nav-hover-bg)}.spell-table th:first-child{border-top-left-radius:.5rem}.spell-table th:last-child{border-top-right-radius:.5rem}.spell-table tbody tr:last-child td:first-child{border-bottom-left-radius:.5rem}.spell-table tbody tr:last-child td:last-child{border-bottom-right-radius:.5rem}.subclass-feature{background:var(--subclass-feature-bg);border-color:var(--subclass-feature-border)}.subclass-feature .feature-header h3{color:var(--subclass-feature-title)}.subclass-feature .feature-level{background:var(--subclass-feature-border);color:#fff}.subclass-feature .collapsible-item{background:var(--subclass-feature-border)}.subclass-feature .collapsible-description{background:var(--subclass-feature-bg)}.feature-description table,.collapsible-description table{width:100%;margin:1rem 0;border-collapse:collapse;background:var(--card-bg);border-radius:.5rem;overflow:hidden;box-shadow:0 2px 4px #0000001a;border:1px solid var(--card-border)}.feature-description table th,.feature-description table td,.collapsible-description table th,.collapsible-description table td{padding:.75rem;border:1px solid var(--card-border);text-align:left;vertical-align:top}.feature-description table th,.collapsible-description table th{background:var(--primary);color:#fff;font-weight:600;font-size:.95rem}.feature-description table tbody tr,.collapsible-description table tbody tr{transition:background-color .2s ease}.feature-description table tbody tr,.collapsible-description table tbody tr{background:transparent!important}.feature-description table tbody tr:nth-child(2n),.collapsible-description table tbody tr:nth-child(2n){background:transparent}.feature-description table tbody tr:hover,.collapsible-description table tbody tr:hover{background:var(--nav-hover-bg)}.feature-description table th:first-child,.collapsible-description table th:first-child{border-top-left-radius:.5rem}.feature-description table th:last-child,.collapsible-description table th:last-child{border-top-right-radius:.5rem}.feature-description table tbody tr:last-child td:first-child,.collapsible-description table tbody tr:last-child td:first-child{border-bottom-left-radius:.5rem}.feature-description table tbody tr:last-child td:last-child,.collapsible-description table tbody tr:last-child td:last-child{border-bottom-right-radius:.5rem}.subclass-feature .feature-description table th,.subclass-feature .collapsible-description table th{background:var(--subclass-feature-title);color:#fff}.subclass-feature .feature-description table,.subclass-feature .collapsible-description table{background:var(--subclass-feature-bg);border-color:var(--subclass-feature-border)}.subclass-feature .feature-description table tbody tr:nth-child(2n),.subclass-feature .collapsible-description table tbody tr:nth-child(2n){background:transparent;opacity:1}.subclass-feature .feature-description table tbody tr,.subclass-feature .collapsible-description table tbody tr{background:transparent!important;opacity:1}.scroll-to-top{position:fixed;bottom:1.5rem;right:1.5rem;width:3rem;height:3rem;background:var(--primary);color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;transition:all .3s ease;opacity:0;visibility:hidden;transform:translateY(20px);z-index:100}.scroll-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-to-top:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 16px #0003}.scroll-to-top:active{transform:translateY(0)}@media (max-width: 1024px){.page-shell{grid-template-columns:1fr}}@media (max-width: 768px){.feature-header{flex-wrap:wrap}.copy-feature-btn,.copy-description-btn{padding:.5rem .65rem;font-size:.85rem}.feature-description table,.collapsible-description table{font-size:.9rem}.feature-description table th,.feature-description table td,.collapsible-description table th,.collapsible-description table td{padding:.5rem}}
