.builder-section{padding-block:60px;background:#eaf0e2;border-bottom:1px solid #d4dfc7}.builder-section .section-heading{margin-bottom:24px}.builder-intro{font-size:12px;line-height:1.8;color:#647458;margin:13px 0 0;max-width:690px}.builder-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;align-items:start}.build-panel{background:#fff;border:1px solid #d4dfc7;border-radius:8px;padding:24px;min-width:0}.build-panel-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;margin-bottom:8px;border-bottom:1px solid #e0e7d8}.build-panel-heading h3{margin:0;font-size:17px;letter-spacing:-.4px}.build-panel-heading>span{font-size:10px;color:#6a8058;background:#edf3e5;padding:6px 8px;border-radius:4px}.build-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.build-actions button{background:#fff;border:1px solid #bccda8;border-radius:4px;color:#3c572a;padding:11px 13px;font-size:11px;min-height:40px}.build-actions button:hover{background:#f3f8eb}.build-slots{display:grid;grid-template-columns:1fr 1fr;gap:17px 14px}.build-slot{min-width:0}.build-slot-top{display:flex;justify-content:space-between;align-items:center;gap:7px;margin:10px 0}.build-slot-top label{font-size:11px;font-weight:700;display:flex;align-items:center;gap:9px}.build-slot-top label>span{font-size:8px;letter-spacing:1px;color:#8b9c7c}.build-retailer{background:none;padding:3px;font-size:9px;color:#547e30;white-space:nowrap}.part-select{width:100%;min-width:0;padding:12px 22px 12px 9px;border:1px solid #cddac0;border-radius:4px;background:#fafcf7;color:#35472a;font-size:11px;min-height:44px}.slot-spec{font-size:9px;color:#7a8b6b;margin:7px 0 0;line-height:1.6}.custom-part-fields{background:#f0f4e9;padding:12px;border-radius:4px;margin-top:10px;display:grid;gap:12px}.build-field{display:flex;flex-direction:column;gap:7px;min-width:0}.build-field>span{font-size:10px;line-height:1.5;color:#5b704c}.build-field input,.build-field select{width:100%;min-width:0;min-height:42px;padding:10px 8px;border:1px solid #ccd9be;border-radius:3px;background:white;color:#273a1d;font-size:11px}.build-field input:invalid{border-color:#b44835}.build-details-wrap{margin-top:26px;border-top:1px solid #dce5d2;padding-top:19px}.build-details-wrap>summary{font-size:12px;font-weight:700;color:#3d562d;cursor:pointer;padding:7px 0;line-height:1.6}.detail-group{margin-top:20px}.detail-group h4{font-size:12px;margin-bottom:11px;color:#334c22}.detail-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field-help{font-size:9px;line-height:1.8;color:#788c68;margin:9px 0}.build-panel-footer{border-top:1px solid #dce5d2;margin-top:23px;padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:10px}.build-panel-footer>div{display:flex;gap:15px}.build-panel-footer .text-link{font-size:10px;color:#6a8059;min-height:40px}.build-panel-footer .button{font-size:10px;padding:11px 12px;gap:10px}.build-storage-note{font-size:9px;color:#7b8e6c;line-height:1.7;margin:14px 0 0}.build-report{min-width:0}.report-summary{background:#202b1b;border:1px solid #3f5b2b;padding:26px;border-radius:8px;color:#eff6e5}.report-kicker{font-size:8px;letter-spacing:1.6px;color:#b0cd96;font-weight:700}.report-summary h3{font-size:28px;letter-spacing:-1px;margin:17px 0 12px}.report-summary p{font-size:11px;line-height:1.8;color:#b8c9aa;margin:0;max-width:440px}.report-summary.has-conflicts{background:#38251e;border-color:#a45d3e}.has-conflicts .report-kicker{color:#f2bb9a}.has-conflicts p{color:#d4bdb0}.report-counts{display:flex;gap:25px;border-top:1px solid #ffffff25;padding-top:18px;margin-top:22px}.report-counts span{font-size:9px;color:#becfb0}.report-counts b{display:block;font-size:24px;font-weight:500;color:#def3cc;margin-bottom:5px}.has-conflicts .report-counts span{color:#d8bfb0}.has-conflicts .report-counts b{color:#ffe0cc}.missing-parts{padding:15px 2px;font-size:10px;color:#6c805b;line-height:1.8;margin:0}.missing-parts strong{color:#4e643f}.compat-check{display:flex;gap:13px;padding:17px;border:1px solid #d1ddc6;background:#fff;border-radius:5px;margin-bottom:9px}.compat-check>div{flex:1;min-width:0}.check-symbol{width:23px;height:23px;border-radius:50%;flex-shrink:0;background:#e8f1df;color:#50732f;text-align:center;line-height:23px;font-size:14px;font-weight:700}.check-heading{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.check-heading h4{font-size:12px;line-height:1.5;margin:0;color:#2f4721}.check-heading>span{font-size:8px;white-space:nowrap;color:#618a40}.compat-check p{font-size:10px;color:#6c7e5d;line-height:1.8;margin:7px 0 0}.compat-check small{font-size:8px;display:block;color:#80926d;margin-top:8px}.compat-check.review{background:#fffdf5;border-color:#e3d9b6}.review .check-symbol{background:#f2e9c8;color:#8c7135}.review .check-heading>span{color:#927b3a}.compat-check.fail{background:#fff5f1;border-color:#dba18c}.fail .check-symbol{background:#f7d8cd;color:#a84329}.fail .check-heading>span{color:#a84329}.fail .check-heading h4{color:#7d3623}.fail p{color:#8b604e}.check-sources{display:flex;flex-wrap:wrap;gap:10px;margin-top:7px}.check-sources a{font-size:8px;color:#65834e;text-decoration:underline;text-underline-offset:2px}.waiting-checks{border:1px dashed #bbcca9;padding:16px;border-radius:5px;color:#738762;font-size:11px}.waiting-checks summary{cursor:pointer;font-weight:700}.waiting-checks ul{padding-left:15px;font-size:10px;line-height:1.7}.waiting-checks li{margin-top:11px}.waiting-checks li span{display:block;color:#80936d}.builder-limitations{border-top:1px solid #cddbbf;margin:26px 0 0;padding-top:18px;max-width:900px;font-size:10px;color:#788d66;line-height:1.9}.builder-limitations strong{color:#4b6538}.build-add-button{width:100%;min-height:36px;margin-top:9px;background:#edf4e3;border:1px solid #d6e4c7;border-radius:4px;color:#496631;font-size:10px;font-weight:700}.build-add-button:hover{background:#deedcc}.build-add-button.in-build{background:#d9edbc;color:#334d1f}.build-mobile-link{display:none}.build-source-links{font-size:9px;line-height:1.8;display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;color:#68844e}.build-source-links a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:1050px){.builder-layout{grid-template-columns:1fr 1fr;gap:18px}.build-panel{padding:18px}.build-slots{grid-template-columns:1fr}.report-summary{padding:22px}.report-summary h3{font-size:24px}.report-counts{gap:19px}.check-heading{flex-wrap:wrap;gap:3px}.detail-field-grid{grid-template-columns:1fr}.builder-intro{font-size:11px}}
@media(max-width:700px){.builder-section{padding-block:37px}.builder-layout{grid-template-columns:1fr}.build-slots{grid-template-columns:1fr 1fr;gap:12px}.build-slot-top label{font-size:10px;gap:5px}.build-slot-top label>span{font-size:7px}.part-select{font-size:10px}.build-retailer{font-size:8px}.detail-field-grid{grid-template-columns:1fr 1fr}.report-summary h3{font-size:26px}.build-mobile-link{display:block;text-align:center;font-size:11px;font-weight:700;padding:12px;background:#e5efda;color:#45652e;border-radius:4px;margin-top:18px}.builder-section .section-heading{display:block}.builder-intro{font-size:11px}.build-actions{gap:8px}.build-actions button{font-size:10px;padding:10px;min-height:42px}.build-panel-footer .button{font-size:10px;min-height:42px}.compat-check{padding:15px}.check-heading{flex-wrap:nowrap}.check-heading h4{font-size:12px}.check-heading>span{font-size:8px}.report-counts{gap:30px}.build-panel-footer .text-link{min-height:42px}.build-add-button{min-height:40px;font-size:9px}.custom-part-fields{padding:9px}.build-field>span{font-size:9px}.build-field input,.build-field select{font-size:10px}}
@media(max-width:520px){.build-slots{grid-template-columns:1fr}.detail-field-grid{grid-template-columns:1fr}.build-panel-footer{align-items:flex-start;flex-wrap:wrap}.check-heading{flex-wrap:wrap}.part-select,.build-field input,.build-field select{font-size:13px}.build-slot-top label{font-size:12px}.build-field>span,.field-help,.slot-spec{font-size:11px}.compat-check p,.report-summary p{font-size:12px}.check-heading>span,.check-sources a{font-size:10px}}
