.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-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}}
