:root{--bg:#000;--surface:#121212;--surface-2:#1e1e1e;--line:#2a2a2a;--text:#fff;--muted:#ffffff9e;--accent:#fe2c55;--accent-2:#25f4ee;--gold:#facd3c;--ai:#b98cff;--tabbar-h:56px;--safe-b:env(safe-area-inset-bottom,0px);color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font:15px/1.35 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overscroll-behavior:none;background:#0b0b0b;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}p,h1,h2,h3{margin:0}.app{background:var(--bg);flex-direction:column;max-width:430px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}@media (width>=600px){.app{border-radius:28px;height:min(100dvh,900px);top:50%;transform:translateY(-50%);box-shadow:0 0 0 1px #222,0 30px 80px #0009}}.viewport{flex:1;min-height:0;position:relative;overflow:hidden}.filters{z-index:5;scrollbar-width:none;pointer-events:none;background:linear-gradient(#00000073,#0000);justify-content:center;gap:16px;padding:14px 12px 24px;display:flex;position:absolute;inset:0 0 auto;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.filters button{pointer-events:auto;color:var(--muted);text-shadow:0 1px 3px #00000080;border-bottom:2px solid #0000;flex:none;padding-bottom:6px;font-weight:600}.filters button.is-on{color:#fff;border-color:#fff}.feed{scroll-snap-type:y mandatory;overscroll-behavior-y:contain;scrollbar-width:none;height:100%;overflow-y:scroll}.feed::-webkit-scrollbar{display:none}.feed.empty{color:var(--muted);place-items:center;display:grid}.snap{scroll-snap-align:start;scroll-snap-stop:always;height:100%}.slide{-webkit-user-select:none;user-select:none;background:#111;height:100%;position:relative;overflow:hidden}.media{position:absolute;inset:0}.media video{object-fit:cover;width:100%;height:100%}.scene{background:linear-gradient(160deg, var(--from), var(--to));background-size:200% 200%;animation:9s ease-in-out infinite alternate drift;position:absolute;inset:0;overflow:hidden}.scene:after{content:"";background:linear-gradient(#00000026,#0000 30% 55%,#0009);position:absolute;inset:0}.scene-product{background:linear-gradient(90deg, #ffffff59, transparent 40%), var(--swatch);border-radius:18px 18px 26px 26px;width:84px;height:170px;margin-left:-42px;animation:3.2s ease-in-out infinite bob;position:absolute;top:30%;left:50%;box-shadow:0 24px 50px #00000059,inset 0 0 0 1px #ffffff40}.scene-product:before{content:"";background:#1a1a1a;border-radius:8px 8px 2px 2px;height:38px;position:absolute;top:-34px;left:18px;right:18px}.scene-swipe{background:var(--swatch);opacity:.85;filter:blur(1px);transform-origin:0;border-radius:20px;width:64%;height:26px;animation:2.6s ease-in-out infinite swipe;position:absolute;top:64%;left:18%}.scene-text{z-index:1;color:#000;text-align:center;background:#fff;border-radius:8px;max-width:80%;padding:6px 12px;font-size:17px;font-weight:700;animation:.35s ease-out pop;position:absolute;top:16%;left:50%;transform:translate(-50%)}.scene.is-paused,.scene.is-paused *{animation-play-state:paused}@keyframes drift{0%{background-position:0 0}to{background-position:100% 100%}}@keyframes bob{50%{transform:translateY(-10px)rotate(-3deg)}}@keyframes swipe{0%{opacity:0;transform:scaleX(0)}20%{opacity:.85}60%,to{opacity:.85;transform:scaleX(1)}}@keyframes pop{0%{opacity:0;transform:translate(-50%)scale(.85)}}.paused-icon{opacity:.7;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.paused-icon svg{width:72px;height:72px}.burst{color:var(--accent);pointer-events:none;animation:.9s ease-out forwards burst;position:absolute;transform:translate(-50%,-50%)}@keyframes burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)rotate(-15deg)}20%{opacity:1;transform:translate(-50%,-50%)scale(1.15)rotate(-8deg)}to{opacity:0;transform:translate(-50%,-160%)scale(1)rotate(-8deg)}}.mute{z-index:4;background:#00000059;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:58px;right:12px}.rail{z-index:3;flex-direction:column;align-items:center;gap:16px;display:flex;position:absolute;bottom:120px;right:8px}.avatar{border:2px solid #fff;border-radius:50%;place-items:center;width:46px;height:46px;margin-bottom:6px;font-size:18px;font-weight:700;display:grid}.rail-btn{filter:drop-shadow(0 1px 2px #00000080);flex-direction:column;align-items:center;gap:2px;font-size:12px;font-weight:600;display:flex}.rail-btn svg{width:34px;height:34px;transition:transform .15s,color .15s}.rail-btn:active svg{transform:scale(.85)}.rail-btn.is-liked svg{color:var(--accent);animation:.3s thump}.rail-btn.is-saved svg{color:var(--gold);animation:.3s thump}@keyframes thump{50%{transform:scale(1.25)}}.info{z-index:3;text-shadow:0 1px 2px #00000080;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:16px;left:12px;right:76px}.product-chip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:left;max-width:100%;text-shadow:none;background:#00000080;border-radius:10px;align-self:flex-start;align-items:center;gap:8px;margin-bottom:4px;padding:6px;display:flex}.chip-swatch{border-radius:7px;flex:none;width:34px;height:34px;box-shadow:inset 0 0 0 1px #fff3}.chip-text{flex-direction:column;min-width:0;display:flex}.chip-text strong,.chip-text small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chip-text strong{font-size:13px}.chip-text small{color:var(--muted);font-size:12px}.chip-cta{background:var(--accent);border-radius:7px;flex:none;align-items:center;gap:4px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.handle{align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.ai-badge{color:var(--ai);text-shadow:none;background:#b98cff40;border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-size:11px;font-weight:600;display:inline-flex}.caption{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.tag{font-weight:700}.sound{align-items:center;gap:6px;font-size:13px;display:flex;overflow:hidden}.sound svg{flex:none;width:14px;height:14px}.marquee-box{flex:1;min-width:0;max-width:180px;overflow:hidden}.marquee{white-space:nowrap;animation:8s linear infinite marquee;display:inline-block}@keyframes marquee{0%{transform:translate(40%)}to{transform:translate(-100%)}}.progress{z-index:3;background:#fff3;height:2px;position:absolute;bottom:0;left:0;right:0}.progress div{transform-origin:0;background:#fff;height:100%}.sheet-backdrop{z-index:20;background:#00000080;align-items:flex-end;animation:.2s fade;display:flex;position:absolute;inset:0}.sheet{background:var(--surface);border-radius:16px 16px 0 0;flex-direction:column;gap:14px;width:100%;padding:10px 16px 20px;animation:.25s cubic-bezier(.2,.8,.2,1) slideUp;display:flex;position:relative}.sheet-grip{background:var(--line);border-radius:2px;align-self:center;width:40px;height:4px}.sheet-close{color:var(--muted);position:absolute;top:12px;right:12px}.sheet-head{gap:14px;padding-right:28px;display:flex}.sheet-swatch{border-radius:12px;flex:none;width:88px;height:88px;box-shadow:inset 0 0 0 1px #ffffff26}.sheet-brand{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px}.sheet h2{margin:2px 0 4px;font-size:18px}.sheet-meta{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:flex}.sheet-meta svg{width:13px;height:13px;color:var(--gold)}.sheet-price{margin-top:6px;font-size:18px;font-weight:700}.shades p{color:var(--muted);margin-bottom:8px;font-size:13px}.shades strong{color:var(--text)}.shade-row{flex-wrap:wrap;gap:10px;display:flex}.shade{border-radius:50%;width:34px;height:34px;box-shadow:inset 0 0 0 1px #fff3}.shade.is-on{outline-offset:3px;outline:2px solid #fff}.btn-primary,.btn-ghost{border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;height:46px;font-weight:700;display:flex}.btn-primary{background:var(--accent)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:var(--surface-2);color:var(--ai)}@keyframes fade{0%{opacity:0}}@keyframes slideUp{0%{transform:translateY(100%)}}.toast{z-index:30;white-space:nowrap;pointer-events:none;background:#282828eb;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;animation:.15s fade;position:absolute;top:45%;left:50%;transform:translate(-50%)}.tabbar{height:calc(var(--tabbar-h) + var(--safe-b));padding-bottom:var(--safe-b);background:#000;border-top:1px solid #161616;flex:none;grid-template-columns:repeat(4,1fr);display:grid}.tabbar button{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:10px;display:flex}.tabbar button.is-on{color:#fff}.tabbar svg{width:24px;height:24px}.bag-icon{display:inline-flex;position:relative}.badge{background:var(--accent);color:#fff;text-align:center;border-radius:9px;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;line-height:17px;position:absolute;top:-4px;right:-9px}.screen{height:100%;padding:20px 16px 32px;overflow-y:auto}.screen h1{margin-bottom:16px;font-size:22px}.screen h3{margin:20px 0 10px;font-size:15px}.muted{color:var(--muted);font-size:14px}.link{color:var(--muted);font-size:12px;text-decoration:underline}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.card{background:var(--surface);text-align:left;border-radius:10px;flex-direction:column;gap:2px;padding:10px;display:flex}.card-swatch{aspect-ratio:1;border-radius:8px;margin-bottom:6px;box-shadow:inset 0 0 0 1px #ffffff1f}.card-swatch.small{aspect-ratio:1;flex:none;width:44px;margin:0}.card small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.card strong{font-size:14px;line-height:1.25}.card span{margin-top:4px;font-weight:700}.bag{flex-direction:column;gap:10px;margin:0 0 16px;padding:0;list-style:none;display:flex}.bag li{background:var(--surface);border-radius:10px;align-items:center;gap:12px;padding:10px;display:flex}.bag-text{flex-direction:column;flex:1;min-width:0;display:flex}.bag-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.bag-text small{color:var(--muted);font-size:12px}.bag li>span{font-weight:700}.bag-total{border-top:1px solid var(--line);justify-content:space-between;margin-bottom:12px;padding:12px 4px;font-size:16px;display:flex}.sheet.auth{padding-bottom:28px}.auth-body{flex-direction:column;gap:12px;padding-top:8px;display:flex}.auth-body h2{text-align:center;padding:0 28px;font-size:20px}.auth-body>.muted{text-align:center;margin-bottom:6px}.auth-wait{text-align:center;color:var(--muted);padding:40px 0}.btn-provider{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;justify-content:center;align-items:center;height:48px;font-weight:600;display:flex;position:relative}.btn-provider svg,.provider-glyph{position:absolute;left:16px}.provider-glyph{text-align:center;width:20px;font-size:18px;font-weight:700}.field{border:1px solid var(--line);background:var(--surface-2);height:48px;color:var(--text);font:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;padding:0 14px;font-size:16px}.field:focus{outline:2px solid var(--accent);outline-offset:-1px}.field.code{text-align:center;letter-spacing:.4em;font-size:24px}.auth-error{color:#ff6b81;text-align:center;font-size:13px}.fineprint{color:var(--muted);text-align:center;margin-top:4px;font-size:11px}.link.center{align-self:center;padding:6px}.link:disabled{opacity:.5;text-decoration:none}code{background:var(--surface-2);border-radius:4px;padding:1px 4px;font-family:ui-monospace,monospace;font-size:.9em}.me-guest{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.me-guest .btn-primary{max-width:280px;margin-top:8px}.me-avatar{background:linear-gradient(135deg, var(--accent), #ff9a8b);border-radius:50%;flex:none;place-items:center;width:72px;height:72px;font-size:28px;font-weight:700;display:grid}.me-head{align-items:center;gap:14px;margin-bottom:12px;display:flex}.me-head h1{margin:0}.signout{color:var(--text);margin-top:24px}.edit-link{background:var(--surface-2);color:var(--muted);vertical-align:middle;border-radius:4px;margin-left:4px;padding:2px 8px;font-size:12px;font-weight:600}.field-prefix{display:flex;position:relative}.field-prefix span{color:var(--muted);font-size:16px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.field-prefix .field{flex:1;padding-left:30px}.field:disabled{opacity:.5}.muted.small{font-size:12px}.delete-list{background:var(--surface-2);border-radius:8px;margin:0;padding:12px 12px 12px 30px;font-size:14px;line-height:1.6}.btn-danger{background:#d92d20;border-radius:8px;justify-content:center;align-items:center;width:100%;height:46px;font-weight:700;display:flex}.btn-danger:disabled{opacity:.4;cursor:not-allowed}.link.danger{color:#ff6b81}.center-block{margin:16px auto 0;padding:8px;display:block}.legal{z-index:40;background:var(--bg);flex-direction:column;animation:.15s fade;display:flex;position:absolute;inset:0}.legal-bar{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.legal-bar h1{font-size:18px}.legal-body{color:#ffffffd9;flex:1;padding:16px 16px 40px;font-size:14px;line-height:1.55;overflow-y:auto}.legal-body h2{color:var(--text);margin:24px 0 8px;font-size:16px}.legal-body p,.legal-body ul,.legal-body ol{margin:0 0 10px}.legal-body ul,.legal-body ol{padding-left:20px}.legal-body li{margin-bottom:6px}.legal-body a,.fineprint a{color:var(--text);text-decoration:underline}.legal-draft{color:var(--gold);background:#facd3c26;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}.legal-links,.legal-footer{flex-wrap:wrap;justify-content:center;gap:8px 16px;margin-top:28px;font-size:12px;display:flex}.legal-footer a,.legal-links a{color:var(--muted);text-decoration:underline}.ad-info{gap:8px;right:12px}.ad-avatar{width:32px;height:32px;text-shadow:none;border:2px solid #fff;border-radius:50%;place-items:center;font-size:14px;display:grid}.ad-label{align-items:center;gap:10px;font-size:12px;display:flex}.sponsored{color:#111;text-shadow:none;background:#ffffffe6;border-radius:4px;padding:2px 7px;font-weight:700}.ad-why{color:#ffffffd9;text-underline-offset:2px;text-decoration:underline}.ad-why-text{text-shadow:none;background:#0009;border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.4}.ad-headline{font-size:18px;font-weight:700;line-height:1.25}.ad-cta{color:#111;width:100%;text-shadow:none;background:#fff;border-radius:10px;align-items:center;gap:8px;margin-top:4px;padding:13px 16px;font-size:15px;font-weight:700;display:flex}.ad-cta-price{color:#555;margin-left:auto;font-weight:600}.date-field{display:block;position:relative}.date-field .field{appearance:none;text-align:left;width:100%;display:block}.date-field .field::-webkit-date-and-time-value{text-align:left}.date-hint{color:var(--muted);pointer-events:none;align-items:center;padding:0 14px;display:flex;position:absolute;inset:0}
