.builder-return { color: var(--brass-light); font-family: "Cinzel", Georgia, serif; font-size: .75rem; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.builder-return:hover { color: var(--parchment); }
.builder-loading, .builder-error { padding: 28px; }
.builder-error button { margin-top: 14px; }
.builder-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 18px; padding: 22px 26px 22px 34px; }
.builder-toolbar__intro { display: grid; gap: 15px; min-width: 270px; }
.builder-toolbar h2, .builder-panel h2, .builder-config h2, .builder-picker h2 { margin: 2px 0 4px; font-family: "Almendra", Baskerville, Georgia, serif; font-size: clamp(1.7rem, 3vw, 2.4rem); }
.builder-toolbar p, .builder-panel p, .builder-config p { margin: 0; color: var(--parchment-dim); }
.builder-class-select { min-width: 240px; }
.builder-class-select label { display: block; margin-bottom: 6px; color: var(--brass); font-family: "Cinzel", Georgia, serif; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.builder-class-select select { width: 100%; padding: 10px 12px; color: var(--parchment); border: 1px solid rgba(197,160,89,.5); border-radius: 2px; background: var(--ledger); }
.builder-character-selects { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(360px, 1.3fr); gap: 12px; align-items: end; min-width: min(100%, 660px); }
.builder-build-presets { flex: 1; min-width: 0; max-width: 760px; padding: 10px 11px; border: 1px solid rgba(197,160,89,.48); background: linear-gradient(145deg, rgba(197,160,89,.09), transparent 60%), rgba(0,0,0,.13); }
.builder-build-presets__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 7px; color: var(--brass-light); font-family: "Cinzel", Georgia, serif; font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.builder-build-presets__heading div { display: grid; gap: 2px; }
.builder-build-presets__heading small { color: var(--parchment-dim); font-family: inherit; font-size: .58rem; letter-spacing: .03em; text-transform: none; }
.builder-build-presets__heading b { color: var(--brass-light); font-size: .56rem; font-weight: 400; }
.builder-build-presets__body { display: grid; grid-template-columns: minmax(180px,1.1fr) minmax(140px,.75fr) minmax(270px,1.35fr); gap: 7px; align-items: end; }
.builder-build-presets__field { display: grid; gap: 4px; min-width: 0; color: var(--parchment-dim); font-size: .58rem; }
.builder-build-presets__field span { letter-spacing: .04em; }
.builder-build-presets__field select, .builder-build-presets__field input { width: 100%; min-height: 31px; padding: 5px 7px; color: var(--parchment); border: 1px solid rgba(197,160,89,.42); border-radius: 0; background: var(--ledger); font: inherit; font-size: .68rem; }
.builder-build-presets__field select:disabled { opacity: .55; }
.builder-build-presets__actions { display: flex; gap: 5px; }
.builder-build-presets__actions button, .builder-build-presets__actions a { display: inline-flex; flex: 1; align-items: center; justify-content: center; min-height: 28px; padding: 4px 6px; color: var(--parchment-dim); border: 1px solid rgba(197,160,89,.4); background: rgba(0,0,0,.14); cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .57rem; letter-spacing: .04em; text-align: center; text-decoration: none; text-transform: uppercase; }
.builder-build-presets__actions button:first-child { color: var(--parchment); border-color: rgba(197,160,89,.68); background: rgba(197,160,89,.12); }
.builder-build-presets__actions .builder-build-presets__delete { color: #d99a8d; border-color: rgba(180,95,78,.52); }
.builder-build-presets__actions a { flex-basis: 100%; color: var(--brass-light); border-color: rgba(197,160,89,.58); background: rgba(197,160,89,.08); }
.builder-build-presets__actions button:hover:not(:disabled), .builder-build-presets__actions a:hover { color: var(--parchment); border-color: var(--brass-light); background: rgba(197,160,89,.16); }
.builder-build-presets__actions button:disabled { cursor: not-allowed; opacity: .42; }
.builder-build-presets__status { margin-top: 7px !important; color: #b9d3a0 !important; font-size: .64rem !important; }
.builder-build-presets__error { margin-top: 6px !important; color: #ef9a9a !important; font-size: .67rem !important; }
.kit-finder-guidance-banner { display: flex; align-items: center; gap: 12px 18px; min-height: 46px; padding: 9px 22px; color: var(--parchment); border: 1px solid rgba(197,160,89,.5); border-bottom: 0; background: linear-gradient(100deg, rgba(197,160,89,.2), rgba(197,160,89,.06) 56%, rgba(0,0,0,.12)); }.kit-finder-guidance-banner .panel-kicker { flex: 0 0 auto; color: var(--brass-light); }.kit-finder-guidance-banner strong { font: 700 clamp(1rem, 2vw, 1.22rem) "Almendra", Georgia, serif; }.kit-finder-guidance-banner small { max-width: 48rem; color: var(--parchment-dim); font-size: .72rem; line-height: 1.35; }
.builder-workspace-tabs { display: flex; gap: 4px; align-items: end; min-height: 42px; margin-bottom: 0; padding: 0 22px; border: 1px solid rgba(197,160,89,.38); border-bottom: 0; background: linear-gradient(145deg, rgba(255,255,255,.018), transparent 34%), var(--stone); }.builder-workspace-tabs button { align-self: stretch; min-width: 98px; padding: 10px 15px; color: var(--parchment-dim); border: 0; border-right: 1px solid rgba(238,227,205,.1); border-left: 1px solid rgba(238,227,205,.1); background: transparent; cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .66rem; letter-spacing: .09em; text-transform: uppercase; }.builder-workspace-tabs button:hover { color: var(--parchment); background: rgba(197,160,89,.06); }.builder-workspace-tabs button[aria-current="page"] { color: var(--parchment); border-color: rgba(197,160,89,.62); background: linear-gradient(180deg, rgba(197,160,89,.17), rgba(0,0,0,.1)); box-shadow: inset 0 2px 0 var(--brass-light); }
.builder-alerts-workspace { display: grid; grid-template-columns: minmax(220px,.55fr) minmax(0,1.45fr); min-height: 520px; padding: 0; }
.builder-alert-sidebar { padding: 26px 18px; border-right: 1px solid rgba(197,160,89,.28); background: rgba(0,0,0,.14); }
.builder-alert-sidebar h2, .builder-alert-detail h2, .builder-alerts-empty h2, .builder-alerts-guest h2 { margin: 3px 0 7px; color: var(--parchment); font-family: "Almendra", Baskerville, Georgia, serif; font-size: clamp(1.55rem,2.5vw,2.15rem); }
.builder-alert-sidebar > p, .builder-alert-detail__heading p, .builder-alerts-empty p, .builder-alerts-guest p { margin: 0; color: var(--parchment-dim); }
.builder-alert-builds { display: grid; gap: 7px; margin-top: 20px; }
.builder-alert-build { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; padding: 11px; color: var(--parchment-dim); border: 1px solid rgba(197,160,89,.28); background: rgba(0,0,0,.16); cursor: pointer; text-align: left; }
.builder-alert-build:hover, .builder-alert-build.is-selected { color: var(--parchment); border-color: rgba(197,160,89,.72); background: rgba(197,160,89,.12); }
.builder-alert-build span { display: grid; gap: 3px; }.builder-alert-build strong { font: 600 .76rem "Cinzel",Georgia,serif; }.builder-alert-build small, .builder-alert-build em { color: var(--parchment-dim); font-size: .68rem; font-style: normal; }
.builder-alert-content { min-width: 0; padding: 26px; }
.builder-alerts-empty, .builder-alerts-guest { display: grid; align-content: center; justify-items: start; min-height: 360px; max-width: 620px; margin: auto; padding: 34px; }
.builder-alerts-empty button, .builder-alerts-guest a, .builder-alert-actions button, .builder-alert-piece__footer button { min-height: 34px; padding: 7px 13px; color: var(--parchment); border: 1px solid rgba(197,160,89,.48); background: rgba(0,0,0,.18); cursor: pointer; font: 600 .65rem "Cinzel",Georgia,serif; letter-spacing: .04em; text-transform: uppercase; }
.builder-alerts-empty button, .builder-alerts-guest a { margin-top: 18px; }
.builder-alert-detail__heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.builder-alert-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 7px; }.builder-alert-actions button:first-child, .builder-alert-piece__footer button:last-child { color: var(--parchment); border-color: rgba(197,160,89,.72); background: rgba(197,160,89,.14); }.builder-alert-actions button:disabled { cursor: not-allowed; opacity: .48; }
.builder-alert-defaults { display: flex; flex-wrap: wrap; gap: 6px; margin: 20px 0 14px; padding: 10px; border: 1px solid rgba(197,160,89,.24); background: rgba(0,0,0,.12); }.builder-alert-defaults strong { width: 100%; color: var(--brass-light); font: 600 .65rem "Cinzel",Georgia,serif; letter-spacing: .05em; text-transform: uppercase; }.builder-alert-defaults span { padding: 3px 7px; color: var(--parchment-dim); border: 1px solid rgba(238,227,205,.12); font-size: .69rem; }
.builder-alerts-error, .builder-alerts-success { margin: 10px 0; padding: 9px 11px; border: 1px solid rgba(220,95,95,.45); color: #efaaaa; background: rgba(80,10,10,.16); }.builder-alerts-success { border-color: rgba(80,170,118,.45); color: #a9dfbf; background: rgba(20,80,45,.14); }
.builder-alert-pieces { display: grid; gap: 8px; }
.builder-alert-piece { border: 1px solid rgba(197,160,89,.28); background: rgba(0,0,0,.13); }.builder-alert-piece.is-enabled { border-color: rgba(197,160,89,.68); }
.builder-alert-piece__summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; padding: 12px 14px; color: var(--parchment); border: 0; background: transparent; cursor: pointer; text-align: left; }.builder-alert-piece__summary:hover { background: rgba(255,255,255,.02); }.builder-alert-piece__summary > span { display: grid; gap: 2px; }.builder-alert-piece__summary > span:last-child { justify-items: end; text-align: right; }.builder-alert-piece__summary small, .builder-alert-piece__summary em { color: var(--parchment-dim); font-size: .67rem; font-style: normal; }.builder-alert-piece__summary strong { font: 600 .78rem "Cinzel",Georgia,serif; }.builder-alert-piece__summary b { color: var(--brass-light); font-size: .71rem; }
.builder-alert-piece__editor { padding: 15px; border-top: 1px solid rgba(197,160,89,.24); background: rgba(0,0,0,.16); }
.builder-alert-toggle { display: flex !important; align-items: center; gap: 8px; }.builder-alert-toggle input { width: auto !important; }
.builder-alert-piece__minimums { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 15px 0; }.builder-alert-piece__minimums h4, .builder-alert-piece__minimums > p { grid-column: 1 / -1; margin: 0; }.builder-alert-piece__minimums h4 { color: var(--brass-light); font: 600 .68rem "Cinzel",Georgia,serif; text-transform: uppercase; }.builder-alert-piece__minimums > p, .builder-alert-piece__empty { color: var(--parchment-dim); font-size: .7rem; }
.builder-alert-piece__minimums label, .builder-alert-piece__rules label { display: grid; gap: 4px; color: var(--parchment-dim); font-size: .68rem; }.builder-alert-piece__minimums input, .builder-alert-piece__rules input[type="number"] { width: 100%; min-height: 34px; padding: 6px 8px; color: var(--parchment); border: 1px solid rgba(197,160,89,.38); background: var(--ledger); }
.builder-alert-piece__rules { display: grid; grid-template-columns: 1fr minmax(180px,.65fr); gap: 12px; align-items: end; padding-top: 12px; border-top: 1px solid rgba(238,227,205,.1); }
.builder-alert-piece__footer { display: flex; justify-content: end; gap: 7px; margin-top: 15px; }
@media (max-width: 760px) { .builder-alerts-workspace { grid-template-columns: 1fr; }.builder-alert-sidebar { border-right: 0; border-bottom: 1px solid rgba(197,160,89,.28); }.builder-alert-content { padding: 18px; }.builder-alert-detail__heading { display: grid; }.builder-alert-actions { justify-content: start; }.builder-alert-piece__minimums, .builder-alert-piece__rules { grid-template-columns: 1fr; }.builder-alert-piece__summary { align-items: start; }.builder-alert-piece__summary > span:last-child { justify-items: start; text-align: left; } }
.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-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, .kit-finder-apply { 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), .kit-finder-apply:hover { 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-apply__callout { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 14px; padding: 12px; border: 1px solid rgba(197,160,89,.35); background: rgba(197,160,89,.055); }.kit-finder-apply__callout > div { display: grid; gap: 3px; }.kit-finder-apply__callout strong { color: var(--parchment); font: 700 .78rem "Cinzel", Georgia, serif; letter-spacing: .035em; text-transform: uppercase; }.kit-finder-apply__callout small { color: var(--parchment-dim); font-size: .7rem; line-height: 1.35; }.kit-finder-apply { margin: 0; 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, .kit-finder-apply__callout { 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; }.kit-finder-apply { width: 100%; }.kit-finder-guidance-banner { align-items: start; padding: 10px 12px; }.builder-workspace-tabs { overflow-x: auto; padding: 0 8px; }.builder-workspace-tabs button { min-width: 90px; } }
.builder-workspace { display: grid; grid-template-columns: minmax(255px, .72fr) minmax(560px, 1.55fr); gap: 18px; align-items: stretch; }
.builder-panel, .builder-config { padding: 22px 24px; }
.builder-panel h3 { margin: 22px 0 8px; color: var(--brass); font-family: "Cinzel", Georgia, serif; font-size: .74rem; letter-spacing: .11em; text-transform: uppercase; }
.builder-stats-note { margin-top: 0 !important; color: var(--parchment-dim) !important; font-size: .88rem; line-height: 1.35; }
.class-stat-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 0; }.class-stat-grid div, .class-stat-list div { display: flex; justify-content: space-between; gap: 10px; padding: 5px 0; border-bottom: 1px solid rgba(238,227,205,.09); }.class-stat-grid dt, .class-stat-list dt { color: var(--parchment-dim); }.class-stat-grid dd, .class-stat-list dd { margin: 0; color: var(--parchment); font-weight: 700; }.class-stat-list dd { display: inline-flex; align-items: center; justify-content: end; gap: 7px; text-align: right; }.class-stat-list__memory-loadout { margin: 3px 0; padding: 5px 7px !important; border: 1px solid rgba(133,177,93,.48) !important; background: rgba(83,126,56,.13); }.class-stat-list__memory-loadout dd { color: var(--success-light); }.class-stat-list__memory-loadout--over { border-color: rgba(215,86,86,.62) !important; background: rgba(126,37,37,.18); }.class-stat-list__memory-loadout--over dd { color: #df7e7e; }.class-stat-list__memory-loadout--unknown { border-color: rgba(207,161,80,.55) !important; background: rgba(126,92,37,.14); }.class-stat-list__memory-loadout--unknown dd { color: #d9b66d; }.stat-change { font-size: .76rem; font-weight: 700; white-space: nowrap; }.stat-change--up { color: var(--success-light); }.stat-change--down { color: #df7e7e; }.stat-change__previous { margin-right: 3px; color: #9eabb2; font-size: .62rem; font-weight: 400; }
.builder-summary { display: grid; gap: 10px; margin: 18px 0; }
.builder-summary div { display: flex; justify-content: space-between; gap: 14px; padding-bottom: 8px; border-bottom: 1px solid rgba(238,227,205,.09); }
.builder-summary span { color: var(--parchment-dim); }
.builder-bonuses { display: grid; gap: 6px; list-style: none; padding: 0; }
.builder-bonuses li { display: flex; justify-content: space-between; gap: 12px; }
.builder-bonuses li span:last-child { color: var(--success-light); }
.equipment-stage { position: relative; min-height: 800px; overflow: hidden; padding: 42px 28px; border: 1px solid rgba(197,160,89,.38); border-radius: 2px; background: radial-gradient(ellipse at 52% 45%, rgba(197,160,89,.08), transparent 36%), linear-gradient(145deg, rgba(255,255,255,.018), transparent 34%), var(--stone); box-shadow: var(--panel-shadow); }
.equipment-stage::before { content: ""; position: absolute; inset: 12% 22%; border: 1px solid rgba(197,160,89,.1); border-radius: 48% 48% 38% 38%; pointer-events: none; }
.equipment-stage__heading { position: relative; z-index: 2; display: grid; place-items: center; min-height: 20px; }.equipment-stage__title { margin: 0; text-align: center; color: var(--brass); font-family: "Cinzel", Georgia, serif; font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; }.equipment-clear-all { position: absolute; right: 0; padding: 5px 8px; color: var(--parchment-dim); border: 1px solid rgba(238,227,205,.2); background: rgba(0,0,0,.2); cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .62rem; letter-spacing: .06em; text-transform: uppercase; }.equipment-clear-all:hover:not(:disabled) { color: #ef9a9a; border-color: rgba(209,80,80,.65); }.equipment-clear-all:disabled { cursor: default; opacity: .38; }
.equipment-layout { position: relative; z-index: 3; width: min(740px, 100%); height: 710px; margin: 8px auto 0; }
.equipment-stage--effects { min-height: 800px; }.effects-workspace { position: relative; z-index: 3; width: min(840px, 100%); margin: 24px auto 0; }.effects-workspace__tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }.effects-workspace__tabs button { padding: 8px 11px; color: var(--parchment-dim); border: 1px solid rgba(238,227,205,.2); background: rgba(0,0,0,.16); cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .66rem; letter-spacing: .06em; text-transform: uppercase; }.effects-workspace__tabs button[aria-current="page"] { color: #c6e6f6; border-color: rgba(92,135,165,.76); background: rgba(48,93,126,.2); }.effects-workspace__body > .builder-effects, .effects-workspace__body > .druid-form-comparison, .effects-workspace__body > .demon-form-comparison { margin-top: 0; }.effects-workspace__body .builder-effects { padding: 0; border: 0; background: transparent; }.effects-workspace__body .builder-effects__reference > details > div { max-height: 480px; }
.equipment-layout::before { content: ""; position: absolute; top: 74px; left: calc(50% - 58px); width: 116px; height: 514px; border: 1px solid rgba(238,227,205,.12); border-radius: 45% 45% 26% 26%; background: linear-gradient(90deg, transparent, rgba(238,227,205,.03), transparent); }
.equipment-slot { position: absolute; display: grid; place-items: center; width: 132px; min-height: 132px; padding: 8px; color: var(--parchment); border: 1px solid rgba(197,160,89,.55); border-radius: 3px; background: linear-gradient(145deg, rgba(255,255,255,.045), transparent), var(--ledger); box-shadow: var(--inset-shadow), 0 8px 14px rgba(0,0,0,.26); cursor: pointer; }
.equipment-slot:hover { border-color: var(--brass-light); transform: translateY(-2px); }
.equipment-slot.is-unavailable { cursor: not-allowed; border-style: dashed; opacity: .48; }
.equipment-slot.is-unavailable:hover { border-color: rgba(197,160,89,.55); transform: none; }
.equipment-slot.is-selected { padding: 0; overflow: visible; border-color: var(--rarity, var(--brass-light)); box-shadow: inset 0 0 0 1px var(--rarity, var(--brass-light)), 0 9px 18px rgba(0,0,0,.34); }.equipment-slot__open { position: absolute; inset: 0; display: grid; place-items: center; width: 100%; padding: 8px; color: inherit; border: 0; background: transparent; cursor: pointer; }.equipment-slot__actions { position: absolute; z-index: 4; bottom: 6px; left: 50%; display: flex; gap: 5px; width: max-content; padding: 5px; border: 1px solid rgba(197,160,89,.55); background: var(--stone); box-shadow: 0 8px 16px rgba(0,0,0,.48); opacity: 0; pointer-events: none; transform: translate(-50%, 4px); transition: opacity .14s ease, transform .14s ease; }.equipment-slot.is-selected:hover .equipment-slot__actions, .equipment-slot.is-selected:focus-within .equipment-slot__actions { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }.equipment-slot__actions button { padding: 5px 7px; color: var(--parchment); border: 1px solid rgba(238,227,205,.2); background: rgba(0,0,0,.2); cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .58rem; letter-spacing: .04em; text-transform: uppercase; }.equipment-slot__actions button:last-child:hover { color: #ef9a9a; border-color: rgba(209,80,80,.65); }
.equipment-slot img { width: 48px; height: 48px; object-fit: contain; }
.slot-placeholder-icon { width: 52px; height: 52px; fill: none; stroke: var(--brass-light); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.55; filter: drop-shadow(0 2px 2px rgba(0,0,0,.45)); }
.equipment-slot.is-selected:not(.slot-necklace):not(.slot-ring):not(.slot-ring_left) img { width: 82px; height: 82px; }
.equipment-slot__label { color: var(--brass); font-family: "Cinzel", Georgia, serif; font-size: .62rem; letter-spacing: .09em; text-transform: uppercase; }
.equipment-slot__name { width: 100%; overflow: hidden; font-size: .8rem; line-height: 1.1; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.equipment-slot__hint { color: var(--parchment-dim); font-size: .73rem; }
.weapon-set-tile { top: 48px; display: grid; grid-template-rows: auto 1fr auto; gap: 5px; align-content: center; padding: 9px; }.weapon-set-tile--primary { left: 0; }.weapon-set-tile--alternate { right: 0; }.weapon-set-tile.has-selection { border-color: var(--brass-light); }.weapon-set-tile__icons { display: flex; justify-content: center; align-items: center; min-height: 46px; color: var(--brass-light); font-size: 2rem; line-height: 1; }.weapon-set-tile__icons img { width: 43px; height: 43px; object-fit: contain; }.weapon-set-tile__icons .slot-placeholder-icon { width: 46px; height: 46px; }.weapon-set-tile__summary { display: grid; gap: 1px; width: 100%; color: var(--parchment-dim); font-size: .58rem; line-height: 1.08; text-align: center; }.weapon-set-tile__summary span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.slot-head { top: 48px; left: calc(50% - 66px); }.slot-chest { top: 214px; left: calc(50% - 66px); }.slot-hands { top: 214px; left: 112px; }.slot-cloak { top: 214px; right: 108px; }.slot-necklace, .slot-ring, .slot-ring_left { width: 104px; min-height: 104px; padding: 6px; }.slot-necklace { top: 560px; left: 164px; }.slot-ring { top: 560px; left: calc(50% - 52px); }.slot-ring_left { top: 560px; right: 164px; }.slot-necklace .equipment-slot__label, .slot-ring .equipment-slot__label, .slot-ring_left .equipment-slot__label { font-size: .58rem; }.slot-necklace .equipment-slot__hint, .slot-ring .equipment-slot__hint, .slot-ring_left .equipment-slot__hint { font-size: .65rem; line-height: 1.05; }.slot-necklace img, .slot-ring img, .slot-ring_left img { width: 48px; height: 48px; }.slot-necklace .slot-placeholder-icon, .slot-ring .slot-placeholder-icon, .slot-ring_left .slot-placeholder-icon { width: 41px; height: 41px; }.slot-necklace .equipment-slot__actions, .slot-ring .equipment-slot__actions, .slot-ring_left .equipment-slot__actions { top: calc(100% + 7px); bottom: auto; transform: translate(-50%, -4px); }.slot-legs { top: 382px; left: calc(50% - 66px); }.slot-feet { top: 382px; right: 108px; }
.builder-config { margin-top: 18px; }
.builder-config--stage { position: relative; z-index: 2; margin: 22px 0 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.builder-config--stage .builder-config__intro { margin-bottom: 18px; }
.builder-config--stage .ability-slots-layout { margin-top: 0; }
.builder-config--quiet { padding-top: 0; }
.ability-slots-layout { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; margin-top: 18px; }.ability-slots { padding: 14px; border: 1px solid rgba(238,227,205,.1); background: rgba(0,0,0,.13); }.ability-slots__heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }.ability-slots__heading h3 { margin: 0; color: var(--brass); font-family: "Cinzel", Georgia, serif; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }.ability-slots__heading span { color: var(--parchment-dim); font-size: .82rem; }.ability-slots__grid { display: grid; grid-template-columns: repeat(4, minmax(58px, 1fr)); gap: 9px; }.ability-slot { display: grid; place-items: center; aspect-ratio: 1; padding: 6px; color: var(--brass); border: 1px dashed rgba(197,160,89,.42); background: rgba(0,0,0,.16); cursor: pointer; }.ability-slot:hover, .ability-slot:focus-visible { border-color: var(--brass-light); background: rgba(197,160,89,.09); }.ability-slot.is-filled { border-style: solid; border-color: rgba(197,160,89,.62); }.ability-slot img { width: 100%; height: 100%; object-fit: contain; }.ability-slot span { font-size: 1.4rem; line-height: 1; }
.ability-slots__controls { display: flex; align-items: center; gap: 8px; }.ability-slots__controls button { padding: 4px 7px; color: #ef9a9a; border: 1px solid rgba(209,80,80,.55); background: rgba(136,26,26,.12); cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .6rem; letter-spacing: .05em; text-transform: uppercase; }.ability-slots__controls button:hover { border-color: #ef9a9a; background: rgba(136,26,26,.23); }
.spell-memory-slots { margin-top: 16px; }.spell-memory-slots .ability-slots__grid { grid-template-columns: repeat(5, minmax(58px, 1fr)); }.memory-selection-description { min-height: 2.6em; margin: 11px 0 0; padding: 9px 10px; color: var(--parchment-dim); border-top: 1px solid rgba(238,227,205,.1); font-size: .88rem; line-height: 1.35; }.spell-memory-prompt__actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }.spell-memory-prompt__actions .builder-remove { margin-right: 0; }
.ability-slot { position: relative; }.ability-slot .ability-slot__memory-cost { position: absolute; right: 4px; bottom: 4px; display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 4px; color: #17140e; border: 1px solid rgba(255,255,255,.38); border-radius: 50%; background: var(--brass-light); box-shadow: 0 1px 5px rgba(0,0,0,.75); font-family: "Cinzel", Georgia, serif; font-size: .62rem; font-weight: 700; line-height: 1; }.ability-slot.is-memory-usable { border-color: rgba(133,177,93,.72); box-shadow: inset 0 0 0 1px rgba(133,177,93,.16); }.ability-slot.is-memory-forgotten { border-color: rgba(215,86,86,.82); background: rgba(92,17,17,.2); box-shadow: inset 0 0 0 1px rgba(215,86,86,.2); }.ability-slot.is-memory-forgotten img { filter: grayscale(1); opacity: .42; }.ability-slot.is-memory-forgotten .ability-slot__memory-cost { color: #fff1ed; border-color: rgba(255,255,255,.22); background: #a53838; }.ability-slot.is-memory-unknown { border-color: rgba(207,161,80,.72); }
.memory-capacity-check { margin-top: 16px; padding: 14px 15px; border: 1px solid rgba(133,177,93,.48); background: linear-gradient(145deg, rgba(83,126,56,.13), transparent 54%), rgba(0,0,0,.16); }.memory-capacity-check--over { border-color: rgba(215,86,86,.62); background: linear-gradient(145deg, rgba(126,37,37,.18), transparent 54%), rgba(0,0,0,.16); }.memory-capacity-check--unknown { border-color: rgba(207,161,80,.55); }.memory-capacity-check__heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }.memory-capacity-check__heading h3 { margin: 2px 0 0; color: var(--parchment); font-family: "Almendra", Georgia, serif; font-size: 1.35rem; }.memory-capacity-check__heading > strong { color: #afd38f; font-family: "Cinzel", Georgia, serif; font-size: 1.05rem; }.memory-capacity-check--over .memory-capacity-check__heading > strong { color: #f0a1a1; }.memory-capacity-check dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 12px 0 0; }.memory-capacity-check dl > div { display: flex; align-items: baseline; justify-content: space-between; gap: 9px; padding: 8px 9px; border: 1px solid rgba(238,227,205,.1); background: rgba(0,0,0,.15); }.memory-capacity-check dt { color: var(--parchment-dim); font-size: .75rem; }.memory-capacity-check dd { margin: 0; color: var(--parchment); font-weight: 700; }.memory-capacity-check p { margin: 10px 0 0; color: var(--parchment); }.memory-capacity-check small { display: block; margin-top: 5px; color: var(--parchment-dim); font-size: .76rem; line-height: 1.35; }
.druid-form-selector { margin-top: 11px; border: 1px solid rgba(197,160,89,.34); background: linear-gradient(145deg, rgba(197,160,89,.08), transparent 48%), rgba(0,0,0,.16); }.druid-form-selector__heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 11px 12px; }.druid-form-selector__heading > div { display: grid; gap: 3px; }.druid-form-selector__heading strong { color: var(--parchment); font-family: "Almendra", Georgia, serif; font-size: 1.18rem; }.druid-form-selector__heading label { display: grid; grid-template-columns: auto minmax(130px, 180px); gap: 8px; align-items: center; color: var(--brass); font-family: "Cinzel", Georgia, serif; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }.druid-form-selector__heading select { min-height: 34px; padding: 6px 28px 6px 9px; color: var(--parchment); border: 1px solid rgba(197,160,89,.56); border-radius: 0; background: var(--ledger); font-family: "Cinzel", Georgia, serif; font-size: .72rem; }.druid-form-selector .memory-selection-description { margin: 0; background: rgba(0,0,0,.12); }
.warlock-state-selector { margin-top: 16px; border: 1px solid rgba(139,78,151,.5); background: linear-gradient(145deg, rgba(115,48,133,.14), transparent 50%), rgba(0,0,0,.18); }.warlock-state-selector__heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 12px; }.warlock-state-selector__heading > div:first-child { display: grid; gap: 3px; }.warlock-state-selector__heading strong { color: var(--parchment); font-family: "Almendra", Georgia, serif; font-size: 1.18rem; }.warlock-state-selector__controls { display: flex; flex-wrap: wrap; justify-content: end; gap: 10px; }.warlock-state-selector__controls label { display: grid; gap: 4px; min-width: 150px; color: #cf9cda; font-family: "Cinzel", Georgia, serif; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }.warlock-state-selector__controls select { min-height: 34px; padding: 6px 28px 6px 9px; color: var(--parchment); border: 1px solid rgba(164,96,178,.62); border-radius: 0; background: var(--ledger); font-family: "Cinzel", Georgia, serif; font-size: .72rem; }.warlock-state-selector > p { margin: 0; padding: 9px 12px; color: var(--parchment-dim); border-top: 1px solid rgba(238,227,205,.1); background: rgba(0,0,0,.12); font-size: .82rem; line-height: 1.35; }
.music-memory-slots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }.music-memory-slots .spell-memory-slots { margin-top: 0; }.music-memory-slots .ability-slots__grid { grid-template-columns: repeat(5, minmax(42px, 1fr)); }
.builder-config-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.builder-choice-group { min-width: 0; padding: 14px; border: 1px solid rgba(238,227,205,.1); background: rgba(0,0,0,.13); }
.builder-choice-group h3 { margin: 0 0 10px; color: var(--brass); font-family: "Cinzel", Georgia, serif; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.builder-choice { display: flex; gap: 8px; align-items: start; padding: 7px 0; cursor: pointer; }.builder-choice input { accent-color: var(--brass); margin-top: 5px; }.builder-choice span { font-size: .92rem; }.builder-choice small { display: block; color: var(--parchment-dim); line-height: 1.25; }
.builder-dialog-open { overflow: hidden; }.builder-picker[hidden] { display: none; }.builder-picker { position: fixed; z-index: 10; inset: 0; display: grid; place-items: center; padding: 24px; overflow-y: auto; overscroll-behavior: contain; background: rgba(0,0,0,.72); }.builder-picker__card { width: min(980px, 100%); max-height: min(800px, calc(100vh - 48px)); overflow: auto; overscroll-behavior: contain; padding: 24px; border: 1px solid rgba(197,160,89,.65); background: linear-gradient(145deg, rgba(197,160,89,.055), transparent 36%), var(--stone); box-shadow: 0 24px 60px rgba(0,0,0,.65); }.builder-picker__heading { display: flex; justify-content: space-between; gap: 18px; align-items: start; }.builder-picker__heading h2 { margin: 3px 0; }.builder-picker__close, .builder-clear { color: var(--parchment); border: 1px solid rgba(238,227,205,.22); background: transparent; cursor: pointer; }.builder-picker__search { width: 100%; margin: 18px 0 10px; padding: 10px 12px; color: var(--parchment); border: 1px solid rgba(197,160,89,.42); background: var(--ledger); }.builder-item-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(195px, 1fr)); gap: 10px; }.builder-item { display: flex; gap: 10px; align-items: center; width: 100%; padding: 10px; color: var(--parchment); border: 1px solid rgba(238,227,205,.14); background: rgba(0,0,0,.18); cursor: pointer; text-align: left; }.builder-item:hover { border-color: var(--brass); }.builder-item img { width: 42px; height: 42px; object-fit: contain; }.builder-rarity-toolbar { display: grid; gap: 7px; margin: 22px 0 14px; padding: 10px 0; border-top: 1px solid rgba(197,160,89,.28); border-bottom: 1px solid rgba(197,160,89,.28); }.builder-rarity-toolbar > span, .builder-gear-editor h3 { color: var(--brass); font-family: "Cinzel", Georgia, serif; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }.builder-rarities { display: flex; flex-wrap: wrap; gap: 8px; }.builder-rarity { padding: 7px 10px; color: var(--parchment); border: 1px solid color-mix(in srgb, var(--rarity) 68%, transparent); border-radius: 3px; background: rgba(0,0,0,.24); cursor: pointer; }.builder-rarity:hover, .builder-rarity.is-active { color: var(--parchment); border-color: var(--rarity); background: color-mix(in srgb, var(--rarity) 13%, rgba(0,0,0,.35)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rarity) 30%, transparent); }.builder-empty { color: var(--parchment-dim); }
.weapon-set-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 22px; }.weapon-set-choice { display: grid; grid-template-columns: 1fr auto; gap: 8px; min-height: 126px; padding: 12px; border: 1px solid rgba(197,160,89,.38); background: rgba(0,0,0,.16); }.weapon-set-choice > button:first-child { display: flex; gap: 12px; align-items: center; min-width: 0; color: var(--parchment); border: 0; background: transparent; cursor: pointer; text-align: left; }.weapon-set-choice > button:first-child:disabled { cursor: not-allowed; opacity: .42; }.weapon-set-choice img, .weapon-set-choice__empty { display: grid; place-items: center; width: 62px; height: 62px; flex: 0 0 auto; object-fit: contain; color: var(--brass); border: 1px dashed rgba(197,160,89,.4); font-size: 1.65rem; }.weapon-set-choice span { min-width: 0; }.weapon-set-choice strong, .weapon-set-choice small { display: block; }.weapon-set-choice strong { color: var(--brass-light); font-family: "Cinzel", Georgia, serif; font-size: .78rem; letter-spacing: .07em; text-transform: uppercase; }.weapon-set-choice small { margin-top: 5px; color: var(--parchment-dim); font-size: .8rem; line-height: 1.25; }.weapon-set-choice__clear { align-self: end; padding: 6px 8px; color: #ef9a9a; border: 1px solid rgba(209,80,80,.55); background: rgba(136,26,26,.12); cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .62rem; letter-spacing: .05em; text-transform: uppercase; }.weapon-set-choice__clear:disabled { cursor: default; opacity: .35; }
.builder-gear-editor { border: 1px solid rgba(197,160,89,.34); background: rgba(0,0,0,.17); }.builder-gear-editor__grid { display: grid; grid-template-columns: minmax(250px, .8fr) minmax(0, 1.35fr); }.builder-gear-editor__base, .builder-gear-editor__rolls { padding: 20px; }.builder-gear-editor__base { border-right: 1px solid rgba(197,160,89,.22); background: linear-gradient(155deg, rgba(255,255,255,.025), transparent 42%); }.builder-gear-editor h3 { margin: 0 0 13px; }.builder-gear-editor__identity { display: grid; place-items: center; gap: 8px; min-height: 130px; margin-bottom: 14px; border: 1px solid rgba(197,160,89,.2); background: radial-gradient(circle, rgba(197,160,89,.08), transparent 65%); }.builder-gear-editor__identity img { width: 88px; height: 88px; object-fit: contain; }.builder-gear-editor__identity span { color: var(--parchment-dim); font-family: "Cinzel", Georgia, serif; font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }.builder-gear-editor__stats { margin: 0; }.builder-gear-editor__stats div { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid rgba(238,227,205,.09); }.builder-gear-editor__stats dt { color: var(--parchment-dim); }.builder-gear-editor__stats dd { margin: 0; color: var(--parchment); font-weight: 700; }.builder-gear-editor__rolls .builder-rolls { margin: 0; min-height: 100%; border: 0; background: transparent; padding: 0; }.builder-gear-editor__footer { display: flex; justify-content: flex-end; gap: 9px; padding: 14px 20px; border-top: 1px solid rgba(197,160,89,.22); background: rgba(0,0,0,.18); }.builder-remove, .builder-done { padding: 8px 12px; cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; }.builder-remove { margin-right: auto; color: #ef9a9a; border: 1px solid rgba(209,80,80,.65); background: rgba(136,26,26,.14); }.builder-done { color: var(--parchment); border: 1px solid rgba(133,177,93,.7); background: rgba(64,107,42,.22); }
.builder-rolls { display: grid; gap: 9px; margin: 16px 0; padding: 14px; border: 1px solid rgba(197,160,89,.28); background: rgba(0,0,0,.14); }.builder-rolls > div { display: flex; justify-content: space-between; align-items: center; }.builder-rolls h3 { margin: 0; color: var(--brass); font-family: "Cinzel", Georgia, serif; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; }.builder-rolls > div > span { color: var(--parchment-dim); font-size: .84rem; }.builder-roll { display: grid; grid-template-columns: minmax(160px, 1.35fr) minmax(100px, .6fr) auto; gap: 9px; align-items: end; padding-top: 9px; border-top: 1px solid rgba(238,227,205,.09); }.builder-roll label { display: grid; gap: 4px; color: var(--parchment-dim); font-size: .72rem; }.builder-roll select, .builder-roll input { width: 100%; padding: 8px; color: var(--parchment); border: 1px solid rgba(197,160,89,.42); background: var(--ledger); }.builder-roll small { grid-column: 1 / -1; color: var(--parchment-dim); }.builder-roll__clear { align-self: center; padding: 5px 9px; color: var(--parchment-dim); border: 1px solid rgba(238,227,205,.2); background: transparent; cursor: pointer; }.builder-rolls__empty { margin: 0; color: var(--parchment-dim); }
.ability-picker { position: fixed; z-index: 12; inset: 0; display: grid; place-items: center; padding: 24px; overflow-y: auto; overscroll-behavior: contain; background: rgba(0,0,0,.76); }.ability-picker__card { width: min(940px, 100%); max-height: min(760px, calc(100vh - 48px)); overflow: auto; overscroll-behavior: contain; padding: 24px; border: 1px solid rgba(197,160,89,.65); background: linear-gradient(145deg, rgba(197,160,89,.055), transparent 36%), var(--stone); box-shadow: 0 24px 60px rgba(0,0,0,.65); }.ability-picker__heading { display: flex; justify-content: space-between; gap: 18px; align-items: start; }.ability-picker__heading h2 { margin: 3px 0; font-family: "Almendra", Baskerville, Georgia, serif; font-size: clamp(1.7rem, 3vw,2.4rem); }.ability-picker__heading p { margin: 0; color: var(--parchment-dim); }.ability-picker__options { display: grid; grid-template-columns: repeat(auto-fill, minmax(245px, 1fr)); gap: 10px; margin-top: 18px; }.ability-option { display: flex; gap: 11px; align-items: center; min-height: 72px; padding: 10px; color: var(--parchment); border: 1px solid rgba(238,227,205,.14); background: rgba(0,0,0,.18); cursor: pointer; text-align: left; }.ability-option:hover:not(:disabled), .ability-option.is-selected { border-color: var(--brass); background: rgba(197,160,89,.09); }.ability-option:disabled { cursor: not-allowed; opacity: .38; }.ability-option img { width: 48px; height: 48px; object-fit: contain; flex: 0 0 auto; }.ability-option span { min-width: 0; }.ability-option small { display: block; margin-top: 3px; color: var(--parchment-dim); font-size: .76rem; line-height: 1.25; }.ability-picker__footer { display: flex; margin-top: 16px; }
.sorcerer-configuration { display: grid; gap: 16px; min-width: 0; }.sorcerer-combos { padding: 14px; border: 1px solid rgba(238,227,205,.1); background: rgba(0,0,0,.13); }.sorcerer-combos .ability-slots__heading { align-items: start; }.sorcerer-combos .ability-slots__heading h3 { margin: 0; color: var(--brass); font-family: "Cinzel", Georgia, serif; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }.sorcerer-combos .ability-slots__heading p { max-width: 28rem; margin: 5px 0 0; color: var(--parchment-dim); font-size: .84rem; line-height: 1.28; }.sorcerer-combos__grid { display: grid; grid-template-columns: repeat(5, minmax(90px, 1fr)); gap: 8px; }.sorcerer-combo { display: grid; min-height: 122px; padding: 0; overflow: hidden; color: var(--parchment); border: 1px solid rgba(197,160,89,.42); background: rgba(0,0,0,.16); }.sorcerer-combo--empty { place-items: center; gap: 6px; padding: 10px; color: var(--parchment-dim); border-style: dashed; cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .64rem; letter-spacing: .04em; text-align: center; text-transform: uppercase; }.sorcerer-combo--empty:hover { color: var(--parchment); border-color: var(--brass-light); background: rgba(197,160,89,.09); }.sorcerer-combo--empty > span { color: var(--brass); font-size: 1.4rem; }.sorcerer-combo__edit { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 4px; width: 100%; min-height: 100%; padding: 7px; color: var(--parchment); border: 0; background: transparent; cursor: pointer; }.sorcerer-combo__edit:hover { background: rgba(197,160,89,.08); }.sorcerer-combo__edit > strong, .sorcerer-combo__edit > small { grid-column: 1 / -1; overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; }.sorcerer-combo__edit > strong { color: var(--brass-light); font-family: "Cinzel", Georgia, serif; font-size: .63rem; letter-spacing: .04em; text-transform: uppercase; }.sorcerer-combo__edit > small { color: var(--parchment-dim); font-size: .54rem; }.sorcerer-combo__ingredient { display: grid; justify-items: center; min-width: 0; }.sorcerer-combo__ingredient img { width: 38px; height: 38px; object-fit: contain; }.sorcerer-combo__plus { color: var(--brass); font-size: .9rem; }.sorcerer-wheel { margin: 0; }.sorcerer-wheel .ability-slots__grid { grid-template-columns: repeat(5, minmax(46px, 1fr)); }.ability-slot--locked { cursor: default; opacity: .76; box-shadow: inset 0 0 0 1px rgba(197,160,89,.18); }.sorcerer-wheel__footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 11px; padding-top: 10px; border-top: 1px solid rgba(238,227,205,.1); }.sorcerer-wheel__footer p { margin: 0; color: var(--parchment-dim); font-size: .82rem; line-height: 1.3; }.sorcerer-wheel__footer .builder-clear { padding: 7px 9px; white-space: nowrap; font-family: "Cinzel", Georgia, serif; font-size: .62rem; letter-spacing: .05em; text-transform: uppercase; }.sorcerer-recipe-options { grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); }.sorcerer-recipe { align-items: start; }.sorcerer-recipe__ingredients { display: flex; align-items: center; gap: 3px; flex: 0 0 auto; }.sorcerer-recipe__ingredients img { width: 31px; height: 31px; object-fit: contain; }.sorcerer-recipe__ingredients b { color: var(--brass); font-size: .72rem; }.sorcerer-recipe small + small { margin-top: 6px; }
.sorcerer-setup-note, .sorcerer-active-merges { padding: 14px; border: 1px solid rgba(238,227,205,.1); background: rgba(0,0,0,.13); }.sorcerer-setup-note h3, .sorcerer-configuration__heading h3, .sorcerer-active-merges h3 { margin: 0; color: var(--brass); font-family: "Cinzel", Georgia, serif; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }.sorcerer-setup-note p, .sorcerer-configuration__heading p, .sorcerer-active-merges p { margin: 6px 0 0; color: var(--parchment-dim); font-size: .86rem; line-height: 1.3; }.sorcerer-configuration__heading { display: flex; justify-content: space-between; align-items: start; gap: 14px; }.sorcerer-configuration__actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 7px; }.sorcerer-configuration__heading .builder-clear, .sorcerer-configuration__heading .builder-remove { margin: 0; padding: 7px 9px; white-space: nowrap; font-family: "Cinzel", Georgia, serif; font-size: .62rem; letter-spacing: .05em; text-transform: uppercase; }.sorcerer-hand-slots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }.sorcerer-hand-slots .ability-slots { padding: 14px; }.sorcerer-hand-slots .ability-slots__grid { grid-template-columns: repeat(5, minmax(42px, 1fr)); }.sorcerer-active-merges .ability-slots__heading { align-items: start; }.sorcerer-active-merges__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(175px, 1fr)); gap: 8px; }.sorcerer-active-merge { display: flex; gap: 8px; align-items: center; min-width: 0; padding: 8px; border: 1px solid rgba(133,177,93,.45); background: rgba(64,107,42,.12); }.sorcerer-active-merge img { width: 34px; height: 34px; object-fit: contain; }.sorcerer-active-merge span { min-width: 0; }.sorcerer-active-merge strong, .sorcerer-active-merge small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.sorcerer-active-merge strong { color: var(--parchment); font-size: .8rem; }.sorcerer-active-merge small { margin-top: 2px; color: var(--parchment-dim); font-size: .68rem; }
.sorcerer-hand-panel { min-width: 0; }.sorcerer-hand-description { min-height: 4.2em; margin: 10px 0 0; padding: 9px 10px; color: var(--parchment-dim); border-top: 1px solid rgba(238,227,205,.1); font-size: .82rem; line-height: 1.3; }.sorcerer-merge-lists { display: grid; gap: 14px; }.sorcerer-merge-list { padding: 14px; border: 1px solid rgba(238,227,205,.1); background: rgba(0,0,0,.13); }.sorcerer-merge-list--active { border-color: rgba(133,177,93,.38); }.sorcerer-merge-list--inactive { opacity: .78; }.sorcerer-merge-list .ability-slots__heading { align-items: start; }.sorcerer-merge-list .ability-slots__heading h3 { margin: 0; color: var(--brass); font-family: "Cinzel", Georgia, serif; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }.sorcerer-merge-list .ability-slots__heading p { max-width: 36rem; margin: 5px 0 0; color: var(--parchment-dim); font-size: .84rem; line-height: 1.28; }.sorcerer-merge-list__items { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; }.sorcerer-merge { display: flex; gap: 9px; align-items: start; min-width: 0; padding: 9px; border: 1px solid rgba(238,227,205,.12); background: rgba(0,0,0,.17); }.sorcerer-merge-list--active .sorcerer-merge { border-color: rgba(133,177,93,.48); background: rgba(64,107,42,.12); }.sorcerer-merge img { width: 38px; height: 38px; flex: 0 0 auto; object-fit: contain; }.sorcerer-merge span { min-width: 0; }.sorcerer-merge strong, .sorcerer-merge small, .sorcerer-merge em { display: block; }.sorcerer-merge strong { color: var(--parchment); font-size: .83rem; }.sorcerer-merge small { margin-top: 2px; color: var(--brass-light); font-size: .67rem; }.sorcerer-merge em { margin-top: 5px; color: var(--parchment-dim); font-size: .72rem; font-style: normal; line-height: 1.23; }
.sorcerer-merge b, .sorcerer-recipe__facts { display: block; margin-top: 6px; color: var(--brass); font-size: .67rem; font-weight: 600; line-height: 1.25; }
.sorcerer-merge-tip { margin: 7px 0 0 !important; color: #c7dcae !important; font-size: .76rem !important; font-style: italic; }
.sorcerer-merge-list { padding: 0; }.sorcerer-merge-list__summary { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 14px; color: var(--parchment); cursor: pointer; list-style: none; }.sorcerer-merge-list__summary::-webkit-details-marker { display: none; }.sorcerer-merge-list__summary::before { content: "▸"; color: var(--brass); font-size: .82rem; }.sorcerer-merge-list[open] .sorcerer-merge-list__summary::before { content: "▾"; }.sorcerer-merge-list__title { flex: 1; color: var(--brass); font-family: "Cinzel", Georgia, serif; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }.sorcerer-merge-list__count { color: var(--parchment-dim); font-size: .8rem; font-weight: 400; }.sorcerer-merge-list__body { padding: 0 14px 14px; }.sorcerer-merge-list__body > p { max-width: 36rem; margin: 0; color: var(--parchment-dim); font-size: .84rem; line-height: 1.28; }.sorcerer-merge-list__items { margin-top: 10px; }
.builder-picker, .ability-picker { overflow-y: visible; overscroll-behavior: auto; }.builder-picker__card, .ability-picker__card { overscroll-behavior: auto; }
.builder-roll { grid-template-columns: minmax(160px, 1fr) 112px auto; }.builder-roll label:nth-child(2) { width: 112px; }.builder-roll select, .builder-roll input { box-sizing: border-box; min-height: 42px; border-radius: 0; }
.builder-character-selects { display: flex; flex-wrap: wrap; justify-content: end; gap: 12px; }.builder-race-note { color: var(--brass-light) !important; font-weight: 700; }
.class-stat-subheading { margin: 1.1rem 0 .35rem; color: var(--brass); font-family: "Cinzel", Georgia, serif; font-size: .72rem; letter-spacing: .11em; text-transform: uppercase; }.class-stat-list__detail dt { padding-left: .7rem; font-size: .9em; opacity: .78; }
.builder-gear-editor__stats .builder-base-roll { display: grid; grid-template-columns: minmax(0, 1fr) 112px; align-items: center; }.builder-base-roll label { display: grid; gap: 2px; color: var(--parchment-dim); }.builder-base-roll small { color: var(--brass-light); font-size: .7rem; }.builder-base-roll select { width: 112px; min-height: 36px; padding: 6px; color: var(--parchment); border: 1px solid rgba(197,160,89,.42); border-radius: 0; background: var(--ledger); }
.builder-class-select > span { display: block; margin-bottom: 6px; color: var(--brass); font-family: "Cinzel", Georgia, serif; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }.builder-class-card { display: grid; grid-template-columns: 38px 1fr auto; gap: 9px; align-items: center; width: 100%; min-height: 52px; padding: 7px 10px; color: var(--parchment); border: 1px solid rgba(197,160,89,.5); border-radius: 0; background: var(--ledger); cursor: pointer; text-align: left; }.builder-class-card:hover { border-color: var(--brass-light); background: rgba(197,160,89,.08); }.builder-class-card img { width: 38px; height: 38px; object-fit: contain; }.builder-class-card strong { font-family: "Cinzel", Georgia, serif; font-size: .84rem; letter-spacing: .04em; }.builder-class-card b { color: var(--brass-light); font-size: .8rem; }
.race-slot { position: absolute; top: 560px; left: 0; width: 132px; min-height: 132px; border: 1px solid rgba(197,160,89,.55); background: linear-gradient(145deg, rgba(255,255,255,.045), transparent), var(--ledger); box-shadow: var(--inset-shadow), 0 8px 14px rgba(0,0,0,.26); }.race-slot:hover { border-color: var(--brass-light); transform: translateY(-2px); }.race-slot button { display: grid; place-items: center; width: 100%; min-height: 132px; padding: 9px; color: var(--parchment); border: 0; background: transparent; cursor: pointer; }.race-slot__mark, .race-option__mark { display: grid; place-items: center; color: var(--brass-light); border: 1px solid rgba(197,160,89,.42); background: rgba(0,0,0,.22); font-family: "Cinzel", Georgia, serif; font-weight: 700; }.race-slot__mark { width: 31px; height: 31px; font-size: .95rem; }.race-slot__label { color: var(--brass); font-family: "Cinzel", Georgia, serif; font-size: .62rem; letter-spacing: .09em; text-transform: uppercase; }.race-slot strong { overflow: hidden; width: 100%; font-size: .82rem; line-height: 1.05; text-align: center; text-overflow: ellipsis; white-space: nowrap; }.race-slot small { display: -webkit-box; overflow: hidden; color: var(--parchment-dim); font-size: .62rem; line-height: 1.15; text-align: center; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }.character-picker__options { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }.race-picker__options { grid-template-columns: repeat(auto-fill, minmax(285px, 1fr)); }.race-option { align-items: start; }.race-option__mark { width: 44px; height: 44px; flex: 0 0 auto; font-size: 1rem; }.race-option small { line-height: 1.32; }
.class-stat-subheading--action { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.class-stat-subheading--action h4 { margin: 0; font: inherit; }.class-stat-subheading--action > div { display: grid; gap: 5px; }.class-stat-subheading--action span { display: flex; flex-wrap: wrap; justify-content: end; gap: 5px; }.class-stats-template-select { min-width: 152px; max-width: 220px; padding: 5px 7px; color: var(--parchment); border: 1px solid rgba(197,160,89,.42); border-radius: 0; background: var(--ledger); font-family: "Cinzel", Georgia, serif; font-size: .64rem; letter-spacing: .03em; }.class-stats-action, .class-stats-toggle { color: var(--parchment); border: 1px solid rgba(197,160,89,.42); background: rgba(0,0,0,.18); cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .62rem; letter-spacing: .05em; text-transform: uppercase; }.class-stats-action { padding: 5px 7px; }.class-stats-action:hover, .class-stats-toggle:hover { border-color: var(--brass-light); background: rgba(197,160,89,.1); }.class-stats-toggle { display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 11px; padding: 9px 10px; text-align: left; }.class-stats-toggle b { color: var(--brass-light); font-size: .9rem; }
.druid-form-comparison { margin-top: 16px; padding: 12px; border: 1px solid rgba(112,161,86,.52); background: linear-gradient(145deg, rgba(86,130,60,.14), transparent 52%), rgba(0,0,0,.14); }.druid-form-comparison__heading { display: flex; align-items: start; justify-content: space-between; gap: 10px; }.druid-form-comparison__heading h4 { margin: 3px 0 0; color: var(--parchment); font-family: "Cinzel", Georgia, serif; font-size: .86rem; letter-spacing: .04em; }.druid-form-comparison__heading label { display: grid; gap: 4px; color: var(--brass); font-family: "Cinzel", Georgia, serif; font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }.druid-form-comparison__heading select { min-width: 100px; padding: 5px 6px; color: var(--parchment); border: 1px solid rgba(112,161,86,.62); border-radius: 0; background: var(--ledger); font-family: "Cinzel", Georgia, serif; font-size: .7rem; }.druid-form-comparison > p { margin: 9px 0 8px; color: var(--parchment-dim); font-size: .78rem; line-height: 1.3; }.druid-form-comparison__stats { margin: 0; }.druid-form-comparison__stats div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 5px 0; border-top: 1px solid rgba(238,227,205,.09); }.druid-form-comparison__stats dt { color: var(--parchment-dim); font-size: .83rem; }.druid-form-comparison__stats dd { display: flex; align-items: center; justify-content: end; gap: 5px; margin: 0; color: var(--parchment); font-size: .82rem; font-weight: 700; text-align: right; }.druid-form-comparison__stats dd b { color: var(--brass-light); }.druid-form-comparison__empty { margin-top: 13px !important; padding: 10px; border: 1px dashed rgba(112,161,86,.42); }
.demon-form-comparison { margin-top: 16px; padding: 12px; border: 1px solid rgba(151,75,87,.6); background: linear-gradient(145deg, rgba(113,43,61,.18), transparent 55%), rgba(0,0,0,.14); }.demon-form-comparison__heading { display: flex; align-items: start; justify-content: space-between; gap: 10px; }.demon-form-comparison__heading h4 { margin: 3px 0 0; color: var(--parchment); font-family: "Cinzel", Georgia, serif; font-size: .86rem; letter-spacing: .04em; }.demon-form-comparison__heading label { display: grid; gap: 4px; color: #d19b79; font-family: "Cinzel", Georgia, serif; font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }.demon-form-comparison__heading select { min-width: 100px; padding: 5px 6px; color: var(--parchment); border: 1px solid rgba(151,75,87,.72); border-radius: 0; background: var(--ledger); font-family: "Cinzel", Georgia, serif; font-size: .7rem; }.demon-form-comparison > p { margin: 9px 0 8px; color: var(--parchment-dim); font-size: .78rem; line-height: 1.3; }.demon-form-comparison__stats { margin: 0; }.demon-form-comparison__stats > div:not(.demon-form-comparison__subheading) { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 5px 0; border-top: 1px solid rgba(238,227,205,.09); }.demon-form-comparison__stats dt { color: var(--parchment-dim); font-size: .83rem; }.demon-form-comparison__stats dd { display: flex; align-items: center; justify-content: end; gap: 5px; margin: 0; color: var(--parchment); font-size: .82rem; font-weight: 700; text-align: right; }.demon-form-comparison__stats dd b { color: #d19b79; }.demon-form-comparison__subheading { margin-top: 8px; padding: 8px 0 3px; color: #d19b79; border-top: 1px solid rgba(151,75,87,.35); font-family: "Cinzel", Georgia, serif; font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }.demon-form-comparison__note { padding-top: 2px; color: #c9b5aa !important; font-size: .73rem !important; }
.builder-effects { margin-top: 16px; padding: 12px; border: 1px solid rgba(92,135,165,.58); background: linear-gradient(145deg, rgba(48,93,126,.15), transparent 55%), rgba(0,0,0,.14); }.builder-effects__heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.builder-effects__heading h4 { margin: 3px 0 0; color: var(--parchment); font-family: "Cinzel", Georgia, serif; font-size: .86rem; letter-spacing: .04em; }.builder-effects__heading h4 b { margin-left: 5px; color: #8bc9e8; font-size: .65rem; font-weight: 600; text-transform: uppercase; }.builder-effects__toggle { display: flex; align-items: center; gap: 7px; color: #b8d8e8; cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .66rem; letter-spacing: .06em; text-transform: uppercase; }.builder-effects__toggle input { accent-color: #5ba9ce; }.builder-effects > p { margin: 9px 0 0; color: var(--parchment-dim); font-size: .78rem; line-height: 1.3; }.builder-effects__actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 11px 0 9px; color: #a8c8d8; font-size: .72rem; }.builder-effects__actions button { padding: 5px 7px; color: #d7edf7; border: 1px solid rgba(92,135,165,.62); border-radius: 0; background: rgba(0,0,0,.16); cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .6rem; letter-spacing: .05em; text-transform: uppercase; }.builder-effects__actions button:hover { border-color: #8bc9e8; }.builder-effects__groups { display: grid; gap: 11px; }.builder-effects__groups section { display: grid; gap: 6px; }.builder-effects__groups h5 { margin: 2px 0 0; color: #b8d8e8; font-family: "Cinzel", Georgia, serif; font-size: .63rem; letter-spacing: .09em; text-transform: uppercase; }.builder-effect { display: flex; gap: 8px; align-items: start; padding: 8px; border: 1px solid rgba(238,227,205,.1); background: rgba(0,0,0,.15); cursor: pointer; }.builder-effect:hover { border-color: rgba(92,135,165,.68); }.builder-effect > input { flex: 0 0 auto; margin: 3px 0 0; accent-color: #5ba9ce; }.builder-effect__body { display: grid; gap: 3px; min-width: 0; }.builder-effect__name { color: var(--parchment); font-family: "Cinzel", Georgia, serif; font-size: .75rem; font-weight: 700; }.builder-effect__name em { margin-left: 5px; color: #8bc9e8; font-family: "EB Garamond", Georgia, serif; font-size: .76rem; font-style: normal; font-weight: 400; }.builder-effect small { color: var(--parchment-dim); font-size: .76rem; line-height: 1.23; }.builder-effect i { color: #8cb4c9; font-size: .71rem; font-style: normal; line-height: 1.2; }.builder-effect--locked { opacity: .54; cursor: not-allowed; }.builder-effects__reference { display: grid; gap: 8px; margin-top: 13px; padding: 10px; border: 1px solid rgba(92,135,165,.38); background: rgba(0,0,0,.12); }.builder-effects__reference summary { color: #c6e6f6; cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }.builder-effects__reference summary b { margin-left: 5px; color: #8bc9e8; }.builder-effects__reference > p { margin: 0; font-size: .74rem; }.builder-effects__reference > details { border-top: 1px solid rgba(238,227,205,.11); padding-top: 7px; }.builder-effects__reference > details > summary { color: var(--parchment); font-family: "Cinzel", Georgia, serif; font-size: .64rem; letter-spacing: .04em; }.builder-effects__reference > details > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(205px, 1fr)); gap: 6px; max-height: 480px; margin-top: 8px; overflow: auto; padding-right: 4px; }.builder-effects__reference article { display: grid; gap: 2px; padding: 7px; border: 1px solid rgba(238,227,205,.1); background: rgba(0,0,0,.13); }.builder-effects__reference article strong { color: var(--parchment); font-family: "Cinzel", Georgia, serif; font-size: .66rem; }.builder-effects__reference article span { color: #a9c9d9; font-size: .7rem; }.builder-effects__reference article small { color: var(--parchment-dim); font-size: .68rem; line-height: 1.2; }.builder-effects__reference-note { color: #9ccde6 !important; }.builder-effects-note { color: #9ccde6 !important; }
.builder-effects__search { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 9px; align-items: center; margin: 0 0 12px; color: #b8d8e8; font-family: "Cinzel", Georgia, serif; font-size: .62rem; letter-spacing: .07em; text-transform: uppercase; }.builder-effects__search input { min-width: 0; min-height: 37px; padding: 7px 9px; color: var(--parchment); border: 1px solid rgba(92,135,165,.58); border-radius: 0; background: rgba(0,0,0,.22); font: inherit; letter-spacing: .02em; text-transform: none; }.builder-effects__search input:focus { outline: 1px solid #8bc9e8; border-color: #8bc9e8; }.builder-effects__group--buff h5 { color: #b8d8e8; }.builder-effects__group--debuff h5 { color: #ef9a9a; }.builder-effect--buff { border-color: rgba(92,135,165,.32); }.builder-effect--buff:hover { border-color: rgba(92,135,165,.8); }.builder-effect--buff > input { accent-color: #5ba9ce; }.builder-effect--buff .builder-effect__name em, .builder-effect--buff i { color: #8bc9e8; }.builder-effect--debuff { border-color: rgba(209,80,80,.35); background: linear-gradient(135deg, rgba(113,43,61,.14), transparent 60%), rgba(0,0,0,.15); }.builder-effect--debuff:hover { border-color: rgba(225,107,107,.84); }.builder-effect--debuff > input { accent-color: #cf5f5f; }.builder-effect--debuff .builder-effect__name em, .builder-effect--debuff i { color: #ef9a9a; }
.simulation-workspace { width: min(940px, 100%); margin: 24px auto 42px; padding: 20px; border: 1px solid rgba(197,160,89,.46); background: linear-gradient(145deg, rgba(197,160,89,.09), transparent 36%), rgba(0,0,0,.16); box-shadow: var(--inset-shadow); }.simulation-workspace__heading { max-width: 680px; }.simulation-workspace__heading h2 { margin: 5px 0 7px; color: var(--parchment); font-family: "Almendra", Georgia, serif; font-size: clamp(1.55rem, 3vw, 2.35rem); }.simulation-workspace__heading p { margin: 0; color: var(--parchment-dim); line-height: 1.35; }.simulation-pages { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; border-bottom: 1px solid rgba(92,135,165,.45); }.simulation-pages button { padding: 8px 11px; color: var(--parchment-dim); border: 1px solid rgba(238,227,205,.2); border-bottom: 0; background: rgba(0,0,0,.16); cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .66rem; letter-spacing: .06em; text-transform: uppercase; }.simulation-pages button[aria-current="page"] { color: #c6e6f6; border-color: rgba(92,135,165,.76); background: rgba(48,93,126,.2); }.simulation-workspace--effects .builder-effects { margin-top: 16px; }.simulation-context { display: grid; grid-template-columns: auto repeat(4, minmax(105px, 1fr)) auto; gap: 7px; align-items: end; margin-top: 18px; padding: 10px; border: 1px solid rgba(92,135,165,.52); background: linear-gradient(145deg, rgba(48,93,126,.16), transparent), rgba(0,0,0,.15); }.simulation-context__label { align-self: center; color: #b8d8e8; font-family: "Cinzel", Georgia, serif; font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; writing-mode: vertical-rl; transform: rotate(180deg); }.simulation-context label { display: grid; gap: 4px; color: #a9c9d9; font-family: "Cinzel", Georgia, serif; font-size: .58rem; letter-spacing: .06em; text-transform: uppercase; }.simulation-context select { width: 100%; min-height: 35px; padding: 6px 8px; color: var(--parchment); border: 1px solid rgba(92,135,165,.58); border-radius: 0; background: var(--ledger); font: inherit; font-size: .68rem; letter-spacing: 0; text-transform: none; }.simulation-context select:disabled { opacity: .45; cursor: not-allowed; }.simulation-context__effects { min-height: 35px; padding: 6px 9px; color: #b8d8e8; border: 1px solid rgba(92,135,165,.58); border-radius: 0; background: rgba(48,93,126,.13); cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .62rem; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }.simulation-context__effects:hover, .simulation-context__effects.is-on { border-color: #8bc9e8; background: rgba(48,93,126,.24); }.simulation-workspace__grid { display: grid; grid-template-columns: minmax(250px, .95fr) minmax(280px, 1.05fr); gap: 14px; margin-top: 18px; }.simulation-panel { padding: 14px; border: 1px solid rgba(238,227,205,.13); background: rgba(0,0,0,.17); }.simulation-panel h3 { margin: 0 0 7px; color: var(--brass-light); font-family: "Cinzel", Georgia, serif; font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; }.simulation-panel > p { margin: 0; color: var(--parchment-dim); font-size: .8rem; line-height: 1.32; }.simulation-targets__grid { display: grid; gap: 10px; margin-top: 14px; }.simulation-targets__grid label { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 5px 10px; align-items: center; color: var(--parchment); font-size: .86rem; }.simulation-targets__grid input { width: 112px; min-height: 41px; padding: 7px 9px; color: var(--parchment); border: 1px solid rgba(197,160,89,.55); border-radius: 0; background: var(--ledger); font: inherit; text-align: right; }.simulation-targets__grid small { grid-column: 2; color: var(--brass-light); font-size: .67rem; }.simulation-panel--readout dl { margin: 0; }.simulation-panel--readout dl div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 6px 0; border-top: 1px solid rgba(238,227,205,.1); }.simulation-panel--readout dt { color: var(--parchment-dim); font-size: .8rem; }.simulation-panel--readout dd { margin: 0; color: var(--parchment); font-size: .83rem; font-weight: 700; text-align: right; }.simulation-panel--pending { margin-top: 14px; }.simulation-panel--pending > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }.simulation-panel--pending span { display: inline-flex; gap: 6px; align-items: baseline; padding: 6px 8px; color: #c6e6f6; border: 1px solid rgba(92,135,165,.5); background: rgba(48,93,126,.12); font-size: .76rem; }.simulation-panel--pending b { color: var(--parchment); }
.core-template-picker .ability-picker__card { width: min(1120px, 100%); }.core-template-name { display: grid; gap: 5px; max-width: 340px; margin-top: 19px; color: var(--parchment-dim); font-size: .78rem; }.core-template-name input { min-height: 39px; padding: 8px 10px; color: var(--parchment); border: 1px solid rgba(197,160,89,.42); border-radius: 0; background: var(--ledger); }.core-template-count { margin: 13px 0 8px; color: var(--brass-light); font-size: .82rem; }.core-template-error { margin: 8px 0; color: #ef9a9a; font-size: .82rem; }.core-template-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }.core-template-options section { padding: 12px; border: 1px solid rgba(238,227,205,.1); background: rgba(0,0,0,.16); }.core-template-options h3 { margin: 0 0 8px; color: var(--brass); font-family: "Cinzel", Georgia, serif; font-size: .68rem; letter-spacing: .09em; text-transform: uppercase; }.core-template-options label { display: flex; gap: 8px; align-items: start; padding: 5px 0; color: var(--parchment-dim); cursor: pointer; font-size: .82rem; line-height: 1.2; }.core-template-options input { accent-color: var(--brass); margin-top: 1px; }.core-template-options input:disabled + span { opacity: .42; }
.builder-picker__card--gear { width: min(1180px, calc(100vw - 48px)); max-height: none; overflow: visible; }
.builder-picker__card--gear .builder-rarity-toolbar > span, .builder-picker__card--gear .builder-gear-editor h3, .builder-picker__card--gear .builder-rolls h3 { font-size: .86rem; }.builder-picker__card--gear .builder-rarity { font-size: .88rem; }.builder-picker__card--gear .builder-gear-editor__identity span { font-size: .78rem; }.builder-picker__card--gear .builder-gear-editor__stats dt, .builder-picker__card--gear .builder-gear-editor__stats dd { font-size: .96rem; }.builder-picker__card--gear .builder-rolls > div > span { font-size: .94rem; }.builder-picker__card--gear .builder-roll { gap: 12px; padding-top: 12px; }.builder-picker__card--gear .builder-roll label { gap: 6px; font-size: .86rem; }.builder-picker__card--gear .builder-roll select, .builder-picker__card--gear .builder-roll input { min-height: 46px; padding: 9px 10px; font-size: .92rem; }.builder-picker__card--gear .builder-roll small { font-size: .84rem; }.builder-picker__card--gear .builder-roll__clear { padding: 8px 11px; font-size: .88rem; }.builder-picker__card--gear .builder-remove, .builder-picker__card--gear .builder-done, .builder-picker__card--gear .builder-clear { font-size: .8rem; }
.simulation-weapon-output { display: grid; gap: 12px; margin-top: 13px; }.simulation-formula-note { padding: 8px 9px; color: #a8c8d8; border-left: 2px solid #5ba9ce; background: rgba(48,93,126,.11); font-size: .76rem; line-height: 1.3; }.simulation-weapon { padding: 11px; border: 1px solid rgba(197,160,89,.3); background: rgba(0,0,0,.14); }.simulation-weapon h4 { margin: 0; color: var(--parchment); font-family: "Cinzel", Georgia, serif; font-size: .78rem; letter-spacing: .04em; }.simulation-weapon > p { margin: 5px 0 10px; color: var(--parchment-dim); font-size: .75rem; }.simulation-swings { display: grid; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); gap: 8px; }.simulation-swings article { display: grid; gap: 4px; padding: 9px; border: 1px solid rgba(92,135,165,.38); background: linear-gradient(145deg, rgba(48,93,126,.15), transparent), rgba(0,0,0,.12); }.simulation-swings strong { color: #b8d8e8; font-family: "Cinzel", Georgia, serif; font-size: .67rem; letter-spacing: .05em; text-transform: uppercase; }.simulation-swings small { color: var(--parchment-dim); font-size: .68rem; font-style: normal; line-height: 1.2; }.simulation-swing__total { color: var(--parchment); font-size: 1.12rem; font-weight: 700; }.simulation-swing__channels { display: grid; gap: 5px; margin-top: 3px; }.simulation-swing__channel { display: grid; grid-template-columns: 1fr auto; gap: 1px 6px; padding: 5px 6px; border-left: 2px solid rgba(92,135,165,.8); background: rgba(48,93,126,.1); }.simulation-swing__channel b { color: #b8d8e8; font-size: .65rem; letter-spacing: .03em; text-transform: uppercase; }.simulation-swing__channel strong { color: var(--parchment); font-size: .87rem; text-align: right; }.simulation-swing__channel small { grid-column: 1 / -1; color: var(--parchment-dim); }.simulation-swing__channel--magical, .simulation-swing__channel--staff { border-left-color: #b478d7; background: rgba(117,61,142,.12); }.simulation-swing__channel--magical b, .simulation-swing__channel--staff b { color: #e2baf3; }.simulation-swing__channel--staff { border-left-color: #e0b651; background: rgba(156,116,35,.12); }.simulation-swing__channel--staff b { color: #f0d17b; }
.simulation-readout__heading { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 7px; align-items: center; margin-bottom: 8px; }.simulation-readout__heading h3 { margin: 0; }.simulation-readout__heading select { min-width: 118px; min-height: 29px; padding: 4px 6px; color: var(--parchment); border: 1px solid rgba(197,160,89,.5); border-radius: 0; background: var(--ledger); font-family: "Cinzel", Georgia, serif; font-size: .62rem; }.simulation-readout__heading span { display: flex; gap: 4px; }.simulation-readout__heading button { padding: 5px 6px; color: var(--brass-light); border: 1px solid rgba(197,160,89,.46); border-radius: 0; background: rgba(0,0,0,.15); cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .55rem; letter-spacing: .04em; text-transform: uppercase; }.simulation-readout__heading button:hover { border-color: var(--brass-light); }.simulation-panel--abilities { display: grid; gap: 10px; margin-top: 14px; }.simulation-abilities__heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; }.simulation-abilities__heading h3 { margin-bottom: 5px; }.simulation-abilities__heading > b { flex: 0 0 auto; padding: 4px 6px; color: #b8d8e8; border: 1px solid rgba(92,135,165,.5); background: rgba(48,93,126,.12); font-family: "Cinzel", Georgia, serif; font-size: .6rem; letter-spacing: .05em; text-transform: uppercase; }.simulation-abilities__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(238px, 1fr)); gap: 8px; }.simulation-ability { display: flex; gap: 8px; align-items: start; min-height: 78px; padding: 9px; border: 1px solid rgba(238,227,205,.14); background: rgba(0,0,0,.14); cursor: pointer; }.simulation-ability:hover { border-color: rgba(92,135,165,.72); }.simulation-ability.is-active { border-color: rgba(92,135,165,.85); background: linear-gradient(145deg, rgba(48,93,126,.2), transparent), rgba(0,0,0,.15); }.simulation-ability--tradeoff.is-active { border-color: rgba(209,80,80,.66); background: linear-gradient(145deg, rgba(113,43,61,.19), transparent), rgba(0,0,0,.15); }.simulation-ability input { flex: 0 0 auto; margin: 4px 0 0; accent-color: #5ba9ce; }.simulation-ability--tradeoff input { accent-color: #cf5f5f; }.simulation-ability span { display: grid; gap: 3px; min-width: 0; }.simulation-ability strong { color: var(--parchment); font-family: "Cinzel", Georgia, serif; font-size: .72rem; letter-spacing: .03em; }.simulation-ability small { color: #8bc9e8; font-size: .68rem; }.simulation-ability--tradeoff small { color: #ef9a9a; }.simulation-ability em { color: var(--parchment-dim); font-size: .72rem; font-style: normal; line-height: 1.2; }.simulation-abilities__automatic, .simulation-abilities__unsupported { margin: 0; padding-top: 8px; border-top: 1px solid rgba(238,227,205,.1); color: var(--parchment-dim); font-size: .73rem; line-height: 1.3; }.simulation-abilities__automatic b { color: #8bc9e8; }.simulation-abilities__unsupported b { color: #d19b79; }
@media (max-width: 900px) { .site-header { grid-template-columns: auto 1fr; }.builder-return { justify-self: end; }.builder-toolbar, .builder-workspace { grid-template-columns: 1fr; }.builder-toolbar { align-items: stretch; flex-direction: column; }.builder-class-select, .builder-character-selects { min-width: 0; }.builder-character-selects { grid-template-columns: 1fr; }.builder-workspace { display: grid; }.equipment-stage { min-height: 590px; }.builder-config-grid, .ability-slots-layout { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .site-shell { width: min(100% - 22px, 1380px); padding-top: 11px; }.site-header { gap: 12px; min-height: 92px; padding: 14px 14px 14px 23px; }.brand-crest { width: 52px; height: 61px; }.brand-copy h1 { font-size: 1.9rem; }.brand-copy p { display: none; }.builder-return { font-size: .62rem; }.builder-toolbar, .builder-panel, .builder-config { padding: 18px; }.equipment-stage { min-height: auto; padding: 22px 8px; }.equipment-layout { height: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 16px; }.equipment-layout::before, .equipment-stage::before { display: none; }.equipment-slot, .race-slot { position: static; width: auto; min-height: 92px; }.weapon-set-tile { position: static; width: auto; min-height: 92px; }.slot-chest { width: auto; min-height: 92px; }.race-slot button { min-height: 92px; }.equipment-slot__actions { top: auto; bottom: 5px; transform: translate(-50%, 0); }.equipment-slot.is-selected:hover .equipment-slot__actions, .equipment-slot.is-selected:focus-within .equipment-slot__actions { transform: translate(-50%, 0); }.builder-picker, .ability-picker { padding: 10px; }.builder-picker__card, .ability-picker__card { padding: 18px; }.builder-item-list, .ability-picker__options, .weapon-set-choice-grid { grid-template-columns: 1fr; }.ability-slots__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }.builder-gear-editor__grid { grid-template-columns: 1fr; }.builder-gear-editor__base { border-right: 0; border-bottom: 1px solid rgba(197,160,89,.22); }.builder-roll { grid-template-columns: 1fr auto; }.builder-roll label:first-child, .builder-roll small { grid-column: 1 / -1; }.builder-gear-editor__footer { flex-wrap: wrap; }.builder-remove { margin-right: 0; } }

/* Builder 3107 refinement pass: active weapon sets, compact skills, and
   scan-friendly action cards. */
.weapon-set-control {
  position: absolute;
  top: 48px;
  width: 132px;
}
.weapon-set-control--primary { left: 0; }
.weapon-set-control--alternate { right: 0; }
.weapon-set-control .weapon-set-tile {
  position: relative;
  inset: auto;
  width: 132px;
  min-height: 132px;
}
.weapon-set-control.is-active .weapon-set-tile {
  border-color: var(--brass-light);
  box-shadow: inset 0 0 0 1px rgba(197,160,89,.55), 0 9px 18px rgba(0,0,0,.34);
}
.weapon-set-toggle {
  position: absolute;
  top: 43px;
  display: grid;
  place-items: center;
  gap: 2px;
  width: 45px;
  min-height: 47px;
  padding: 5px;
  color: var(--parchment-dim);
  border: 1px solid rgba(197,160,89,.42);
  background: var(--ledger);
  cursor: pointer;
  font-family: "Cinzel", Georgia, serif;
  text-transform: uppercase;
}
.weapon-set-control--primary .weapon-set-toggle { left: calc(100% + 7px); }
.weapon-set-control--alternate .weapon-set-toggle { right: calc(100% + 7px); }
.weapon-set-toggle span { font-size: .66rem; font-weight: 700; }
.weapon-set-toggle small { font-size: .48rem; letter-spacing: .05em; }
.weapon-set-toggle[aria-pressed="true"] {
  color: var(--parchment);
  border-color: var(--brass-light);
  background: rgba(197,160,89,.18);
}

.ability-slots-layout--skills {
  width: fit-content;
  max-width: 100%;
}
.ability-slots-layout--skills .ability-slots { padding: 11px; }
.ability-slots-layout--skills .ability-slots__heading { margin-bottom: 10px; }
.ability-slots-layout--skills .ability-slots__grid { grid-template-columns: repeat(2, 92px); gap: 7px; }
.ability-slots-layout--skills .ability-slot { padding: 5px; }
.ability-slots-layout--skills .ability-slot span { font-size: 1.12rem; }

.scenario-action-cards { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.scenario-action-card {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: start;
}
.scenario-action-card__icon {
  grid-column: 1;
  grid-row: 1 / span 2;
}
.scenario-action-card__body {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
}
.scenario-action-card__estimate,
.scenario-action-card__status,
.scenario-reference-hint {
  grid-column: 2;
  grid-row: 2;
  justify-self: end;
  margin-left: 0;
}

.panel-collapse-toggle {
  padding: 5px 8px;
  color: var(--brass-light);
  border: 1px solid rgba(197,160,89,.5);
  background: rgba(0,0,0,.18);
  cursor: pointer;
  font-family: "Cinzel", Georgia, serif;
  font-size: .58rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.panel-collapse-toggle:hover,
.panel-collapse-toggle:focus-visible { border-color: var(--brass-light); }
.requested-effects-actions.is-collapsed,
.requested-perks-panel.is-collapsed { padding-bottom: 13px; }

@media (max-width: 620px) {
  .weapon-set-control {
    position: static;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 6px;
    width: auto;
  }
  .weapon-set-control .weapon-set-tile {
    position: static;
    width: 100%;
    min-height: 92px;
  }
  .weapon-set-toggle {
    position: static;
    width: 42px;
    min-height: 92px;
  }
  .scenario-action-cards { grid-template-columns: 1fr; }
}

/* Keep compact jewelry controls reachable and expose configured item stats. */
.slot-necklace .equipment-slot__actions,
.slot-ring .equipment-slot__actions,
.slot-ring_left .equipment-slot__actions {
  top: calc(100% - 1px);
}
.equipment-slot__tooltip {
  position: absolute;
  z-index: 8;
  top: calc(100% + 8px);
  left: 50%;
  display: grid;
  gap: 6px;
  width: 250px;
  padding: 11px 12px;
  color: var(--parchment);
  border: 1px solid rgba(197,160,89,.72);
  background: linear-gradient(145deg, rgba(197,160,89,.08), transparent 48%), var(--stone);
  box-shadow: 0 14px 28px rgba(0,0,0,.62);
  opacity: 0;
  pointer-events: none;
  text-align: left;
  transform: translate(-50%, -3px);
  transition: opacity .14s ease, transform .14s ease;
  visibility: hidden;
}
.equipment-slot__tooltip > span {
  color: var(--parchment);
  font-family: "Almendra", Georgia, serif;
  font-size: 1rem;
  font-weight: 700;
}
.equipment-slot__tooltip > b {
  color: var(--rarity, var(--brass-light));
  font-family: "Cinzel", Georgia, serif;
  font-size: .58rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.equipment-slot__tooltip > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-top: 5px;
  border-top: 1px solid rgba(238,227,205,.1);
  font-size: .72rem;
  line-height: 1.2;
}
.equipment-slot__tooltip > div span { color: var(--parchment-dim); }
.equipment-slot__tooltip > div small {
  display: block;
  color: var(--brass);
  font-family: "Cinzel", Georgia, serif;
  font-size: .48rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.equipment-slot__tooltip > div strong { color: var(--parchment); white-space: nowrap; }
.equipment-slot__tooltip > p { margin: 0; color: var(--parchment-dim); font-size: .72rem; }
.equipment-slot.is-selected:hover > .equipment-slot__tooltip,
.equipment-slot.is-selected:focus-within > .equipment-slot__tooltip {
  opacity: 1;
  transform: translate(-50%, 0);
  visibility: visible;
}
.equipment-slot.is-selected:hover,
.equipment-slot.is-selected:focus-within {
  z-index: 20;
}
.slot-legs .equipment-slot__tooltip,
.slot-feet .equipment-slot__tooltip,
.slot-necklace .equipment-slot__tooltip,
.slot-ring .equipment-slot__tooltip,
.slot-ring_left .equipment-slot__tooltip {
  top: auto;
  bottom: calc(100% + 8px);
}
@media (max-width: 620px) {
  .equipment-slot__tooltip { display: none; }
  .slot-necklace .equipment-slot__actions,
  .slot-ring .equipment-slot__actions,
  .slot-ring_left .equipment-slot__actions { top: auto; bottom: 5px; }
}
@media (max-width: 760px) { .core-template-options { grid-template-columns: 1fr; }.class-stat-subheading--action { align-items: start; flex-direction: column; }.class-stat-subheading--action span { justify-content: start; } }
@media (max-width: 620px) { .builder-picker__card--gear { width: 100%; max-height: calc(100vh - 20px); overflow: auto; } }
@media (max-width: 620px) { .builder-config--stage { padding: 0; } }
@media (max-width: 620px) { .druid-form-selector__heading { align-items: stretch; flex-direction: column; }.druid-form-selector__heading label { grid-template-columns: auto 1fr; }.druid-form-selector__heading select { width: 100%; } }
@media (max-width: 620px) { .warlock-state-selector__heading { align-items: stretch; flex-direction: column; }.warlock-state-selector__controls { display: grid; justify-content: stretch; }.warlock-state-selector__controls label { min-width: 0; }.warlock-state-selector__controls select { width: 100%; } }
@media (max-width: 900px) { .music-memory-slots { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .memory-capacity-check__heading { align-items: flex-start; }.memory-capacity-check dl { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .builder-workspace-tabs { overflow-x: auto; padding: 0 10px; }.builder-workspace-tabs button { min-width: 92px; }.simulation-workspace { padding: 14px; }.simulation-workspace__grid { grid-template-columns: 1fr; } }
@media (max-width: 460px) { .builder-effects__search { grid-template-columns: 1fr; gap: 5px; }.simulation-targets__grid label { grid-template-columns: 1fr; }.simulation-targets__grid small { grid-column: auto; }.simulation-targets__grid input { width: 100%; text-align: left; } }
.simulation-effect-card { min-height: 86px; }.simulation-effect-card.is-locked { opacity: .56; cursor: not-allowed; }.simulation-effect-card.is-locked:hover { border-color: rgba(238,227,205,.14); }
@media (max-width: 760px) { .simulation-context { grid-template-columns: 1fr 1fr; }.simulation-context__label { display: none; }.simulation-context__effects { grid-column: 1 / -1; } }
.simulation-import { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; padding: 13px; border: 1px solid rgba(197,160,89,.42); background: linear-gradient(145deg, rgba(197,160,89,.11), transparent 58%), rgba(0,0,0,.15); }.simulation-import > div { display: grid; gap: 4px; }.simulation-import strong { color: var(--parchment); font-family: "Cinzel", Georgia, serif; font-size: .77rem; letter-spacing: .03em; }.simulation-import small { color: var(--parchment-dim); font-size: .75rem; line-height: 1.28; }.simulation-import button { flex: 0 0 auto; min-height: 35px; padding: 7px 9px; color: #c6e6f6; border: 1px solid rgba(92,135,165,.7); border-radius: 0; background: rgba(48,93,126,.16); cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .64rem; letter-spacing: .05em; text-transform: uppercase; }.simulation-import button:hover { border-color: #8bc9e8; background: rgba(48,93,126,.28); }.simulation-import--ready { border-color: rgba(92,135,165,.48); background: linear-gradient(145deg, rgba(48,93,126,.13), transparent 58%), rgba(0,0,0,.15); }
@media (max-width: 620px) { .simulation-import { align-items: stretch; flex-direction: column; }.simulation-import button { width: 100%; } }
/* Requested right-side effects layout. */
.builder-workspace.builder-workspace--effects { grid-template-columns: minmax(255px, .72fr) minmax(0, 2.29fr); align-items: start; }
.builder-workspace--effects > .builder-panel { position: sticky; z-index: 1; top: 12px; max-height: none; overflow: visible; }
.builder-main-column { display: grid; gap: 18px; min-width: 0; }
.builder-main-column > .requested-effects-panel { position: static; max-height: none; overflow: visible; }
.requested-effects-panel { min-width: 0; padding: 18px; border: 1px solid rgba(197,160,89,.42); background: linear-gradient(145deg, rgba(197,160,89,.08), transparent 34%), var(--stone); box-shadow: var(--panel-shadow); }
.requested-effects-panel__heading, .requested-effects-list__heading { display: flex; align-items: start; justify-content: space-between; gap: 10px; }
.requested-effects-panel__heading-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.requested-effects-panel__heading h2 { margin: 2px 0 4px; font-family: "Almendra", Baskerville, Georgia, serif; font-size: 1.65rem; }
.requested-effects-panel__heading p, .requested-effects-muted { margin: 0; color: var(--parchment-dim); font-size: .75rem; line-height: 1.3; }
.requested-effects-disclaimer { margin-top: 0 !important; color: #9fd3ea !important; }
.requested-effects-panel button, .requested-effects-controls button { padding: 6px 8px; color: var(--parchment-dim); border: 1px solid rgba(197,160,89,.4); border-radius: 0; background: rgba(0,0,0,.14); cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .61rem; letter-spacing: .05em; text-transform: uppercase; }
.requested-effects-panel button:hover:not(:disabled), .requested-effects-panel button[aria-current="page"], .requested-effects-controls button:hover:not(:disabled), .requested-effects-controls button[aria-current="page"] { color: var(--parchment); border-color: rgba(197,160,89,.8); background: rgba(197,160,89,.12); }
.requested-effects-panel button:disabled, .requested-effects-controls button:disabled { opacity: .45; cursor: not-allowed; }
.requested-effects-controls { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 18px; padding: 15px 18px; border: 1px solid rgba(197,160,89,.42); background: linear-gradient(145deg, rgba(197,160,89,.08), transparent 34%), var(--stone); box-shadow: var(--panel-shadow); }
.requested-effects-tabs, .requested-action-tabs { display: flex; gap: 5px; margin: 15px 0 10px; border-bottom: 1px solid rgba(197,160,89,.45); }
.requested-effects-tabs button, .requested-action-tabs button { flex: 1; border-bottom: 0; }
.requested-effects-search { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 8px; align-items: center; margin: 10px 0 14px; color: var(--parchment-dim); font-size: .7rem; }
.requested-effects-search input, .requested-effects-target input, .requested-effects-target select { width: 100%; min-height: 31px; padding: 6px 8px; color: var(--parchment); border: 1px solid rgba(197,160,89,.42); border-radius: 0; background: var(--ledger); font: inherit; }
.requested-effects-list, .requested-effects-target, .requested-effects-actions { padding-top: 12px; border-top: 1px solid rgba(238,227,205,.12); }
.requested-effects-list h3, .requested-effects-target h3, .requested-effects-actions h3 { margin: 0; color: var(--brass-light); font-family: "Cinzel", Georgia, serif; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.requested-effects-list__heading b { color: var(--brass-light); font-size: .65rem; }
.requested-effects-class-group { margin-top: 9px; }
.requested-effects-class-group summary { display: flex; align-items: center; gap: 9px; padding: 8px 2px; color: var(--brass-light); font-family: "Cinzel", Georgia, serif; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; list-style: none; }
.requested-effects-class-group summary::-webkit-details-marker { display: none; }
.requested-effects-class-group__rule { position: relative; flex: 1 1 30px; height: 1px; min-width: 18px; background: rgba(238,227,205,.2); }
.requested-effects-class-group__rule::after { content: ""; position: absolute; top: -4px; left: 50%; width: 1px; height: 9px; background: rgba(197,160,89,.72); }
.requested-effects-class-group__label { display: inline-flex; align-items: center; gap: 5px; min-width: 0; text-align: center; overflow-wrap: anywhere; }
.requested-effects-class-group__label::before { content: "▸"; color: var(--brass-light); }
.requested-effects-class-group[open] .requested-effects-class-group__label::before { content: "▾"; }
.requested-effects-class-group summary b { color: var(--brass-light); font-size: .65rem; }
.requested-effects-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding-bottom: 5px; }
.requested-effect-card { display: flex; gap: 14px; align-items: start; min-height: 150px; padding: 16px; border: 1px solid rgba(238,227,205,.14); background: rgba(0,0,0,.14); cursor: pointer; }
.requested-effect-card.is-active { border-color: rgba(197,160,89,.85); background: rgba(197,160,89,.12); }
.requested-effect-card.is-buff { border-left: 2px solid var(--success-light); background: linear-gradient(135deg, rgba(49,109,75,.1), transparent 62%), rgba(0,0,0,.14); }
.requested-effect-card.is-debuff { border-left: 2px solid #cf5f5f; background: linear-gradient(135deg, rgba(106,27,27,.12), transparent 62%), rgba(0,0,0,.14); }
.requested-effect-card.is-buff.is-active { border-left-color: var(--success-light); }
.requested-effect-card.is-debuff.is-active { border-left-color: #ef9a9a; }
.requested-effect-card.is-locked { opacity: .55; cursor: not-allowed; }
.requested-effect-card input { margin-top: 3px; accent-color: var(--brass); }
.requested-effect-card__icon { flex: 0 0 64px; width: 64px; height: 64px; object-fit: cover; border: 1px solid rgba(197,160,89,.42); background: rgba(0,0,0,.25); }
.requested-effect-card span { display: grid; gap: 3px; min-width: 0; }
.requested-effect-card strong { color: var(--parchment); font-family: "Cinzel", Georgia, serif; font-size: .94rem; letter-spacing: .02em; }
.requested-effect-card small, .requested-effect-card em { color: var(--parchment-dim); font-size: .84rem; line-height: 1.4; font-style: normal; }
.requested-effect-card em { color: var(--brass-light); }
.requested-effect-card.is-buff input { accent-color: var(--success-light); }
.requested-effect-card.is-buff em { color: var(--success-light); }
.requested-effect-card.is-debuff input { accent-color: #cf5f5f; }
.requested-effect-card.is-debuff em { color: #ef9a9a; }
.requested-effect-card__control { display: inline-flex !important; grid-template-columns: none !important; align-items: center; gap: 8px; margin-top: 5px; color: var(--brass-light); font-family: "Cinzel", Georgia, serif; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.requested-effect-card__control select { min-height: 30px; min-width: 74px; padding: 4px 7px; color: var(--parchment); border: 1px solid rgba(197,160,89,.55); border-radius: 0; background: var(--ledger); font: inherit; font-size: .76rem; letter-spacing: .02em; text-transform: none; }
.requested-perks-panel { margin-top: 15px; }
.requested-perks-count { flex: 0 0 auto; padding-top: 8px; color: var(--brass-light); font-family: "Cinzel", Georgia, serif; font-size: .9rem; }
.requested-perks-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.perk-card { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; min-height: 0; cursor: default; }
.perk-card.is-conditional { border-left: 2px solid rgba(197,160,89,.8); background: linear-gradient(135deg, rgba(197,160,89,.08), transparent 65%), rgba(0,0,0,.14); }
.perk-card__toggle { display: flex; gap: 12px; align-items: start; min-width: 0; cursor: pointer; }
.perk-card__toggle input { flex: 0 0 auto; margin-top: 4px; accent-color: var(--brass); }
.perk-card__toggle span { display: grid; gap: 4px; min-width: 0; }
.perk-card__toggle strong { overflow-wrap: anywhere; }
.perk-card__toggle small { overflow-wrap: anywhere; }
.perk-card__details { display: grid; gap: 5px; padding-left: 78px; }
.perk-card__details em { color: var(--brass-light); font-size: .76rem; line-height: 1.25; font-style: normal; }
.perk-card.is-buff .perk-card__details em { color: var(--success-light); }
.perk-card__details b { color: var(--parchment); font-size: .75rem; line-height: 1.3; font-weight: 400; overflow-wrap: anywhere; }
.perk-card__condition { display: inline-flex; gap: 6px; align-items: center; color: #d9b781; font-family: "Cinzel", Georgia, serif; font-size: .66rem; letter-spacing: .04em; text-transform: uppercase; }
.perk-card__condition input { accent-color: var(--brass); }
.perk-card__stack-control { flex-wrap: wrap; }
.perk-card__stack-control select { min-height: 29px; max-width: 100%; padding: 4px 6px; color: var(--parchment); border: 1px solid rgba(197,160,89,.55); border-radius: 0; background: var(--ledger); font: inherit; font-size: .65rem; letter-spacing: .01em; text-transform: none; }
.perk-combat-state { grid-column: 1 / -1; margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(197,160,89,.28); }
.perk-combat-state summary { display: flex; justify-content: space-between; gap: 12px; align-items: center; color: var(--brass-light); cursor: pointer; font-family: "Cinzel", Georgia, serif; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.perk-combat-state summary b { color: #9ecbe0; font-size: .65rem; font-weight: 500; }
.perk-combat-state__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px 14px; margin-top: 10px; }
.perk-combat-state__grid label { display: grid; grid-template-columns: minmax(0,1fr) minmax(92px,.75fr); gap: 8px; align-items: center; color: var(--parchment-dim); font-size: .78rem; }
.perk-combat-state__grid input, .perk-combat-state__grid select { min-width: 0; min-height: 30px; padding: 4px 7px; color: var(--parchment); border: 1px solid rgba(197,160,89,.42); background: var(--ledger); font: inherit; }
.perk-combat-state__grid input[type="range"] { padding: 0; accent-color: var(--brass); }
.perk-combat-state__health { grid-column: 1 / -1; grid-template-columns: minmax(150px,.6fr) calc(8ch + 2px) minmax(180px,1fr) !important; }
.perk-combat-state__health input { width: 100%; min-height: 31px; font-size: .78rem; }
.perk-combat-state__health b { color: #9ecbe0; font-size: .78rem; white-space: nowrap; }
.perk-combat-state summary { font-size: calc(.72rem + 4pt); }
.perk-combat-state__health > span { font-size: calc(.78rem + 4pt); }
.perk-combat-state__health small { font-size: calc(.68rem + 4pt); }
.perk-combat-state > p { font-size: calc(.7rem + 4pt); }
.perk-combat-state__check { display: flex !important; grid-template-columns: none !important; }
.perk-combat-state__check input { min-height: 0; accent-color: var(--brass); }
.perk-combat-state > p { margin: 8px 0 0; color: var(--muted); font-size: calc(.7rem + 4pt); }
@media (max-width: 680px) { .perk-combat-state__grid { grid-template-columns: 1fr; } .perk-combat-state__health { grid-column: auto; grid-template-columns: 1fr !important; } .perk-combat-state__health input { width: 100%; } }
@media (max-width: 680px) { .requested-perks-grid { grid-template-columns: 1fr; } }
.requested-effects-target { margin-top: 15px; }
.requested-effects-controls > .requested-effects-target, .requested-effects-controls > .requested-effects-actions { margin-top: 0; padding-top: 0; border-top: 0; }
.requested-effects-controls { grid-template-columns: 1fr; padding: 0; border: 0; background: transparent; box-shadow: none; }
.requested-effects-controls > .requested-effects-target, .requested-effects-controls > .requested-effects-actions { padding: 15px 18px; border: 1px solid rgba(197,160,89,.42); background: linear-gradient(145deg, rgba(197,160,89,.08), transparent 34%), var(--stone); box-shadow: var(--panel-shadow); }
.requested-effects-target h3 { font-size: 1rem; line-height: 1; }
.requested-effects-target__grid { display: grid; grid-template-columns: minmax(0,1fr) 135px minmax(240px,.75fr); grid-template-rows: auto auto auto auto; column-gap: 18px; row-gap: 8px; margin-top: 9px; }
.requested-effects-target__grid label { display: contents; color: var(--parchment-dim); font-size: .72rem; }
.requested-effects-target__grid label span { align-self: center; grid-column: 1; font-size: 1rem; line-height: 1; }
.requested-effects-target__grid label input, .requested-effects-target__grid label select { align-self: center; grid-column: 2; font-size: 1rem; line-height: 1; }
.requested-effects-target__grid label:nth-of-type(1) span, .requested-effects-target__grid label:nth-of-type(1) input { grid-row: 1; }
.requested-effects-target__grid label:nth-of-type(2) span, .requested-effects-target__grid label:nth-of-type(2) input { grid-row: 2; }
.requested-effects-target__grid label:nth-of-type(3) span, .requested-effects-target__grid label:nth-of-type(3) input { grid-row: 3; }
.requested-effects-target__grid label:nth-of-type(4) span, .requested-effects-target__grid label:nth-of-type(4) select { grid-row: 4; }
.requested-effects-target__grid input { text-align: right; }
.requested-effects-disclaimer { grid-column: 3; grid-row: 1 / span 4; align-self: center; font-size: 1rem; line-height: 1.1; }
.requested-effects-actions { margin-top: 15px; }
.requested-effects-controls > .requested-effects-actions { margin-top: 0; }
.requested-effects-actions .scenario-notice { font-size: calc(.69rem + 5pt); }
.requested-action-tabs { margin-top: 9px; }
@media (max-width: 680px) { .requested-effects-card-grid { grid-template-columns: 1fr; } .requested-effects-controls { grid-template-columns: 1fr; gap: 12px; } .requested-effects-target__grid { grid-template-columns: minmax(0,1fr) 135px; grid-template-rows: auto auto auto auto auto; column-gap: 8px; } .requested-effects-target__grid label { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0,1fr) 135px; gap: 8px; align-items: center; } .requested-effects-target__grid label span, .requested-effects-target__grid label input, .requested-effects-target__grid label select, .requested-effects-target__grid label:nth-of-type(1) span, .requested-effects-target__grid label:nth-of-type(1) input, .requested-effects-target__grid label:nth-of-type(2) span, .requested-effects-target__grid label:nth-of-type(2) input, .requested-effects-target__grid label:nth-of-type(3) span, .requested-effects-target__grid label:nth-of-type(3) input, .requested-effects-target__grid label:nth-of-type(4) span, .requested-effects-target__grid label:nth-of-type(4) select { grid-column: auto; grid-row: auto; } .requested-effects-disclaimer { grid-column: 1 / -1; grid-row: 5; align-self: start; margin-top: 0 !important; } }
@media (max-width: 1080px) { .builder-workspace.builder-workspace--effects { grid-template-columns: minmax(235px,.7fr) minmax(0,1.3fr); } }
@media (max-width: 900px) { .builder-workspace.builder-workspace--effects { grid-template-columns: 1fr; } }
.simulation-ability__stacks { display: flex !important; grid-template-columns: none !important; gap: 6px !important; align-items: center; margin-top: 3px; color: #b8d8e8; font-family: "Cinzel", Georgia, serif; font-size: .61rem; letter-spacing: .05em; text-transform: uppercase; }.simulation-ability__stacks select { min-height: 27px; padding: 3px 5px; color: var(--parchment); border: 1px solid rgba(92,135,165,.58); border-radius: 0; background: var(--ledger); font: inherit; font-size: .62rem; text-transform: none; }.simulation-panel--actions { display: grid; gap: 10px; margin-top: 14px; }.simulation-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)); gap: 9px; }.simulation-action { display: grid; gap: 8px; padding: 11px; border: 1px solid rgba(197,160,89,.32); background: linear-gradient(145deg, rgba(197,160,89,.08), transparent 56%), rgba(0,0,0,.14); }.simulation-action header { display: flex; justify-content: space-between; gap: 9px; align-items: start; }.simulation-action h4 { margin: 0; color: var(--parchment); font-family: "Cinzel", Georgia, serif; font-size: .78rem; letter-spacing: .04em; }.simulation-action header p { margin: 4px 0 0; color: var(--parchment-dim); font-size: .75rem; line-height: 1.25; }.simulation-action header > span { flex: 0 0 auto; max-width: 105px; color: var(--brass-light); font-size: .65rem; line-height: 1.2; text-align: right; }.simulation-action__metrics { display: grid; gap: 6px; }.simulation-action__metric { display: grid; grid-template-columns: 1fr auto; gap: 2px 8px; padding: 7px; border-left: 2px solid #5ba9ce; background: rgba(48,93,126,.11); }.simulation-action__metric b { color: #b8d8e8; font-family: "Cinzel", Georgia, serif; font-size: .64rem; letter-spacing: .05em; text-transform: uppercase; }.simulation-action__metric strong { color: var(--parchment); font-size: .9rem; text-align: right; }.simulation-action__metric small, .simulation-action__metric i { grid-column: 1 / -1; color: var(--parchment-dim); font-size: .68rem; line-height: 1.2; font-style: normal; }.simulation-action__metric i { color: #d9b781; }.simulation-action__metric--heal { border-left-color: #67a27b; background: rgba(49,109,75,.12); }.simulation-action__condition, .simulation-action__control, .simulation-action__states { margin: 0; color: var(--parchment-dim); font-size: .71rem; line-height: 1.28; }.simulation-action__condition { color: #d9b781; }.simulation-action__control { color: #a9c9d9; }.simulation-action__states { padding-top: 6px; border-top: 1px solid rgba(238,227,205,.1); }.simulation-action__state { justify-self: start; padding: 4px 6px; color: #d9b781; border: 1px solid rgba(197,160,89,.48); font-family: "Cinzel", Georgia, serif; font-size: .59rem; letter-spacing: .05em; text-transform: uppercase; }.simulation-action__state.is-active { color: #c6e6f6; border-color: rgba(92,135,165,.75); background: rgba(48,93,126,.14); }

/* Builder Scenario rail. The renderer is stateless; these classes only arrange
   the live Builder, stat ledger, and temporary scenario on one surface. */
.builder-workspace.builder-workspace--scenario,
.builder-workspace:has(> .builder-scenario-rail) {
  grid-template-columns: minmax(255px, .72fr) minmax(520px, 1.45fr) minmax(300px, .82fr);
  align-items: start;
}

.builder-workspace--scenario > .builder-panel,
.builder-workspace--scenario > .builder-scenario-rail,
.builder-workspace:has(> .builder-scenario-rail) > .builder-panel,
.builder-workspace:has(> .builder-scenario-rail) > .builder-scenario-rail {
  position: sticky;
  top: 12px;
  max-height: calc(100vh - 24px);
  overflow: auto;
}

.builder-scenario-rail {
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(92,135,165,.48);
  background: linear-gradient(145deg, rgba(48,93,126,.12), transparent 34%), var(--stone);
  box-shadow: var(--panel-shadow);
}

.builder-scenario-rail__heading,
.scenario-section__heading,
.scenario-effect-group__heading,
.scenario-effect-card__heading,
.scenario-picker__heading,
.scenario-action-result > header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
}

.builder-scenario-rail__heading h2 {
  margin: 3px 0 2px;
  color: var(--parchment);
  font-family: "Almendra", Georgia, serif;
  font-size: 1.55rem;
}

.builder-scenario-rail__heading p {
  margin: 0;
  color: #a9c9d9;
  font-size: .72rem;
}

.builder-scenario-rail button,
.scenario-picker button {
  min-height: 30px;
  padding: 5px 8px;
  color: #b8d8e8;
  border: 1px solid rgba(92,135,165,.58);
  border-radius: 0;
  background: rgba(48,93,126,.12);
  cursor: pointer;
  font-family: "Cinzel", Georgia, serif;
  font-size: .59rem;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.builder-scenario-rail button:hover:not(:disabled),
.scenario-picker button:hover:not(:disabled) {
  color: #d9eef7;
  border-color: #8bc9e8;
  background: rgba(48,93,126,.24);
}

.builder-scenario-rail button:disabled,
.scenario-picker button:disabled {
  cursor: not-allowed;
  opacity: .48;
}

.scenario-section {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(238,227,205,.13);
}

.scenario-section__heading h3 {
  margin: 2px 0 0;
  color: var(--brass-light);
  font-family: "Cinzel", Georgia, serif;
  font-size: .76rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.scenario-section__heading > strong {
  padding: 4px 6px;
  color: #b8d8e8;
  border: 1px solid rgba(92,135,165,.46);
  font-size: .62rem;
}

.scenario-effect-group {
  margin-top: 12px;
}

.scenario-effect-group__heading {
  align-items: center;
  margin-bottom: 7px;
}

.scenario-effect-group__heading h4 {
  margin: 0;
  color: var(--parchment);
  font-family: "Cinzel", Georgia, serif;
  font-size: .66rem;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.scenario-effect-list {
  display: grid;
  gap: 7px;
}

.scenario-effect-card {
  display: grid;
  gap: 6px;
  padding: 9px;
  border: 1px solid rgba(92,135,165,.42);
  border-left: 3px solid #5ba9ce;
  background: linear-gradient(145deg, rgba(48,93,126,.14), transparent 64%), rgba(0,0,0,.15);
}

.scenario-effect-card--harmful {
  border-color: rgba(209,80,80,.38);
  border-left-color: #cf5f5f;
  background: linear-gradient(145deg, rgba(113,43,61,.16), transparent 64%), rgba(0,0,0,.15);
}

.scenario-effect-card__heading > span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.scenario-effect-card strong,
.scenario-picker-record strong,
.scenario-action-result strong {
  color: var(--parchment);
  font-family: "Cinzel", Georgia, serif;
  font-size: .7rem;
  letter-spacing: .025em;
}

.scenario-effect-card small,
.scenario-picker-record small,
.scenario-action-result small {
  color: #8bc9e8;
  font-size: .65rem;
}

.scenario-effect-card p,
.scenario-picker-record p,
.scenario-action-result p {
  margin: 0;
  color: var(--parchment-dim);
  font-size: .72rem;
  line-height: 1.28;
  overflow-wrap: anywhere;
}

.scenario-effect-card__values {
  color: #8bc9e8 !important;
  font-family: "Cinzel", Georgia, serif;
  font-size: .65rem !important;
}

.scenario-effect-card--harmful .scenario-effect-card__values {
  color: #ef9a9a !important;
}

.scenario-effect-card__heading button {
  min-height: 25px;
  padding: 3px 5px;
  color: #d19b9b;
  border-color: rgba(209,80,80,.42);
  font-size: .52rem;
}

.scenario-effect-card__stacks {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #a9c9d9;
  font-family: "Cinzel", Georgia, serif;
  font-size: .58rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.scenario-effect-card__stacks select,
.scenario-action-controls select,
.scenario-action-controls input,
.scenario-action-options select,
.scenario-action-options input,
.scenario-picker__search input,
.scenario-number-input input {
  min-height: 34px;
  padding: 6px 8px;
  color: var(--parchment);
  border: 1px solid rgba(92,135,165,.54);
  border-radius: 0;
  background: var(--ledger);
  font: inherit;
}

.scenario-notice {
  margin: 7px 0 0;
  padding: 7px 8px;
  color: var(--parchment-dim);
  border-left: 2px solid rgba(92,135,165,.62);
  background: rgba(48,93,126,.08);
  font-size: .69rem;
  line-height: 1.28;
}

.scenario-notice--warning {
  color: #d9b781;
  border-left-color: #b98a45;
  background: rgba(137,91,34,.1);
}

.scenario-notice--error {
  color: #ef9a9a;
  border-left-color: #cf5f5f;
  background: rgba(113,43,61,.12);
}

.scenario-target-grid {
  display: grid;
  gap: 8px;
  margin-top: 11px;
}

.scenario-target-grid > label,
.scenario-action-select,
.scenario-action-options label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 106px;
  gap: 8px;
  align-items: center;
  color: var(--parchment-dim);
  font-size: .72rem;
}

.scenario-number-input {
  position: relative;
  display: block;
}

.scenario-number-input input {
  width: 100%;
  padding-right: 24px;
  text-align: right;
}

.scenario-number-input b {
  position: absolute;
  top: 50%;
  right: 8px;
  color: #8bc9e8;
  font-size: .67rem;
  transform: translateY(-50%);
}

.scenario-action-controls {
  display: grid;
  gap: 9px;
  margin-top: 11px;
}

.scenario-action-kinds {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(74px, 1fr));
  gap: 4px;
}

.scenario-action-kinds button[aria-pressed="true"] {
  color: #d9eef7;
  border-color: #8bc9e8;
  background: rgba(48,93,126,.28);
  box-shadow: inset 0 -2px 0 #8bc9e8;
}

.scenario-action-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.scenario-action-card {
  display: grid;
  min-height: 54px;
  gap: 5px;
  padding: 9px;
  color: var(--parchment-dim);
  border: 1px solid rgba(197,160,89,.3);
  background: rgba(0,0,0,.18);
  text-align: left;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}

.scenario-action-card:hover,
.scenario-action-card:focus-visible {
  border-color: var(--brass-light);
  background: rgba(197,160,89,.1);
  transform: translateY(-1px);
}

.scenario-action-card--selected,
.scenario-action-card[aria-pressed="true"] {
  color: var(--parchment);
  border-color: #8bc9e8;
  background: rgba(48,93,126,.28);
  box-shadow: inset 0 -2px 0 #8bc9e8;
}

.scenario-action-cards {
  grid-template-columns: repeat(auto-fill, minmax(245px, 1fr));
  gap: 10px;
}

.scenario-action-card {
  display: flex;
  align-items: flex-start;
  min-height: 92px;
  gap: 12px;
  padding: 12px;
}

.requested-effect-card > span,
.scenario-effect-card__heading > span,
.scenario-picker-record > div:first-child,
.sorcerer-merge > span,
.simulation-ability > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.requested-effect-card strong,
.requested-effect-card small,
.requested-effect-card em,
.sorcerer-merge strong,
.sorcerer-merge small,
.sorcerer-merge em,
.sorcerer-merge b,
.simulation-ability strong,
.simulation-ability small,
.simulation-ability em {
  white-space: normal;
  overflow-wrap: anywhere;
}

.scenario-action-card__icon {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  object-fit: cover;
  border: 1px solid rgba(197,160,89,.42);
  background: rgba(0,0,0,.25);
}

.scenario-action-card__icon--empty {
  display: grid;
  place-items: center;
  color: var(--brass);
  font-size: 1.2rem;
}

.scenario-action-card__body {
  display: grid;
  align-content: start;
  gap: 4px;
  min-width: 0;
  flex: 1 1 auto;
}

.scenario-action-card__body strong {
  color: var(--parchment);
  overflow-wrap: anywhere;
}

.scenario-action-card__body small {
  display: block;
  overflow-wrap: anywhere;
  color: #8bc9e8;
  line-height: 1.25;
  white-space: normal;
}

.scenario-action-card__meta {
  font-size: .62rem;
}

.scenario-action-card__estimate {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  color: var(--parchment);
  text-align: right;
}

.scenario-action-card__estimate strong {
  color: #b8d8e8;
  font-size: .78rem;
  overflow-wrap: anywhere;
  white-space: normal;
}

.scenario-action-card__multi {
  display: inline-grid;
  place-items: center;
  width: 17px;
  height: 17px;
  color: #d9eef7;
  border: 1px solid rgba(139,201,232,.65);
  border-radius: 50%;
  font-size: .78rem;
  line-height: 1;
}

.scenario-comparison-mark {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  margin-left: 4px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: .78rem;
  line-height: 1;
  vertical-align: middle;
}

.scenario-comparison-mark--better {
  color: #9bd28a;
  background: rgba(49,109,75,.18);
}

.scenario-comparison-mark--worse {
  color: #ef9a9a;
  background: rgba(113,43,61,.18);
}

.scenario-action-card__status {
  flex: 0 0 auto;
  align-self: center;
  color: #d9b781;
  font-family: "Cinzel", Georgia, serif;
  font-size: .58rem;
  letter-spacing: .04em;
  line-height: 1.25;
  max-width: 8rem;
  overflow-wrap: anywhere;
  text-align: right;
  text-transform: uppercase;
}

.scenario-reference-hint {
  position: relative;
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  align-self: flex-start;
  width: 17px;
  height: 17px;
  margin-left: auto;
  color: #17130e;
  border: 1px solid rgba(231,197,116,.9);
  border-radius: 50%;
  background: #d9b781;
  font-family: Georgia, serif;
  font-size: .72rem;
  font-weight: 700;
  line-height: 1;
  cursor: help;
}

.scenario-reference-hint__tooltip {
  position: absolute;
  z-index: 20;
  top: calc(100% + 8px);
  right: -8px;
  width: 230px;
  padding: 9px 10px;
  color: var(--parchment);
  border: 1px solid rgba(217,183,129,.72);
  background: #171411;
  box-shadow: 0 8px 20px rgba(0,0,0,.45);
  font-family: Georgia, serif;
  font-size: .72rem;
  font-weight: 400;
  line-height: 1.35;
  text-align: left;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-3px);
  transition: opacity .12s ease, transform .12s ease;
}

.scenario-reference-hint:hover .scenario-reference-hint__tooltip,
.scenario-reference-hint:focus .scenario-reference-hint__tooltip {
  opacity: 1;
  transform: translateY(0);
}

.scenario-action-card strong {
  color: inherit;
  font-family: "Cinzel", Georgia, serif;
  font-size: .68rem;
  font-weight: 600;
}

.scenario-action-card small {
  color: #d9b781;
  font-size: .62rem;
  text-transform: capitalize;
}

.scenario-action-card__body small.scenario-action-card__meta {
  color: #8bc9e8;
  font-size: .62rem;
  text-transform: none;
}

.scenario-action-result__meta {
  display: grid;
  justify-items: end;
  gap: 2px;
  max-width: 230px;
  text-align: right;
}

.scenario-action-result__meta-line {
  color: var(--brass-light);
  font-size: .62rem;
  line-height: 1.25;
}

.scenario-meta-previous {
  margin-left: 4px;
  color: #9eabb2;
  font-size: .58rem;
}

.scenario-action-card__estimate__number,
.scenario-result-metric__value__number,
.scenario-result-breakdown__value__number,
.scenario-action-result__meta-line__number,
.scenario-meta-previous__number {
  color: #f1d49a;
  font-variant-numeric: tabular-nums;
}

.scenario-action-card__estimate__unit,
.scenario-result-metric__value__unit {
  color: #9fd3ea;
}

.scenario-result-metric__label,
.scenario-result-metric__detail,
.scenario-result-breakdown__label,
.scenario-action-result__summary {
  color: #9fd3ea;
}

.scenario-result-metric__value {
  color: #f1d49a;
}

.scenario-result-metric__detail,
.scenario-action-result__summary {
  line-height: 1.25;
}

.scenario-result-breakdown__value {
  color: var(--parchment);
}

.scenario-action-result__meta-line {
  color: #9fd3ea;
}

[class$="__number"] {
  color: #f1d49a;
  font-variant-numeric: tabular-nums;
}

.scenario-action-select,
.scenario-action-options label {
  grid-template-columns: 1fr;
  gap: 4px;
}

.scenario-action-select > span,
.scenario-action-options label > span {
  color: #a9c9d9;
  font-family: "Cinzel", Georgia, serif;
  font-size: .56rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.scenario-action-output {
  margin-top: 10px;
}

.scenario-action-result {
  padding: 10px;
  border: 1px solid rgba(197,160,89,.32);
  background: linear-gradient(145deg, rgba(197,160,89,.08), transparent 58%), rgba(0,0,0,.14);
}

.scenario-action-result > header > div {
  display: grid;
  gap: 4px;
}

.scenario-action-result > header > small {
  max-width: 100px;
  color: var(--brass-light);
  text-align: right;
}

.scenario-result-metrics {
  display: grid;
  gap: 6px;
  margin-top: 9px;
}

.scenario-result-metric {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 8px;
  padding: 7px;
  border-left: 2px solid #5ba9ce;
  background: rgba(48,93,126,.11);
}

.scenario-result-metric--magical {
  border-left-color: #b478d7;
  background: rgba(117,61,142,.12);
}

.scenario-result-metric--healing {
  border-left-color: #67a27b;
  background: rgba(49,109,75,.12);
}

.scenario-result-metric--harmful {
  border-left-color: #cf5f5f;
  background: rgba(113,43,61,.12);
}

.scenario-result-metric > span {
  color: #b8d8e8;
  font-family: "Cinzel", Georgia, serif;
  font-size: .62rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.scenario-result-metric > strong {
  color: var(--parchment);
  font-size: .88rem;
  overflow-wrap: anywhere;
  white-space: normal;
  text-align: right;
}

.scenario-result-metric > small {
  grid-column: 1 / -1;
  color: var(--parchment-dim);
  line-height: 1.25;
}

.scenario-result-breakdown {
  margin-top: 9px;
  border-top: 1px solid rgba(238,227,205,.12);
}

.scenario-result-breakdown summary {
  padding: 8px 0 2px;
  color: #a9c9d9;
  cursor: pointer;
  font-family: "Cinzel", Georgia, serif;
  font-size: .59rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.scenario-result-breakdown dl {
  margin: 6px 0 0;
}

.scenario-result-breakdown dl div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  padding: 5px 0;
  border-top: 1px solid rgba(238,227,205,.08);
  font-size: .68rem;
}

.scenario-result-breakdown dt { color: var(--parchment-dim); }
.scenario-result-breakdown dd { margin: 0; color: var(--parchment); text-align: right; }

.scenario-picker {
  position: fixed;
  z-index: 50;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(0,0,0,.78);
  backdrop-filter: blur(3px);
}

.scenario-picker__card {
  width: min(720px, 100%);
  max-height: min(760px, calc(100vh - 48px));
  overflow: auto;
  padding: 20px;
  border: 1px solid rgba(92,135,165,.68);
  background: linear-gradient(145deg, rgba(48,93,126,.14), transparent 32%), var(--stone);
  box-shadow: 0 24px 70px rgba(0,0,0,.72);
}

.scenario-picker__heading h2 {
  margin: 4px 0 2px;
  color: var(--parchment);
  font-family: "Almendra", Georgia, serif;
  font-size: 1.7rem;
}

.scenario-picker__heading p {
  margin: 0;
  color: var(--parchment-dim);
  font-size: .78rem;
}

.scenario-picker__search {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin-top: 16px;
  color: #a9c9d9;
  font-family: "Cinzel", Georgia, serif;
  font-size: .62rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.scenario-picker__records {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 14px;
}

.scenario-picker-record {
  display: grid;
  gap: 7px;
  align-content: start;
  padding: 11px;
  border: 1px solid rgba(92,135,165,.36);
  background: rgba(0,0,0,.15);
}

.scenario-picker-record > div:first-child {
  display: grid;
  gap: 3px;
}

.scenario-picker-record > em {
  color: #b8d8e8;
  font-size: .71rem;
  font-style: normal;
}

.scenario-picker-record > button {
  justify-self: start;
  margin-top: auto;
}

.scenario-status--reference-only,
.scenario-status--unsupported,
.scenario-status--unmet-condition {
  border-color: rgba(197,160,89,.34);
}

.scenario-status--error {
  border-color: rgba(209,80,80,.48);
}

.builder-mobile-view-nav {
  display: none;
}

@media (max-width: 1180px) and (min-width: 901px) {
  .builder-workspace.builder-workspace--scenario,
  .builder-workspace:has(> .builder-scenario-rail) {
    grid-template-columns: minmax(245px, .72fr) minmax(500px, 1.45fr);
  }

  .builder-workspace--scenario > .builder-scenario-rail,
  .builder-workspace:has(> .builder-scenario-rail) > .builder-scenario-rail {
    position: static;
    grid-column: 1 / -1;
    max-height: none;
  }
}

@media (max-width: 900px) {
  .builder-mobile-view-nav {
    position: sticky;
    z-index: 12;
    top: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
    margin-bottom: 10px;
    padding: 6px;
    border: 1px solid rgba(92,135,165,.48);
    background: rgba(17,17,17,.96);
    box-shadow: 0 8px 18px rgba(0,0,0,.38);
  }

  .builder-mobile-view-nav__button {
    min-height: 40px;
    padding: 7px 8px;
    color: var(--parchment-dim);
    border: 1px solid rgba(238,227,205,.16);
    background: rgba(0,0,0,.15);
    cursor: pointer;
    font-family: "Cinzel", Georgia, serif;
    font-size: .62rem;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .builder-mobile-view-nav__button[aria-current="page"] {
    color: #d9eef7;
    border-color: #8bc9e8;
    background: rgba(48,93,126,.25);
    box-shadow: inset 0 -2px 0 #8bc9e8;
  }

  .builder-workspace.builder-workspace--scenario,
  .builder-workspace:has(> .builder-scenario-rail) {
    grid-template-columns: 1fr;
  }

  .builder-workspace--scenario > .builder-panel,
  .builder-workspace--scenario > .builder-scenario-rail,
  .builder-workspace:has(> .builder-scenario-rail) > .builder-panel,
  .builder-workspace:has(> .builder-scenario-rail) > .builder-scenario-rail {
    position: static;
    max-height: none;
  }

  .builder-workspace--scenario[data-mobile-view="build"] > .builder-panel,
  .builder-workspace--scenario[data-mobile-view="build"] > .builder-scenario-rail,
  .builder-workspace:has(> .builder-scenario-rail)[data-mobile-view="build"] > .builder-panel,
  .builder-workspace:has(> .builder-scenario-rail)[data-mobile-view="build"] > .builder-scenario-rail,
  .builder-workspace--scenario[data-mobile-view="stats"] > .equipment-stage,
  .builder-workspace--scenario[data-mobile-view="stats"] > .builder-scenario-rail,
  .builder-workspace:has(> .builder-scenario-rail)[data-mobile-view="stats"] > .equipment-stage,
  .builder-workspace:has(> .builder-scenario-rail)[data-mobile-view="stats"] > .builder-scenario-rail,
  .builder-workspace--scenario[data-mobile-view="scenario"] > .builder-panel,
  .builder-workspace--scenario[data-mobile-view="scenario"] > .equipment-stage,
  .builder-workspace:has(> .builder-scenario-rail)[data-mobile-view="scenario"] > .builder-panel,
  .builder-workspace:has(> .builder-scenario-rail)[data-mobile-view="scenario"] > .equipment-stage {
    display: none;
  }

  .builder-scenario-rail {
    width: 100%;
  }
}

@media (max-width: 620px) {
  .builder-build-presets__body { grid-template-columns: 1fr; }
  .builder-build-presets__actions { flex-wrap: wrap; }
  .builder-build-presets__actions button, .builder-build-presets__actions a { flex: 1 1 45%; }
}

@media (max-width: 620px) {
  .builder-scenario-rail { padding: 14px; }
  .scenario-picker { padding: 10px; }
  .scenario-picker__card { max-height: calc(100vh - 20px); padding: 15px; }
  .scenario-picker__records { grid-template-columns: 1fr; }
  .scenario-picker__search { grid-template-columns: 1fr; gap: 5px; }
  .scenario-target-grid > label { grid-template-columns: 1fr; }
  .scenario-action-result > header { flex-direction: column; }
  .scenario-action-result > header > small { max-width: none; text-align: left; }
  .scenario-action-cards { grid-template-columns: 1fr; }
}

/* Keep these action-card layout overrides last because the scenario stylesheet
   retains older compatibility declarations above. */
.scenario-action-cards { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.scenario-action-card {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: start;
}
.scenario-action-card__icon { grid-column: 1; grid-row: 1 / span 2; }
.scenario-action-card__body { grid-column: 2; grid-row: 1; width: 100%; }
.scenario-action-card__estimate,
.scenario-action-card__status,
.scenario-reference-hint {
  grid-column: 2;
  grid-row: 2;
  justify-self: end;
  margin-left: 0;
}
@media (max-width: 620px) {
  .scenario-action-cards { grid-template-columns: 1fr; }
}

/* The Builder action workspace follows the DMW brass system. Blue is reserved
   for semantic game data outside these neutral controls and notices. */
.requested-effects-actions .scenario-action-kinds button[aria-pressed="true"],
.requested-effects-actions .scenario-action-card--selected,
.requested-effects-actions .scenario-action-card[aria-pressed="true"] {
  color: var(--parchment);
  border-color: var(--brass-light);
  background: rgba(197,160,89,.16);
  box-shadow: inset 0 -2px 0 var(--brass-light);
}
.requested-effects-actions .scenario-notice {
  border-left-color: rgba(197,160,89,.62);
  background: rgba(197,160,89,.08);
}
.requested-effects-actions .scenario-action-card__body small,
.requested-effects-actions .scenario-action-card__estimate strong,
.requested-effects-actions .scenario-action-card__meta,
.requested-effects-actions .scenario-action-result small,
.requested-effects-actions .scenario-action-result__summary,
.requested-effects-actions .scenario-action-result__meta-line,
.requested-effects-actions .scenario-result-metric__label,
.requested-effects-actions .scenario-result-metric__detail,
.requested-effects-actions .scenario-result-breakdown__label,
.requested-effects-actions .scenario-action-select > span,
.requested-effects-actions .scenario-action-options label > span,
.requested-effects-actions .scenario-action-card__estimate__unit,
.requested-effects-actions .scenario-result-metric__value__unit {
  color: var(--brass-light);
}
.requested-effects-actions .scenario-result-metric:not(.scenario-result-metric--magical):not(.scenario-result-metric--healing):not(.scenario-result-metric--harmful) {
  border-left-color: var(--brass);
  background: rgba(197,160,89,.09);
}
.requested-effects-actions .scenario-action-card__meta__number {
  color: var(--parchment);
}
.requested-effects-disclaimer { color: var(--brass-light) !important; }

/* Interaction refinements: reveal source details in the stats rail instead of over the Builder workspace. */
.class-stat-grid div.class-stat-row, .class-stat-list div.class-stat-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px; align-items: baseline; }
.class-stat-row > dt { min-width: 0; }
.class-stat-row > dd { grid-column: 2; grid-row: 1; }
.builder-workspace--effects > .builder-panel { container-type: inline-size; container-name: builder-stats-rail; }
@container builder-stats-rail (max-width: 340px) {
  .class-stat-grid { grid-template-columns: 1fr; }
  .class-stat-row { align-items: start; }
  .class-stat-row > dd { display: grid; justify-items: end; gap: 2px; min-width: 0; line-height: 1.12; }
  .stat-change { font-size: .7rem; }
}
.class-stat-tooltip { display: inline-grid; place-items: center; width: 15px; height: 15px; margin-left: 5px; color: var(--brass-light); border: 1px solid rgba(197,160,89,.56); border-radius: 50%; cursor: help; font-family: "Cinzel", Georgia, serif; font-size: .55rem; vertical-align: 1px; }
.class-stat-tooltip:focus-visible { outline: 2px solid var(--brass-light); outline-offset: 2px; }
.class-stat-tooltip__content { grid-column: 1 / -1; grid-row: 2; display: none; gap: 6px; width: auto; margin-top: 6px; padding: 10px 11px; color: var(--parchment); border: 1px solid rgba(197,160,89,.72); background: linear-gradient(145deg, rgba(197,160,89,.09), transparent 48%), var(--stone); box-shadow: inset 0 0 0 1px rgba(0,0,0,.18); }
.class-stat-row:hover > .class-stat-tooltip__content, .class-stat-row:focus-within > .class-stat-tooltip__content { display: grid; }
.class-stat-tooltip__content > strong { font-family: "Cinzel", Georgia, serif; font-size: .67rem; letter-spacing: .05em; text-transform: uppercase; }
.class-stat-tooltip__content > small { color: var(--brass-light); font-size: .7rem; }
.class-stat-tooltip__ledger { display: grid; gap: 6px; }
.class-stat-tooltip__source { display: grid; gap: 3px; padding-top: 6px; border-top: 1px solid rgba(238,227,205,.1); }
.class-stat-tooltip__source > b { color: var(--parchment-dim); font-size: .62rem; font-weight: 400; letter-spacing: .04em; text-transform: uppercase; }
.class-stat-tooltip__ledger-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: baseline; font-size: .7rem; }
.class-stat-tooltip__ledger-row > span { color: var(--parchment-dim); }
.class-stat-tooltip__ledger-row > strong { color: var(--parchment); text-align: right; white-space: nowrap; }
.class-stat-tooltip__ledger-row--baseline { padding-bottom: 1px; }
.class-stat-tooltip__ledger-row--total { padding-top: 6px; border-top: 1px solid rgba(197,160,89,.38); }
.class-stat-tooltip__ledger-row--total > span, .class-stat-tooltip__ledger-row--total > strong { color: var(--brass-light); font-family: "Cinzel", Georgia, serif; font-size: .66rem; letter-spacing: .04em; text-transform: uppercase; }
.class-stat-tooltip__content > p { margin: 0; color: var(--parchment-dim); font-size: .68rem; line-height: 1.25; }

/* Weapon sets now expose the same inspect/change/edit path as armor pieces. */
.weapon-set-control:hover > .weapon-set-actions, .weapon-set-control:focus-within > .weapon-set-actions { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }.weapon-set-control:hover > .weapon-set-tooltip, .weapon-set-control:focus-within > .weapon-set-tooltip { opacity: 1; transform: translate(-50%, 0); visibility: visible; }.weapon-set-actions { bottom: -34px; }.weapon-set-tooltip { top: calc(100% + 8px); left: 50%; }.weapon-set-tooltip > div { text-transform: none; }

/* A focused Druid readout replaces the former snapshot sentence. */
.druid-form-report { margin-top: 10px; padding: 12px; border: 1px solid rgba(112,161,86,.52); background: linear-gradient(145deg, rgba(86,130,60,.14), transparent 52%), rgba(0,0,0,.14); }.druid-form-report__heading { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: 10px; align-items: start; }.druid-form-report__heading img { width: 54px; height: 54px; object-fit: contain; }.druid-form-report__heading h3 { margin: 2px 0; color: var(--parchment); font-family: "Cinzel", Georgia, serif; font-size: .88rem; }.druid-form-report__heading p { margin: 0; color: var(--parchment-dim); font-size: .76rem; line-height: 1.28; }.druid-form-report__heading > strong { color: #afd38f; font-family: "Cinzel", Georgia, serif; font-size: .65rem; line-height: 1.25; text-align: right; }.druid-form-report__effects { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 6px; margin-top: 11px; }.druid-form-report__effects > div { display: flex; justify-content: space-between; gap: 8px; padding: 6px 7px; border: 1px solid rgba(238,227,205,.1); background: rgba(0,0,0,.14); font-size: .72rem; }.druid-form-report__effects span { color: var(--parchment-dim); }.druid-form-report__effects strong { color: #afd38f; }.druid-form-report__effects p { margin: 0; color: var(--parchment-dim); font-size: .75rem; }.druid-form-report__actions { display: grid; gap: 8px; margin-top: 12px; padding-top: 11px; border-top: 1px solid rgba(112,161,86,.32); }.druid-form-report__actions > div:first-child { display: flex; align-items: end; justify-content: space-between; gap: 12px; }.druid-form-report__actions p { margin: 0; color: var(--parchment-dim); font-size: .7rem; line-height: 1.25; text-align: right; }.druid-form-report__actions > div:last-child { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 6px; }.druid-form-action { display: flex; justify-content: space-between; gap: 10px; min-height: 56px; padding: 8px; border-left: 2px solid #7ea766; background: rgba(70,103,50,.11); }.druid-form-action > div, .druid-form-action > span { display: grid; gap: 3px; }.druid-form-action strong { color: var(--parchment); font-family: "Cinzel", Georgia, serif; font-size: .68rem; letter-spacing: .04em; text-transform: uppercase; }.druid-form-action small { color: var(--parchment-dim); font-size: .67rem; line-height: 1.2; }.druid-form-action > span { flex: 0 0 auto; text-align: right; }.druid-form-action > span > b { color: #afd38f; font-family: "Cinzel", Georgia, serif; font-size: .73rem; }.druid-form-action--effect { border-left-color: var(--brass); background: rgba(197,160,89,.08); }.druid-form-action--effect > b { flex: 0 0 auto; color: var(--brass-light); font-family: "Cinzel", Georgia, serif; font-size: .64rem; white-space: nowrap; }
@media (max-width: 900px) { .builder-workspace--effects > .builder-panel { position: static; }.druid-form-report__actions > div:first-child { display: grid; }.druid-form-report__actions p { text-align: left; } }

/* The equipment map needs its full canvas. Collapse the surrounding Builder before its fixed desktop slots can collide. */
@media (max-width: 1120px) {
  .builder-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .builder-toolbar__intro {
    grid-template-columns: minmax(0, 1fr) minmax(240px, .75fr);
    align-items: end;
    min-width: 0;
  }

  .builder-build-presets {
    width: auto;
    max-width: none;
  }

  .builder-workspace.builder-workspace--effects {
    grid-template-columns: 1fr;
  }

  .builder-workspace--effects > .builder-panel {
    position: static;
  }
}

@media (max-width: 900px) {
  .builder-toolbar__intro {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .builder-build-presets__body {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .builder-build-presets__actions {
    grid-column: 1 / -1;
  }

  .equipment-stage {
    min-height: auto;
    padding: 24px 16px;
  }

  .equipment-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    width: 100%;
    height: auto;
    margin-top: 16px;
  }

  .equipment-layout::before,
  .equipment-stage::before {
    display: none;
  }

  .equipment-slot,
  .race-slot,
  .weapon-set-control {
    position: relative;
    inset: auto;
    width: auto;
    min-height: 92px;
  }

  .equipment-slot,
  .race-slot,
  .weapon-set-control .weapon-set-tile {
    width: 100%;
    min-height: 92px;
  }

  .equipment-slot.is-selected {
    min-height: 144px;
  }

  .equipment-slot.is-selected .equipment-slot__open {
    position: static;
    inset: auto;
    box-sizing: border-box;
    min-height: 144px;
    grid-template-rows: auto minmax(48px, 1fr) auto auto;
    align-content: center;
    gap: 3px;
  }

  .equipment-slot.is-selected:not(.slot-necklace):not(.slot-ring):not(.slot-ring_left) img {
    width: 58px;
    height: 58px;
  }

  .equipment-slot.is-selected .equipment-slot__name {
    font-size: .72rem;
  }

  .weapon-set-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 6px;
  }

  .weapon-set-control .weapon-set-tile,
  .weapon-set-toggle {
    position: static;
    inset: auto;
  }

  .weapon-set-toggle {
    width: auto;
    height: auto;
  }

  .slot-necklace,
  .slot-ring,
  .slot-ring_left {
    width: 100%;
    min-height: 92px;
    padding: 8px;
  }

  .race-slot button {
    min-height: 92px;
  }

  .equipment-slot__actions {
    top: auto;
    bottom: 5px;
    transform: translate(-50%, 0);
  }

  .equipment-slot.is-selected:hover .equipment-slot__actions,
  .equipment-slot.is-selected:focus-within .equipment-slot__actions {
    transform: translate(-50%, 0);
  }
}

/* Keep brass as the brand accent, not the color of every line of output. */
.requested-effects-actions .scenario-action-result > header > div > strong { color: var(--parchment); }.requested-effects-actions .scenario-action-result__summary, .requested-effects-actions .scenario-result-metric__label, .requested-effects-actions .scenario-result-metric__detail, .requested-effects-actions .scenario-result-breakdown__label { color: var(--parchment-dim); }.requested-effects-actions .scenario-result-metric__value { color: var(--parchment); }.requested-effects-actions .scenario-result-metric__value__number { color: var(--brass-light); }.requested-effects-actions .scenario-result-metric--magical .scenario-result-metric__value__number { color: #cfb8e6; }.requested-effects-actions .scenario-result-metric--healing .scenario-result-metric__value__number { color: #afd38f; }.scenario-action-options__note { display: grid; gap: 4px; margin: 0; padding: 8px 10px; color: var(--parchment-dim); border-left: 2px solid rgba(197,160,89,.62); background: rgba(197,160,89,.07); font-size: .74rem; line-height: 1.35; }.scenario-action-options__note > span { color: var(--brass-light); font-family: "Cinzel", Georgia, serif; font-size: .58rem; letter-spacing: .07em; text-transform: uppercase; }
