:root{color-scheme:light;--cream:#f8f1e7;--paper:#fffaf2;--ink:#332b27;--muted:#6e6157;--clay:#aa6046;--clay-dark:#7f422e;--olive:#697652;--line:#ded0be;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--olive);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400}p,li{line-height:1.7}h2{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:16px}h3{font-size:1.45rem;margin-bottom:12px}ul{padding-left:22px}li+li{margin-top:9px}.site-header,main,footer{max-width:1180px;margin:0 auto;padding-left:40px;padding-right:40px}.site-header{height:110px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:Georgia,serif;font-size:1.25rem}.brand img{width:44px;height:44px;border-radius:50%}.publication{font-size:.83rem}.eyebrow{font-size:.69rem;font-weight:650;letter-spacing:.17em;line-height:1.6;color:var(--clay-dark)}main>.eyebrow{margin-top:40px}.intro{display:block;margin:21px 0 44px}.intro h1{font-size:clamp(3.4rem,7.5vw,6.2rem);line-height:1.06;letter-spacing:-.045em;margin:0}.intro h1 em{font-weight:400;color:var(--clay)}.intro p{font-size:1rem;color:var(--muted);margin:0 0 7px;max-width:470px}.steps{list-style:none;padding:20px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 48px}.steps li{font-size:.79rem;color:var(--muted);margin:0;display:flex;align-items:center;gap:10px}.steps span{font-size:.69rem;color:var(--muted);border:1px solid var(--line);border-radius:50%;width:29px;height:29px;display:inline-flex;align-items:center;justify-content:center}.steps li[aria-current=step]{color:var(--ink);font-weight:650}.steps li[aria-current=step] span{background:var(--clay-dark);border-color:var(--clay-dark);color:var(--paper)}.upload-layout{display:block;max-width:760px;margin:0 auto}.section-copy{color:var(--muted);font-size:.94rem}.drop-zone{display:flex!important;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #b9967e;background:var(--paper);padding:28px 20px;gap:6px;cursor:pointer;text-align:center;min-height:186px;margin:22px 0 12px!important}.drop-zone:hover,.drop-zone.dragging{background:#f3e6d6;border-color:var(--clay-dark)}.drop-zone span:not(.upload-mark){font-size:.82rem;color:var(--muted)}.drop-zone strong{font-weight:600}.drop-zone small{font-size:.71rem;color:var(--muted);margin-top:8px}.upload-mark{font-size:2rem;line-height:1;margin-bottom:6px;color:var(--clay-dark)}.file-input{width:100%;font-size:.8rem;margin-bottom:8px}.file-input::file-selector-button{background:transparent;border:1px solid var(--line);padding:6px 10px;color:var(--ink);margin-right:10px;border-radius:3px}.photo-previews{display:flex;gap:10px;flex-wrap:wrap}.photo-preview{position:relative;width:90px}.photo-preview img{width:90px;height:106px;object-fit:cover;border-radius:4px}.photo-preview button{position:absolute;top:4px;right:4px;border:0;background:var(--paper);border-radius:50%;width:25px;height:25px;color:var(--ink);line-height:1}.fine{font-size:.76rem;color:var(--muted);line-height:1.65}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}label:not(.consent){font-size:.79rem;font-weight:600;display:block;margin:0 0 8px}input[type=email],select,textarea{width:100%;border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:12px;color:var(--ink);font-size:.87rem}input[type=email],select{height:46px}select{padding-right:8px}textarea{resize:vertical;min-height:80px;line-height:1.6}.form-row>div{margin-bottom:20px}.optional{font-weight:400;color:var(--muted);margin-left:6px}.consent{display:flex;gap:12px;font-size:.76rem;line-height:1.65;margin:20px 0 14px}.consent input{width:17px;height:17px;flex-shrink:0;margin-top:4px;accent-color:var(--clay-dark)}.privacy{font-size:.74rem;color:var(--muted);margin-bottom:24px;line-height:1.6}.privacy summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.privacy p{margin:10px 0}.primary,.secondary{padding:14px 21px;min-height:48px;border-radius:4px;font-weight:600;font-size:.84rem;display:inline-flex;justify-content:center;align-items:center;gap:16px}.primary{background:var(--clay-dark);color:var(--paper);border:1px solid var(--clay-dark)}.primary:hover:not(:disabled){background:#693523}.secondary{background:var(--paper);border:1px solid #ae9580;color:var(--ink)}.secondary:hover:not(:disabled){background:#efdfcc}#start{width:100%;justify-content:space-between}#availability{margin-top:12px}.editorial-aside{padding-top:5px}.palette-art{height:330px;position:relative;overflow:hidden;background:#e5cbb3;border-radius:2px;margin-bottom:30px}.art-label{position:absolute;left:25px;top:23px;font-size:.63rem;letter-spacing:.15em;line-height:1.8;z-index:4;color:#53382b}.paper{width:43%;height:64%;position:absolute;top:77px;border:8px solid #fdf5e9;box-shadow:0 5px 12px #60453020}.paper-a{left:13%;background:#c56b50;transform:rotate(-19deg)}.paper-b{left:31%;background:#859173;transform:rotate(1deg)}.paper-c{left:51%;background:#f4d597;transform:rotate(19deg)}.art-caption{position:absolute;bottom:16px;left:25px;font:italic .84rem Georgia,serif;color:#644e3d}.editorial-aside>p{font-size:.88rem;color:var(--muted)}.aside-note{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.aside-note span{font-family:Georgia,serif;font-size:1.2rem}.aside-note p{font-size:.88rem;color:var(--muted);margin:10px 0 22px}.stage-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:25px}.stage-heading .eyebrow{margin-bottom:12px}.stage-heading h2{margin-bottom:0}.pill{border:1px solid var(--line);border-radius:30px;padding:7px 14px;font-size:.73rem;color:var(--muted);white-space:nowrap}.profile-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:48px}.profile-sheet{padding:28px;background:var(--paper);border:1px solid var(--line)}.profile-sheet>h3:not(:first-child){margin-top:30px}.profile-sheet p,.profile-sheet li{font-size:.9rem}.palette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.swatch-color{height:60px;border:1px solid #00000018;border-radius:3px}.swatch-label{font-size:.68rem;line-height:1.4;margin-top:7px}.chat-panel>p{font-size:.88rem;color:var(--muted)}.chat-history{max-height:370px;overflow:auto;margin:20px 0}.message{background:#f0e5d5;padding:15px 18px;margin:12px 0;font-size:.88rem;white-space:pre-wrap;line-height:1.65;border-radius:4px}.message.user{background:var(--paper);border-left:2px solid var(--clay);margin-left:28px}.message strong{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}.chat-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:12px}#begin{margin-top:30px;width:100%}.outfit-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.75fr);gap:70px;align-items:center;max-width:900px;margin:0 auto}.outfit-frame{background:#eee4d6;min-height:420px;display:flex;align-items:center;justify-content:center;position:relative;border-radius:5px;overflow:hidden}.outfit-frame img{width:100%;height:auto;max-height:660px;object-fit:contain;display:block}.outfit-detail h3{font-size:2rem;line-height:1.2;margin:18px 0}.outfit-detail>p{font-size:.93rem;color:var(--muted)}.vote-actions{display:flex;flex-direction:column;gap:12px;margin:28px 0 20px}.vote-actions #vote-yes{order:-1}.outfit-detail .fine{font-size:.75rem}#reload-image{position:absolute}.loading{text-align:center;padding:48px 24px 56px;background:var(--paper);border:1px solid var(--line);margin-bottom:30px}.loading h2{font-size:1.8rem}.loading p{color:var(--muted);max-width:470px;margin:12px auto}.spinner{display:block;width:29px;height:29px;margin:0 auto 22px;border:2px solid var(--line);border-top-color:var(--clay);border-radius:50%;animation:turn 1s linear infinite}.notice{padding:16px 20px;border-left:3px solid var(--clay-dark);background:#f0dfd2;font-size:.9rem;line-height:1.6;margin-bottom:24px}.result-sheet{max-width:710px;padding:50px;margin:0 auto;background:var(--paper);border:1px solid var(--line)}.result-sheet h2{margin-top:18px}.result-sheet .primary{margin-top:18px}.button-link{text-decoration:none}.session-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:38px;padding-top:20px}.text-button{border:0;background:none;color:var(--clay-dark);text-decoration:underline;text-underline-offset:4px;font-size:.76rem;padding:10px}.skip{position:absolute;top:-100px;left:20px;z-index:10;background:var(--paper);padding:10px}.skip:focus{top:10px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:75px;padding-top:25px;padding-bottom:30px;font-size:.73rem;color:var(--muted)}footer>span{font-family:Georgia,serif;font-size:1rem;color:var(--ink)}footer p{margin:0}@keyframes turn{to{transform:rotate(360deg)}}
@media(max-width:850px){.site-header,main,footer{padding-left:24px;padding-right:24px}.intro{gap:30px}.upload-layout{gap:35px}.profile-layout{gap:25px}.steps{gap:10px}.steps li{font-size:.7rem}.steps span{flex-shrink:0}.outfit-layout{gap:35px}.form-row{grid-template-columns:1fr;gap:0}.palette-art{height:300px}}
@media(max-width:620px){.site-header{height:85px}.brand{font-size:1rem;gap:8px}.brand img{width:35px;height:35px}.publication{font-size:.7rem;max-width:92px;text-align:right}main>.eyebrow{margin-top:26px;font-size:.6rem}.intro{grid-template-columns:1fr;gap:22px;margin-bottom:28px}.intro h1{font-size:3.25rem}.intro p{font-size:.9rem}.desktop-break{display:none}.steps{grid-template-columns:1fr 1.45fr 1fr;gap:14px;margin-bottom:30px;padding:17px 0}.steps li{font-size:.71rem;flex-direction:column;align-items:flex-start;gap:6px}.steps span{width:25px;height:25px}.upload-layout,.profile-layout,.outfit-layout{grid-template-columns:1fr;gap:28px}.editorial-aside{border-top:1px solid var(--line);padding-top:26px}.palette-art{height:280px;max-width:380px}.form-row{grid-template-columns:1fr}.profile-sheet{padding:22px}.stage-heading{align-items:start}.stage-heading h2{font-size:1.8rem}.pill{font-size:.64rem;padding:6px 9px}.outfit-frame{min-height:350px}.outfit-frame img{max-height:62vh}.outfit-detail h3{font-size:1.55rem;margin:12px 0}.outfit-detail .eyebrow{display:none}.vote-actions{flex-direction:row;margin-top:20px;gap:10px}.vote-actions button{flex:1;font-size:.76rem;padding:13px 8px}.vote-actions #vote-yes{order:0}.result-sheet{padding:30px 22px}.session-footer{align-items:start;gap:12px}.session-footer .fine{max-width:48%}.text-button{max-width:50%;text-align:right}footer{flex-wrap:wrap;margin-top:48px;gap:12px}footer p{display:none}.loading{padding:34px 18px}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none;border-color:var(--clay)}}
h2[tabindex="-1"]:focus{outline:none}
.site-header{position:sticky;top:0;z-index:30;background:var(--cream)}
.steps{position:sticky;top:110px;z-index:20;background:var(--cream)}
section[id],.loading{scroll-margin-top:215px}
.steps span{flex-shrink:0}
.outfit-detail>label:not(.consent){margin-top:20px}
#finish-now,#finish-from-error{max-width:100%;text-align:left;line-height:1.6}
.card-writeup{border-top:1px solid var(--line);margin-top:28px;padding-top:28px}
.card-writeup>h3{font-size:2rem;color:var(--clay-dark)}
.card-writeup h4{font:1.3rem Georgia,serif;margin:28px 0 12px}
.card-writeup p,.card-writeup li{font-size:.94rem}
@media(max-width:620px){.steps{top:85px}.intro h1{font-size:clamp(3.25rem,13vw,4.5rem)}section[id],.loading{scroll-margin-top:200px}}
/* The finished card reads as one composition on desktop and stacks on a phone. */
.showing-card main>.eyebrow,.showing-card .intro,.showing-card .steps{display:none}
.showing-card .site-header{height:74px}
#complete-stage{max-width:none;padding:0;border:0;background:none;margin:16px auto 0;scroll-margin-top:88px}
#complete-heading{font-size:1.25rem;margin:0}
#complete-stage>.eyebrow{display:none}
#complete-stage>p{font-size:.8rem;margin:8px 0 18px;max-width:850px}
#complete-card{padding:0;margin:0;border:0}
.visual-style-card{background:var(--paper);border:1px solid var(--line);border-top:7px solid var(--clay-dark);padding:25px 30px 18px;box-shadow:0 6px 28px #6045300b}
.visual-card-header{border-bottom:1px solid var(--line);padding-bottom:15px}
.visual-card-header h3{font-size:clamp(2rem,3.4vw,3rem);color:var(--clay-dark);margin:8px 0;line-height:1.08}
.visual-card-header p{font-size:.87rem;margin:0;color:var(--muted);line-height:1.5;max-width:850px}
.visual-card-grid{display:grid;grid-template-columns: .9fr 1.2fr;gap:35px;padding:20px 0}
.visual-style-card h4.eyebrow{font:600 .65rem/1.5 "Avenir Next",Avenir,"Segoe UI",sans-serif;letter-spacing:.13em;margin:0 0 13px;color:var(--clay-dark)}
.visual-colors h5{font:1.3rem Georgia,serif;margin:0 0 14px}
.visual-swatches{display:flex;gap:7px;max-width:430px}
.visual-swatch{flex:1;min-width:0;font-size:.6rem;line-height:1.35;color:var(--muted);overflow-wrap:anywhere}
.visual-chip{display:block;height:42px;border:1px solid #00000018;border-radius:4px;margin-bottom:7px}
.visual-style-card .visual-color-note{font-size:.74rem;color:var(--muted);line-height:1.5;margin:12px 0 0}
.visual-top-row{display:flex;gap:15px}.visual-style-card figure{margin:0;min-width:0}
.visual-top-row figure{flex:1}.visual-top-row img{width:100%;height:95px;object-fit:contain;display:block}
.visual-top-row figcaption strong{font:1rem Georgia,serif;display:block;margin:6px 0}
.visual-top-row figcaption span{font-size:.71rem;line-height:1.4;color:var(--muted);display:block}
.visual-takeaways{border-top:1px solid var(--line);padding-top:16px;margin-bottom:20px}
.visual-takeaways ul{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;list-style:none;padding:0;margin:0}
.visual-takeaways li{font:1.03rem/1.4 Georgia,serif;margin:0}
.visual-outfit-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}
.visual-outfit-row figure{flex:0 0 122px;scroll-snap-align:start}
.visual-outfit-row img{width:100%;height:155px;object-fit:contain;background:#f2e9dc;display:block;border-radius:3px}
.visual-outfit-row figcaption span{display:block;font-size:.55rem;letter-spacing:.1em;color:var(--muted);margin-top:6px}
.visual-outfit-row figcaption strong{font-size:.65rem;font-weight:500;display:block;line-height:1.3;margin-top:3px}
.visual-style-card .visual-uncertainty{font-size:.65rem;line-height:1.5;color:var(--muted);margin:12px 0 0}
.card-writeup>.button-link{margin-top:16px}
.card-details{margin:20px 0;font-size:.85rem}.card-details summary{cursor:pointer;color:var(--clay-dark);text-decoration:underline;text-underline-offset:4px}
.card-details>div{max-width:710px;margin-top:24px;padding:25px;background:var(--paper);border:1px solid var(--line)}
@media(max-width:620px){
.showing-card .site-header{height:74px}.showing-card main{padding:0 14px}
.visual-style-card{padding:22px 18px 16px}.visual-card-header h3{font-size:2.15rem}
.visual-card-grid{grid-template-columns:1fr;gap:25px;padding:22px 0}
.visual-top-row{gap:12px}.visual-top-row img{height:90px}.visual-top-row figcaption strong{font-size:.93rem}
.visual-top-row figcaption span{font-size:.74rem}
.visual-chip{height:44px}.visual-swatch{font-size:.64rem}
.visual-takeaways ul{grid-template-columns:1fr;gap:12px}.visual-takeaways li{font-size:1.1rem;line-height:1.5}
.visual-outfit-row figure{flex-basis:128px}.visual-outfit-row img{height:182px}
.visual-style-card .visual-uncertainty{font-size:.72rem}
}
#complete-heading{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:900px) and (max-height:820px){.visual-style-card{padding-top:18px}.visual-card-header h3{font-size:2.4rem}.visual-card-grid{padding:15px 0}.visual-top-row img{height:75px}.visual-outfit-row img{height:125px}.visual-takeaways{margin-bottom:14px}.visual-style-card .visual-uncertainty{margin-top:8px}}
.share-card-cta{border-top:1px solid var(--line);padding-top:22px;margin-top:24px}.share-card-cta h3{margin-bottom:8px}.share-card-cta p{font-size:.88rem;color:var(--muted);margin-bottom:12px}
.access-landing{max-width:760px;margin:0 auto;padding:32px;background:var(--paper);border:1px solid var(--line);border-top:5px solid var(--clay-dark)}
.access-landing h2{margin:14px 0}.access-landing>p{color:var(--muted)}.access-actions{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0}.access-actions a{line-height:1.5;text-align:center}
@media(max-width:620px){.access-landing{padding:24px 20px}.access-actions{flex-direction:column}}
