:root{color-scheme:dark;--bg:#0a0b0d;--raised:#121419;--overlay:#181b22;--sunken:#0e1014;--border:#20242c;--border-strong:#363b45;--text:#e6e8ea;--text-2:#9ba1ad;--text-3:#5b616e;--accent:#7cff4d;--accent-press:#5ad636;--accent-subtle:rgba(124,255,77,0.12);--accent-text:#8dffa8;--on-accent:#07120b;--danger:#ff5c5c;--radius:14px;--glow:0 0 26px -6px rgba(124,255,77,0.55);--shadow:0 28px 60px -28px rgba(0,0,0,0.75)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;scrollbar-color:var(--border-strong) transparent}body{font-family:var(--font-sans),system-ui,sans-serif;color:var(--text);background:var(--bg);background-image:radial-gradient(60% 50% at 100% 0,rgba(124,255,77,.04),transparent 70%);background-attachment:fixed;min-height:100vh;overflow-x:hidden}body:after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}::selection{background:var(--accent-subtle);color:var(--text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px}::-webkit-scrollbar-track{background:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:-webkit-autofill{-webkit-text-fill-color:var(--text);-webkit-transition:background-color 9999s;transition:background-color 9999s;box-shadow:0 0 0 1000px var(--sunken) inset}.shell{display:grid;grid-template-columns:1fr;min-height:100vh}@media (min-width:900px){.shell{grid-template-columns:248px 1fr}}.sidebar{display:flex;flex-direction:column;gap:1.6rem;padding:1.6rem 1.2rem;background:var(--raised);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:40}@media (min-width:900px){.sidebar{height:100vh;border-bottom:none;border-right:1px solid var(--border)}}.side-brand{font-family:var(--font-sans),sans-serif;font-size:1.18rem;font-weight:600;letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem}.side-brand .spark{color:var(--accent);filter:drop-shadow(0 0 8px rgba(124,255,77,.6))}.nav{display:flex;flex-direction:column;gap:.2rem}.nav button{display:flex;align-items:center;gap:.7rem;font-family:var(--font-mono),monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.6rem .7rem;border-radius:10px;border:none;background:none;color:var(--text-2);cursor:pointer;text-align:left;transition:background .18s,color .18s}.nav button:hover{background:rgba(255,255,255,.04);color:var(--text)}.nav button.on{background:var(--accent-subtle);color:var(--text)}.nav button .mk{width:7px;height:7px;border-radius:2px;background:currentColor;opacity:.4;transition:all .18s}.nav button.on .mk{background:var(--accent);opacity:1;box-shadow:var(--glow)}.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:.85rem}.side-new{width:100%}.chip{font-family:var(--font-mono),monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);display:flex;align-items:center;gap:.4rem}.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:var(--glow)}@media (max-width:899px){.sidebar{align-items:center;gap:1rem;padding:.85rem 1.25rem}.nav,.sidebar{flex-direction:row}.nav{gap:.1rem}.side-foot{margin:0 0 0 auto;flex-direction:row;align-items:center}.side-foot .chip{display:none}.side-new{width:auto}}.main{min-width:0}.page{max-width:1080px;margin:0 auto;padding:clamp(1.75rem,4vw,3.25rem) clamp(1.25rem,5vw,3rem) 5rem;animation:rise .6s cubic-bezier(.16,1,.3,1) both}.page-title{font-family:var(--font-sans),sans-serif;font-weight:600;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1;letter-spacing:-.045em;margin-bottom:.5rem;text-wrap:balance;background:linear-gradient(178deg,var(--text) 38%,rgba(230,232,234,.42));-webkit-background-clip:text;background-clip:text;color:transparent}.page-title em{font-style:normal;-webkit-text-fill-color:var(--accent);color:var(--accent)}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono),monospace;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-2);padding:.4rem .75rem;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.02);margin-bottom:1.2rem}.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:var(--glow)}.arr{display:inline-block;transition:transform .2s}.btn .arr{margin-left:.5rem}.btn:hover .arr{transform:translateX(3px)}.section-label{font-family:var(--font-mono),monospace;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);display:flex;align-items:center;gap:.7rem;margin:2.4rem 0 1.1rem}.section-label:after{content:"";flex:1 1;height:1px;background:var(--border)}.empty{font-size:.74rem;color:var(--text-3);padding:2rem 0;text-align:center}.empty,.linkish{font-family:var(--font-mono),monospace}.linkish{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;background:none;border:none;color:var(--text-2);cursor:pointer;transition:color .18s}.linkish:hover{color:var(--accent)}.btn{font-family:var(--font-mono),monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:.8rem 1rem;border-radius:11px;border:1px solid var(--border-strong);background:transparent;color:var(--text);cursor:pointer;transition:transform .18s,background .18s,box-shadow .18s,border-color .18s}.btn:hover{transform:translateY(-1px);background:var(--overlay)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600;box-shadow:var(--glow)}.btn.primary:hover{background:var(--accent-press);border-color:var(--accent-press)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:.9rem;gap:.9rem}.card{position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;background:var(--sunken);border:1px solid var(--border);cursor:pointer;transition:transform .22s,border-color .22s}.card:after{content:"";position:absolute;inset:0;border-radius:var(--radius);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);pointer-events:none}.card:hover{transform:translateY(-3px);border-color:var(--border-strong)}.card img{width:100%;height:100%;object-fit:cover;display:block;background:var(--sunken)}.card.result-in img{animation:develop .9s cubic-bezier(.16,1,.3,1) both}.card .state{position:absolute;inset:0;display:grid;place-items:center;align-content:center;grid-gap:.55rem;gap:.55rem;padding:.8rem;text-align:center;font-family:var(--font-mono),monospace;font-size:.64rem;letter-spacing:.06em;color:var(--text-2);background:var(--sunken)}.card .state.err{color:var(--danger)}.card .badge{position:absolute;top:.55rem;left:.55rem;z-index:1;font-family:var(--font-mono),monospace;font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .45rem;border-radius:6px;background:rgba(8,9,11,.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);color:var(--text)}.card.add{display:grid;place-items:center;align-content:center;grid-gap:.5rem;gap:.5rem;border-style:dashed;background:var(--raised)}.card.add span:not(.drop-mark){font-family:var(--font-mono),monospace;font-size:.64rem;letter-spacing:.06em;color:var(--text-3)}.card.add:hover .drop-mark{border-color:var(--accent);color:var(--accent)}.card.add.dragging{border-color:var(--accent);background:var(--accent-subtle)}.drop-mark{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--border-strong);color:var(--text-2);display:grid;place-items:center;font-size:1.2rem;transition:all .25s cubic-bezier(.34,1.56,.64,1)}.spin{width:24px;height:24px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.detail{display:grid;grid-gap:clamp(1.5rem,4vw,2.5rem);gap:clamp(1.5rem,4vw,2.5rem)}@media (min-width:820px){.detail{grid-template-columns:.9fr 1.1fr;align-items:start}}.hero{position:relative;aspect-ratio:4/5;border-radius:18px;overflow:hidden;border:1px solid var(--border);background:var(--sunken);box-shadow:var(--shadow)}.hero img{width:100%;height:100%;object-fit:cover}.hero .state{position:absolute;inset:0;display:grid;place-items:center}.composer{background:var(--raised);border:1px solid var(--border);border-radius:18px;padding:clamp(1.1rem,3vw,1.6rem)}.seg{display:inline-flex;background:var(--sunken);border:1px solid var(--border);border-radius:999px;padding:3px;margin-bottom:1.1rem}.seg button{font-family:var(--font-mono),monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:.5rem 1.05rem;border:none;background:none;border-radius:999px;color:var(--text-2);cursor:pointer;transition:background .18s,color .18s}.seg button.on{background:var(--text);color:var(--bg)}.field{margin-bottom:1rem}.field label{display:block;font-family:var(--font-mono),monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:.5rem}.field textarea{width:100%;min-height:92px;resize:vertical;font-family:var(--font-sans),sans-serif;font-size:.95rem;color:var(--text);background:var(--sunken);border:1px solid var(--border);border-radius:11px;padding:.75rem .9rem;transition:border-color .18s,box-shadow .18s}.field textarea::placeholder{color:var(--text-3)}.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.garment-drop{display:flex;align-items:center;gap:.8rem;border:1.5px dashed var(--border);border-radius:11px;padding:.7rem .9rem;cursor:pointer;transition:border-color .18s,background .18s}.garment-drop:hover{border-color:var(--border-strong)}.garment-drop.set{border-style:solid;border-color:var(--accent);background:var(--accent-subtle)}.garment-drop .thumb{object-fit:cover;background:var(--sunken)}.garment-drop .ph,.garment-drop .thumb{width:46px;height:46px;border-radius:8px}.garment-drop .ph{display:grid;place-items:center;background:var(--overlay);font-size:1.1rem;color:var(--text-2)}.garment-drop small{font-family:var(--font-mono),monospace;font-size:.68rem;color:var(--text-2)}.composer .btn{width:100%;margin-top:.4rem}.avatar-pick{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem}.pick{flex:0 0 auto;width:58px;height:58px;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:var(--sunken);cursor:pointer;padding:0;display:grid;place-items:center;transition:border-color .18s,transform .18s}.pick:hover{transform:translateY(-2px)}.pick.on{border-color:var(--accent);box-shadow:var(--glow)}.pick img{width:100%;height:100%;object-fit:cover;display:block}.pick.add{border-style:dashed;color:var(--text-2);font-size:1.2rem}.pick .spin{width:18px;height:18px}.hint{display:block;margin-top:.5rem;font-family:var(--font-mono),monospace;font-size:.66rem;color:var(--text-3)}.shell:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 0);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 75% 55% at 50% 0,#000 45%,transparent 100%);mask-image:radial-gradient(ellipse 75% 55% at 50% 0,#000 45%,transparent 100%)}.grid:hover .card:not(:hover){opacity:.5;transform:scale(.985)}.grid .card:hover{transform:translateY(-3px) scale(1.02);border-color:var(--border-strong)}.card .cap{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:.65rem .7rem;font-family:var(--font-mono),monospace;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text);background:linear-gradient(0deg,rgba(8,9,11,.85),transparent);opacity:.85;transition:opacity .2s}.card:hover .cap{opacity:1}.card .cap .arr{color:var(--accent)}.card:hover .cap .arr{transform:translate(2px,-2px)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes develop{0%{opacity:0;-webkit-clip-path:inset(100% 0 0 0);clip-path:inset(100% 0 0 0)}to{opacity:1;-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.login{min-height:100dvh;display:grid;place-items:center;padding:1.5rem}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:.2rem;padding:2rem 1.8rem;background:var(--raised);border:1px solid var(--border);border-radius:16px}.login-card .field input{width:100%;padding:.7rem .85rem;background:var(--sunken);border:1px solid var(--border);border-radius:10px;color:var(--text);font:inherit;transition:border-color .18s}.login-card .field input:focus-visible{border-color:var(--accent)}.login-card .btn.primary{margin-top:.9rem;justify-content:center}.err-msg{color:var(--danger);font-size:.78rem;margin:.2rem 0 .1rem}.chip-out{font-family:var(--font-mono),monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text);opacity:.6;transition:opacity .18s,color .18s}.chip-out:hover{opacity:1;color:var(--accent)}.card .del{position:absolute;top:8px;right:8px;z-index:2;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;font-size:16px;line-height:1;background:rgba(8,9,11,.7);color:var(--text);border:1px solid var(--border);opacity:0;transition:opacity .15s,background .15s,color .15s,border-color .15s}.card:hover .del{opacity:1}.card .del:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.linkish.danger{color:var(--danger)}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_246ccd{font-family:Geist,Geist Fallback;font-style:normal}.__variable_246ccd{--font-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_c29908{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_c29908{--font-mono:"Geist Mono","Geist Mono Fallback"}