.kit-finder-shell { display: grid; grid-template-columns: minmax(310px,.8fr) minmax(480px,1.2fr); gap: 18px; align-items: start; }
.kit-finder-controls, .kit-finder-result { padding: 26px; }
.kit-finder-intro h2, .kit-finder-result h2 { margin: 3px 0 7px; color: var(--parchment); font-family: "Almendra",Baskerville,Georgia,serif; font-size: clamp(1.7rem,3vw,2.35rem); }
.kit-finder-intro p, .kit-finder-result p { margin: 0; color: var(--parchment-dim); }
.kit-finder-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(150px,.65fr); gap: 10px; align-items: end; margin-top: 22px; }
.kit-finder-class > span, .kit-finder-budget > span:first-child { display: block; margin-bottom: 6px; color: var(--brass); font: 600 .66rem "Cinzel",Georgia,serif; letter-spacing: .08em; text-transform: uppercase; }
.kit-finder-class .builder-class-card { width: 100%; }
.kit-finder-budget > span:last-child { display: flex; align-items: center; min-height: 52px; border: 1px solid rgba(197,160,89,.46); background: var(--ledger); }
.kit-finder-budget input { min-width: 0; width: 100%; min-height: 50px; padding: 8px 10px; color: var(--parchment); border: 0; outline: 0; background: transparent; font: 700 1rem "EB Garamond",Georgia,serif; }
.kit-finder-budget em { padding-right: 10px; color: var(--parchment-dim); font-size: .72rem; font-style: normal; }
.kit-finder-sockets { display: flex; grid-column: 1 / -1; align-items: center; gap: 8px; color: var(--parchment-dim); font-size: .76rem; }
.kit-finder-sockets input { accent-color: var(--brass-light); }
.kit-finder-goals { margin-top: 24px; padding-top: 18px; border-top: 1px solid rgba(197,160,89,.24); }
.kit-finder-entry-controls, .kit-finder-weapons { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 16px; }
.kit-finder-entry-controls label, .kit-finder-weapons label, .kit-finder-ranked-stats label { display: grid; gap: 6px; min-width: 0; color: var(--parchment-dim); font-size: .8rem; }
.kit-finder-entry-controls select, .kit-finder-weapons select, .kit-finder-ranked-stats select { width: 100%; min-width: 0; min-height: 40px; padding: 8px; color: var(--parchment); border: 1px solid rgba(197,160,89,.4); background: #12110f; font-size: .84rem; }
.kit-finder-gold-input { display: flex; align-items: center; min-width: 0; border: 1px solid rgba(197,160,89,.4); background: rgba(0,0,0,.16); }
.kit-finder-gold-input input { width: 100%; min-width: 0; min-height: 40px; padding: 8px; border: 0; color: var(--parchment); background: transparent; }
.kit-finder-gold-input em { padding-right: 9px; font-size: .78rem; font-style: normal; }
.kit-finder-entry-help { color: var(--parchment-dim); font-size: .76rem; line-height: 1.45; }
.kit-finder-search-order { margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(197,160,89,.24); }
.kit-finder-search-order h3 { margin: 0; color: var(--parchment); font: 700 1.35rem "Almendra",Georgia,serif; }
.kit-finder-search-order p, .kit-finder-search-order > small { color: var(--parchment-dim); font-size: .77rem; line-height: 1.45; }
.kit-finder-ranked-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-top: 12px; }
.kit-finder-search-order > small { display: block; margin-top: 9px; }
.kit-finder-entry-controls select:focus-visible, .kit-finder-ranked-stats select:focus-visible, .kit-finder-weapons select:focus-visible, .builder-bag-score input:focus-visible { outline: 2px solid var(--brass-light); outline-offset: 2px; }
.kit-finder-gold-input:focus-within { outline: 2px solid var(--brass-light); outline-offset: 2px; }
.kit-finder-weapons select:disabled { opacity: .5; cursor: not-allowed; }
.builder-entry-fees { display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 12px 0 4px; padding: 12px 0; border-block: 1px solid rgba(197,160,89,.24); }
.builder-entry-fees > div { display: flex; align-items: baseline; gap: 9px; }
.builder-entry-fees dt { color: var(--parchment-dim); font-size: .8rem; }
.builder-entry-fees dd { margin: 0; color: var(--brass-light); font-size: .95rem; font-variant-numeric: tabular-nums; }
.builder-entry-fees__scope, .builder-entry-fees__pending { display: block; color: var(--parchment-dim); font-size: .72rem; line-height: 1.4; }
.builder-entry-fees__pending { color: #dfb394; }
.builder-bag-score { display: grid; grid-template-columns: minmax(0,1fr) 92px; gap: 7px 12px; align-items: center; margin-top: 13px; color: var(--parchment-dim); font-size: .8rem; }
.builder-bag-score input { min-width: 0; width: 100%; min-height: 36px; padding: 6px 8px; color: var(--parchment); border: 1px solid rgba(197,160,89,.4); background: rgba(0,0,0,.16); }
.builder-bag-score small { grid-column: 1 / -1; font-size: .73rem; line-height: 1.4; }
@media (max-width: 600px) {
.kit-finder-ranked-stats, .kit-finder-weapons { grid-template-columns: minmax(0,1fr); }
.kit-finder-entry-controls { gap: 10px; }
.kit-finder-entry-controls select, .kit-finder-entry-controls input, .kit-finder-ranked-stats select, .kit-finder-weapons select, .builder-bag-score input { font-size: 16px; }
.builder-entry-fees { gap: 10px 18px; }
}
.kit-finder-goals header { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin-bottom: 11px; }
.kit-finder-goals h3 { margin: 2px 0 0; color: var(--parchment); font: 700 1.35rem "Almendra",Georgia,serif; }
.kit-finder-goals header > b { color: var(--brass-light); font: 600 .62rem "Cinzel",Georgia,serif; text-transform: uppercase; }
.kit-finder-goals__help { margin: -3px 0 10px; color: var(--parchment-dim); font-size: .68rem; line-height: 1.3; }
.kit-finder-goals > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.kit-finder-goal { display: grid; gap: 4px; color: var(--parchment-dim); font-size: .7rem; }
.kit-finder-goal__heading { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 18px; }
.kit-finder-goal__heading button { padding: 1px 5px; color: var(--parchment-dim); border: 1px solid rgba(197,160,89,.25); background: transparent; cursor: pointer; font: 600 .52rem "Cinzel",Georgia,serif; letter-spacing: .04em; text-transform: uppercase; }
.kit-finder-goal__heading button:hover:not(:disabled) { color: var(--parchment); border-color: rgba(197,160,89,.62); }
.kit-finder-goal__heading button[aria-pressed="true"] { color: var(--ink); border-color: var(--brass-light); background: var(--brass-light); }
.kit-finder-goal__heading button:disabled { cursor: default; opacity: .28; }
.kit-finder-goal.is-priority .kit-finder-goal__input { border-color: rgba(224,188,107,.86); box-shadow: inset 0 0 0 1px rgba(224,188,107,.16); }
.kit-finder-goal__input { display: flex; align-items: center; min-height: 34px; border: 1px solid rgba(197,160,89,.32); background: rgba(0,0,0,.16); }
.kit-finder-goal__input:focus-within { border-color: rgba(197,160,89,.76); box-shadow: inset 0 0 0 1px rgba(197,160,89,.2); }
.kit-finder-goal__input input { min-width: 0; width: 100%; padding: 6px 8px; color: var(--parchment); border: 0; outline: 0; background: transparent; }
.kit-finder-goal__input em { min-width: 20px; padding-right: 7px; color: var(--brass-light); font-size: .64rem; font-style: normal; text-align: right; }
.kit-finder-rarities { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(197,160,89,.24); }
.kit-finder-rarities header { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.kit-finder-rarities h3 { margin: 2px 0 0; color: var(--parchment); font: 700 1.2rem "Almendra",Georgia,serif; }
.kit-finder-rarities header > b { color: var(--brass-light); font: 600 .62rem "Cinzel",Georgia,serif; text-transform: uppercase; }
.kit-finder-rarities > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }
.kit-finder-rarity { position: relative; display: grid; place-items: center; min-height: 32px; padding: 5px 4px; color: var(--parchment-dim); border: 1px solid rgba(197,160,89,.3); background: rgba(0,0,0,.13); cursor: pointer; font: 600 .58rem "Cinzel",Georgia,serif; text-align: center; text-transform: uppercase; }
.kit-finder-rarity input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; }
.kit-finder-rarity:hover { color: var(--parchment); border-color: rgba(197,160,89,.65); }
.kit-finder-rarity.is-selected { color: var(--parchment); border-color: var(--brass-light); background: rgba(0,0,0,.13); }
.kit-finder-roll-utilization { display: grid; gap: 7px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(197,160,89,.24); }
.kit-finder-roll-utilization > strong { color: var(--parchment); font: 700 1.2rem "Almendra",Georgia,serif; }
.kit-finder-roll-utilization select { width: 100%; min-height: 36px; padding: 7px 9px; color: var(--parchment); border: 1px solid rgba(197,160,89,.55); background: #12110f; font: 600 .62rem "Cinzel",Georgia,serif; text-transform: uppercase; }
.kit-finder-roll-utilization select:focus { outline: 1px solid var(--brass-light); outline-offset: 1px; }
.kit-finder-roll-utilization small { color: var(--parchment-dim); font-size: .72rem; line-height: 1.45; }
.kit-finder-controls__footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 22px; padding-top: 16px; border-top: 1px solid rgba(197,160,89,.24); }
.kit-finder-controls__footer p { max-width: 330px; font-size: .72rem; }
.kit-finder-controls__footer button { flex: 0 0 auto; min-height: 40px; padding: 9px 16px; color: var(--parchment); border: 1px solid rgba(197,160,89,.75); background: linear-gradient(180deg,rgba(197,160,89,.2),rgba(197,160,89,.08)); cursor: pointer; font: 700 .65rem "Cinzel",Georgia,serif; letter-spacing: .06em; text-transform: uppercase; }
.kit-finder-controls__footer button:hover:not(:disabled) { border-color: var(--brass-light); background: rgba(197,160,89,.2); }
.kit-finder-controls__footer button:disabled { cursor: wait; opacity: .5; }
.kit-finder-result { min-height: 520px; }
.kit-finder-result__empty { display: grid; align-content: center; min-height: 460px; max-width: 520px; margin: auto; }
.kit-finder-result__heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; padding-bottom: 17px; border-bottom: 1px solid rgba(197,160,89,.24); }
.kit-finder-option-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; margin-top: 18px; }
.kit-finder-option-tabs button { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 38px; padding: 7px 10px; color: var(--parchment-dim); border: 1px solid rgba(197,160,89,.3); background: rgba(0,0,0,.13); cursor: pointer; font: 600 .6rem "Cinzel",Georgia,serif; text-transform: uppercase; }
.kit-finder-option-tabs button:hover { color: var(--parchment); border-color: rgba(197,160,89,.65); }
.kit-finder-option-tabs button[aria-selected="true"] { color: var(--parchment); border-color: var(--brass-light); box-shadow: inset 0 -2px 0 var(--brass-light); }
.kit-finder-option-tabs button b { color: var(--brass-light); font-size: .68rem; }
.kit-finder-options { display: grid; gap: 18px; margin-top: 6px; }
.kit-finder-option { padding: 16px; border: 1px solid rgba(197,160,89,.38); background: linear-gradient(145deg,rgba(197,160,89,.045),transparent 48%),rgba(0,0,0,.1); }
.kit-finder-option__heading { display: flex; align-items: start; justify-content: space-between; gap: 14px; padding-bottom: 12px; border-bottom: 1px solid rgba(197,160,89,.2); }
.kit-finder-option__heading h3 { margin: 3px 0 2px; color: var(--parchment); font: 700 1.25rem "Almendra",Georgia,serif; }
.kit-finder-option__heading small { color: var(--parchment-dim); }
.kit-finder-total { flex: 0 0 auto; display: grid; gap: 2px; min-width: 185px; padding: 11px 13px; border: 1px solid rgba(197,160,89,.45); background: rgba(197,160,89,.08); text-align: right; }
.kit-finder-total span { color: var(--brass); font: 600 .58rem "Cinzel",Georgia,serif; letter-spacing: .05em; text-transform: uppercase; }
.kit-finder-total strong { color: var(--parchment); font-size: 1.05rem; }
.kit-finder-total small { color: var(--parchment-dim); }
.kit-finder-goal-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; margin: 16px 0; }
.kit-finder-goal-result { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2px 8px; padding: 8px 10px; border: 1px solid rgba(197,160,89,.22); background: rgba(0,0,0,.12); }
.kit-finder-goal-result span { color: var(--parchment-dim); font-size: .7rem; }
.kit-finder-goal-result strong { color: var(--parchment); font-size: .72rem; }
.kit-finder-goal-result em { grid-column: 1 / -1; color: var(--success-light); font-size: .61rem; font-style: normal; text-transform: uppercase; }
.kit-finder-goal-result.is-missed em { color: #df8f7e; }
.kit-finder-pieces { display: grid; gap: 7px; }
.kit-finder-piece { display: grid; grid-template-columns: 62px minmax(0,1fr) auto; gap: 10px; align-items: center; min-height: 68px; padding: 8px 11px; border: 1px solid rgba(197,160,89,.28); background: linear-gradient(145deg,rgba(197,160,89,.055),transparent 52%),rgba(0,0,0,.14); }
.kit-finder-piece__slot { display: grid; justify-items: center; gap: 3px; }
.kit-finder-piece__slot span { color: var(--brass); font: 600 .54rem "Cinzel",Georgia,serif; letter-spacing: .05em; text-transform: uppercase; }
.kit-finder-piece__slot img { width: 39px; height: 39px; object-fit: contain; }
.kit-finder-piece__details { display: grid; grid-template-columns: minmax(145px,auto) minmax(140px,1fr); gap: 2px 14px; min-width: 0; }
.kit-finder-piece__identity { display: grid; gap: 2px; min-width: 0; }
.kit-finder-piece strong { color: var(--parchment); font: 600 .76rem "Cinzel",Georgia,serif; }
.kit-finder-piece small { overflow: hidden; color: var(--parchment-dim); font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.kit-finder-piece__attributes { display: flex; grid-column: 1 / -1; flex-wrap: wrap; gap: 4px 8px; margin-top: 5px; }
.kit-finder-piece__attributes-empty { grid-column: 1 / -1; }
.kit-finder-piece__attribute { display: inline-flex; align-items: baseline; gap: 4px; padding: 2px 5px; color: var(--parchment-dim); border: 1px solid rgba(197,160,89,.18); background: rgba(0,0,0,.12); font-size: .62rem; }
.kit-finder-piece__attribute small { color: var(--brass); font: 600 .48rem "Cinzel",Georgia,serif; letter-spacing: .03em; text-transform: uppercase; }
.kit-finder-piece__attribute b { color: var(--parchment); font-size: .64rem; }
.kit-finder-piece small.kit-finder-piece__roll-usage { align-self: center; color: var(--brass-light); font-size: .86rem; line-height: 1.15; white-space: normal; }
.kit-finder-piece > b { color: var(--brass-light); font-size: .83rem; white-space: nowrap; }
.kit-finder-warnings { margin: 16px 0 0; padding: 12px 12px 12px 28px; color: var(--parchment-dim); border: 1px solid rgba(197,160,89,.22); background: rgba(0,0,0,.11); font-size: .68rem; line-height: 1.35; }
@media (max-width: 980px) {
.kit-finder-shell { grid-template-columns: 1fr; }
.kit-finder-result { min-height: 360px; }
.kit-finder-result__empty { min-height: 300px; }
}
@media (max-width: 620px) {
.kit-finder-controls, .kit-finder-result { padding: 18px; }
.kit-finder-form, .kit-finder-goals > div, .kit-finder-goal-results, .kit-finder-piece__details { grid-template-columns: 1fr; }
.kit-finder-rarities > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
.kit-finder-result__heading, .kit-finder-option__heading, .kit-finder-controls__footer { display: grid; }
.kit-finder-total { width: 100%; text-align: left; }
.kit-finder-piece { grid-template-columns: 52px minmax(0,1fr); }
.kit-finder-piece__attributes, .kit-finder-piece__attributes-empty { grid-column: 1; }
.kit-finder-piece > b { grid-column: 2; }
}
@media (max-width: 480px) {
.kit-finder-controls input, .kit-finder-controls select { font-size: 16px; }
}
.kit-finder-perks { padding-block: 18px; border-top: 1px solid rgba(197,160,89,.3); }
.kit-finder-perks > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.kit-finder-perks h3 { margin: 5px 0 0; font-size: 1.35rem; }
.kit-finder-perks > p { color: var(--parchment-dim); font-size: .94rem; line-height: 1.35; }
.kit-finder-perks summary { cursor: pointer; color: var(--brass-light); padding: 8px 0; font-size: .9rem; }
.kit-finder-perks__choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-block: 8px 12px; }
.kit-finder-perk { display: grid; grid-template-columns: 16px 28px minmax(0,1fr); align-items: start; gap: 7px; padding: 10px 8px; background: rgba(0,0,0,.16); border: 1px solid rgba(197,160,89,.2); cursor: pointer; min-width: 0; }
.kit-finder-perk.is-selected { border-color: var(--brass); background: rgba(197,160,89,.1); }
.kit-finder-perk input { margin: 5px 0 0; width: 16px; height: 16px; accent-color: var(--brass); }
.kit-finder-perk img { width: 28px; height: 28px; object-fit: contain; }
.kit-finder-perk strong { display: block; font-size: .88rem; line-height: 1.2; color: var(--parchment); }
.kit-finder-perk small { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: var(--parchment-dim); font: .88rem/1.3 "EB Garamond",Georgia,serif; margin-top: 5px; }
.kit-finder-perk:has(input:disabled:not(:checked)) { opacity: .5; cursor: default; }
.kit-finder-perk:focus-within { outline: 2px solid var(--brass-light); outline-offset: 2px; }
.kit-finder-perks__selected { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 8px; }
.kit-finder-perks__selected > span { padding: 4px 7px; border: 1px solid rgba(197,160,89,.4); color: var(--brass-light); font-size: .9rem; }
.kit-finder-perks button:focus-visible, .kit-finder-perks summary:focus-visible { outline: 2px solid var(--brass-light); outline-offset: 3px; }
@media (max-width: 620px) {
.kit-finder-perks__choices { grid-template-columns: 1fr; }
}
/* Standalone shell and readable, content-sized controls. */
.public-tool-intro { margin: 22px 0 18px; }
.public-tool-intro h1 { margin: 0 0 6px; color: var(--parchment); font: 700 30px/1.15 "Almendra", Georgia, serif; }
.public-tool-intro p { margin: 0; max-width: 72ch; color: var(--parchment-soft); }
.kit-finder-loading { padding: 28px; }
.kit-finder-return { color: var(--brass-light); }
.kit-finder-class select { width: 100%; min-height: 52px; padding: 8px; color: var(--parchment); border: 1px solid rgba(197,160,89,.46); background: var(--ledger); font: inherit; }
.kit-finder-shell > section { min-width: 0; }
.kit-finder-shell :is(input,select,button):focus-visible { outline: 2px solid var(--brass-light); outline-offset: 3px; }
.kit-finder-rarity:focus-within { outline: 2px solid var(--brass-light); outline-offset: 3px; }
.kit-finder-perk small { display: block; overflow: visible; -webkit-line-clamp: unset; }
.kit-finder-piece small { white-space: normal; overflow-wrap: anywhere; }
.kit-finder-goal, .kit-finder-goal-result span, .kit-finder-goal-result strong, .kit-finder-piece__attribute, .kit-finder-piece__attribute b, .kit-finder-goals__help, .kit-finder-warnings { font-size: .85rem; }
.kit-finder-result__empty { min-height: 300px; }
@media (max-width: 620px) {
 .kit-finder-perks__choices { grid-template-columns: 1fr; }
 .kit-finder-shell input, .kit-finder-shell select { font-size: 16px; }
 .kit-finder-controls, .kit-finder-result { padding: 16px; }
 .kit-finder-option { padding: 10px; }
 .kit-finder-total { min-width: 0; }
}
