#build-view[data-goat-active=true]>:not(.goat-editor){display:none!important}.goat-editor{border:1px solid var(--line);border-radius:var(--ah-radius);background:var(--panel);padding:20px}.goat-editor-heading,.goat-plan-settings{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.goat-editor-heading h2{font:400 30px var(--ah-display);margin:4px 0}.goat-editor-heading p{margin:4px 0}.goat-plan-settings label{display:grid;gap:5px}.goat-plan-settings input{max-width:160px}.goat-editor-ratings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.goat-editor-ratings h3{color:var(--accent);font-size:13px;text-transform:uppercase}.goat-rating{padding:10px 0;border-top:1px solid var(--line)}.goat-rating>div:first-child{display:flex;justify-content:space-between}.goat-rating input[type=range]{width:100%;accent-color:var(--accent);opacity:.8}.goat-breaker-controls{display:flex;align-items:center;gap:8px}.goat-breaker-controls>span:first-child{margin-right:auto}.goat-breaker-controls button{min-width:44px}.goat-rating small{display:block;min-height:24px;color:var(--muted);font-size:12px}.goat-editor-load{background:var(--accent)!important;color:var(--bg)!important;font-weight:700;margin:8px 0 12px}
/* Keep controls in the rating grid: the track must span the entire row. */
#ratings .rating:not(.attribute-expanded){grid-template-columns:minmax(0,1fr) 36px 56px 36px;column-gap:4px}
#ratings .rating:not(.attribute-expanded) .controls{display:contents}
#ratings .rating:not(.attribute-expanded) .controls>button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;width:36px;padding:4px;grid-row:1}
#ratings .rating:not(.attribute-expanded) .controls input[type=number]{grid-column:3;grid-row:1}
#ratings .rating:not(.attribute-expanded) .slider-point{grid-column:1/-1;grid-row:2;width:100%;min-width:0}
#ratings .rating:not(.attribute-expanded)>.floor-note{display:block;grid-column:1/-1;grid-row:3;color:var(--muted);font-size:12px;min-height:18px;padding:2px 0}
#ratings[data-complete=true] .rating:not(.attribute-expanded)>.inline-breaker{display:flex;grid-column:1/-1;grid-row:4;flex-wrap:wrap;margin:8px 0 4px}
#ratings .rating:not(.attribute-expanded) .attribute-price{visibility:visible;pointer-events:auto}
.ability-exact-card .gameplay-lanes{margin:10px 0}.ability-exact-card .single-rating-slider{display:block;width:100%;accent-color:var(--accent);margin:18px 0}.ability-exact-card .exact-rating-value{display:block;font-size:20px;margin:12px 0}.ability-exact-fields label[hidden]{display:none}.simple-exact-reminder{color:var(--muted);font-size:13px;margin:8px 0 12px}
@media(max-width:850px){.goat-editor-ratings{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.goat-editor{padding:12px}.goat-editor-ratings{grid-template-columns:1fr}#ratings .rating:not(.attribute-expanded) .controls>button{min-width:36px;padding:4px}}

#ratings .rating:not(.attribute-expanded)>.attribute-change-note{display:none}
@media(max-width:540px){#ratings .rating:not(.attribute-expanded) .rating-head{grid-column:1/-1;grid-row:1}#ratings .rating:not(.attribute-expanded) .controls>button,#ratings .rating:not(.attribute-expanded) .controls input[type=number]{grid-row:2}#ratings .rating:not(.attribute-expanded) .slider-point{grid-row:3}#ratings .rating:not(.attribute-expanded)>.floor-note{grid-row:4}#ratings[data-complete=true] .rating:not(.attribute-expanded)>.inline-breaker{grid-row:5}}

/* In-place editors own scroll compensation. Do not also anchor to changing feedback. */
html:has(#ratings :focus, #body-settings :focus, #target-optimizer :focus){overflow-anchor:none}
