/* Attribute decisions: exact rating, readable rail, breaker gains, related badges. */
/* Sliders stay visible; resource and unlock controls open at the point of use. */
#ratings .rating:not(.attribute-expanded)>.inline-breaker,#ratings .rating:not(.attribute-expanded)>.attribute-badges,#ratings .rating:not(.attribute-expanded)>.attribute-animations{display:none}
#ratings .rating:not(.attribute-expanded) .attribute-price{visibility:hidden;pointer-events:none}
#ratings .attribute-expand{flex:0 0 44px;width:44px;height:44px;min-height:44px;align-self:flex-start;text-align:center;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--muted);font-size:24px;line-height:1;padding:0}
#ratings .attribute-expand:hover{color:var(--text)}
#ratings .rating.attribute-expanded{padding-top:10px}
/* Quiet inset surfaces distinguish attributes from dividers inside their details.
   The backdrop is decorative: no added height, shifted controls or click target. */
#ratings .group>.rating{position:relative;isolation:isolate;border-bottom-color:transparent}
#ratings .group>.rating::before{content:'';position:absolute;inset:4px -8px;z-index:-1;pointer-events:none;border-radius:10px;background:#101a25;border:1px solid transparent}
#ratings .group>.rating.attribute-expanded::before{background:#182632;border-color:#354a5a;box-shadow:inset 3px 0 0 var(--group)}
#ratings .group>.rating:not(.attribute-expanded):hover::before{background:#152331}
@media(forced-colors:active){#ratings .group>.rating::before{border-color:GrayText}#ratings .group>.rating.attribute-expanded::before{border-color:Highlight;box-shadow:none}}
#ratings .attribute-column{display:flex;flex-direction:column;gap:18px;min-width:0}
#ratings .attribute-column[hidden]{display:none}
@media(max-width:700px){#ratings .attribute-column{display:contents}.editing-workspace #ratings{display:flex;flex-direction:column}}
.editing-workspace #ratings.single-category{display:flex;flex-direction:column}
/* Body limit and point details share a compact row beneath the exact rating. */
#ratings .rating-meta{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) 164px;align-items:start;min-width:0}
#ratings .rating-meta .maximum{grid-column:1;grid-row:1;align-self:center;margin:0}
#ratings .rating-meta .attribute-price{grid-column:2;grid-row:1;border:0;padding:0}
#ratings .rating-meta .attribute-price>summary{width:100%;text-align:center}
#ratings .rating-meta:has(.attribute-price[open]) .maximum{grid-row:1;align-self:start;padding-top:13px}
#ratings .rating-meta .attribute-price[open]{grid-column:1/-1;padding:0}
#ratings .rating-meta .attribute-price[open]>summary{width:164px;margin-left:auto}
#ratings .rating-meta .attribute-price[open]>p,#ratings .rating-meta .attribute-price[open]>ul{font-size:13px;line-height:1.5}
#ratings .group[hidden]{display:none}
.editing-workspace #ratings.single-category{grid-template-columns:minmax(0,1fr);max-width:780px;margin-inline:auto;width:100%}
.takeover-apply{min-height:44px;border-color:#7ee8ee;margin:8px 12px 8px 0}.takeover-apply+small{display:block;line-height:1.5}
/* Full-width cost immediately follows the rating rail, before resource and unlock cards. */
#ratings .attribute-price{grid-column:1/-1;grid-row:2;min-width:0}
#ratings .attribute-price>summary{width:154px;margin-left:auto;text-align:center;padding:8px 0;min-height:44px;font-size:11px}
#ratings .rating .slider-point{grid-row:3}
#ratings .rating .attribute-ticks{grid-row:4}
#ratings .rating .controls input[type=range]{grid-row:3}
#ratings .rating>.inline-breaker{grid-row:5}
#ratings .rating>.floor-note{grid-row:6}
#ratings .rating>.name-range-note{grid-row:7}
#ratings .rating>.attribute-badges{grid-row:8}
#ratings .rating>.attribute-animations{grid-row:9}
.editing-workspace{grid-template-columns:minmax(0,1fr)}
.editing-workspace #ratings{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.editing-workspace #connected-badges{position:static;max-height:none;grid-column:1/-1}
.editing-workspace #connected-badge-list{max-height:360px;overflow:auto}
#ratings .group{padding:20px;border-top-width:2px;background:#151e29}
#ratings .group>h2{color:var(--group);font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}
#ratings .rating{display:grid;grid-template-columns:minmax(0,1fr) 44px 64px 44px;column-gap:6px;row-gap:4px;padding:20px 0}
#ratings .rating-head{grid-column:1;grid-row:1;display:block;min-width:0}
#ratings .rating-head label{display:block;font-size:15px;line-height:1.3}
#ratings .maximum{display:block;margin-top:5px;font-size:11px}
#ratings .controls{display:contents}
#ratings .controls button{grid-row:1;min-height:44px;height:44px;font-size:21px;border-radius:10px;background:#202c3a}
#ratings .controls button:first-child{grid-column:2}
#ratings .controls button:last-of-type{grid-column:4}
#ratings .controls input[type=number]{grid-column:3;grid-row:1;min-height:44px;height:44px;font-size:23px;font-weight:750;background:transparent;border-color:transparent;color:var(--text);font-variant-numeric:tabular-nums}
#ratings .controls input[type=number]:hover{border-color:var(--line)}
#ratings .controls input[type=range]{grid-column:1/-1;grid-row:2;appearance:none;border:0;border-radius:0;width:100%;height:44px;min-height:44px;background:transparent;padding:0;margin:4px 0 0;touch-action:pan-y}
#ratings .controls input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:20px;background:linear-gradient(to right,var(--group) var(--rating-fill,0%),#79899c var(--rating-fill,0%))}
#ratings .controls input[type=range]::-webkit-slider-thumb{appearance:none;width:26px;height:26px;margin-top:-9px;border:3px solid #edf1f8;border-radius:50%;background:#17212e;box-shadow:0 2px 10px #0006}
#ratings .controls input[type=range]::-moz-range-track{height:8px;border-radius:20px;background:#79899c}
#ratings .controls input[type=range]::-moz-range-progress{height:8px;border-radius:20px;background:var(--group)}
#ratings .controls input[type=range]::-moz-range-thumb{width:22px;height:22px;border:3px solid #edf1f8;border-radius:50%;background:#17212e}
#ratings .controls input[type=range].name-range-active{background-image:var(--name-safe-track);background-size:100% 8px;background-position:center;background-repeat:no-repeat}
#ratings .controls input[type=range].name-range-active::-webkit-slider-runnable-track{background:transparent}
#ratings .controls input[type=range].name-range-active::-moz-range-track{background:transparent}
#ratings .controls input[type=range].name-range-active::-moz-range-progress{background:transparent}
#ratings .attribute-ticks{grid-column:1/-1;grid-row:3;background:none;padding:0;height:auto;font-size:10px;line-height:1.3;margin-top:-6px;overflow:visible}
#ratings .inline-breaker{grid-column:1/-1;grid-row:4;display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}
#ratings .inline-breaker>label{font-size:12px;color:var(--muted)}
#ratings .breaker-cells{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(5,minmax(44px,1fr));gap:4px}
#ratings .breaker-cells button{min-width:0;min-height:44px;padding:4px;font-size:13px;border-radius:8px}
#ratings .inline-breaker strong{grid-column:2;grid-row:1;font-size:12px;margin:0;font-variant-numeric:tabular-nums}
#ratings .floor-note,#ratings .name-range-note,#ratings .goal-rating-note{grid-column:1/-1;font-size:11px;line-height:1.5}
#ratings .floor-note{grid-row:5;margin-top:6px;min-height:0}
#ratings .attribute-badges{grid-column:1/-1;grid-row:6;margin-top:8px;min-width:0}
#ratings .attribute-badges:empty{display:none}
.attribute-badges>small{display:block;font-size:10px;color:var(--muted);margin-bottom:8px}
.attribute-badge-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px;padding:2px 0 4px}
.attribute-badge{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;column-gap:5px;row-gap:0;min-height:52px;padding:5px;background:#111a25;border-radius:8px;white-space:normal;text-align:left;min-width:0}
.attribute-badge .badge-emblem{grid-column:1;grid-row:1/3;width:18px;height:24px}
.attribute-badge>span{grid-column:2;font-size:13px;line-height:1.3;text-align:left;overflow-wrap:anywhere}
.attribute-badge>small{grid-column:2;font-size:13px;line-height:1.3;color:var(--muted)}
.attribute-badge[aria-expanded=true]{border-color:var(--accent)}
.attribute-badge.height-blocked{border-style:dashed}
.attribute-badge .badge-planned-tier{color:#d7b5ff;font-size:13px}
.attribute-badge-detail{padding:12px;margin:6px 0;border:1px solid var(--line);border-radius:10px;font-size:12px}
.attribute-badge-detail p{font-size:14px;margin:8px 0}
.attribute-badge-detail button{margin-left:8px;font-size:13px}
#ratings .inline-breaker[data-available=false]{display:grid}
@media(max-width:700px){.editing-workspace #ratings{grid-template-columns:1fr}.editing-workspace #connected-badges{order:initial;position:static;max-height:none}.editing-workspace #connected-badge-list{display:block;max-height:360px}#ratings .group{padding:16px}#ratings .rating{grid-template-columns:minmax(0,1fr) 44px 56px 44px}#ratings .inline-breaker{grid-template-columns:1fr auto}#ratings .breaker-cells{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(5,minmax(44px,1fr))}#ratings .inline-breaker strong{grid-column:2}#ratings .inline-breaker>label{font-size:11px}#ratings,.rating input,.rating button{scroll-margin-top:20px}}
@media(forced-colors:active){.attribute-badge{border:1px solid ButtonText}.attribute-badge svg{forced-color-adjust:none}#ratings .controls input[type=range]::-webkit-slider-runnable-track{background:CanvasText}#ratings .controls input[type=range]::-webkit-slider-thumb{background:Highlight;border-color:CanvasText}}
/* Locks belong to the thing they protect, not a separate goals dashboard. */
.inline-lock{min-width:44px;min-height:44px;padding:4px;border-radius:10px;font-size:16px;background:transparent;border:1px solid transparent;cursor:pointer}
.inline-lock[aria-pressed=true]{background:#253e3c;border-color:#76c8b6;color:#a5f4db}
.inline-lock:focus-visible{outline:2px solid #fff;outline-offset:2px}
.inline-lock:disabled{opacity:.4;cursor:not-allowed}
#ratings .rating-head{display:flex;align-items:center;flex-wrap:nowrap;gap:2px}
#ratings .rating-head label{flex:1;min-width:60px}
#ratings .rating-head .maximum{flex-basis:100%;margin-top:0}
.rating-head .attribute-lock{margin-left:0}
.attribute-badge-card{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-width:0}
.attribute-badge-card.has-lock{grid-template-columns:minmax(0,1fr) 44px}
.attribute-badge-card>.inline-lock{position:static;width:44px;height:44px;background:transparent}
.attribute-badge-card .attribute-badge{width:100%}
.inline-lock.layer-lock{min-width:68px;width:auto;vertical-align:middle}
.inline-lock.layer-lock small{display:block;font-size:9px;line-height:1.2;margin-top:2px;color:inherit;white-space:nowrap}
.attribute-badge-card:has(>.inline-lock.layer-lock){grid-template-columns:minmax(0,1fr) 68px}
.attribute-badge-card>.inline-lock.layer-lock{width:68px}
.attribute-takeover{border-style:dashed;padding-top:10px}
.attribute-takeover .badge-emblem{width:40px;height:46px}
.attribute-takeovers{margin-top:8px;padding:8px 0 0;border-top:1px solid #32515f;background:transparent}
.attribute-takeovers>strong{display:block;font-size:13px;color:#b5f6fa;margin-bottom:4px}
.attribute-takeover-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px}
.attribute-takeover-list .attribute-takeover{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:6px;min-height:52px;padding:5px;text-align:left;border-style:solid;border-color:#32515f;align-content:center;background:#10212b;border-radius:16px}
.attribute-takeover-list .badge-emblem{grid-column:1;grid-row:1/3;width:20px;height:24px}
.attribute-takeover-list .attribute-takeover>span,.attribute-takeover-list .attribute-takeover>small{grid-column:2;text-align:left}
.creation-actions .workbench-tool-group{position:relative;margin:0;min-width:0}
.creation-actions .workbench-tool-group>summary{min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#111923;white-space:nowrap;cursor:pointer}
.creation-actions .workbench-tool-group[open]>summary{border-color:var(--accent)}
/* An open navigation menu must sit above the sticky build toolbar. */
.creation-actions:has(.workbench-tool-group[open]){position:relative;z-index:41}
.workbench-tool-options{position:absolute;top:100%;left:0;width:240px;max-width:calc(100vw - 48px);padding:8px;display:grid;gap:5px;background:#17212e;border:1px solid #526577;border-radius:10px;box-shadow:0 8px 24px #0009;z-index:12}
.workbench-tool-options button,.workbench-tool-options a{width:100%;min-height:44px;padding:10px;text-align:left;white-space:normal;color:var(--text);border-radius:6px;font-size:13px;text-decoration:none}
.workbench-tool-options a:hover{background:#233345}
.creation-actions .workbench-tool-group:last-child .workbench-tool-options{left:auto;right:0}
@media(max-width:700px){.creation-actions:has(.workbench-tool-group){display:flex;flex-wrap:wrap;gap:6px;position:relative}.creation-actions .workbench-tool-group{position:static}.creation-actions .workbench-tool-group>summary{font-size:13px;white-space:normal}.creation-actions .workbench-tool-options,.creation-actions .workbench-tool-group:last-child .workbench-tool-options{left:0;right:auto;max-width:100%;width:min(320px,100%);box-sizing:border-box}}
.attribute-badge-strip>.attribute-badge{width:100%;min-width:0}
.attribute-badge-card{min-width:0}
.attribute-animations{grid-column:1/-1;grid-row:8;margin-top:10px;border-top:1px solid var(--line);padding-top:10px;font-size:12px;min-width:0}
.attribute-animations>summary{min-height:44px;display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--text)}
.attribute-animations>summary::before{content:'▸';color:var(--muted)}
.attribute-animations[open]>summary::before{content:'▾'}
.animation-note{font-size:11px;line-height:1.5;color:var(--muted)}
.animation-milestones{display:grid;gap:6px;margin-top:8px}
.animation-milestone{border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#111a25}
.animation-milestone>summary{min-height:44px;padding:10px 0;cursor:pointer;font-variant-numeric:tabular-nums}
.attribute-animations details{margin:0}
.animation-list{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:8px}
.animation-list li{border-top:1px solid var(--line);padding-top:8px;overflow-wrap:anywhere}
.animation-list strong,.animation-list small{display:block}
.animation-list small{font-size:11px;line-height:1.5;color:var(--muted)}
.animation-state{font-size:11px;color:#bdc9d5}
.animation-state.ready{color:#75efb7}
.animation-state.planned{color:#d7b5ff}
.saved-controls .starter-explanation{flex-basis:100%;font-size:12px;line-height:1.5;order:5;color:var(--muted)}
/* Exact-point cursor: a thin stem shows the selected cell, not a broad circle. */
#ratings .slider-point{grid-column:1/-1;grid-row:2;position:relative;height:86px;min-width:0;--point-color:var(--group)}
#ratings .slider-point[data-state=safe]{--point-color:#75efb7}
#ratings .slider-point[data-state=blocked]{--point-color:#ffb0b5}
#ratings .slider-point input[type=range]{position:absolute;inset:26px 0 auto;margin:0;height:44px;background:none;z-index:2}
#ratings .slider-point input[type=range]::-webkit-slider-runnable-track{background:transparent;height:8px}
#ratings .slider-point input[type=range]::-webkit-slider-thumb{width:12px;height:28px;margin-top:-10px;border:0;border-radius:0;background:linear-gradient(to right,transparent 5px,#fff 5px,#fff 7px,transparent 7px);box-shadow:none}
#ratings .slider-point input[type=range]::-moz-range-track,#ratings .slider-point input[type=range]::-moz-range-progress{background:transparent}
#ratings .slider-point input[type=range]::-moz-range-thumb{width:12px;height:28px;border:0;border-radius:0;background:linear-gradient(to right,transparent 5px,#fff 5px,#fff 7px,transparent 7px)}
.point-rail{position:absolute;top:44px;left:6px;right:6px;height:8px;border-radius:3px;background:linear-gradient(to right,var(--group) var(--rating-fill,0%),#79899c var(--rating-fill,0%));pointer-events:none}
.point-division{position:absolute;top:12px;width:2px;height:2px;transform:translateX(-50%);border-radius:50%;background:#728091;opacity:0;pointer-events:none}
.point-division.major{opacity:.45}
.slider-point:focus-within .point-division.near,.slider-point:active .point-division.near{opacity:1;background:#c5d0dc}
.point-division[data-safe=true]{background:#75efb7}
.point-division.isolated{opacity:1;top:2px;width:4px;height:4px;background:#75efb7;box-shadow:0 0 0 1px #101923}
.body-limit-zone{position:absolute;top:44px;right:6px;height:8px;background:repeating-linear-gradient(135deg,#17212eaa 0 3px,#78818c88 3px 4px);pointer-events:none;z-index:1}
#ratings .controls .body-limit-marker{position:absolute;top:34px;width:18px;min-width:18px;height:28px;min-height:28px;padding:0;transform:translateX(-50%);border:0;border-radius:0;background:linear-gradient(to right,transparent 8px,#dbe5ef 8px,#dbe5ef 10px,transparent 10px);box-shadow:none;cursor:help;z-index:4}
#ratings .controls .body-limit-marker:hover{background:linear-gradient(to right,transparent 8px,#fff 8px,#fff 10px,transparent 10px)}
.body-limit-marker:focus-visible{outline:2px solid #c9edff;outline-offset:3px}
.body-limit-help{display:none;position:absolute;right:0;bottom:34px;width:220px;padding:10px;border:1px solid #526577;border-radius:8px;background:#14212f;color:#edf5fa;text-align:left;font-size:12px;line-height:1.4;box-shadow:0 4px 12px #0006;pointer-events:none}
.body-limit-marker:hover .body-limit-help,.body-limit-marker:focus-visible .body-limit-help,.body-limit-marker[aria-expanded=true] .body-limit-help{display:block}
#ratings .controls .slider-point input[type=range].name-range-active{background-image:none}
.body-limit-zone[hidden],.body-limit-marker[hidden]{display:none}
@media(hover:hover){.slider-point:hover .point-division.near{opacity:1;background:#c5d0dc}}
.slider-point:has(.name-range-active) .point-rail{background:var(--name-safe-track)}
.point-marker{position:absolute;top:0;transform:translateX(-50%);min-width:32px;padding:2px 5px;border:1px solid var(--point-color);border-radius:6px;background:#101923;color:var(--point-color);font-size:15px;font-weight:750;line-height:21px;text-align:center;font-variant-numeric:tabular-nums;pointer-events:none;z-index:3}
.point-marker:after{content:'';position:absolute;left:50%;top:100%;height:20px;border-left:1px solid var(--point-color)}
.basketball-handle{position:absolute;top:41px;left:6px;width:14px;height:14px;transform:translateX(-50%);border:3px solid #fff;border-radius:50%;background:transparent;box-shadow:0 0 0 2px #101923,0 2px 5px #0009;pointer-events:none;z-index:3}
.basketball-handle:after{content:'';position:absolute;top:100%;left:50%;height:5px;border-left:1px solid #fff}
.slider-point[data-state=safe] .basketball-handle{border-color:#75efb7}
.slider-point[data-state=blocked] .basketball-handle{border-color:#ffb0b5}
@media(forced-colors:active){.basketball-handle{background:transparent;border-color:ButtonText}.basketball-handle:after{border-color:ButtonText}#ratings .controls .body-limit-marker{border-left:2px solid ButtonText}.body-limit-help{background:Canvas;color:CanvasText}}
.point-status{position:absolute;top:67px;left:0;font-size:11px;line-height:1.4;color:var(--point-color);pointer-events:none}
.breaker-rating-meter,.breaker-rating-label{display:none}
#ratings .slider-point.has-breaker-gain{height:126px}
.has-breaker-gain .breaker-rating-meter{display:block;position:absolute;top:91px;left:6px;right:6px;height:8px;background:#79899c;border-radius:3px;overflow:hidden}
.breaker-rating-meter span{position:absolute;top:0;height:100%}
.natural-rating-fill{left:0;background:var(--group)}
.breaker-rating-fill{background:#b791ff;border-left:2px solid #101923}
.has-breaker-gain .breaker-rating-label{display:block;position:absolute;top:105px;font-size:11px;color:#d3bdff}
#ratings .breaker-cells button[aria-pressed=true]{background:#b791ff;color:#171029;border-color:#d3bdff}
#ratings .breaker-cells button:disabled{opacity:.65}
.shade-combinations{flex-basis:100%;padding:12px;border:1px solid var(--line);border-radius:10px}.shade-combinations p{font-size:12px;line-height:1.5}.shade-combinations button{min-height:44px;margin:3px}.shade-companion-list{display:flex;flex-wrap:wrap;max-height:250px;overflow:auto}
@media(forced-colors:active){.point-marker{color:CanvasText;border-color:CanvasText}.point-status{color:CanvasText}.point-rail{background:CanvasText}.point-marker:after{border-color:CanvasText}}

.animation-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.animation-heading strong{flex:1;min-width:100px}
.animation-apply{min-height:44px;padding:8px 12px;font-size:12px;white-space:normal}
.animation-list li:focus{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}
.attribute-price.has-headroom>summary{color:#8fe7bc;font-variant-numeric:tabular-nums;font-weight:600}
@media(forced-colors:active){.attribute-price.has-headroom>summary{color:ButtonText}}
/* Compact reading hierarchy, without changing slider geometry or unlock actions. */
.editing-workspace #ratings{align-items:start}
#ratings .group{padding:16px}
#ratings .rating{padding:14px 0}
.attribute-badges>small{font-size:13px;margin-bottom:4px}
.badge-tier-choice>small,.animation-note,.animation-list small,.animation-state{font-size:13px;line-height:1.45}
#ratings .maximum,#ratings .floor-note,#ratings .name-range-note,#ratings .inline-breaker>label{font-size:13px}
#ratings .attribute-price>summary{font-size:13px;margin-bottom:0}
#ratings .attribute-price{margin-bottom:0}
#ratings .attribute-badge-detail[hidden],#ratings .attribute-animations[hidden]{display:none;margin:0;padding:0}
#ratings .floor-note:empty,#ratings .name-range-note:empty{display:none}
.point-status,.has-breaker-gain .breaker-rating-label{font-size:13px}
/* The boundary is visual only: its hit area must never cover the range thumb. */
.body-limit-line{position:absolute;top:34px;height:28px;width:2px;background:#dbe5ef;transform:translateX(-50%);pointer-events:none;z-index:1}
.body-limit-line[hidden]{display:none}
#ratings .rating-meta .maximum{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0}
#ratings .rating-meta .body-limit-marker{grid-column:1;grid-row:1;position:relative;justify-self:start;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--muted);font-size:18px;cursor:help}
#ratings .rating-meta .body-limit-marker:hover{color:var(--text);background:#202c3a}
#ratings .rating-meta .body-limit-help{left:0;right:auto;bottom:44px;z-index:8}
@media(forced-colors:active){.body-limit-line{background:CanvasText}}
.body-limit-help{font-size:13px;max-width:calc(100vw - 48px)}
@media(max-width:360px){.attribute-badge-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.attribute-takeover-list{grid-template-columns:minmax(0,1fr)}}
@media(min-width:1100px){.editing-workspace #ratings{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Overview mode: only the name, exact rating, rail and explicit disclosure. */
.attribute-change-note{grid-column:1;grid-row:1;justify-self:end;align-self:start;width:44px;min-height:44px;background:transparent;border:0;text-align:center;padding:4px 0;color:var(--muted);font-size:12px;z-index:1}
#ratings .rating:not(.attribute-expanded):has(>.attribute-change-note:not([hidden])) .rating-head{padding-right:44px}
.attribute-change-note[hidden]{display:none}
#ratings .rating.attribute-expanded>.attribute-change-note{display:none}
#ratings .rating:not(.attribute-expanded) .rating-head .attribute-lock[aria-pressed=true]{display:inline-flex;align-items:center;justify-content:center}
#ratings .rating:not(.attribute-expanded){grid-template-columns:minmax(0,1fr) 56px;row-gap:0;padding:10px 0}
#ratings .rating:not(.attribute-expanded) .rating-head{grid-column:1;grid-row:1}
#ratings .rating:not(.attribute-expanded) .rating-head .attribute-lock,
#ratings .rating:not(.attribute-expanded) .controls>button,
#ratings .rating:not(.attribute-expanded)>.rating-meta,
#ratings .rating:not(.attribute-expanded) .attribute-ticks,
#ratings .rating:not(.attribute-expanded)>.floor-note,
#ratings .rating:not(.attribute-expanded)>.name-range-note{display:none}
#ratings .rating:not(.attribute-expanded) .controls input[type=number]{grid-column:2;grid-row:1;font-size:19px;width:56px;padding:4px}
#ratings .attribute-expand:hover,#ratings .attribute-expand:focus-visible{background:#202c3a;border-color:var(--line);color:var(--text)}
#ratings .rating:not(.attribute-expanded) .slider-point{grid-row:2;height:44px}
#ratings .rating:not(.attribute-expanded) .slider-point input[type=range]{top:0}
#ratings .rating:not(.attribute-expanded) .point-rail,#ratings .rating:not(.attribute-expanded) .body-limit-zone{top:18px}
#ratings .rating:not(.attribute-expanded) .basketball-handle{top:15px}
#ratings .rating:not(.attribute-expanded) .body-limit-line{top:8px}
#ratings .rating:not(.attribute-expanded) .point-marker,#ratings .rating:not(.attribute-expanded) .point-status,
#ratings .rating:not(.attribute-expanded) .breaker-rating-meter,#ratings .rating:not(.attribute-expanded) .breaker-rating-label{display:none}
@media(max-width:700px){
 .editing-workspace,#ratings{min-width:0;width:100%}
 .editing-workspace #ratings{align-items:stretch}
 #ratings .group{width:100%;min-width:0;max-width:none;box-sizing:border-box;align-self:stretch}
 #ratings .rating{min-width:0;width:100%;box-sizing:border-box}
}
#ratings .rating.linked-preview .controls input[type=number]{color:#c9f477}
#ratings .rating.linked-preview .point-status::after{content:' · Linked preview'}
/* Functional labels remain readable; detail buttons retain their 44px targets. */
#ratings .attribute-price>summary,#ratings .floor-note,#ratings .name-range-note,
#ratings .inline-breaker>label,.attribute-badges>small{font-size:14px;line-height:1.45}
@media(max-width:700px){
 #ratings .rating.attribute-expanded{grid-template-columns:minmax(0,1fr) 44px 64px 44px}
 #ratings .rating.attribute-expanded .rating-head{grid-column:1/-1;grid-row:1}
 #ratings .rating.attribute-expanded .rating-head label{min-width:0}
 #ratings .rating.attribute-expanded .controls button,#ratings .rating.attribute-expanded .controls input[type=number]{grid-row:2}
 #ratings .rating.attribute-expanded .rating-meta{grid-row:3}
 #ratings .rating.attribute-expanded .slider-point,#ratings .rating.attribute-expanded .controls input[type=range]{grid-row:4}
 #ratings .rating.attribute-expanded .attribute-ticks{grid-row:5}
 #ratings .rating.attribute-expanded>.inline-breaker{grid-row:6}
 #ratings .rating.attribute-expanded>.floor-note{grid-row:7}
 #ratings .rating.attribute-expanded>.name-range-note{grid-row:8}
 #ratings .rating.attribute-expanded>.attribute-badges{grid-row:9}
 #ratings .rating.attribute-expanded>.attribute-animations{grid-row:10}
}
