.sidebar-featured .sidebar-builder { background:#b9e3cb; }
.builder-page { margin:28px auto 48px; --builder-line:#d9d5cc; --builder-ink:#202a36; }
.builder-heading,.builder-toolbar,.builder-timeline-heading,.builder-row-top,.builder-sheet-heading { display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap; }
.builder-heading h1 { margin:0;font-size:clamp(2rem,4vw,3.2rem); }
.builder-page h2 { font-size:1.35rem;margin:0 0 12px; }
.builder-page h3 { font-size:1.05rem; margin:0 0 7px;line-height:1.4; }
.builder-page h4 { font-size:1rem; }
.builder-page p,.builder-page li,.builder-page label,.builder-page summary,.builder-page button,.builder-page select,.builder-page input,.builder-page textarea { font-family:var(--font-ui,system-ui);font-size:1rem; }
.builder-page p { line-height:1.55;margin:6px 0 12px; }
.builder-page label { display:flex;flex-direction:column;gap:6px;font-weight:650;min-width:0; }
.builder-page input:not([type=checkbox]):not([type=range]),.builder-page select,.builder-page textarea { width:100%;min-height:44px;padding:9px 11px;border:1px solid #afa99f;background:#fff;color:var(--builder-ink);border-radius:5px;box-sizing:border-box; }
.builder-page select { text-overflow:ellipsis; }
.builder-page input[type=number] { font-variant-numeric:tabular-nums; }
.builder-page button,.builder-import { padding:10px 13px;background:#eceae4;border:1px solid #b4b0a7;border-radius:5px;font-weight:700;cursor:pointer;min-height:44px; }
.builder-page button:disabled { opacity:.45;cursor:not-allowed; }
.builder-page button:hover:not(:disabled) { background:#dce6ed; }
.builder-page button:focus-visible,.builder-page input:focus-visible,.builder-page select:focus-visible { outline:3px solid #3687b8;outline-offset:2px; }
.builder-toolbar { justify-content:flex-start;margin-top:22px;align-items:end; }
.builder-name { flex:1;min-width:160px!important; }
.builder-toolbar>label:nth-child(2) { flex:1;min-width:150px; }
.builder-import input { position:absolute;width:1px!important;height:1px;opacity:0; }
.builder-storage,.builder-muted { color:#66625b;font-size:.9rem!important; }
.builder-start-date { max-width:350px;margin:15px 0; }.builder-start-date small { font:.8rem system-ui;color:#65635d; }
.mirane-switch { flex-direction:row!important;align-items:center;background:#e4eee6;border-radius:24px;padding:9px 14px; }
.mirane-switch input { appearance:none;width:44px;height:25px;min-width:44px;background:#9b9c99;border-radius:18px;position:relative;cursor:pointer; }
.mirane-switch input:before { content:"";position:absolute;width:19px;height:19px;background:white;border-radius:50%;left:3px;top:3px; }
.mirane-switch input:checked { background:#287b59; }.mirane-switch input:checked:before { left:22px; }
.builder-timeline { background:#fffdf8;border:1px solid var(--builder-line);padding:20px;border-radius:8px;margin:18px 0; }
.builder-timeline-heading>div { flex:1;min-width:220px; }
.builder-timeline-heading h2 { margin-bottom:4px; }
.builder-primary { background:#234f65!important;color:white; }
.builder-chart { display:flex;gap:5px;overflow:auto;align-items:end;padding:14px 0;scrollbar-color:#a4b0b8 transparent; }
.builder-chart-point { display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:end;min-width:72px;flex:0 0 72px;padding:7px 5px!important;background:transparent!important;border:1px solid transparent!important;border-radius:4px; }
.builder-chart-point.selected { border-color:#315f79!important;background:#e6eff3!important; }
.builder-chart-point small { color:#65635e;font-size:.75rem; }
.chart-value { font-size:.8rem;white-space:nowrap; }.chart-bar { width:30px;background:#437d96;display:block;border-radius:3px 3px 0 0; }.training .chart-bar { background:#b97926; }
.builder-scrubber { flex-direction:row!important;align-items:center;gap:10px!important;font-size:.9rem!important; }.builder-scrubber input { flex:1;min-width:60px;accent-color:#315f79; }
.builder-budget { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:16px; }
.builder-budget>div { border-radius:5px;background:#eeeee8;padding:10px 12px;display:flex;flex-direction:column;gap:5px; }
.builder-budget>div:first-child { background:#dbebf0; }.builder-budget span { font-size:.8rem; }.builder-budget strong { font:700 1.35rem system-ui;font-variant-numeric:tabular-nums; }.budget-invalid { background:#f8ded7!important;color:#8f3022; }
.builder-workspace { display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:22px;align-items:start; }
.builder-editor,.builder-sheet { background:#fffdf8;border:1px solid var(--builder-line);border-radius:8px;min-width:0; }
.builder-editor { padding:18px; }.builder-sheet { padding:18px;position:sticky;top:80px;max-height:calc(100vh - 100px);overflow:auto;scrollbar-color:#a4b0b8 transparent; }
.builder-tabs { display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--builder-line);padding-bottom:15px;margin-bottom:20px; }
.builder-sheet { scroll-margin-top:95px; }.builder-editor { scroll-margin-top:95px; }
.builder-tabs button { font-size:.9rem;padding:9px 10px;background:#f1efe9; }.builder-tabs button[aria-selected=true] { background:#274d62;color:white;border-color:#274d62; }
.builder-page .builder-tabs button[aria-selected=true]:hover:not(:disabled) { background:#274d62;color:white; }
.builder-tabs { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr; }
.builder-tabs:has([data-builder-tab="progression"][hidden]) { grid-template-columns:repeat(3,minmax(0,1fr)); }
.builder-tabs button { width:100%;height:100%;min-width:0;line-height:1.3; }
.builder-section { margin-bottom:25px; }.builder-section small { color:#69665e;font-size:.9rem;font-weight:500; }
.builder-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.builder-stat-inputs { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px; }
.builder-info,.builder-notice,.builder-pending { background:#e8eff2;padding:12px;border-radius:5px; }.builder-notice { margin-bottom:18px;border-left:4px solid #b55e33; }.builder-pending { width:100%;margin:12px 0;font-size:.9rem!important; }
.builder-catalog-toolbar { display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:18px; }.builder-catalog-toolbar>label:first-child { flex:1;min-width:170px; }
.builder-check { flex-direction:row!important;align-items:center;font-weight:500!important;gap:6px!important; }.builder-check input { width:18px;height:18px;accent-color:#315f79;flex-shrink:0; }.builder-gm { color:#655b44;font-size:.85rem!important;margin-bottom:20px; }
.builder-entry-method { background:#f0ede5;padding:12px;border-radius:5px;margin-bottom:12px; }.builder-entry-method p { font-size:.85rem; }
.builder-catalog { display:flex;flex-direction:column;gap:8px; }.builder-catalog-row { border:1px solid var(--builder-line);border-radius:6px;padding:10px 12px; }
.builder-row-top { flex-wrap:nowrap;align-items:center;gap:10px; }.builder-row-top>div { min-width:0; }.builder-row-top h3 { display:inline;font-size:1rem; }.builder-row-top button { flex-shrink:0; }
.builder-page .builder-card-action { display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:auto;min-width:60px;min-height:44px;max-width:120px;padding:6px 10px;font-size:.85rem;line-height:1.2;align-self:center; }
.builder-card-action small { color:inherit;font-size:.75rem;font-weight:500;white-space:nowrap; }
.builder-page .builder-card-action:disabled { opacity:1;color:#77756e;background:#f3f1eb;border-color:#d0ccc3; }
.builder-row-top p { font-size:.85rem;margin:5px 0; }.builder-tier { display:inline-block;background:#e5e9dc;padding:3px 6px;border-radius:4px;font-size:.8rem;margin-right:6px; }
.builder-page a { color:#275b78;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px; }.builder-requirement { font-size:.85rem!important; color:#456348; }.builder-requirement.unmet { color:#8a6334; }.builder-refund { color:#386b4c;background:#e8f2e8;padding:7px 9px;font-size:.85rem!important; }
.builder-page details { border-top:1px solid var(--builder-line);padding:2px 0;margin:5px 0; }
.builder-page summary { display:flex;align-items:center;gap:7px;min-height:36px;padding:4px 0;box-sizing:border-box;list-style:none;cursor:pointer;font-weight:650;font-size:.875rem;line-height:1.35; }
.builder-page summary::-webkit-details-marker { display:none; }
.builder-page summary::before { content:'▸';flex:0 0 10px;color:#61727d; }
.builder-page details[open]>summary::before { content:'▾'; }
.builder-page summary:focus-visible { outline:3px solid #3687b8;outline-offset:2px;border-radius:3px; }
.builder-page details p { font-size:.9rem; }
.builder-catalog-row>details { margin-bottom:0; }
.builder-catalog-row>.builder-requirement { margin:4px 0 6px;line-height:1.4; }
.builder-class-path { list-style:none;padding:0!important;margin:10px 0; }.builder-class-path li { display:flex;gap:14px;border-bottom:1px solid #e7e2d8;padding:8px 0; }.builder-class-path b { flex:0 0 25px; }
.builder-choice-row { margin:15px 0; }.builder-choice-row label { font-size:.9rem; }.builder-skill-pool { border:1px solid var(--builder-line);padding:13px;border-radius:5px;margin:13px 0; }
.builder-skill-pool h3 { font-size:.92rem; }.builder-skill-pool small { display:block;margin-top:7px; }.builder-pool-form { display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) 64px auto;gap:8px;margin-top:10px; }
.builder-skill-allocation { display:flex;align-items:center;gap:8px;margin-top:8px; }.builder-skill-allocation span { flex:1;font-size:.9rem; }.builder-skill-allocation input { max-width:74px; }
.builder-sheet-heading h2 { font-size:1.2rem;margin:0; }.builder-sheet-heading button { font-size:.85rem; }.builder-sheet-identity { display:flex;flex-direction:column;gap:6px;margin-top:18px!important; }.builder-sheet-identity span { font-size:.85rem;color:#68665e; }
.builder-sheet-stats { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:15px 0; }.builder-sheet-stats>div { display:flex;flex-direction:column;gap:3px;padding:8px;background:#e8eef0;border-radius:4px; }.builder-sheet-stats span { font-size:.75rem; }.builder-sheet-stats b { font:700 1.25rem system-ui; }
.builder-sheet-attributes { display:grid;grid-template-columns:1fr 1fr;gap:14px; }.builder-sheet-attributes dl,.builder-skill-summary { margin:0; }.builder-sheet-attributes dl>div,.builder-skill-summary>div { display:flex;justify-content:space-between;gap:10px;padding:5px 0;font: .9rem system-ui;border-bottom:1px solid #e5e2da; }.builder-sheet dd { margin:0;font-weight:700; }
.builder-sheet #builder-sheet-content>section { border-top:1px solid var(--builder-line);padding-top:14px;margin:15px 0; }.builder-sheet #builder-sheet-content>section>p { display:flex;justify-content:space-between;gap:8px;font-size:.9rem; }.builder-sheet #builder-sheet-content>section>p>b { white-space:nowrap; }
.builder-badges { display:flex;flex-wrap:wrap;gap:5px;margin:10px 0; }.builder-badges span { font:.8rem system-ui;background:#e9e6dc;padding:5px 8px;border-radius:5px; }
.builder-validation { background:#fae7de;border-radius:5px;padding:10px!important; }.builder-validation li,.builder-warnings li { font-size:.85rem; }.builder-validation summary { color:#833d26; }
.builder-ledger-entry { display:grid;grid-template-columns:72px minmax(0,1fr) 42px;gap:10px;border-bottom:1px solid var(--builder-line);padding:14px 0; }.builder-ledger-entry>span { font-size:.85rem;color:#6d6a60; }.builder-ledger-entry p { font-size:.85rem;margin:4px 0; }.builder-ledger-entry.invalid { background:#fbe8de; }.builder-training-note { color:#85631f; }
.builder-equipped-item { padding:12px 0;border-bottom:1px solid var(--builder-line);font-size:.85rem; }.builder-equipped-item>div { display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin-top:8px; }.builder-equipped-item label { font-size:.8rem; }.builder-equipped-item input[type=number] { width:64px!important; }.builder-help { margin-top:22px!important;background:#fffdf8;border:1px solid var(--builder-line);padding:16px!important;border-radius:8px; }
@media(max-width:1100px) { .builder-workspace { grid-template-columns:minmax(0,1fr) 320px;gap:14px; }.builder-pool-form { grid-template-columns:1fr 1fr; }.builder-pool-form button { width:100%; }.builder-stat-inputs { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:850px) { .builder-workspace { grid-template-columns:1fr; }.builder-sheet { position:static;max-height:none; }.builder-sheet,.builder-editor { scroll-margin-top:135px; }.builder-budget { grid-template-columns:repeat(3,minmax(0,1fr)); }.builder-timeline-heading>div { flex-basis:100%; }.builder-sheet { order:2; }.builder-stat-inputs { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:480px) { .builder-page { margin-top:18px; }.builder-heading { gap:12px; }.builder-heading h1 { font-size:2rem; }.builder-toolbar { gap:8px; }.builder-toolbar label { flex-basis:100%; }.builder-budget { grid-template-columns:repeat(2,minmax(0,1fr)); }.builder-timeline,.builder-editor,.builder-sheet { padding:13px; }.builder-stat-inputs,.builder-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }.builder-pool-form { grid-template-columns:1fr 1fr; }.builder-pool-form select,.builder-pool-form input[name=expertise] { grid-column:1/-1; }.builder-ledger-entry { grid-template-columns:55px minmax(0,1fr) 35px;gap:6px; }.builder-scrubber { flex-wrap:wrap; }.builder-scrubber input { flex-basis:100%; }.builder-tabs button { flex:0 1 auto; padding:7px 9px;font-size:.85rem; }.builder-chart-point { flex-basis:65px;min-width:65px; }.builder-timeline-heading button { flex:1; }.builder-skill-pool { padding:10px; } }

/* Character-only workflow: compact management, visible lineage benefits. */
.builder-page [hidden] { display:none!important; }
.builder-build-fields { display:grid;grid-template-columns:1fr 1fr;gap:14px;flex:1 0 100%;min-width:0; }
.builder-build-tools { width:100%;margin:0!important; }
.builder-file-actions { display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px; }
.builder-file-actions button { width:100%; }
.builder-budget { grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0; }
.builder-chart-warnings details { background:#fff3d8;border:1px solid #e2c983;padding:12px;border-radius:5px; }
.builder-chart-warnings p,.builder-dependencies p { font-size:.9rem; }
.builder-chart-point.acquisition-warning { border-bottom:4px solid #bd8326; }
.builder-chart-point.has-issues { border-top:3px solid #a64e39; }
.chart-warning-label { color:#835615;white-space:normal!important; }
.builder-dependencies { padding:12px 16px;background:#f9e8df;border:1px solid #ddbaaa;border-radius:6px;margin:16px 0; }
.builder-dependencies details { margin:0;padding:0;border:0; }
.builder-dependencies li { font-size:.9rem; }
.builder-quick-links { display:flex;gap:10px;margin:16px 0; }
.builder-lineage-grid,.builder-clan-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 22px; }
.builder-lineage-card,.builder-clan-card { min-width:0;border:1px solid var(--builder-line);border-radius:6px;padding:12px;background:#fcfaf5;overflow-wrap:anywhere; }
.builder-lineage-card.selected,.builder-clan-card.selected { border:2px solid #387654;background:#f1f7ee;padding:11px; }
.builder-page .builder-lineage-select { display:flex;align-items:center;gap:12px;padding:0;background:transparent;border:0;text-align:left;width:100%;min-height:85px; }
.builder-lineage-select img { width:76px;height:100px;flex-shrink:0;object-fit:contain;object-position:center; }
.builder-lineage-select>span { display:flex;flex-direction:column;gap:6px;min-width:0; }
.builder-lineage-select strong { font-size:1.1rem; }
.builder-lineage-select small { font-size:.8rem;line-height:1.5;font-weight:500; }
.builder-lineage-select b { font-size:.8rem;color:#315e43; }
.builder-race-skills { font-size:.82rem!important;margin-top:12px!important; }
.builder-lineage-card summary { font-size:.85rem; }
.builder-trait-preview { margin-top:12px;border-top:1px solid #dedbd0;padding-top:10px; }
.builder-trait-preview strong { font-size:.9rem; }
.builder-trait-preview p { font-size:.85rem;margin-bottom:0; }
.builder-lineage-card .builder-ability-detail p { font-size:.85rem; }
.builder-subrace-heading { margin-top:30px!important; }
.builder-selected-race { border-left:3px solid #387654;background:#f1f7ee;padding:14px; }
.builder-selected-race p { font-size:.9rem; }
.builder-lineage-grid:has(.builder-primary-choice) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.builder-primary-choice .builder-lineage-select { flex-direction:column;align-items:center;text-align:center; }
.builder-primary-choice .builder-badges { justify-content:center; }
.builder-subrace-picker { background:#f4f1e9;border:1px solid var(--builder-line)!important;padding:12px!important;border-radius:6px; }
.builder-subrace-picker>label { margin-top:16px; }
.builder-subrace-heading+.builder-lineage-grid { grid-template-columns:1fr; }
.builder-clan-card p { font-size:.85rem; }
.builder-creation-footer { display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:22px 0 0;padding:18px 0 0;border:0;border-top:1px solid var(--builder-line);background:transparent;color:var(--builder-ink); }
.builder-creation-footer p { font-size:.9rem;margin:0;flex:1;min-width:160px; }
.builder-page .builder-creation-footer button { min-height:48px; }
@media(max-width:1100px) { .builder-lineage-grid,.builder-clan-grid { grid-template-columns:1fr; } }
@media(max-width:850px) { .builder-lineage-grid,.builder-clan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.builder-sheet,.builder-editor { scroll-margin-top:135px; }.builder-quick-links { position:sticky;top:112px;z-index:3;background:#eee9df;padding:8px;border-radius:6px; }.builder-quick-links button { flex:1; }.builder-budget { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px) { .builder-build-fields { grid-template-columns:1fr;gap:10px; }.builder-file-actions { grid-template-columns:1fr 1fr; }.builder-lineage-grid,.builder-clan-grid { grid-template-columns:1fr; }.builder-creation-footer button { width:100%; }.builder-quick-links button { padding:8px;font-size:.9rem; }.builder-editor,.builder-sheet { scroll-margin-top:180px; }.builder-skill-pool form { grid-template-columns:1fr 1fr; }.builder-skill-pool form input[name=points] { grid-column:1; }.builder-skill-pool form button { grid-column:2; } }

/* Starting foundations are distinct from the ongoing, owned-class-first plan. */
.builder-foundations { margin:0 0 16px!important;border:1px solid var(--builder-line)!important;border-radius:6px;padding:8px 10px!important;background:#f3f0e8; }
.builder-foundations>summary { font-weight:750; }
#builder-foundation-content { margin-top:20px; }
.builder-race-grid { display:grid;grid-template-columns:1fr;gap:10px;margin:12px 0; }
.builder-race-card { display:grid;grid-template-columns:clamp(90px,22%,145px) minmax(0,1fr);min-width:0;border-top-width:4px;box-shadow:none; }
.builder-race-card:hover { transform:none; }
.builder-race-card.selected { outline:3px solid #387654;outline-offset:2px; }
.builder-race-card>.lineage-art { height:100%;min-height:150px;aspect-ratio:auto;align-self:stretch; }
.builder-race-card .entity-art { object-fit:contain;object-position:center; }
.builder-race-card .lineage-content { padding:12px; }
.builder-race-heading { display:flex;align-items:center;justify-content:space-between;gap:8px; }
.builder-race-heading>div { min-width:0; }
.builder-race-heading .lineage-name { font-size:.65rem;margin-bottom:5px;padding:3px 6px;letter-spacing:.05em; }
.builder-race-card h3 { margin:0;font:850 1.2rem/1.2 var(--font-heading);overflow-wrap:anywhere; }
.builder-race-card .lineage-abilities { margin:8px 0 0;padding:0;border:0; }
.builder-race-card .lineage-abilities>h4 { margin:0 0 3px;font-size:.7rem; }
.builder-race-card .builder-ability-detail { margin:0;padding:0;border:0;border-bottom:1px solid color-mix(in srgb,var(--lineage-color) 50%,white); }
.builder-race-card .builder-ability-detail summary { font-size:.875rem; }
.builder-race-card .builder-ability-detail a { padding:0;background:transparent;border:0;font:inherit; }
.builder-race-card .builder-ability-detail p { font-size:.95rem; }
.builder-race-card button { margin:0; }
.builder-race-card.selected button { background:#d9eddb;border-color:#387654; }
.builder-race-picker,.builder-add-class,.builder-week-purchases,.builder-completed-benefits { border:1px solid var(--builder-line)!important;border-radius:6px;padding:6px 10px!important;margin:12px 0!important; }
.builder-add-class>summary { font-weight:750;font-size:.95rem; }
.builder-owned-class { border-left:4px solid #387654;padding-left:14px; }
.builder-next-benefit { padding:8px 10px;background:#edf3ee;border-radius:5px;margin:8px 0; }
.builder-next-benefit>strong { font:700 .9rem/1.35 var(--font-ui,system-ui); }
.builder-next-benefit p { font-size:.9rem;margin:6px 0; }
.builder-next-benefit small { color:#645228; }
.builder-continue { width:100%;margin-top:12px; }
.builder-unallocated { margin:16px 0;padding:14px 16px;background:#fff3d8;border:1px solid #d7ba75;border-left:4px solid #b88421;border-radius:6px; }
.builder-unallocated p { font-size:.9rem;margin:6px 0; }
.builder-unallocated a { color:#31546c;font:700 .95rem/1.5 var(--font-ui,system-ui);text-underline-offset:3px; }
.builder-unallocated a { display:inline-block;padding:8px 0; }
.builder-unallocated li { margin:8px 0;font-size:.9rem; }
.builder-unallocated details { margin-bottom:0; }
.builder-benefit-choice,.builder-skill-pool,#builder-editor-content { scroll-margin-top:100px; }
.builder-allocation-target { outline:3px solid #b88421;outline-offset:3px; }
@media(max-width:850px) { .builder-benefit-choice,.builder-skill-pool,#builder-editor-content { scroll-margin-top:185px; } }
.builder-row-top>div { flex:1;min-width:0; }
.builder-row-top button { max-width:100%; }
.builder-class-card { background:color-mix(in srgb,var(--lineage-color) 15%,var(--paper-2));border-color:color-mix(in srgb,var(--lineage-color) 55%,var(--builder-line));border-left:4px solid var(--lineage-color); }
.builder-class-thumbnail { display:flex;flex:0 0 48px;height:60px;background:color-mix(in srgb,var(--lineage-color) 25%,white);border-radius:4px;overflow:hidden; }
.builder-class-thumbnail img { width:100%;height:100%;object-fit:contain;object-position:center; }
.builder-class-card .builder-tier { background:color-mix(in srgb,var(--lineage-color) 40%,white); }
/* Closed rule controls sit beside metadata instead of consuming a full row. */
.builder-entry-meta { min-width:0;margin:3px 0; }
.builder-page .builder-inline-rules { margin:0;padding:0;border:0;min-width:0; }
.builder-page .builder-inline-rules>summary { display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;min-height:28px;padding:3px 0;gap:10px;color:#415b6a; }
.builder-page .builder-inline-rules>summary::before,.builder-page .builder-inline-rules[open]>summary::before { display:none;content:none; }
.builder-rule-meta { min-width:0;font:.85rem/1.45 var(--font-ui,system-ui);color:var(--builder-ink); }
.builder-rule-toggle { font:.75rem/1.35 var(--font-ui,system-ui);font-weight:650;text-decoration:underline;text-underline-offset:3px;white-space:nowrap; }
.builder-rule-toggle::before { content:'▸';display:inline-block;width:10px;margin-right:3px; }
.builder-inline-rules[open]>summary .builder-rule-toggle::before { content:'▾'; }
.builder-rules-body { min-width:0;margin-top:8px; }
.builder-rules-body .ability-list { gap:12px; }
.builder-rules-body .ability-row { min-width:0;box-shadow:none;border-left-width:4px; }
.builder-rules-body .ability-row-head { display:flex;flex-wrap:wrap;gap:12px;padding:14px; }
.builder-page .builder-rules-body .ability-row-head h3 { display:block;font:850 1.1rem/1.2 var(--font-heading);margin:0; }
.builder-page .builder-rules-body .ability-row-head a { color:white; }
.builder-page .builder-rules-body .ability-row-head .card-kind { font-size:.65rem;margin:0 0 6px; }
.builder-rules-body .ability-row-body { padding:14px; }
.builder-rules-body .ability-facts { gap:8px;margin-bottom:14px; }
.builder-rules-body .ability-facts>div { min-width:0;max-width:100%;padding:9px 11px; }
.builder-page .builder-rules-body .ability-range-fact a,.builder-page .builder-rules-body .progression-ultimate a { color:white; }
.builder-rules-body .class-mechanics-panel { padding:10px;margin-bottom:12px;border-top-width:4px; }
.builder-rules-body .class-mechanics-grid { gap:10px; }
.builder-rules-body .class-requirements-card,.builder-rules-body .class-progression-card { padding:12px;box-shadow:none; }
.builder-page .builder-rules-body .class-progression-item { grid-template-columns:54px minmax(0,1fr);gap:4px 8px;min-height:0;padding:9px; }
.builder-rules-body .class-progression-value { grid-column:2; }
.builder-page .builder-rules-body .class-progression-list { margin:0;padding:0; }
.builder-page .builder-rules-body .class-progression-list li { font-size:.85rem; }
.builder-rules-body .ability-full-text,.builder-rules-body .prose { overflow-wrap:anywhere; }
.builder-rules-body .ability-full-text p,.builder-rules-body .prose p { line-height:1.55; }
.builder-rules-body .ability-grants,.builder-rules-body .ability-refund-note { margin:12px;padding:10px; }
.builder-rules-body p:last-child { margin-bottom:0; }
.builder-race-card .builder-ability-detail { border:0; }
.builder-page .builder-ability-detail { margin:0; }
.builder-page .builder-rule-meta a { font-size:.875rem; }
.builder-next-level { font-size:.75rem;color:#4b6153!important;margin-right:5px;white-space:nowrap; }
.builder-class-card h3 { font-family:var(--font-heading); }
.builder-tier { font-family:var(--font-ui,system-ui); }
@media(max-width:850px) { .builder-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }.builder-tabs:has([data-builder-tab="progression"][hidden]) { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:520px) { .builder-tabs button { font-size:.8rem;padding:8px 5px;min-height:48px; }.builder-class-thumbnail { flex-basis:40px;height:52px; }.builder-page .builder-inline-rules>summary { min-height:28px;gap:6px; }.builder-rules-body .ability-row-head,.builder-rules-body .ability-row-body { padding:10px; } }
.builder-ready { padding:16px;border:1px solid #b7ccbf;background:#edf3ee;border-radius:6px; }
.builder-ready button { margin:5px 0; }
.builder-benefit-group { margin:22px 0; }
.builder-benefit-choice { border:1px solid var(--builder-line);background:#f5f3ed;padding:12px;border-radius:5px;margin:12px 0; }
.builder-benefit-choice h3 { font-size:.95rem; }
.builder-benefit-choice label { font-size:.85rem; }
.builder-benefit-value { display:block;padding:8px 0;font-size:1rem; }
.builder-capability-group { margin:14px 0!important;padding:12px!important;background:#f3f1ea;border:1px solid var(--builder-line)!important;border-radius:5px; }
.builder-capability-group h4 { margin:0 0 8px; }
.builder-capability-group ul { list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px; }
.builder-capability-group li { padding:7px 9px;border:1px solid #cfccc3;border-radius:4px;background:#fffdf8;font-size:.9rem; }
.builder-sheet .builder-capability-group p { display:block;font-size:.9rem;margin-bottom:0; }
@media(max-width:520px) {
  .builder-race-card { grid-template-columns:72px minmax(0,1fr); }
  .builder-race-card>.lineage-art { min-height:110px; }
  .builder-race-card .lineage-content { padding:9px; }
  .builder-race-card h3 { font-size:1.05rem; }
  .builder-page .builder-card-action { min-width:54px;max-width:105px;padding:6px 8px;font-size:.8rem; }
  .builder-page summary { min-height:44px; }
  .builder-page .builder-race-heading button { font-size:.75rem;min-width:54px; }
  .builder-choice-selected { display:none; }
  .builder-catalog-row { padding:8px 10px; }
  .builder-row-top h3 { overflow-wrap:anywhere;font-size:.95rem; }
  .builder-tier { font-size:.7rem;padding:2px 4px; }
  .builder-ready button { width:100%; }
  .builder-foundations { padding:6px 8px!important; }
}
