.builder-page { max-width:var(--content-width); margin-inline:auto; --operation-add:#87c8ff; --operation-multiply:#ffc082; --operation-amplify:#d3adff; }
.builder-page :where(section:not(.preview-content *, .translation-dialog *)) { margin:0; padding:0; border:0; min-width:0; }
.builder-page :where(h2:not(.preview-content *, .translation-dialog *, .popup-title)) { font-size:1.12rem; margin:0 0 .75rem; }
.builder-page :where(h3:not(.preview-content *, .translation-dialog *)) { font-size:.92rem; margin:0; }
.builder-page :where(p:not(.preview-content *, .translation-dialog *)) { margin:.5rem 0; }
.builder-page :is(button,[role=button]):not(:where(.translation-dialog *, .dialog-close, .dialog-confirm, .selected-filters *)),.builder-page input,.builder-page select { font:inherit; }
.builder-page :is(button,[role=button]):not(:where(.translation-dialog *, .dialog-close, .dialog-confirm, .selected-filters *)) { cursor:pointer; color:var(--ink); border:1px solid var(--control-line); border-radius:var(--radius); background:var(--surface); padding:.4rem .65rem; min-height:36px; }
.builder-page :is(button,[role=button]):not(:where(.translation-dialog *, .dialog-close, .dialog-confirm, .selected-filters *)):hover,.builder-page :is(button,[role=button]):not(:where(.translation-dialog *, .dialog-close, .dialog-confirm, .selected-filters *))[aria-pressed=true] { background:var(--surface-hover); border-color:var(--accent); }
.builder-page :is(button,[role=button]):not(:where(.translation-dialog *, .dialog-close, .dialog-confirm, .selected-filters *)):disabled { opacity:.5; cursor:default; }
.builder-page :focus-visible { outline:var(--focus-ring); outline-offset:3px; }
.builder-page label { display:flex; flex-direction:column; gap:.25rem; min-width:0; }
.builder-page input,.builder-page select { color:var(--ink); background:var(--canvas); border:1px solid var(--control-line); border-radius:var(--radius); padding:.35rem; min-height:36px; min-width:0; max-width:100%; }
.builder-page input[type=checkbox],.builder-page input[type=radio] { flex:none; width:18px; height:18px; min-height:18px; accent-color:var(--accent); }
.builder-page input[type=range] { width:100%; accent-color:var(--accent); padding:0; min-height:24px; }
.builder-page input[type=number] { width:8rem; }
.builder-page input[aria-invalid=true] { border-color:var(--error); }
.builder-page .builder-check { flex-direction:row; align-items:center; gap:.45rem; min-height:32px; }
.builder-heading,.builder-toolbar,.builder-group-heading,.builder-filter-row { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; }
.builder-heading { gap:1.2rem; margin-bottom:.5rem; }
.builder-heading h1 { margin:0; font-size:1.75rem; }
.builder-startup .wiki-startup-builder { display:flex; flex-wrap:wrap; align-items:center; gap:.25rem 1.25rem; margin-block-start:.75rem; padding:.5rem 1rem; max-inline-size:48rem; }
.builder-startup .wiki-startup-explore { margin:0; padding:0; border:0; }
.builder-startup .wiki-startup-explore p { display:none; }
.builder-startup-equipment { inline-size:min(100%,22rem); }
.builder-startup-equipment>h2 { margin-block-end:.25rem; }
.builder-startup-equipment>[data-preview-label] { margin-block-start:0; font-size:.8rem; }
.builder-startup-equipment .builder-slot-cell { cursor:default; }
.builder-startup-equipment .builder-slot-cell:has(.builder-plus), .builder-startup-equipment .builder-slot-group:not(:has(.entry-image)) { display:none; }
.builder-startup-equipment .builder-slot-cell:hover { background:var(--surface); --text-surface:var(--surface); }
.builder-group-heading { margin-bottom:.5rem; }
.builder-group-heading h3:first-child { margin-inline-end:auto; }
[data-builder-status]:empty,[data-save-status]:empty { display:none; }
.builder-save { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem .7rem; border:1px solid var(--line); border-radius:var(--radius); padding:.5rem .75rem; margin:.6rem 0 1rem; font-size:.85rem; }
.builder-save.dragging { background:var(--surface-hover); border-color:var(--accent); }
.builder-save-hint { margin-inline-start:auto; }
.builder-save p { flex-basis:100%; margin:0; overflow-wrap:anywhere; }
.builder-filename { display:inline-block; max-width:22rem; vertical-align:bottom; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.builder-page .builder-file { display:inline-flex; position:relative; overflow:hidden; border:1px solid var(--control-line); border-radius:var(--radius); padding:.45rem .65rem; cursor:pointer; }
.builder-file input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.builder-file:focus-within { outline:var(--focus-ring); outline-offset:2px; }
.builder-layout { display:grid; grid-template-columns:minmax(19rem,22rem) minmax(0,1fr); gap:24px; align-items:start; }
.builder-layout:not([data-columns]) { display:flex; flex-direction:column; }
.builder-layout[data-columns=csharp] { grid-template-areas:"equipment stats" "growth effects"; }
.builder-layout[data-measured] { display:block; position:relative; }
.builder-layout[data-measured]>:is(section,.builder-effects-column) { position:absolute; margin:0; }
.builder-column { display:flex; flex-direction:column; gap:24px; min-width:0; }
.builder-layout[data-columns=wide] { grid-template-columns:minmax(18rem,1fr) 22rem minmax(29rem,calc(50% - 7rem)); }
.builder-growth-section { container:builder-growth / inline-size; }
.builder-equipment { grid-area:equipment; }
.builder-stats-section { grid-area:stats; container:stat-list / inline-size; }
.builder-growth-section { grid-area:growth; }
.builder-effects-column { grid-area:effects; display:grid; gap:1.25rem; min-width:0; }
.builder-page .builder-slot-group { margin-bottom:.5rem; }
.builder-slot-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; }
.builder-skulls { grid-template-columns:repeat(2,minmax(0,1fr)); }
.builder-abilities { grid-template-columns:repeat(4,minmax(0,1fr)); }
.builder-page .builder-slot { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:.2rem; padding:.25rem .2rem; min-height:64px; font-size:.75rem; overflow-wrap:anywhere; }
.builder-slot>.entry-image:not(.framed) { width:40px; height:40px; flex-basis:40px; }
.builder-slot>.framed { margin:.4rem 1rem; }
.builder-slot small { font-size:.65rem; color:var(--muted); }
.builder-plus { color:var(--accent); font-size:1.7rem; line-height:1; }
.builder-page .builder-swap { min-height:24px; width:24px; height:24px; padding:0; line-height:1; font-size:1.1rem; }
.builder-image { width:32px; height:32px; object-fit:contain; flex:none; image-rendering:pixelated; }
[data-builder-stats] { display:grid; grid-template-columns:minmax(0,1fr); gap:.15rem 1rem; }
.builder-page .builder-stat { display:flex; align-items:center; gap:.5rem; text-align:start; border:0; border-radius:var(--radius); background:transparent; padding:.1rem 0; min-height:28px; min-width:0; font-size:.9rem; }
.builder-stats-section>h2 { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; }
.builder-stats-section>h2 .builder-partial { font-size:.7rem; min-height:28px; padding:.15rem .4rem; }
.builder-stat strong { color:var(--accent); white-space:nowrap; }
.builder-stat span { min-width:0; overflow-wrap:anywhere; text-align:start; }
.builder-page .builder-partial { grid-column:1/-1; text-align:start; font-size:.85rem; }
.builder-page .builder-partial { border:0; border-inline-start:3px solid var(--accent); }

.builder-formula { display:flex; flex-wrap:wrap; align-items:center; gap:.15rem; font-variant-numeric:tabular-nums; }
.builder-formula span { white-space:normal; }
.builder-growth-group+.builder-growth-group { margin-top:1rem; }
.builder-growth-group .builder-group-heading button { font-size:.75rem; min-height:28px; padding:.2rem .45rem; }
.builder-traits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.35rem; margin-bottom:.65rem; }
.builder-page .builder-trait { display:flex; align-items:center; justify-content:center; gap:.35rem; padding:.3rem; font-size:.75rem; }
.builder-growth-description { font-size:.82rem; color:var(--ink); min-width:0; }
.builder-growth-description p { margin:0; }
.builder-growth-group label { font-size:.85rem; }
.builder-page .builder-range { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.1rem .4rem; }
.builder-range input { grid-column:1/-1; }
.builder-growth-group output { font-size:.75rem; color:var(--accent); text-align:end; }
.builder-bone { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:center; gap:.25rem .6rem; margin-bottom:.5rem; }
.builder-bone .builder-growth-description { grid-column:2; }
.builder-inscription-row { display:flex; align-items:center; gap:.5rem; margin-bottom:.35rem; }
.builder-page .builder-info-trigger { display:flex; align-items:center; gap:.6rem; text-align:start; flex:0 1 auto; min-width:0; border:0; padding:.4rem .35rem; background:transparent; }
.builder-info-trigger .entry-image { flex:none; }
.builder-info-trigger bdi { overflow-wrap:anywhere; }
.builder-info-trigger strong { color:var(--accent); }
.builder-page .builder-enhance { flex:none; min-height:30px; padding:.25rem .5rem; font-size:.75rem; }
.builder-active { border-inline-start:3px solid var(--accent); padding-inline-start:.5rem; }
[data-builder-inscription-settings] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; font-size:.8rem; }
.builder-extra>p { font-size:.8rem; }
.builder-effect-row { padding-bottom:.6rem; margin-bottom:.6rem; border-bottom:1px solid var(--line); }
.builder-effect-row .builder-group-heading { flex-wrap:wrap; margin:0; }
.builder-effect-row small { font-size:.75rem; }
.builder-share input { width:100%; }
.builder-picker { padding:0; width:min(100rem,calc(100vw - 3rem)); max-width:none; height:min(900px,calc(100dvh - 3rem)); max-height:none; }
.builder-picker[open] { display:flex; flex-direction:column; overflow:hidden; }
.builder-picker-header,.builder-dialog-header { display:flex; gap:1rem; align-items:center; justify-content:space-between; padding:.75rem 1rem; flex:none; }
.builder-picker-header h2,.builder-dialog-header h2 { margin:0; }
.builder-picker-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); min-height:0; flex:1; }
.builder-picker-facet-sidebar { display:flex; flex-direction:column; min-height:0; overflow:hidden; padding:.65rem; }
.builder-picker-facet-sidebar>strong { flex:none; margin-bottom:.5rem; }
.builder-picker-facet-sidebar [data-picker-facets] { overflow:auto; min-height:0; flex:1; }
.builder-picker-preview { container:builder-detail / inline-size; }
.builder-candidate-inscriptions { grid-column:1/-1; width:100%; }
.builder-page .builder-candidate:has(.builder-candidate-inscriptions) { flex-direction:column; align-items:stretch; gap:.5rem; }
.builder-candidate-inscriptions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem; }
.builder-candidate-inscriptions .entry-label bdi { overflow-wrap:anywhere; }
.builder-page .builder-candidate-inscriptions button { flex:1; min-width:0; padding:2px 4px; border:1px solid transparent; background:transparent; font-size:var(--text-sm); text-align:start; }
.builder-page .builder-candidate-inscriptions button:hover { color:var(--accent); }
.builder-page .builder-candidate-inscriptions .inscription-match.is-selected { color:var(--selected); background:var(--surface-hover); border-color:var(--selected); }
.builder-candidate-inscriptions .entry-label { display:flex; align-items:center; gap:var(--space-2); }
.builder-changed>h3,.builder-changed>button { grid-column:1/-1; }
@container builder-detail (min-width:24rem) { .builder-changed { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.builder-picker-catalog { min-height:0; display:flex; flex-direction:column; border-inline-end:1px solid var(--line); }
.builder-picker-filters { padding:.65rem 1rem; flex:none; font-size:.85rem; }
.builder-picker-filters details { margin:.4rem 0; }
.builder-picker-filters [data-picker-facets] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-height:150px; overflow:auto; }
.builder-picker-filters [data-picker-count] { display:inline; margin-inline-start:.6rem; color:var(--muted); }
.builder-candidates { overflow:auto; min-height:0; padding:.5rem 1rem 1rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:max-content; gap:.5rem; align-content:start; scrollbar-gutter:stable; }
.builder-page .builder-candidate { display:flex; align-items:center; gap:1rem; text-align:start; padding:.6rem .75rem; font-size:.85rem; min-width:0; }
.builder-candidate>.entry-image { flex:none; margin-inline:.25rem; }

.builder-page .builder-picker-preview { padding:1rem; overflow:auto; min-width:0; }
.builder-picker-preview>h3 { margin-bottom:.6rem; }
[data-picker-options] { margin-top:1rem; display:grid; gap:.75rem; }
.builder-levels { display:grid; gap:.45rem; }
.builder-levels .game-text { font-size:.875rem; line-height:1.65; }
.builder-page .builder-level { display:grid; grid-template-columns:auto auto minmax(0,1fr); align-items:start; gap:.65rem; border:1px solid var(--line); border-radius:var(--radius); padding:.65rem; }
.builder-level:only-child { display:block; }
.builder-level.selected-stage { border-color:var(--accent); background:var(--surface-hover); }
.builder-level input { margin-top:.2rem; }
.builder-page fieldset { min-width:0; border:1px solid var(--line); border-radius:var(--radius); padding:.5rem .75rem; }
.builder-skill-description { border-top:1px solid var(--line); padding-top:.65rem; }
.builder-changed { display:grid; gap:.5rem; }
.builder-info,.builder-guide { width:min(42rem,calc(100vw - 24px)); max-width:none; max-height:calc(100dvh - 32px); padding:0; overflow:auto; }
.builder-dialog-header { background:var(--surface); }
.builder-inscription-picker > :not(.dialog-close, .preview-panel) { margin-inline:16px; }
.builder-inscription-picker > .builder-dialog-header { padding-inline:0; }
.builder-inscription-results { padding-bottom:16px; }
.preview-content .builder-growth-description { font-size:inherit; }
.builder-guide code { display:block; white-space:normal; overflow-wrap:anywhere; padding:.5rem; background:var(--surface); margin-top:.5rem; }

.builder-error { color:var(--error); }
.builder-modal-open { overflow:hidden; }
@container builder-growth (min-width:29rem) {
  .builder-growth-group:last-child { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem .75rem; }
  .builder-growth-group:last-child>.builder-group-heading { grid-column:1/-1; }
  .builder-bone { display:flex; flex-direction:column; align-items:stretch; gap:.3rem; }
  .builder-bone>.entry-image { align-self:center; }
  .builder-bone .builder-growth-description { font-size:.75rem; }
}
@media(max-width:850px) {
  .builder-layout[data-columns=csharp] { grid-template-areas:"equipment" "stats" "growth" "effects"; }
  .builder-layout { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
  .builder-equipment { width:100%; max-width:30rem; margin-inline:auto; }
  .builder-page :is(button,[role=button]):not(:where(.translation-dialog *, .dialog-close, .dialog-confirm, .selected-filters *)),.builder-page select { min-height:44px; }
  .builder-page .builder-swap { width:44px; height:44px; }
  .builder-page .builder-picker { width:100%; height:100dvh; border:0; border-radius:0; max-height:100dvh; margin:0; }
  .builder-picker-filters { padding:.5rem .7rem; max-height:30dvh; overflow:auto; }
  .builder-picker-filters [data-picker-facets] { max-height:100px; }
  .builder-picker-header { padding:.6rem .7rem; }
  .builder-trait { flex-direction:column; }
}
@media(pointer:coarse) { .builder-page :is(button,[role=button]):not(:where(.translation-dialog *, .dialog-close, .dialog-confirm, .selected-filters *)) { min-height:44px; } .builder-page .builder-swap { width:44px; height:44px; } }
@media(max-width:350px) {
  .builder-page .builder-slot { font-size:.68rem; }
  .builder-abilities { gap:.3rem; }
}

/* Equipment and inscription choices share a frame; icon overflow remains intentional. */
.builder-slot-cell { display:flex; flex-direction:column; min-width:0; border:1px solid var(--tier,var(--line)); border-radius:var(--radius); --text-surface:var(--surface); background:var(--surface); }
.builder-slot-cell:hover,.builder-slot-cell:focus-within,.builder-page :is(button,[role=button]):not(:where(.translation-dialog *, .dialog-close, .dialog-confirm, .selected-filters *)):hover,.builder-page :is(button,[role=button]):not(:where(.translation-dialog *, .dialog-close, .dialog-confirm, .selected-filters *))[aria-pressed=true] { --text-surface:var(--surface-hover); }
.builder-slot-cell .builder-slot { width:100%; border:0; background:transparent; flex:1; }
.builder-slot>bdi { color:var(--tier,var(--ink)); }
.builder-quintessences>.builder-slot-cell { grid-column:2; }
.builder-abilities .builder-slot>.entry-image { margin-top:0; margin-bottom:.2rem; flex-shrink:0; }
.builder-slot-icons { display:flex; gap:2px; justify-content:center; flex-wrap:wrap; padding:0 2px 3px; position:relative; z-index:1; }
.builder-page .builder-icon { padding:1px; min-height:24px; min-width:24px; border:0; background:transparent; display:flex; align-items:center; justify-content:center; }
.builder-icon .entry-image,.builder-icon .builder-image { width:22px; height:22px; flex-basis:22px; }
.builder-page .builder-candidate { --text-surface:var(--surface); height:auto; min-height:max-content; align-self:stretch; }
.builder-candidate .identity { width:100%; gap:1rem; align-items:flex-start; }
.builder-candidate .identity>.entry-image { flex:none; }
.builder-candidate .identity-text { flex:1; }
.builder-candidate .identity-text>.entry-name { display:block; color:var(--tier,var(--ink)); }
.builder-candidate .identity .english { display:block; font-size:.75rem; color:var(--muted); }
.builder-page .builder-candidate.is-equipped { border-inline-start:4px solid var(--tier,var(--accent)); }
.builder-page .builder-candidate[aria-pressed=true] { outline:2px solid var(--accent); outline-offset:-2px; }
.builder-candidate-title { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:.35rem .5rem; }
.builder-candidate-title a { color:inherit; }
.builder-equipped-label { color:var(--accent); font-weight:normal; font-size:.75rem; }
.builder-page .builder-skill-description { display:block; width:100%; text-align:start; padding:.65rem; border:1px solid var(--line); }
.builder-page .builder-skill-description[aria-pressed=true] { border-color:var(--accent); }
/* Native selection controls are siblings of rich content, so nested links retain their own action. */
.builder-page .builder-candidate:has(>.builder-choice-action),.builder-skill-description { position:relative; display:block; border:1px solid var(--control-line); border-radius:var(--radius); }
.builder-page .builder-choice-action { position:absolute; inset:0; width:100%; height:100%; min-height:0; padding:0; border:0; border-radius:inherit; background:transparent; }
.builder-page .builder-choice-action:is(:hover,[aria-pressed=true]) { background:transparent; }
.builder-choice-content { position:relative; pointer-events:none; }
.builder-choice-content :is(a,button,input,summary) { pointer-events:auto; }
.builder-candidate:has(>.builder-choice-action[aria-pressed=true]),.builder-skill-description:has(>.builder-choice-action[aria-pressed=true]) { background:var(--surface-hover); outline:2px solid var(--accent); outline-offset:-2px; }
.builder-choice-action[aria-disabled=true] { cursor:default; }
.builder-options { margin-top:1rem; display:grid; gap:.75rem; }
.builder-level>label { display:contents; }
.builder-inscription-slot { display:flex; align-items:center; gap:.5rem; text-align:start; width:100%; }
.builder-page .builder-inscription-slot { border:1px solid var(--line); border-radius:var(--radius); }
.builder-extra-slot { display:grid; gap:.3rem; }
.builder-inscription-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; margin-top:.75rem; }
.builder-inscription-choice { display:flex; align-items:stretch; min-width:0; }
.builder-inscription-choice .builder-inscription-slot { flex:1; min-width:0; }
@media(max-width:850px) {
  .builder-inscription-results { grid-template-columns:1fr; }
  .builder-page .builder-icon { min-width:36px; min-height:36px; }
  .builder-picker-footer { gap:.4rem; }
  .builder-picker-footer button { font-size:.8rem; padding:.4rem; }
}
@media(pointer:coarse) { .builder-page .builder-icon { min-width:44px; min-height:44px; } }

.builder-equipment .builder-group-heading { margin-bottom:.25rem; }
.builder-slot-cell .builder-slot { position:relative; line-height:1.35; }
.builder-items { gap:.375rem; }
.builder-maximum-assumption { font-size:.85rem; }

.builder-slot-cell:hover,.builder-slot-cell:focus-within,.builder-page .builder-info-trigger:hover { background:var(--surface-hover); }

.builder-operation-0,.builder-operation-1 { color:var(--operation-add); }
.builder-operation-2 { color:var(--operation-multiply); }
.builder-operation-3 { color:var(--operation-amplify); }
.builder-operation-override { color:var(--ink); }
.builder-formula { padding-bottom:.75rem; border-bottom:1px solid var(--line); gap:.35rem; }
.builder-formula-group { display:contents; }
.builder-formula-term { display:inline-flex; flex-wrap:wrap; align-items:center; gap:.3rem; max-width:100%; border-radius:var(--radius); padding:.15rem .25rem; background:var(--surface); }
.builder-formula-term bdi { overflow-wrap:anywhere; font-size:.85rem; }
.builder-formula-term strong { white-space:nowrap; }
.builder-stat-sources { list-style:none; padding:0; margin:.75rem 0; }
.builder-stat-sources:has(.builder-stat-source) { display:grid; grid-template-columns:minmax(0,1fr); gap:0 1rem; }
.builder-stat-source { display:flex; align-items:center; gap:.5rem; min-width:0; padding:.4rem 0; }
.builder-stat-source>.builder-source-identity { min-width:0; }
.builder-stat-source .builder-source-name { text-align:start; }
.builder-stat-source>.builder-source-identity>strong { text-align:start; }

.builder-stat-dialog { width:min(36rem,calc(100vw - 24px)); }
.builder-nested-info { width:min(32rem,calc(100vw - 24px)); }
.builder-source-identity { display:inline-flex; align-items:center; gap:.5rem; min-width:0; max-width:100%; color:inherit; text-align:start; }
.builder-page button.builder-source-identity { border:0; background:transparent; padding:.2rem; font:inherit; color:inherit; }
.builder-page a.builder-source-identity { border:0; background:transparent; padding:.2rem; font:inherit; color:inherit; text-decoration:none; }
.builder-source-name { display:inline-flex; align-items:center; gap:.5rem; min-width:0; }
.builder-source-identity bdi { min-width:0; overflow-wrap:anywhere; }
.builder-source-identity>strong { white-space:nowrap; }
.builder-stat-source.is-inactive>.builder-source-identity bdi,.builder-stat-source.is-inactive>.builder-source-identity>strong { text-decoration:line-through; text-decoration-thickness:1px; }
.builder-stat-source input { margin:0; flex:none; accent-color:var(--accent); }
.builder-partial-source { padding:.4rem 0; }
.builder-stat-content .builder-icon { flex:none; color:inherit; }
.builder-stat-content .builder-base-icon { width:24px; height:24px; object-fit:contain; flex-shrink:0; }
.builder-growth-icon { display:inline-flex; }
.builder-growth-icon:focus-visible { outline:var(--focus-ring); outline-offset:3px; }
@media(max-width:850px) { .builder-formula-term { gap:.2rem; } }

/* All picker filters share the same sidebar and mobile collapse behavior. */
.builder-picker-layout.with-filter-sidebar { grid-template-columns:14rem minmax(0,1.2fr) minmax(0,1fr); }
.builder-filter-groups { overflow:auto; min-height:0; flex:none; max-height:30dvh; padding:.5rem .7rem; }
.with-filter-sidebar > .builder-filter-groups { max-height:none; }
.builder-filter-groups > .filter-group { margin-block-end:6px; }
.builder-filter-groups [data-picker-facets] { display:grid; min-width:0; }
.builder-page .filter-group .filter-chip, .builder-page .filter-group .inscription-facet label { flex-direction:row; min-height:44px; padding:4px; background:transparent; }
.builder-candidate .tag-list { margin-top:4px; }
.builder-page .tag-badge { min-height:0; padding:2px 5px; font-size:.8125rem; line-height:1.35; }
.inscription-filter-groups { flex-shrink:0; max-height:30dvh; overflow:auto; display:grid; gap:6px; }
.builder-inscription-picker[open] { display:flex; flex-direction:column; height:min(48rem,calc(100dvh - 2rem)); overflow:hidden; }
.builder-inscription-picker > .builder-dialog-header, .builder-inscription-picker > label { flex-shrink:0; }
.builder-inscription-results { overflow:auto; flex:1; min-height:0; align-content:start; }
@media(max-width:850px) { .builder-page .builder-inscription-picker[open] { height:100dvh; } }
@media (max-width:700px) {
  .builder-filter-groups { max-height:30dvh; }
  .builder-picker-filters { max-height:none; overflow:visible; }
}

.builder-picker-search-row { display:flex; gap:8px; align-items:end; padding:0 1rem .65rem; }
[data-builder-inscriptions] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; align-items:start; }
.builder-inscription-row { min-width:0; flex-wrap:wrap; }
.builder-inscription-row .builder-info-trigger { max-width:100%; flex-wrap:wrap; }
.builder-inscription-row .builder-info-trigger bdi { min-width:0; flex:1; }
.builder-page .builder-inscription-picker { width:min(64rem,calc(100vw - 2rem)); max-width:none; }
.builder-inscription-picker > .selected-filters, .builder-inscription-picker > p, .builder-inscription-picker > button { flex:none; }
.builder-inscription-results { grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr)); }
.builder-page .builder-inscription-choice .builder-candidate { flex-direction:row; }
.builder-inscription-choice [aria-disabled=true] { opacity:.5; cursor:default; }
.builder-page .filter-panel { width:min(26rem,calc(100vw - 2rem)); height:min(48rem,calc(100dvh - 2rem)); }
.builder-page .filter-panel-content .builder-filter-groups { max-height:none; overflow:visible; padding:0; }
.builder-picker-filters [data-picker-count] { margin:0 0 8px; display:block; }

/* Native scroll anchoring must not override the saved discovery position. */
.builder-candidates, .builder-inscription-results { overflow-anchor:none; }

.builder-stat-content { container:stat-list / inline-size; }
.builder-stat strong,.builder-source-identity>strong { flex:none; }
@container stat-list (min-width:29rem) {
  [data-builder-stats],.builder-stat-sources:has(.builder-stat-source) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container stat-list (min-width:44rem) {
  [data-builder-stats],.builder-stat-sources:has(.builder-stat-source) { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* Picker chrome stays fixed; only the visible list/detail body consumes the remaining height. */
.builder-picker-header { gap:.5rem; padding:.5rem .75rem; }
.builder-picker-header h2 { flex:1; min-width:0; font-size:1rem; overflow-wrap:anywhere; }
.builder-picker-header .builder-picker-search-row { padding:0; flex:none; }
.builder-picker-layout { overflow:hidden; }
.builder-picker-layout.is-compact { grid-template-columns:minmax(0,1fr); }
.builder-picker-runtime { container:equipment-picker / inline-size; }
.builder-picker-runtime .builder-picker-back { display:none; }
@container equipment-picker (width < 56rem) {
  .builder-picker-runtime .builder-picker-layout { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); }
  .builder-picker-runtime .builder-picker-layout>:is(.builder-picker-catalog,.builder-picker-preview) { grid-area:1 / 1; }
  .builder-picker-runtime .builder-picker-catalog { border-inline-end:0; }
  .builder-picker-runtime[data-view=list] .builder-picker-preview,
  .builder-picker-runtime[data-view=detail] .builder-picker-catalog { visibility:hidden; pointer-events:none; }
  .builder-picker-runtime[data-view=detail] .builder-picker-back { display:block; }
  .builder-picker-runtime[data-view=list] .dialog-confirm { display:none; }
  .builder-picker-runtime[data-view=list] .dialog-actions { grid-template-columns:minmax(0,1fr); }
}
.builder-picker-catalog { min-width:0; }
.builder-picker-list,.builder-inscription-list { min-height:0; flex:1; overflow:auto; scrollbar-gutter:stable; overflow-anchor:none; }
.builder-candidates { overflow:visible; grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr)); }
.builder-current-equipment { display:flex; flex-wrap:wrap; align-items:center; align-content:start; justify-content:flex-start; gap:.5rem; padding:.5rem; border:1px solid var(--accent); border-radius:var(--radius); min-width:0; }
.builder-current-equipment>small { flex-basis:100%; }
.builder-current-equipment>button { min-width:0; max-width:100%; }
.builder-current-equipment>button:first-of-type { display:flex; text-align:start; padding:.25rem; }
.builder-current-equipment small { display:block; color:var(--muted); margin-bottom:.25rem; }
.builder-current-equipment .identity { gap:.5rem; }
.builder-current-equipment .entry-name { overflow-wrap:anywhere; }
.builder-picker-layout>.builder-filter-groups { max-height:none; min-width:0; }
.builder-page .builder-picker-preview { min-height:0; overflow-anchor:none; }
.builder-page .builder-inscription-list { margin-inline:0; }
.builder-page .builder-inscription-picker[open] { overflow:hidden; }
.builder-inscription-list .builder-inscription-results { overflow:visible; padding:1rem; margin:0; }
.builder-page .builder-inscription-picker>.builder-dialog-header { margin:0; padding:.5rem .75rem; gap:.5rem; }
.builder-inscription-picker .builder-dialog-header h2 { flex:1; min-width:0; font-size:1rem; }
.builder-page :is(.builder-picker,.builder-inscription-picker) [hidden] { display:none !important; }
.builder-page .filter-panel-content .builder-filter-groups { margin:0; }
[data-picker-error] { color:var(--error); }
[data-picker-selection-status] { color:var(--muted); }
@media(max-width:850px), (max-height:450px) {
  .builder-page :is(.builder-picker,.builder-inscription-picker)[open] { width:100%; height:100dvh; max-height:100dvh; max-width:100%; margin:0; border:0; border-radius:0; }
  .builder-picker-header { padding:.4rem .5rem; }
  .builder-picker-header :is(button,.filter-panel-toggle) { font-size:.8125rem; padding-inline:.4rem; }
  .builder-picker-header h2 { font-size:.875rem; }
}
.builder-page :is(.builder-picker,.builder-inscription-picker,.filter-panel)>.dialog-close { padding-bottom:max(12px,env(safe-area-inset-bottom)); }
.builder-page :is(.builder-picker,.builder-inscription-picker,.filter-panel) { max-height:calc(var(--builder-visible-height,100dvh) - 2rem); }
@media(max-width:850px), (max-height:450px) {
  .builder-page :is(.builder-picker,.builder-inscription-picker)[open] { position:fixed; top:var(--builder-visible-top,0px); bottom:auto; height:var(--builder-visible-height,100dvh); max-height:var(--builder-visible-height,100dvh); }
  .builder-page .filter-panel[open] { position:fixed; top:calc(var(--builder-visible-top,0px) + 1rem); bottom:auto; margin-block:0; height:calc(var(--builder-visible-height,100dvh) - 2rem); }
}
