/* Builder styles are isolated from the storefront; adjust the shared tokens in styles.css to rebrand. */
.builder-page {font-size:14px;color-scheme:dark}
.builder-page button,.builder-page input{font:inherit}
.builder-page button {cursor:pointer}
.builder-page button:disabled{cursor:not-allowed;opacity:.42}
.builder-page [hidden]{display:none!important}
.builder-page :focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.builder-container{max-width:1400px;margin:auto;padding:46px 32px 28px}
.builder-home{margin-left:auto;color:var(--text-dim);font-size:12px;text-decoration:none;white-space:nowrap}
.builder-page .nav-links [aria-current]{color:var(--lime)}
.builder-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:25px}
.builder-heading h1{font-size:38px;line-height:1.3;margin:9px 0 10px;letter-spacing:-.035em}
.builder-heading h1 span{color:var(--lime);margin-left:8px}
.builder-intro,.builder-description{color:var(--text-dim);line-height:1.75}
.builder-toolbar{display:flex;gap:10px;flex-wrap:wrap}
.builder-toolbar span{color:var(--lime)}
.builder-status{padding:12px 16px;background:var(--panel);border:1px solid var(--line);color:var(--text-dim);font-size:12px;margin-bottom:22px;display:flex;align-items:center;gap:12px}
.builder-status.ready::before{content:'';width:6px;height:6px;background:var(--lime);box-shadow:0 0 8px #d7ff3a55}
.builder-status.error{border-color:var(--red);color:var(--text)}
.builder-steps{display:flex;border-bottom:1px solid var(--line-2);margin-bottom:24px;gap:30px}
.builder-steps button{background:none;color:var(--text-dim);border:0;border-bottom:2px solid transparent;padding:14px 0;font-weight:600}
.builder-steps button span{font-family:ui-monospace,monospace;font-size:11px;margin-right:9px}
.builder-steps [aria-current]{border-color:var(--lime);color:var(--lime)}
.builder-workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}
.builder-sidebar{position:sticky;top:88px;display:grid;gap:20px}
.builder-main-column{display:grid;gap:22px;min-width:0}
.builder-panel{background:var(--panel);border:1px solid var(--line);padding:24px;min-width:0}
.builder-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}
.builder-panel-heading h2{font-size:18px;font-weight:600}
.builder-panel-heading>span{font-family:ui-monospace,monospace;color:var(--lime);font-size:12px}
.builder-kicker{font-size:10px;letter-spacing:.13em;font-family:ui-monospace,monospace;color:var(--text-dim);margin-bottom:7px}
.builder-description{font-size:12px;margin:0 0 18px}
.builder-text-button{background:none;border:0;padding:4px;color:var(--text-dim);font-size:12px!important}
.builder-text-button:hover{color:var(--lime)}
.position-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-bottom:25px}
.position-buttons button{padding:9px 0;background:var(--bg-2);border:1px solid var(--line-2);color:var(--text-dim);font-size:12px}
.position-buttons button[aria-pressed=true]{background:var(--lime);border-color:var(--lime);color:var(--bg);font-weight:700}
.body-control{display:block;margin:0 0 25px}
.body-control>span{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;margin-bottom:12px}
.body-control output{font-family:ui-monospace,monospace;font-size:12px;color:var(--text)}
.body-control small{display:flex;justify-content:space-between;margin-top:6px;font-size:10px;color:var(--text-mute)}
.builder-page input[type=range]{width:100%;height:5px;accent-color:var(--accent,var(--lime));cursor:pointer}
.body-note{color:var(--text-mute);font-size:11px;line-height:1.8;margin:0 0 20px}
.builder-wide{width:100%;justify-content:space-between;font-size:12px}
.rating-number{display:flex;align-items:center;gap:18px;font-family:ui-monospace,monospace}
.rating-number strong{font-size:66px;font-weight:500;letter-spacing:-.07em;color:var(--lime)}
.rating-number>span{color:var(--text-dim);font-size:17px}
.rating-number small{display:block;margin-top:4px;font-size:10px;letter-spacing:.15em}
.rating-track{height:4px;background:var(--line-2);margin:15px 0 12px}
.rating-track span{display:block;background:var(--lime);height:100%;transition:width .15s}
#budget-hint{color:var(--text-dim);font-size:11px;line-height:1.8;min-height:38px}
.rating-stats{display:grid;gap:12px;margin:18px 0 23px;border-top:1px solid var(--line);padding-top:18px}
.rating-stats>div{display:flex;justify-content:space-between;font-size:12px}
.rating-stats span{color:var(--text-dim)}
.rating-stats b{font-family:ui-monospace,monospace;font-weight:500}
.attribute-table-labels{display:flex;justify-content:space-between;color:var(--text-mute);font-size:10px;text-transform:uppercase;border-bottom:1px solid var(--line);padding:0 0 12px}
.attribute-group{padding-top:18px}
.attribute-group h3{font-size:11px;color:var(--accent);margin-bottom:7px;display:flex;align-items:center;gap:8px}
.attribute-group h3::before{content:'';width:3px;height:11px;background:var(--accent)}
.attribute-row{display:grid;grid-template-columns:130px minmax(80px,1fr) 128px 30px;gap:14px;align-items:center;min-height:39px;position:relative;border-radius:3px;transition:background .35s}
.attribute-row.changed{background:color-mix(in srgb,var(--accent) 12%,transparent)}
.attribute-label{font-size:12px;color:var(--text)}
.attribute-inputs{display:flex;align-items:center;gap:4px;justify-content:flex-end;white-space:nowrap;font-family:ui-monospace,monospace;font-size:12px}
.attribute-inputs button{background:var(--bg-2);border:1px solid var(--line);color:var(--text-dim);width:23px;height:25px}
.attribute-inputs input{width:36px;padding:2px;text-align:center;background:transparent;border:1px solid transparent;color:var(--text);appearance:textfield;-moz-appearance:textfield}
.attribute-inputs input::-webkit-inner-spin-button{display:none}
.attribute-inputs input:focus{border-color:var(--accent);outline:0}
.attribute-inputs .attribute-cap{color:var(--text-mute);font-size:11px;min-width:25px}
.attribute-lock{border:0;background:none;color:var(--text-mute);font-size:10px!important;width:30px;padding:5px 0}
.attribute-lock[aria-pressed=true]{color:var(--lime)}
.cap-track{height:5px;background:var(--line-2);display:none}
.cap-track span{height:100%;display:block;background:var(--accent)}
.builder-workspace[data-mode=body] .attribute-row{grid-template-columns:130px minmax(50px,1fr) 32px;min-height:32px}
.builder-workspace[data-mode=body] .attribute-row input[type=range],.builder-workspace[data-mode=body] .attribute-inputs button,.builder-workspace[data-mode=body] .attribute-inputs input,.builder-workspace[data-mode=body] .attribute-lock{display:none}
.builder-workspace[data-mode=body] .cap-track{display:block}
.builder-workspace[data-mode=body] .attribute-cap{color:var(--text);font-size:12px}
.builder-workspace[data-mode=body] .attribute-table-labels{display:none}
.builder-inline-note{padding:10px 12px;background:var(--bg-2);font-size:12px;color:var(--text-dim);margin-bottom:15px;line-height:1.7}
.breaker-row{display:grid;grid-template-columns:120px 30px minmax(130px,1fr) 35px;gap:12px;align-items:center;min-height:40px;font-size:12px;border-bottom:1px solid var(--line)}
.breaker-row>span{font-variant-numeric:tabular-nums}
.breaker-row>strong{color:var(--lime);text-align:right}
.breaker-tiers{display:flex;gap:5px}
.breaker-tiers button{flex:1;min-width:25px;max-width:65px;background:var(--bg-2);border:1px solid var(--line-2);color:var(--text-dim);padding:5px 0;font-size:11px}
.breaker-tiers button[aria-pressed=true]{background:#d7ff3a17;border-color:var(--lime);color:var(--lime)}
.builder-badges{margin-top:24px}
.badge-controls{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:22px}
.builder-filter-group{display:flex;flex-wrap:wrap;gap:6px}
.builder-filter-group button{background:var(--bg-2);color:var(--text-dim);border:1px solid var(--line);font-size:11px;padding:7px 10px}
.builder-filter-group button[aria-pressed=true]{color:var(--lime);border-color:var(--lime)}
.badge-search{margin-left:auto}
.badge-search input,.builder-dialog input,.builder-dialog select,.builder-dialog textarea{color:var(--text);border:1px solid var(--line-2);background:var(--bg-2);padding:10px 12px;border-radius:0;font:inherit;max-width:100%}
.badge-search input{width:190px;font-size:12px}
.badge-check{font-size:11px;color:var(--text-dim);display:flex;align-items:center;gap:6px}
.badge-check input{accent-color:var(--lime)}
.badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.badge-card{border:1px solid var(--line);background:var(--bg-2);padding:13px 14px;min-width:0;transition:border-color .2s}
.badge-card.lit{border-left:2px solid var(--tier-color,var(--lime))}
.badge-card summary{display:flex;justify-content:space-between;gap:8px;font-size:12px;cursor:pointer;list-style:none}
.badge-card summary::-webkit-details-marker{display:none}
.badge-card summary::after{content:'+';color:var(--text-mute);margin-left:auto}
.badge-card[open] summary::after{content:'−'}
.badge-card summary small{font-size:10px;color:var(--tier-color,var(--text-mute));white-space:nowrap}
.badge-card p{font-size:11px;color:var(--text-dim);line-height:1.8;margin-top:10px}
.badge-card .badge-en{font-size:10px;color:var(--text-mute);margin-top:5px}
.takeover-heading{display:flex;align-items:center;gap:14px;margin:28px 0 15px;border-top:1px solid var(--line);padding-top:24px}
.takeover-heading h3{font-size:15px;font-weight:500}
.takeover-heading span{font-family:ui-monospace,monospace;color:var(--lime);font-size:12px}
.takeover-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.takeover-card{padding:12px 14px;background:var(--bg-2);border:1px solid var(--line);opacity:.6}
.takeover-card.eligible{border-left:2px solid var(--lime);opacity:1}
.takeover-card strong{font-size:12px;font-weight:500}
.takeover-card p{font-size:10px;color:var(--text-dim);line-height:1.7;margin-top:5px}
.takeover-card .met{color:var(--lime)}
.builder-result-actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 14px}
.result-group{margin-top:20px}
.result-group h3{font-size:12px;color:var(--accent);padding-bottom:8px}
.result-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}
.result-row b{font-family:ui-monospace,monospace;font-weight:500}
.result-row small{color:var(--lime);margin-left:8px}
.builder-data-note{font-size:11px;line-height:1.8;color:var(--text-mute);margin:20px 0}
.builder-data-note a{color:var(--text-dim);margin-left:15px}
.builder-footer{max-width:1336px;margin:0 auto;padding:26px 0 40px;border-top:1px solid var(--line);font-size:11px;color:var(--text-dim);display:flex;gap:20px}
.builder-footer a{margin-left:auto;color:var(--lime);text-decoration:none}
#builder-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);width:max-content;background:var(--panel-2);border:1px solid var(--lime);padding:14px 20px;z-index:110;font-size:12px;box-shadow:0 8px 40px #0006}
.builder-dialog{margin:auto;background:var(--panel);color:var(--text);border:1px solid var(--line-2);width:580px;max-width:calc(100vw - 28px);max-height:85dvh;padding:28px;overflow:auto}
.builder-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}
.builder-dialog-close{border:0;background:none;color:var(--text-dim);font-size:27px!important;padding:2px 6px}
.builder-dialog form>label{display:grid;gap:10px;margin-bottom:20px;font-size:12px}
.builder-dialog textarea{width:100%;height:130px;resize:vertical;font-family:ui-monospace,monospace;font-size:11px}
.saved-build{border-bottom:1px solid var(--line);padding:16px 0;display:flex;align-items:center;gap:12px}
.saved-build>div{flex:1;min-width:0}
.saved-build strong{font-size:13px;overflow-wrap:anywhere}
.saved-build p{color:var(--text-dim);font-size:11px;margin-top:5px}
.saved-build button{background:var(--bg-2);border:1px solid var(--line-2);color:var(--text);padding:6px 10px;font-size:11px}
.recommend-row{display:grid;grid-template-columns:1fr 85px;gap:15px;align-items:center;margin:12px 0;font-size:12px}
.recommend-row input{width:85px}
.builder-empty{color:var(--text-dim);padding:20px 0;font-size:12px;grid-column:1/-1}
.dialog-error{color:var(--red);font-size:12px;line-height:1.7;margin:15px 0}
@media(min-width:1200px){.builder-workspace[data-mode=body] #attribute-groups{display:grid;grid-template-columns:1fr 1fr;column-gap:35px}}
@media(max-width:1000px){.builder-container{padding:32px 20px}.builder-workspace{grid-template-columns:265px minmax(0,1fr);gap:15px}.builder-panel{padding:19px}.attribute-row{grid-template-columns:110px minmax(45px,1fr) 113px 25px;gap:8px}.attribute-inputs{gap:2px}.badge-grid{grid-template-columns:repeat(3,1fr)}.breaker-row{grid-template-columns:95px 22px minmax(100px,1fr) 26px;gap:8px}.builder-footer{margin:0 20px}.builder-page .nav-links{gap:18px;margin-left:0}.builder-home{display:none}}
@media(max-width:760px){.builder-page .topbar-inner{padding:13px 18px;gap:16px;flex-wrap:wrap}.builder-page .nav-links{display:flex;order:2;width:100%;overflow:auto;white-space:nowrap;gap:23px;padding-top:7px}.builder-container{padding:25px 14px}.builder-heading{align-items:flex-start;flex-direction:column;gap:18px}.builder-heading h1{font-size:30px}.builder-toolbar .btn{padding:9px 13px;font-size:11px}.builder-steps{gap:0;justify-content:space-between}.builder-steps button{font-size:12px}.builder-steps button span{margin-right:3px}.builder-workspace{display:flex;flex-direction:column;gap:16px}.builder-sidebar{position:static;width:100%;grid-template-columns:1fr}.builder-main-column{width:100%;gap:16px}.builder-panel{padding:18px}.builder-workspace[data-mode=attributes] .body-panel,.builder-workspace[data-mode=result] .body-panel{display:none}.builder-workspace[data-mode=body] .rating-panel{display:none}.rating-panel{display:grid;grid-template-columns:120px 1fr;column-gap:20px}.rating-panel>.builder-kicker{grid-column:1/-1}.rating-number{grid-row:2/4;gap:10px}.rating-number strong{font-size:56px}.rating-number>span{font-size:13px}.rating-stats{grid-column:1/-1;display:flex;justify-content:space-between;margin:10px 0 15px}.rating-stats>div{display:grid;gap:5px;font-size:11px}.rating-panel>.builder-wide{grid-column:1/-1}.rating-track{margin-top:10px}#budget-hint{min-height:0;line-height:1.5}.attribute-row{grid-template-columns:98px minmax(40px,1fr) 104px 26px;gap:6px;min-height:44px}.attribute-label{font-size:11px}.attribute-inputs button{width:21px}.attribute-inputs input{width:29px}.attribute-cap{font-size:10px!important}.attribute-inputs .attribute-cap{min-width:24px}.attribute-lock{width:26px;font-size:9px!important}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-card{padding:12px 10px}.badge-card summary{font-size:11px;flex-wrap:wrap;gap:5px}.badge-card summary::after{display:none}.badge-search{margin-left:0;flex:1}.badge-search input{width:100%}.takeover-grid{grid-template-columns:repeat(2,1fr)}.breaker-row{grid-template-columns:91px 20px minmax(100px,1fr) 24px;gap:6px;font-size:11px}.breaker-tiers{gap:3px}.breaker-tiers button{min-width:18px;font-size:10px}.builder-result-actions .btn{padding:10px 12px;font-size:11px}.builder-footer{padding:23px 0 30px;gap:10px;font-size:10px}.builder-footer span{display:none}.builder-data-note a{margin-left:0;display:block}.builder-dialog{padding:20px}}
@media(prefers-reduced-motion:reduce){.builder-page *{scroll-behavior:auto!important;transition:none!important}}

.builder-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
