.build-main{padding-block:48px 70px}.build-heading{max-width:840px}.build-heading h1{font-size:clamp(2.7rem,5vw,4.2rem)}.build-heading>p:last-child{max-width:730px;color:var(--muted)}.build-caution{background:#eaf5fd;border-left:4px solid var(--blue);padding:20px 24px;font-size:1rem;margin:25px 0}.build-steps{display:flex;flex-wrap:wrap;gap:8px 30px;border-bottom:1px solid var(--line);padding:0 0 22px;margin-bottom:35px}.build-steps a{display:block!important;color:var(--deep);text-decoration:underline;text-underline-offset:4px}.builder-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px}.builder-grid h2{font-size:2rem}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.list-heading span,.storage-note,.list-note{font-size:.875rem;color:var(--muted)}.storage-note{margin-top:15px}.list-status{font-size:1rem;color:var(--deep)}.saved-part{padding:23px 0;border-bottom:1px solid var(--line);display:flex;gap:20px;justify-content:space-between}.saved-part>div:first-child{min-width:0;overflow-wrap:anywhere}.saved-part h3{margin:6px 0 10px;font-size:1.125rem}.saved-part p{font-size:1rem;color:var(--muted);margin:0 0 10px}.saved-part .part-type{font-size:.875rem;color:var(--deep);font-weight:700;letter-spacing:.03em}.saved-part a,.empty-list a{font-size:1rem;color:var(--deep);text-decoration:underline;text-underline-offset:3px}.part-actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.part-actions button{background:white;border:1px solid var(--line);border-radius:5px;min-height:44px;padding:8px 12px;font-size:.875rem}.part-actions button:hover{background:#eaf5fd}.empty-list{background:#f3f7fa;padding:26px;border-radius:6px}.empty-list h3{margin-top:0}.empty-list p{font-size:1rem;margin:0}.part-form{border-top:3px solid var(--blue);padding-top:24px;margin-top:25px}.part-form h3{margin:0 0 22px}.builder-grid select{font:inherit;font-size:1rem;background:white;color:var(--text);width:100%;min-height:48px;border:1px solid #9aadb9;border-radius:5px;padding:10px 12px;margin-bottom:20px}.builder-grid input,.builder-grid textarea{margin-bottom:20px}.editor-actions{display:flex;flex-wrap:wrap;gap:12px}.review-panel{background:#eaf5fd;border:1px solid #c6dfef;border-radius:7px;padding:30px;align-self:start}.review-panel>.eyebrow{margin-bottom:17px}.review-panel>p:not(.eyebrow),.assembly-info p{font-size:1rem;color:var(--muted);margin-top:20px}.review-panel form>.button{width:100%}#brief-status{font-size:.875rem;color:var(--deep);margin:15px 0}.assembly-info{border-top:1px solid #b9d4e7;margin-top:30px;padding-top:25px}.assembly-info h3{margin:0;font-size:1.125rem}.assembly-info p{margin-bottom:0}.brief-result textarea{font-size:.875rem}@media(max-width:900px){.builder-grid{grid-template-columns:1fr;gap:40px}.review-panel{padding:28px}.build-heading{max-width:760px}}@media(max-width:600px){.build-main{padding-top:32px}.list-heading{flex-wrap:wrap;gap:10px}.build-steps{gap:5px 18px}.saved-part{flex-direction:column;gap:12px}.part-actions{flex-direction:row}.review-panel{padding:23px}.build-caution{padding:18px}.builder-grid h2{font-size:1.8rem}}

.quick-review a{color:var(--deep);text-decoration:underline;text-underline-offset:4px;font-size:1rem}.review-scope{background:#fff;border-left:4px solid var(--lime);padding:20px;margin:24px 0}.review-scope h3{font-size:1.125rem;margin:0 0 12px}.review-scope p{font-size:1rem;color:var(--muted);margin:0}.gap-option{display:flex;gap:12px;align-items:flex-start;padding:16px;background:#fff;border:1px solid #9aadb9;border-radius:5px;cursor:pointer;margin:24px 0 16px}.builder-grid .gap-option input{width:20px;height:20px;min-width:20px;padding:0;margin:3px 0 0;accent-color:var(--deep)}.gap-option strong{font-size:1rem}.gap-option small{display:block;font-size:.875rem;color:var(--muted);line-height:1.6;margin-top:5px}
.backup-tools{border:1px solid var(--line);border-radius:6px;padding:18px 20px;margin:20px 0}.backup-tools summary{cursor:pointer;font-size:1rem;font-weight:700;min-height:32px}.backup-tools p,.backup-tools li,.backup-tools dd,.backup-tools dt{font-size:.875rem;overflow-wrap:anywhere}.backup-tools .field-label{margin-top:22px}.backup-tools input[type=file]{font-size:.875rem;max-width:100%;padding:10px}.backup-tools ul{padding-left:22px}.backup-tools li+li{margin-top:12px}.backup-tools dl>div{display:block;padding:10px 0}.backup-tools dd{text-align:left;color:var(--muted);white-space:pre-wrap}.backup-tools h3{margin-top:22px}.backup-tools #backup-status{color:var(--deep)}

.parts-checklist{border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:6px;padding:18px 20px;margin:22px 0}.parts-checklist summary{font-size:1rem;font-weight:700;cursor:pointer;min-height:32px}.parts-checklist>p{font-size:.875rem}.parts-checklist ul{list-style:none;padding:0;margin:20px 0}.parts-checklist li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.parts-checklist li>div{min-width:0}.parts-checklist strong{display:block;font-size:1rem}.checklist-state{display:block;font-size:.875rem;color:var(--deep);margin:3px 0}.parts-checklist small{display:block;color:var(--muted);font-size:.875rem;line-height:1.5}.parts-checklist li button{flex-shrink:0;font-size:.875rem;padding:10px 12px;min-height:44px;border:1px solid #9aadb9;border-radius:5px;background:#fff;color:var(--text)}.parts-checklist li button:hover{background:#eaf5fd}#checklist-status{color:var(--deep)}@media(max-width:450px){.parts-checklist li{align-items:flex-start;flex-direction:column;gap:10px}}
.mobile-flow,.mobile-only{display:none}.component-editor{margin-top:24px}.component-editor>summary,.review-scope>summary,.assembly-info>summary{cursor:pointer;font-weight:700;font-size:1rem;min-height:44px;padding-block:10px}.component-editor .part-form{margin-top:0}.mobile-flow button{font:inherit}.mobile-flow-status:empty{display:none}
@media(max-width:700px){.mobile-enhanced .mobile-flow{display:block;position:sticky;top:0;z-index:10;background:#fff;padding:12px 0 8px;border-bottom:1px solid var(--line);scroll-margin-top:0}.mobile-flow nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}.mobile-flow nav button{padding:10px 4px;min-height:44px;font-size:.875rem;font-weight:700;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--text)}.mobile-flow nav button[aria-current=step]{background:var(--lime);border-color:var(--text)}.mobile-flow p{font-size:.875rem;margin:8px 0 0;color:var(--muted)}.mobile-flow p:empty{display:none}.mobile-enhanced .build-heading h1{font-size:1.8rem;margin:18px 0 10px}.mobile-enhanced .build-heading h1 br{display:none}.mobile-enhanced .build-heading h1 span{text-decoration:none}.mobile-enhanced .build-heading .eyebrow,.mobile-enhanced .build-heading>p:last-child,.mobile-enhanced .quick-review,.mobile-enhanced .build-steps{display:none}.mobile-enhanced .build-caution{font-size:.875rem;line-height:1.5;padding:12px 14px;margin:12px 0 20px}.mobile-enhanced .builder-grid{display:block}.mobile-enhanced .review-panel{padding:18px}.mobile-enhanced .review-panel .eyebrow{display:none}.mobile-enhanced .builder-grid h2{font-size:1.6rem}.mobile-enhanced .storage-note{margin-block:10px;font-size:.875rem}.mobile-enhanced .list-status:empty{display:none}.mobile-enhanced .saved-part{padding:15px 0;gap:10px}.mobile-enhanced .saved-part h3{margin-block:3px 7px}.mobile-enhanced .part-actions{flex-direction:row}.mobile-enhanced .parts-checklist,.mobile-enhanced .backup-tools{padding:12px 15px;margin-block:16px}.mobile-enhanced .review-scope{padding:12px 15px;margin:18px 0}.mobile-enhanced .review-scope p{font-size:.875rem}.mobile-enhanced[data-mobile-step=parts] #review,.mobile-enhanced[data-mobile-step=goals] #saved-list,.mobile-enhanced[data-mobile-step=brief] #saved-list,.mobile-enhanced[data-mobile-step=brief] #goals-content,.mobile-enhanced[data-mobile-step=goals] #review-result,.mobile-enhanced[data-mobile-step=goals] #mobile-brief-empty,.mobile-enhanced[data-mobile-step=goals] #assembly-info{display:none!important}.mobile-enhanced[data-mobile-step=brief] #mobile-brief-empty:not([hidden]){display:block}.mobile-enhanced[data-mobile-step=brief] #review-result{border:0;padding:0;margin:0}.mobile-enhanced #review-text{min-height:250px;max-height:55vh;margin-bottom:10px}.mobile-enhanced .mobile-actionbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;gap:10px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -3px 16px #101b2310}.mobile-actionbar .button{flex:1;min-height:48px;padding:12px 14px}.mobile-enhanced{padding-top:8px;padding-bottom:110px}.mobile-enhanced .component-editor{margin-top:18px}.mobile-enhanced .component-editor>summary{border:1px solid #9aadb9;border-radius:5px;padding:12px 14px}.mobile-enhanced .component-editor[open]>summary{margin-bottom:15px}body:has(.mobile-enhanced)>.footer{padding-bottom:110px}.mobile-enhanced[data-mobile-step=brief] .build-heading,.mobile-enhanced[data-mobile-step=brief] .build-caution{display:none}}

#goals-content>.eyebrow{margin-bottom:17px}#goals-content>p:not(.eyebrow){font-size:1rem;color:var(--muted);margin-top:20px}

@media(max-width:700px){.mobile-enhanced[data-mobile-step=brief] #review-result[data-empty="true"]{display:none!important}}

.assembly-info h3{margin-top:24px}
.profile-picker{border:1px solid var(--line);border-left:4px solid var(--lime);border-radius:6px;padding:16px 20px;margin:20px 0;scroll-margin-top:120px}.profile-picker summary{font-size:1rem;font-weight:700;min-height:44px;cursor:pointer}.profile-picker p,.profile-picker li{font-size:.875rem;overflow-wrap:anywhere}.profile-picker ul{padding-left:20px}.profile-picker li+li{margin-top:16px}.profile-picker li p{margin:6px 0}.profile-picker h3{font-size:1.25rem}.profile-goals{white-space:pre-line}#profile-status{color:var(--deep)}

.profile-picker h3{scroll-margin-top:130px}

@media(max-width:700px){}
.profile-picker .availability-warning{border:2px solid var(--text);border-left:6px solid var(--deep);border-radius:5px;background:#eaf5fd;padding:14px 16px;font-size:1rem;font-weight:600}
/* Keep controls reachable when zoom or a short landscape viewport leaves little room. */
@media(max-width:700px) and (max-height:500px){.mobile-enhanced .mobile-flow{position:static}.mobile-enhanced .mobile-actionbar{position:static;margin-top:24px;padding:12px 0;box-shadow:none}.mobile-enhanced{padding-bottom:24px}.mobile-enhanced #review-text{min-height:180px;max-height:none}}
