:root{--bg:#fdfbff;--bg-soft:#fbf6ff;--panel:rgba(255,255,255,.78);--panel-strong:#ffffff;--card:#ffffff;--line:rgba(120,104,168,.16);--line-strong:rgba(120,104,168,.30);--ink:#2a1a3d;--ink-soft:#574767;--muted:rgba(42,26,61,.56);--faint:rgba(42,26,61,.38);--accent:#9b5cff;--accent-strong:#823fe6;--accent-ink:#6c2fcc;--accent-wash:#f1eaff;--grad-action:linear-gradient(135deg,#a877ff,#7aa0ff);--grad-action-hi:linear-gradient(135deg,#b58cff,#94b3ff);--r-pink:#ffb0cf;--r-peach:#ffce97;--r-butter:#ffe98a;--r-mint:#a9e9bd;--r-sky:#a9d8ff;--r-lilac:#cdb4ff;--rainbow:linear-gradient(100deg,#ff8fb4,#ffc27a 22%,#ffe87a 42%,#8fe0a8 60%,#86c8ff 80%,#c3a0ff);--rainbow-soft:linear-gradient(100deg,#ffe3ee,#ffeed9,#fffbe6,#e6f7ea,#e6f3ff,#f0e9ff);--serif:"Playfair Display","Bodoni Moda","Didot",Georgia,serif;--sans:"Hanken Grotesk",ui-sans-serif,system-ui,-apple-system,sans-serif;--t-display:clamp(30px,4.2vw,52px);--t-h1:clamp(30px,3.6vw,46px);--t-h2:28px;--t-h3:19px;--t-body:16px;--t-small:14px;--t-micro:12px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--r-chip:19px;--r-card:26px;--r-lg:36px;--r-pill:999px;--sh-sm:0 4px 16px rgba(154,132,206,.12);--sh:0 16px 44px rgba(154,132,206,.18);--sh-lg:0 28px 70px rgba(154,132,206,.24);--ring:0 0 0 3px rgba(155,92,255,.32);--bloom-opacity:.14;--nav-h:76px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:radial-gradient(70% 55% at 2% 12%,rgba(255,176,207,.42),transparent 72%),radial-gradient(55% 52% at 0 96%,rgba(169,233,189,.34),transparent 72%),radial-gradient(65% 60% at 100% 16%,rgba(169,216,255,.42),transparent 72%),radial-gradient(58% 55% at 98% 100%,rgba(205,180,255,.42),transparent 72%),radial-gradient(45% 42% at 52% 0,rgba(255,233,138,.24),transparent 72%),#fdfbff;background-attachment:fixed;color:var(--ink);font-family:var(--sans);font-size:var(--t-body);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit}::selection{background:rgba(255,122,168,.22)}.ambient{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.ambient i{position:absolute;border-radius:50%;filter:blur(70px);opacity:var(--bloom-opacity,.55)}.ambient .b1{width:46vw;height:46vw;left:-14vw;top:-16vw;background:radial-gradient(circle at 40% 40%,var(--r-pink),transparent 68%)}.ambient .b2{width:42vw;height:42vw;right:-14vw;top:-12vw;background:radial-gradient(circle at 60% 40%,var(--r-sky),transparent 68%)}.ambient .b3{width:40vw;height:40vw;left:-10vw;bottom:-18vw;background:radial-gradient(circle at 40% 60%,var(--r-lilac),transparent 68%)}.ambient .b4{width:44vw;height:44vw;right:-16vw;bottom:-16vw;background:radial-gradient(circle at 60% 60%,var(--r-peach),transparent 70%)}@media (prefers-reduced-motion:no-preference){.ambient i{animation:drift 26s ease-in-out infinite alternate}.ambient .b2{animation-delay:-6s}.ambient .b3{animation-delay:-12s}.ambient .b4{animation-delay:-18s}}@keyframes drift{to{transform:translate3d(2.5vw,2vw,0) scale(1.08)}}#root{position:relative;z-index:1}.app{min-height:100vh;flex-direction:column}.app,.nav{display:flex}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:40;height:var(--nav-h);align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,52px);background:linear-gradient(180deg,rgba(253,251,255,.92),rgba(253,251,255,.66));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:0}.nav:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--rainbow);opacity:.55}.wordmark{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.wm-spark{color:var(--accent);font-size:16px;line-height:1;transform:translateY(-1px);transition:transform .4s cubic-bezier(.3,1.4,.4,1)}.wordmark:hover .wm-spark{transform:translateY(-1px) rotate(90deg) scale(1.18)}.wm-name{font-family:var(--serif);font-style:italic;font-weight:700;line-height:.9;font-size:clamp(26px,2.7vw,35px);letter-spacing:0;color:var(--ink);position:relative}.wm-name:after{content:"";position:absolute;left:-1%;right:-1%;bottom:1px;height:6px;border-radius:99px;background:var(--rainbow);box-shadow:0 2px 8px rgba(255,120,170,.35)}.wm-sub{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(21px,2.2vw,29px);line-height:.9;color:var(--muted);letter-spacing:0}body[data-rainbow=whisper] .wm-name:after{opacity:.55;height:4px;box-shadow:none}body[data-rainbow=expressive] .wm-name{background:var(--rainbow);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}body[data-rainbow=expressive] .wm-name:after{height:7px}.tabs{display:flex;align-items:center;gap:clamp(8px,1.6vw,26px)}.tab{position:relative;background:none;border:0;cursor:pointer;font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:9px 2px 7px;transition:color .18s ease}.tab:hover{color:var(--ink)}.tab.active{color:var(--accent-ink)}.tab .ink{display:block;position:absolute;left:50%;bottom:1px;transform:translateX(-50%);height:3px;width:0;border-radius:99px;background:var(--rainbow);transition:width .28s cubic-bezier(.3,.8,.3,1)}.tab.active .ink{width:100%}.tab .pip{display:none}@media (max-width:880px){.tab{font-size:0;padding:8px 6px}.tab .pip{display:block;font-size:11px;letter-spacing:.06em}.nav{height:64px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;cursor:pointer;border-radius:var(--r-pill);font-family:var(--sans);font-weight:700;letter-spacing:.06em;font-size:13.5px;text-transform:uppercase;padding:13px 22px;transition:transform .16s ease,box-shadow .2s ease,background .2s;white-space:nowrap}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn-primary{background:var(--grad-action);color:#fff;box-shadow:0 10px 28px rgba(255,79,135,.42)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(255,79,135,.52);background:var(--grad-action-hi)}.btn-primary:active{transform:translateY(0)}.btn-ghost{background:var(--panel-strong);color:var(--ink);box-shadow:var(--sh-sm);border:1px solid var(--line)}.btn-ghost:hover{transform:translateY(-2px);box-shadow:var(--sh)}.btn-soft{background:var(--accent-wash);color:var(--accent-ink)}.btn-soft:hover{background:#ffe6ee}.btn-lg{padding:16px 30px;font-size:15px}.btn-sm{padding:9px 15px;font-size:12px}.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none!important}.icon-btn{width:42px;height:42px;padding:0;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;background:var(--panel-strong);border:1px solid var(--line);box-shadow:var(--sh-sm);cursor:pointer;color:var(--ink-soft);transition:transform .16s,box-shadow .2s,color .2s}.icon-btn:hover{transform:translateY(-2px);box-shadow:var(--sh);color:var(--accent-ink)}.eyebrow{font-size:var(--t-micro);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-ink)}.serif{font-family:var(--serif)}.h-display{font-size:var(--t-display);line-height:1;letter-spacing:-.015em}.h-1,.h-display{font-family:var(--serif);font-weight:700;color:var(--ink)}.h-1{font-size:var(--t-h1);line-height:1.05;letter-spacing:-.01em}.h-2{font-family:var(--serif);font-weight:600;font-size:var(--t-h2);line-height:1.1;color:var(--ink)}.lead{font-size:17px;color:var(--ink-soft);line-height:1.55}.muted{color:var(--muted)}.rainbow-text{background:var(--rainbow);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:saturate(.85)}.page{flex:1 1;padding:clamp(24px,3.4vw,46px) clamp(20px,4vw,52px) 90px;max-width:1380px;width:100%;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(20px,2.6vw,34px);flex-wrap:wrap}.page-head .titles{max-width:640px}.page-head .h-display{margin:6px 0 0}.card{border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh)}.card,.gchip{background:var(--card)}.gchip{position:relative;border:1px solid var(--line);border-radius:var(--r-chip);box-shadow:var(--sh-sm);cursor:pointer;overflow:hidden;transition:transform .16s ease,box-shadow .2s ease,border-color .2s;aspect-ratio:1/1;display:grid;place-items:center;padding:10px}.gchip img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(80,60,120,.14));transition:transform .22s ease}.gchip:hover{transform:translateY(-3px);box-shadow:var(--sh)}.gchip:hover img{transform:scale(1.05)}.gchip.selected{border-color:var(--accent);box-shadow:var(--ring),var(--sh-sm)}.gchip .check{position:absolute;top:8px;right:8px;z-index:3;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;display:none;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(255,122,168,.5)}.gchip.selected .check{display:flex;animation:pop .26s cubic-bezier(.2,1.4,.4,1)}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}.gchip .layer-add{position:absolute;top:8px;left:8px;z-index:3;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;border:2px solid #fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 10px rgba(155,92,255,.45);transition:transform .16s ease,filter .16s ease;animation:pop .22s cubic-bezier(.2,1.4,.4,1)}.gchip .layer-add:hover{transform:scale(1.12);filter:brightness(1.06)}.placeholder{position:relative;border-radius:var(--r-card);overflow:hidden;background:repeating-linear-gradient(135deg,rgba(120,104,168,.06) 0 11px,rgba(120,104,168,.012) 11px 22px),var(--rainbow-soft);display:grid;place-items:center;color:var(--faint);border:1px dashed var(--line-strong)}.placeholder .ptag{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;letter-spacing:.04em;color:var(--muted);text-transform:lowercase}.empty{display:grid;place-items:center;text-align:center;padding:clamp(40px,7vw,90px) 24px}.empty .orb{width:118px;height:118px;border-radius:50%;margin-bottom:22px;display:grid;place-items:center;background:radial-gradient(circle at 38% 32%,#fff,var(--accent-wash) 62%);box-shadow:var(--sh),inset 0 0 0 1px var(--line)}.empty h3{font-family:var(--serif);font-weight:600;font-size:26px;margin:0 0 8px;color:var(--ink)}.empty p{margin:0 0 22px;color:var(--muted);max-width:380px}.toast-wrap{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);z-index:80;flex-direction:column;pointer-events:none}.toast,.toast-wrap{display:flex;gap:10px;align-items:center}.toast{background:var(--ink);color:#fff;padding:12px 18px;border-radius:var(--r-pill);box-shadow:var(--sh-lg);font-size:14px;font-weight:600;animation:toastIn .4s cubic-bezier(.2,1.2,.3,1)}.toast .dot{width:9px;height:9px;border-radius:50%;background:var(--accent)}@keyframes toastIn{0%{opacity:0;transform:translateY(16px) scale(.96)}}.scroll::-webkit-scrollbar{width:10px;height:10px}.scroll::-webkit-scrollbar-thumb{background:rgba(120,104,168,.22);border-radius:99px;border:3px solid transparent;background-clip:content-box}.scroll::-webkit-scrollbar-thumb:hover{background:rgba(120,104,168,.4);background-clip:content-box}.style-grid{display:grid;grid-template-columns:minmax(0,600px) 372px;justify-content:center;grid-gap:clamp(14px,1.6vw,22px);gap:clamp(14px,1.6vw,22px);align-items:start}@media (max-width:1040px){.style-grid{grid-template-columns:minmax(0,600px);justify-content:center}}.stage-col{display:block}.stage-card{position:relative;border:0;border-radius:var(--r-lg);box-shadow:var(--sh);overflow:hidden;width:100%}.stage-toolbar{position:absolute;top:16px;left:16px;right:16px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.stage-toolbar>*{pointer-events:auto}.stage{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:3/4;width:100%;background:radial-gradient(120% 80% at 50% 6%,#ffffff 0,#fbf3fb 46%,#f3ecfb 100%);touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.stage:after{content:"";left:0;right:0;height:26%;background:linear-gradient(180deg,transparent,rgba(202,186,232,.16))}.doll-img,.stage:after{position:absolute;bottom:0}.doll-img{left:50%;transform:translateX(-50%);height:96%;width:auto;object-fit:contain;filter:drop-shadow(0 24px 36px rgba(120,100,160,.2));pointer-events:none}.layer{position:absolute;cursor:-webkit-grab;cursor:grab;touch-action:none;transition:filter .2s}.layer img{width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 10px 16px rgba(90,70,130,.28));-webkit-user-drag:none}.layer.dragging{cursor:-webkit-grabbing;cursor:grabbing;filter:drop-shadow(0 0 0 transparent);z-index:50!important}.layer .frame{position:absolute;inset:-7px;border:2px dashed var(--accent);border-radius:14px;opacity:0;transition:opacity .15s;pointer-events:none}.layer.sel .frame{opacity:1}.layer .handle{bottom:-13px;cursor:nwse-resize}.layer .del,.layer .handle{position:absolute;width:24px;height:24px;right:-13px;border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:var(--sh-sm);display:none;align-items:center;justify-content:center;color:var(--accent-ink);z-index:3}.layer .del{top:-13px;cursor:pointer}.layer .toback,.layer .tofront{position:absolute;width:24px;height:24px;left:-13px;border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:var(--sh-sm);display:none;cursor:pointer;align-items:center;justify-content:center;color:var(--accent-ink);z-index:3}.layer .tofront{top:-13px}.layer .toback{bottom:-13px}.layer .tofront svg{transform:rotate(180deg)}.layer.sel .del,.layer.sel .handle,.layer.sel .toback,.layer.sel .tofront{display:flex}.layer .toback:after,.layer .tofront:after{content:attr(data-tip);position:absolute;left:calc(100% + 7px);top:50%;transform:translateY(-50%);background:var(--ink);color:#fff;font-size:11px;font-weight:700;padding:4px 9px;border-radius:7px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .14s ease;z-index:12;box-shadow:var(--sh-sm)}.layer .toback:hover:after,.layer .tofront:hover:after{opacity:1}.stage-hint{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px}.stage-hint .bubble{background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:var(--r-pill);padding:13px 22px;box-shadow:var(--sh);font-weight:600;color:var(--ink-soft);display:flex;align-items:center;gap:9px;white-space:nowrap;animation:bob 2.6s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-7px)}}.worn{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding:0 6px}.worn .tagchip{display:flex;align-items:center;gap:7px;background:var(--accent-wash);color:var(--accent-ink);border-radius:var(--r-pill);padding:6px 12px 6px 6px;font-size:12.5px;font-weight:600}.worn .tagchip img{width:22px;height:22px;object-fit:contain;border-radius:6px;background:#fff}.rail{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);padding:8px;max-height:calc(100vh - var(--nav-h) - 64px);overflow:auto;position:-webkit-sticky;position:sticky;top:calc(var(--nav-h) + 16px)}.rail-head{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 12px}.rail-head .eyebrow,.rail-head .muted{white-space:nowrap}.rail-head .eyebrow{color:var(--accent-ink)}.cat{border-top:1px solid var(--line)}.cat:first-of-type{border-top:0}.cat-head{width:100%;justify-content:space-between;background:none;border:0;cursor:pointer;padding:14px 14px 12px}.cat-head,.cat-head .lbl{display:flex;align-items:center}.cat-head .lbl{gap:10px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap}.cat-head .count{font-size:11px;color:var(--faint);background:var(--bg-soft);border-radius:99px;padding:2px 9px;font-weight:700;letter-spacing:.04em}.cat-head .chev{color:var(--muted);transition:transform .24s ease}.cat.open .chev{transform:rotate(180deg)}.cat-body{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;padding:2px 14px 18px}.cat:not(.open) .cat-body{display:none}.cat-body .gchip{border-radius:14px;padding:8px}.cat-empty{grid-column:1/-1;color:var(--faint);font-size:12.5px;padding:4px 2px 8px}.reveal-scrim{position:fixed;inset:0;z-index:90;background:rgba(40,30,60,.34);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px;overflow:auto;animation:fade .3s ease}@keyframes fade{0%{opacity:0}}.reveal-card{position:relative;width:min(460px,92vw,56vh);max-height:96vh;background:var(--card);border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:18px;text-align:center}.reveal-stage{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:3/4;background:radial-gradient(120% 90% at 50% 0,#fff,var(--accent-wash) 55%,#f1e9fb 100%)}.reveal-stage .doll-img{height:96%;filter:drop-shadow(0 24px 36px rgba(120,100,160,.22)) saturate(1.05) contrast(1.02)}.reveal-stage .sheen{position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.7) 48%,transparent 66%);transform:translateX(-120%)}.reveal-stage.styling .sheen{animation:sweep 1.15s ease-in-out infinite}@keyframes sweep{to{transform:translateX(120%)}}.styling-veil{position:absolute;inset:0;display:grid;place-items:center;background:rgba(255,255,255,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.styling-veil .ring{width:64px;height:64px;border-radius:50%;border:3px solid rgba(255,122,168,.25);border-top:3px solid var(--accent);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.reveal-meta{padding:18px 8px 6px}.reveal-card .closex{position:absolute;top:12px;right:12px;z-index:5}.compete-head{text-align:center;margin-bottom:clamp(22px,2.8vw,38px)}.compete-title{white-space:nowrap;margin:0}.compete-sub{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:12px 0 0}.compete-wrap{max-width:980px;margin:0 auto}.versus{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:clamp(14px,3vw,40px);gap:clamp(14px,3vw,40px);align-items:center}@media (max-width:720px){.versus{grid-template-columns:1fr}}.look-card{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--card);border:1px solid var(--line);box-shadow:var(--sh);cursor:pointer;transition:transform .2s ease,box-shadow .25s ease}.look-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}.look-card .pic{aspect-ratio:3/4;position:relative;overflow:hidden}.look-card .pic img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}.look-card .grad{position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(40,30,60,.5))}.look-card .cap{position:absolute;left:0;right:0;bottom:0;padding:18px;color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.look-card .cap .nm{font-family:var(--serif);font-style:italic;font-size:21px}.look-card .cap .sc{font-size:12px;font-weight:700;letter-spacing:.06em;opacity:.86}.look-card .pickbadge{position:absolute;inset:0;display:grid;place-items:center;background:rgba(255,122,168,.32);opacity:0;transition:opacity .2s}.look-card:hover .pickbadge{opacity:1}.look-card .pickbadge span{background:#fff;color:var(--accent-ink);border-radius:var(--r-pill);padding:12px 22px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:13px;box-shadow:var(--sh)}.vs{font-family:var(--serif);font-style:italic;font-size:clamp(28px,4vw,48px);color:var(--accent-ink);text-align:center}.vs small{display:block;font-family:var(--sans);font-style:normal;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:4px}.filterbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.fchip{border:1px solid var(--line);background:var(--card);color:var(--ink-soft);border-radius:var(--r-pill);padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s}.fchip:hover{border-color:var(--line-strong)}.fchip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:clamp(14px,1.8vw,22px);gap:clamp(14px,1.8vw,22px)}.onboard-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(20px,4vh,48px) 20px}.onboard-card{width:min(900px,100%);background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:clamp(24px,3.2vw,42px)}.onboard-hero{display:flex;gap:clamp(22px,3.5vw,46px);align-items:center}.onboard-pose{flex:0 0 auto;width:min(248px,40%);height:auto;align-self:center}.onboard-intro{flex:1 1;min-width:0;text-align:left}.onboard-title{font-size:clamp(23px,2.3vw,30px);font-style:italic;line-height:1.12;margin:7px 0 13px}.onboard-desc{margin:0 0 22px;line-height:1.55}.onboard-cta{width:100%}.onboard-steps{margin-top:clamp(24px,3vw,34px);border-top:1px solid var(--line);padding-top:24px}.howto{list-style:none;margin:0;padding:0;display:grid;grid-gap:13px;gap:13px;counter-reset:howto}.howto li{counter-increment:howto;position:relative;padding-left:38px;color:var(--ink-soft);font-weight:600;line-height:1.45}.howto li:before{content:counter(howto);position:absolute;left:0;top:-1px;width:25px;height:25px;border-radius:50%;background:var(--accent-wash);color:var(--accent-ink);font-weight:800;font-size:13px;display:grid;place-items:center}.howto-row{grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.2vw,30px);align-items:start}@media (max-width:760px){.onboard-hero{flex-direction:column;text-align:center;gap:18px}.onboard-pose{width:min(210px,58%)}.onboard-intro{text-align:center}.howto-row{grid-template-columns:1fr 1fr;text-align:left}}@media (max-width:460px){.howto-row{grid-template-columns:1fr}}.closet-masonry{column-width:200px;column-gap:clamp(14px,1.8vw,22px)}.closet-masonry .closet-item{page-break-inside:avoid;break-inside:avoid;margin-bottom:clamp(14px,1.8vw,22px)}.closet-item{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-sm);overflow:hidden;transition:transform .18s,box-shadow .22s}.closet-item:hover{transform:translateY(-4px);box-shadow:var(--sh)}.del-btn{opacity:0;transition:opacity .15s ease}.closet-item:hover .del-btn,.del-btn:focus-visible,.look-card:hover .del-btn{opacity:1}@media (hover:none){.del-btn{opacity:1}}.closet-item .thumb{display:block;padding:14px;background:linear-gradient(180deg,#fff,#fcf8ff)}.closet-item .thumb img{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(90,70,130,.16))}.closet-item .thumb .placeholder{aspect-ratio:1/1}.closet-item .meta{padding:14px 16px 16px;border-top:1px solid var(--line)}.closet-item .meta .nm{font-family:var(--serif);font-size:17px;color:var(--ink)}.closet-item .meta .ct{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);margin-top:3px}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.tag{font-size:11px;color:var(--muted);background:var(--bg-soft);border-radius:99px;padding:3px 10px}.dropzone{border:2px dashed var(--line-strong);border-radius:var(--r-lg);background:linear-gradient(180deg,#fff,#fcf8ff);padding:clamp(28px,5vw,56px);text-align:center;transition:all .2s;cursor:pointer}.dropzone.hot{border-color:var(--accent);background:var(--accent-wash);transform:translateY(-2px);box-shadow:var(--sh)}.dropzone .orb{width:88px;height:88px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;background:radial-gradient(circle at 38% 32%,#fff,var(--accent-wash) 64%);box-shadow:var(--sh-sm),inset 0 0 0 1px var(--line)}.add-methods{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}.add-methods .m{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:10px 16px;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer;font-family:inherit;transition:transform .15s,box-shadow .2s,border-color .2s}.add-methods .m:hover{transform:translateY(-2px);box-shadow:var(--sh-sm);border-color:var(--line-strong)}.add-methods .m svg{color:var(--accent-ink)}.import-tabs{display:flex;gap:8px;padding:16px 24px 0}.import-tabs .it{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:var(--r-pill);padding:9px 15px;font-size:12.5px;font-weight:700;color:var(--ink-soft);cursor:pointer;font-family:inherit;transition:background .18s,color .18s,border-color .18s}.import-tabs .it svg,.import-tabs .it.on{color:var(--accent-ink)}.import-tabs .it.on{background:var(--accent-wash);border-color:transparent}.upload-preview{display:flex;flex-direction:column;align-items:center;gap:14px;background:linear-gradient(180deg,#fff,#fcf8ff);border:1px solid var(--line);border-radius:16px;padding:20px}.upload-preview img{max-height:248px;max-width:100%;object-fit:contain;border-radius:10px;filter:drop-shadow(0 12px 20px rgba(90,70,130,.18))}.paste-target{display:grid;place-items:center;text-align:center;border:2px dashed var(--line-strong);border-radius:16px;padding:36px 18px;cursor:pointer;background:linear-gradient(180deg,#fff,#fcf8ff);transition:border-color .2s,background .2s}.paste-target:hover{border-color:var(--accent);background:var(--accent-wash)}.paste-target .orb{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 38% 32%,#fff,var(--accent-wash) 64%);box-shadow:var(--sh-sm),inset 0 0 0 1px var(--line);color:var(--accent-ink)}.modal-scrim{position:fixed;inset:0;z-index:88;background:rgba(40,30,60,.34);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px;overflow:auto;animation:fade .25s ease}.modal{width:min(560px,94vw);max-height:92vh;display:flex;flex-direction:column;background:var(--card);border-radius:var(--r-lg);box-shadow:var(--sh-lg);overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.modal-body{padding:24px;display:grid;grid-gap:18px;gap:18px;overflow:auto;min-height:0}.field label{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.field input,.field select{width:100%;font-family:var(--sans);font-size:15px;color:var(--ink);padding:13px 16px;border:1px solid var(--line-strong);border-radius:14px;background:#fff;transition:box-shadow .15s,border-color .15s}.field input:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.url-row{display:flex;gap:10px}.url-row input{flex:1 1}.carousel{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 8px}.carousel .opt{flex:0 0 96px;height:96px;border-radius:14px;border:2px solid var(--line);overflow:hidden;cursor:pointer;background:#fff;display:grid;place-items:center;padding:8px;transition:border-color .15s,transform .15s}.carousel .opt:hover{transform:translateY(-2px)}.carousel .opt.sel{border-color:var(--accent);box-shadow:var(--ring)}.carousel .opt img{width:100%;height:100%;object-fit:contain}.modal-foot{justify-content:space-between;gap:12px;padding:18px 24px;border-top:1px solid var(--line);background:var(--bg-soft)}.modal-foot,.stay{display:flex;align-items:center}.stay{gap:9px;font-size:13px;color:var(--muted);font-weight:600;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch{width:40px;height:23px;border-radius:99px;background:var(--line-strong);position:relative;transition:background .2s}.switch.on{background:var(--accent)}.switch i{position:absolute;top:2.5px;left:2.5px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:left .2s}.switch.on i{left:19px}.masonry{columns:220px 4;column-gap:clamp(14px,1.6vw,20px)}.masonry>*{page-break-inside:avoid;break-inside:avoid;margin-bottom:clamp(14px,1.6vw,20px)}.look-tile{position:relative;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sh-sm);border:1px solid var(--line);cursor:pointer;background:var(--card);transition:transform .2s,box-shadow .25s}.look-tile:hover{transform:translateY(-4px);box-shadow:var(--sh)}.look-tile img{width:100%;display:block}.look-tile .ov{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(40,30,60,.55));opacity:0;transition:opacity .2s;display:flex;align-items:flex-end;padding:16px}.look-tile:hover .ov{opacity:1}.look-tile .ov .nm{color:#fff;font-family:var(--serif);font-style:italic;font-size:18px}.lightbox{position:fixed;inset:0;z-index:92;background:rgba(40,30,60,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;padding:28px;overflow:auto;animation:fade .25s}.lightbox .frame{width:min(440px,92vw);max-height:92vh;overflow:auto;background:var(--card);border-radius:var(--r-lg);box-shadow:var(--sh-lg)}.lightbox .frame .pic{aspect-ratio:3/4;max-height:68vh;background:radial-gradient(120% 90% at 50% 0,#fff,var(--accent-wash) 60%,#f1e9fb);display:grid;place-items:center}.lightbox .frame .pic img{height:96%;object-fit:contain;filter:drop-shadow(0 24px 36px rgba(120,100,160,.22))}.lightbox .frame .pic.closet{aspect-ratio:1/1;background:linear-gradient(180deg,#fff,#fcf8ff)}.lightbox .frame .pic.closet img{width:88%;height:88%;object-fit:contain}.lb-nav{position:fixed;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:var(--panel-strong);border:1px solid var(--line);box-shadow:var(--sh);display:grid;place-items:center;cursor:pointer;color:var(--ink);z-index:93;transition:transform .16s,color .2s,box-shadow .2s}.lb-nav:hover{color:var(--accent-ink);transform:translateY(-50%) scale(1.07);box-shadow:var(--sh-lg)}.lb-nav:disabled{opacity:.4;cursor:default}.lb-nav.left{left:max(16px,4vw)}.lb-nav.right{right:max(16px,4vw)}@media (max-width:680px){.lb-nav{width:42px;height:42px}}.runway-stage{position:relative;border-radius:var(--r-lg);overflow:hidden;height:clamp(520px,68vh,720px);box-shadow:var(--sh-lg);background:radial-gradient(130% 90% at 50% -10%,#fff 0,#fce9f1 30%,#efe2fb 64%,#e2ecff 100%)}.spotlight{top:-6%;width:62%;height:120%;background:radial-gradient(circle at 50% 0,rgba(255,255,255,.85),rgba(255,255,255,0) 60%);pointer-events:none}.carpet,.spotlight{position:absolute;left:50%;transform:translateX(-50%)}.carpet{bottom:0;width:70%;height:34%;background:linear-gradient(180deg,rgba(255,156,189,.5),rgba(255,182,150,.34));-webkit-clip-path:polygon(34% 0,66% 0,100% 100%,0 100%);clip-path:polygon(34% 0,66% 0,100% 100%,0 100%)}.carpet:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 2px,transparent 2px 26px);-webkit-clip-path:inherit;clip-path:inherit}.runway-card-wrap{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:5%;z-index:3}.runway-card-enter{height:84%;aspect-ratio:3/4;animation:walkIn 1.1s cubic-bezier(.2,.7,.3,1) both}@keyframes walkIn{0%{transform:translateY(34px) scale(.94);opacity:0}}.runway-card{width:100%;height:100%;border-radius:22px;overflow:hidden;box-shadow:var(--sh-lg);border:6px solid #fff;background:#fff}.runway-card.dance{transform-origin:50% 96%;animation:sway 2.3s cubic-bezier(.76,0,.24,1) infinite}@keyframes sway{0%{transform:rotate(0)}18%,40%{transform:rotate(-5.5deg)}60%,82%{transform:rotate(5.5deg)}to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.runway-card.dance{animation:none}}.runway-done{z-index:5;justify-items:center;text-align:center}.countdown,.runway-done{position:absolute;inset:0;display:grid;place-content:center}.countdown{z-index:6;place-items:center;padding-bottom:8vh;font-family:var(--serif);font-style:italic;font-weight:700;font-size:clamp(140px,24vw,300px);color:var(--accent-ink);text-shadow:0 8px 30px rgba(155,92,255,.35);pointer-events:none}.countdown span{display:block;animation:countPop .5s cubic-bezier(.2,.8,.2,1) both}@keyframes countPop{0%{transform:scale(.2);opacity:0}18%{opacity:1}to{transform:scale(2);opacity:0}}.runway-name{position:absolute;top:30px;left:0;right:0;text-align:center;z-index:4}.runway-controls{right:22px;gap:10px}.look-switch,.runway-controls{position:absolute;bottom:22px;z-index:5;display:flex}.look-switch{left:22px;gap:8px}.look-switch .dot{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.7);border:1px solid var(--line-strong);cursor:pointer;transition:transform .15s}.look-switch .dot.on{background:var(--accent);transform:scale(1.3)}.confetti{position:fixed;inset:0;z-index:95;pointer-events:none;overflow:hidden}.confetti i{position:absolute;top:-12px;width:9px;height:14px;border-radius:2px;animation:fall linear forwards}@keyframes fall{to{transform:translateY(108vh) rotate(2turn);opacity:.85}}.spark{position:absolute;width:14px;height:14px;pointer-events:none;color:var(--accent);animation:sparkPop .8s ease-out forwards}@keyframes sparkPop{0%{transform:scale(0) rotate(0);opacity:0}30%{opacity:1}to{transform:scale(1.6) rotate(90deg);opacity:0}}.app{position:relative;z-index:1}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gen-label{display:inline-flex;align-items:center;gap:6px;color:var(--accent-ink)!important;animation:genPulse 1.1s ease-in-out infinite}@keyframes genPulse{50%{opacity:.5}}.gen-field input,.gen-field select,input.gen-field,select.gen-field{background-image:linear-gradient(100deg,#fff 25%,var(--accent-wash) 50%,#fff 75%);background-size:220% 100%;border-color:var(--accent)!important;animation:genShimmer 1.15s linear infinite}@keyframes genShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.auth-wrap{position:relative;z-index:1;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--s5)}.auth-card{width:100%;max-width:380px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-sm);padding:var(--s6) var(--s5)}.auth-label{display:block;font-size:var(--t-small);color:var(--ink-soft);margin-top:var(--s4)}.auth-input{display:block;width:100%;margin-top:6px;padding:11px 14px;font-size:var(--t-body);color:var(--ink);background:var(--bg-soft);border:1px solid var(--line-strong);border-radius:var(--r-chip);outline:none}.auth-input:focus{border-color:var(--accent)}.auth-error{color:#c0356b;font-size:var(--t-small);margin-top:var(--s4);margin-bottom:0}.auth-link{color:var(--accent-ink);font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.who{display:flex;align-items:center;gap:10px;white-space:nowrap}.who-name{font-size:var(--t-small);color:var(--ink-soft);font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis}@media (max-width:720px){.who-name{display:none}}.logout-link{border:0;background:none;padding:0;cursor:pointer;font-size:var(--t-micro);color:var(--faint);letter-spacing:.02em}.logout-link:hover{color:var(--accent-ink);text-decoration:underline}.coll-switch{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto var(--s4)}.chip{border:1px solid var(--line-strong);background:var(--panel-strong);color:var(--ink-soft);border-radius:var(--r-pill);padding:7px 16px;font-size:var(--t-small);font-weight:600;cursor:pointer}.chip:hover{color:var(--ink)}.chip.active,.chip:hover{border-color:var(--accent)}.chip.active{background:var(--accent-wash);color:var(--accent-ink)}.invite-wrap{margin-bottom:var(--s4)}.invite-row,.invite-wrap{display:flex;justify-content:center}.invite-row{align-items:center;flex-wrap:wrap;gap:8px}.invite-input{width:auto;min-width:180px;margin-top:0;padding:8px 14px}.invite-ok{color:var(--accent-ink)}.invite-err,.invite-ok{font-size:var(--t-small)}.invite-err{color:#c0356b}