.builder-page { margin: -34px -36px -60px; min-height: calc(100vh - var(--topbar)); background: var(--white); }
.builder-top { height: 66px; padding: 0 24px; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; }
.builder-top > div { display: grid; gap: 3px; text-align: center; }
.builder-top strong { font-size: 11px; }
.builder-top span { font-size: 8px; color: #85877e; }
.assistant-inline { min-height: 34px; padding: 0 11px; border-radius: 9px; border: 1px solid var(--border); background: var(--violet-soft); color: var(--violet); display: flex; align-items: center; gap: 7px; font-size: 9px; font-weight: 750; cursor: pointer; }
.builder-layout { min-height: calc(100vh - var(--topbar) - 66px); display: grid; grid-template-columns: 300px 1fr; }
.builder-progress { padding: 34px 26px; background: #efede7; border-right: 1px solid var(--border); }
.builder-progress ol { list-style: none; padding: 0; margin: 28px 0; display: grid; gap: 8px; }
.builder-progress li { min-height: 58px; display: grid; grid-template-columns: 28px 1fr; gap: 10px; align-items: start; opacity: .42; }
.builder-progress li.active, .builder-progress li.complete { opacity: 1; }
.builder-progress li > span { width: 25px; height: 25px; border-radius: 50%; border: 1px solid var(--border-strong); display: grid; place-items: center; font-size: 9px; font-weight: 750; }
.builder-progress li.active > span { background: var(--ink); color: white; }
.builder-progress li.complete > span { background: var(--lime); border-color: var(--lime-deep); }
.builder-progress li div { display: grid; gap: 4px; }
.builder-progress li strong { font-size: 10px; line-height: 1.35; }
.builder-progress li small { font-size: 8px; color: #777970; }
.builder-privacy { margin-top: 40px; padding: 14px; border-radius: 11px; background: rgba(255,255,255,.6); display: flex; gap: 9px; color: var(--violet); }
.builder-privacy p { margin: 0; display: grid; gap: 3px; color: var(--ink); font-size: 8px; line-height: 1.4; }
.builder-question { max-width: 760px; width: 100%; margin: 0 auto; padding: 60px 46px 30px; display: flex; flex-direction: column; }
.builder-question-heading > span { color: var(--violet); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.builder-question h1 { font-family: Georgia, serif; font-size: 38px; margin: 9px 0 10px; letter-spacing: -.035em; }
.builder-question-heading p { margin: 0 0 28px; color: #74766e; font-size: 12px; }
.builder-options { display: grid; gap: 10px; }
.builder-option { min-height: 88px; padding: 14px 16px; display: grid; grid-template-columns: 42px 1fr 24px; gap: 14px; align-items: center; border: 1px solid var(--border); border-radius: 13px; background: var(--white); text-align: left; cursor: pointer; }
.builder-option:hover { border-color: var(--border-strong); }
.builder-option.selected { border-color: var(--violet); box-shadow: 0 0 0 3px rgba(106,92,255,.08); background: #fbfaff; }
.builder-option-icon { width: 42px; height: 42px; border-radius: 11px; background: var(--paper); color: var(--violet); display: grid; place-items: center; }
.builder-option > div { display: grid; gap: 4px; }
.builder-option strong { font-size: 11px; }
.builder-option p { margin: 0; font-size: 9px; line-height: 1.45; color: #7d7f76; }
.option-check { width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--border); display: grid; place-items: center; }
.builder-option.selected .option-check { background: var(--violet); color: white; border-color: var(--violet); }
.builder-footer { margin-top: auto; padding-top: 30px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.builder-footer > span { font-size: 8px; color: #898b82; }
