@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600&family=Playfair+Display:ital,wght@0,600;1,600&display=swap";:root{color:#26251f;font-synthesis:none;text-rendering:optimizelegibility;--ink:#26251f;--paper:#f8f6ef;--canvas:#f0eee7;--accent:#c84c2f;--sage:#77806d;--line:#cbc7bb;background:#f0eee7;font-family:Manrope,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}button{min-height:46px}.app-shell{background:var(--canvas);min-height:100vh}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:72px;padding:0 5vw;display:flex}.wordmark{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:12px;font-weight:600;text-decoration:none;display:inline-flex}.wordmark-mark{background:var(--ink);width:32px;height:32px;color:var(--paper);place-items:center;font-family:Playfair Display,serif;font-style:italic;display:grid}.plan-label,.eyebrow,.section-label,.readiness-count{letter-spacing:.08em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:11px}.plan-label{color:#68665d}.workspace{width:min(1180px,90vw);margin:0 auto;padding:84px 0 64px}.intro{grid-template-columns:160px minmax(0,650px);column-gap:48px;display:grid}.eyebrow{color:var(--accent);margin:14px 0 0}h1{letter-spacing:-.045em;text-wrap:balance;margin:0;font-family:Playfair Display,serif;font-size:clamp(46px,6.6vw,88px);font-weight:600;line-height:.96}.lede{color:#5d5b52;grid-column:2;max-width:570px;margin:28px 0 0;font-size:17px;line-height:1.7}.readiness-panel{background:var(--paper);border:1px solid var(--line);margin:72px 0 0 208px;padding:34px;box-shadow:8px 8px #d8d4c8}.readiness-heading{justify-content:space-between;align-items:start;gap:32px;display:flex}.section-label{color:var(--sage);margin:0 0 10px}.readiness-heading h2{letter-spacing:-.035em;margin:0;font-size:clamp(21px,3vw,32px);font-weight:500}.readiness-count{color:var(--accent);white-space:nowrap;padding-top:4px}.progress-track{background:#dfdcd2;height:6px;margin:32px 0 20px;overflow:hidden}.progress-track span{background:var(--accent);height:100%;transition:width .35s;display:block}.milestones{grid-template-columns:repeat(4,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}.milestones li{border:1px solid var(--line);color:#8b887f;flex-direction:column;justify-content:space-between;min-height:86px;padding:14px;display:flex}.milestones li.complete{border-color:var(--sage);color:var(--ink);background:#eef0e8}.milestones span{font-family:DM Mono,monospace;font-size:13px}.milestones small{font-size:11px}.actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.actions button{border:1px solid var(--ink);cursor:pointer;padding:0 18px;transition:transform .15s,background .15s}.actions button:hover:not(:disabled){transform:translateY(-2px)}.primary-action{background:var(--ink);color:var(--paper);justify-content:space-between;gap:28px;display:flex}.secondary-action{color:var(--ink);background:0 0}.secondary-action:disabled{cursor:not-allowed;border-color:var(--line);color:#9a978d}.upgrade-action{background:var(--accent);color:#fff;border-color:var(--accent)!important}.principle{border-top:1px solid var(--line);grid-template-columns:64px 1fr;max-width:760px;margin:56px 0 0 208px;padding-top:20px;display:grid}.principle-number{color:var(--accent);font-family:DM Mono,monospace;font-size:11px}.principle p{color:#68665d;max-width:520px;margin:0;line-height:1.65}.principle strong{color:var(--ink);margin-bottom:3px;display:block}.history{border-top:1px solid var(--line);margin:56px 0 0 208px;padding-top:20px}.history-heading{display:block}.history-heading h2{letter-spacing:-.035em;margin:0;font-family:Playfair Display,serif;font-size:clamp(30px,4vw,46px)}.outfit-grid{grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px;display:grid}.outfit-card{background:var(--paper);border:1px solid var(--line)}.outfit-image{aspect-ratio:4/3;background:#dedbd1;place-items:center;display:grid;position:relative;overflow:hidden}.outfit-image img{object-fit:cover;width:100%;height:100%}.outfit-index,.sample-badge{background:var(--paper);padding:5px 7px;font:10px DM Mono,monospace;position:absolute;top:10px}.outfit-index{left:10px}.sample-badge{color:var(--accent);right:10px}.outfit-details{padding:18px}.outfit-details>span{color:#747168;font:10px DM Mono,monospace}.outfit-details h3{margin:8px 0;font-size:20px}.outfit-details p{color:#68665d;min-height:42px;line-height:1.5}.outfit-ratings{color:var(--sage);gap:16px;font-size:11px;display:flex}.empty-history{color:#77746b;margin:40px 0 0 208px}.garment-review{border-top:1px solid var(--line);gap:12px;margin-top:20px;padding-top:18px;display:grid}.garment-review button{border:1px solid var(--ink);background:var(--ink);min-height:42px;color:var(--paper);cursor:pointer;padding:0 12px}.garment-review button:disabled{cursor:wait;opacity:.55}.garment-review .text-button{color:var(--ink);background:0 0;border-color:#0000;text-decoration:underline}.garment-card,.manual-garment{border:1px solid var(--line);background:#f4f1e8;gap:12px;padding:14px;display:grid}.garment-card-heading{color:var(--accent);justify-content:space-between;gap:8px;font:9px DM Mono,monospace;display:flex}.garment-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.garment-fields label{color:#6f6b61;text-transform:uppercase;gap:5px;font:9px DM Mono,monospace;display:grid}.garment-fields input,.garment-fields select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);text-transform:none;background:#fffefa;padding:0 9px;font:13px Inter,sans-serif}.garment-actions,.review-actions{flex-wrap:wrap;gap:8px;display:flex}.analysis-error{border-left:3px solid var(--accent);background:#f6e7e1;gap:10px;padding:12px;display:grid}.analysis-error p{color:#78301f;min-height:0;margin:0}.capture-overlay{z-index:20;background:#1f1e1a9e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.capture-sheet{background:var(--paper);width:min(100%,520px);max-height:min(760px,100dvh - 32px);padding:34px;position:relative;overflow-y:auto;box-shadow:10px 10px #1c1b1733}.stylist-sheet{background:var(--paper);width:min(100%,640px);max-height:min(820px,100dvh - 32px);padding:34px;position:relative;overflow-y:auto;box-shadow:10px 10px #1c1b1733}.stylist-sheet h2{letter-spacing:-.04em;margin:10px 0 12px;font:600 clamp(34px,6vw,52px)/.98 Playfair Display,serif}.stylist-request{gap:14px;margin-top:26px;display:grid}.stylist-request label{color:#4e4b43;letter-spacing:.02em;gap:7px;font-size:13px;font-weight:650;display:grid}.stylist-request input{border:1px solid var(--line);min-height:50px;color:var(--ink);font:inherit;background:#fffefa;padding:0 14px}.stylist-request .mobile-primary{align-items:center;margin-top:6px}.stylist-request .mobile-primary:disabled{cursor:wait;opacity:.65}.stylist-results{gap:16px;margin-top:28px;display:grid}.provisional-warning{border-left:4px solid var(--accent);color:#623f35;background:#f2e7df;margin:0;padding:14px 16px;font-size:14px;line-height:1.5}.look-card{border:1px solid var(--line);background:#fffefa;padding:22px}.look-card h3{margin:7px 0 16px;font:600 28px/1.05 Playfair Display,serif}.look-card>p:not(.section-label){color:#59564d;line-height:1.55}.look-garments,.styling-notes{margin:0;padding:0;list-style:none}.look-garments{gap:8px;margin-bottom:18px;display:grid}.look-garments li{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding-bottom:8px;display:flex}.look-garments span{color:#777268;text-align:right;font-size:13px}.styling-notes{color:#34322d;gap:7px;margin-top:14px;font-size:14px;display:grid}.styling-notes li:before{content:"↳ ";color:var(--accent)}.capture-sheet h2{letter-spacing:-.04em;margin:10px 0 12px;font:600 clamp(34px,6vw,52px)/.98 Playfair Display,serif}.capture-copy{color:#69665c;line-height:1.55}.sheet-close{cursor:pointer;background:0 0;border:0;font-size:30px;position:absolute;top:14px;right:18px}.capture-sources{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.camera-action,.gallery-action{text-align:center;cursor:pointer;border:1px dashed #999588;align-content:center;justify-items:center;gap:8px;min-height:220px;padding:24px 14px;display:grid}.camera-action input,.gallery-action input{opacity:0;width:1px;height:1px;position:absolute}.camera-icon,.gallery-icon{border:1px solid var(--ink);border-radius:50%;place-items:center;width:64px;height:64px;font-size:32px;display:grid}.camera-action small,.gallery-action small,.capture-options small{color:#77736a;font-size:11px}.capture-preview{aspect-ratio:4/3;background:#d8d4c8;place-items:center;margin:-34px -34px 26px;display:grid;overflow:hidden}.capture-preview img{object-fit:cover;width:100%;height:100%}.capture-options{gap:10px;margin-top:24px;display:grid}.mobile-primary,.mobile-secondary{border:1px solid var(--ink);cursor:pointer;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;min-height:64px;padding:12px 16px;display:flex}.mobile-primary{background:var(--ink);color:var(--paper)}.mobile-primary small{color:#c6c1b6}.mobile-secondary{color:var(--ink);background:0 0}.voice-choice{border-color:var(--accent)}.retake-button,.quiet-button,.text-submit{cursor:pointer;background:0 0;border:0;text-decoration:underline}.retake-button{margin-top:18px}.capture-sheet fieldset{border:0;margin:26px 0;padding:0}.capture-sheet legend{margin-bottom:12px;font-weight:600}.chip-list{flex-wrap:wrap;gap:8px;display:flex}.chip-list button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;min-height:42px;padding:0 14px}.chip-list button.selected{background:var(--ink);color:var(--paper);border-color:var(--ink)}.voice-orb{background:#eee0d9;border-radius:50%;place-items:center;width:86px;height:86px;margin:2px auto 24px;display:grid}.voice-orb span{background:var(--accent);border-radius:50%;width:34px;height:34px;box-shadow:0 0 0 10px #c74b311f}.interview-sheet{text-align:center}.interview-sheet h2{font-size:clamp(30px,6vw,44px)}.voice-transcript{text-align:left;background:#eeeae0;max-height:132px;margin:18px 0;padding:14px;overflow-y:auto}.voice-transcript div+div{margin-top:10px}.voice-transcript small{color:#78746a}.voice-transcript p{margin:3px 0 0}.interview-sheet form{gap:12px;margin-top:28px;display:grid}.mic-button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;min-height:58px}.mic-button span{color:var(--accent);margin-right:8px}.mic-button.listening{background:var(--accent)}.answer-fallback{text-align:left;color:#6f6b61;gap:6px;font-size:11px;display:grid}.answer-fallback input{border:1px solid var(--line);min-height:48px;font:inherit;background:#fffefa;padding:0 12px}.text-submit{min-height:38px}.interview-actions{justify-content:center;gap:20px;margin-top:18px;display:flex}.inline-error{color:#9e321d;font-size:13px}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #e3a38f}@media (width<=760px){.topbar{padding:0 20px}.plan-label{text-align:right;max-width:120px}.workspace{padding:58px 20px 80px}.capture-overlay{place-items:stretch stretch;padding:0}.capture-sheet,.stylist-sheet{width:100%;min-height:100dvh;max-height:100dvh;box-shadow:none;padding:28px 20px}.capture-preview{margin:-28px -20px 24px}.capture-sources{grid-template-columns:1fr}.camera-action,.gallery-action{min-height:180px}.intro{display:block}.eyebrow{margin:0 0 18px}.lede{margin-top:22px}.readiness-panel,.principle,.history,.empty-history{margin-left:0}.readiness-panel{margin-top:48px;padding:22px;box-shadow:5px 5px #d8d4c8}.outfit-grid,.garment-fields{grid-template-columns:1fr}.garment-actions button,.review-actions button{flex:100%}.readiness-heading{display:block}.readiness-count{margin-top:12px;display:block}.milestones{grid-template-columns:repeat(2,1fr)}.actions{flex-direction:column}.actions button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
