/* Layout concept: one night-blue room; products are the only lit objects, everything else is frosted glass floating over it. Desktop = editorial store, phone = app with bottom tabs. */
:root{
  --bg:#0a0b14;
  --bg-2:#10121f;
  --surface:rgba(26,29,50,.62);
  --surface-solid:#171a2e;
  --line:rgba(170,175,215,.14);
  --line-strong:rgba(170,175,215,.26);
  --ink:#eceef6;
  --muted:#9a9fb8;
  --navy:#212540;
  --gold:#D6A203;
  --accent:#D6A203;
  --accent-2:#F2C230;
  --accent-ink:#141628;
  --good:#46d39a;
  --warn:#ffb54a;
  --bad:#ff6b7a;
  --glow:rgba(214,162,3,.28);
  --room-1:rgba(214,162,3,.12);
  --room-2:rgba(80,92,170,.16);
  --font-display:"Unbounded","Onest",system-ui,sans-serif;
  --font-body:"Onest",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --s-small:clamp(.8125rem,.79rem + .1vw,.875rem);
  --s-body:clamp(1rem,.97rem + .15vw,1.0625rem);
  --s-lead:clamp(1.125rem,1.02rem + .5vw,1.375rem);
  --s-head:clamp(1.75rem,1.2rem + 2.6vw,3.25rem);
  --s-hero:clamp(2.6rem,1.4rem + 5.6vw,6.2rem);
  --r:18px;
  --r-sm:12px;
  --blur:saturate(160%) blur(22px);
  --gut-l:max(16px,env(safe-area-inset-left,0px));
  --gut-r:max(16px,env(safe-area-inset-right,0px));
  --ease:cubic-bezier(.2,.8,.2,1);
  color-scheme:dark;
}
:root[data-mode="light"]{
  --bg:#f3f3f6;
  --bg-2:#e9eaf0;
  --surface:rgba(255,255,255,.72);
  --surface-solid:#ffffff;
  --line:rgba(33,37,64,.10);
  --line-strong:rgba(33,37,64,.20);
  --ink:#1b1e35;
  --muted:#5c6178;
  --accent:#C99600;
  --accent-2:#B38500;
  --accent-ink:#ffffff;
  --glow:rgba(201,150,0,.25);
  --room-1:rgba(214,162,3,.14);
  --room-2:rgba(33,37,64,.07);
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--s-body);line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
body::after{ /* the room's light */
  content:"";position:fixed;inset:-20vh -10vw auto;height:90vh;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 55% at 72% 18%,var(--room-1),transparent 70%),radial-gradient(45% 45% at 8% 0%,var(--room-2),transparent 70%);
}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
input,select,textarea{font:inherit;color:var(--ink)}
img,svg{max-width:100%}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--font-display);font-weight:500;letter-spacing:-.02em;line-height:1.05;margin:0;text-wrap:balance}
p{margin:0}
.wrap{max-width:1320px;margin-inline:auto;padding-left:var(--gut-l);padding-right:var(--gut-r)}
.muted{color:var(--muted)}
.num{font-variant-numeric:tabular-nums}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* glass */
.glass{background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;height:48px;padding:0 22px;border-radius:999px;font-weight:600;font-size:.95rem;transition:transform .2s var(--ease),background .2s,border-color .2s;white-space:nowrap}
.btn svg{width:18px;height:18px;flex:0 0 auto}
.link-more svg,.chip svg{width:16px;height:16px}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 30px var(--glow)}
.btn-primary:hover{background:var(--accent-2)}
.btn-ghost{border:1px solid var(--line-strong);background:rgba(255,255,255,.03)}
.btn-ghost:hover{border-color:var(--accent)}
.btn-wa{background:#1fae5b;color:#fff}
.btn-wa:hover{background:#25c768}
.btn-sm{height:38px;padding:0 14px;font-size:.85rem}
.btn-block{width:100%}
.icon-btn{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;position:relative;transition:background .2s}
.icon-btn:hover{background:var(--line)}
.icon-btn svg{width:22px;height:22px}
.badge{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:var(--accent-ink);font-size:.7rem;font-weight:700;display:grid;place-items:center}
.badge[data-n="0"]{display:none}

/* header */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;border-width:0 0 1px;border-radius:0}
.topbar .wrap{display:flex;align-items:center;gap:20px;height:68px}
.logo{font-family:var(--font-display);font-weight:600;font-size:1.25rem;letter-spacing:.14em;display:flex;align-items:center;gap:10px}
.logo i{width:10px;height:10px;border-radius:3px;background:var(--accent);box-shadow:0 0 14px var(--accent);transform:rotate(45deg)}
.nav{display:flex;gap:4px;margin-left:12px}
.nav a{padding:8px 14px;border-radius:999px;color:var(--muted);font-size:.93rem;transition:color .2s,background .2s}
.nav a:hover,.nav a.on{color:var(--ink);background:rgba(255,255,255,.06)}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:4px}
.search-trigger{display:flex;align-items:center;gap:10px;height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--line);color:var(--muted);min-width:220px;font-size:.9rem}
.search-trigger svg{width:18px;height:18px}
.search-trigger kbd{margin-left:auto;font-family:inherit;font-size:.75rem;border:1px solid var(--line);border-radius:6px;padding:1px 6px}

/* bottom tab bar (phone) */
.tabbar{display:none}

/* views */
main{min-height:70vh}
.view{animation:viewIn .5s var(--ease) both}
@keyframes viewIn{from{opacity:.001;transform:translateY(14px)}to{opacity:1;transform:none}}
.section{padding-block:clamp(48px,7vw,104px)}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.sec-head h2{font-size:var(--s-head)}
.eyebrow{font-size:var(--s-small);color:var(--accent-2);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;display:block}
.link-more{color:var(--muted);font-size:.93rem;display:inline-flex;gap:6px;align-items:center;white-space:nowrap}
.link-more:hover{color:var(--ink)}

/* hero */
.hero{position:relative;padding-top:clamp(24px,4vw,56px)}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;align-items:center;min-height:min(78vh,760px)}
.hero h1{font-size:var(--s-hero);font-weight:500}
.hero h1 .line{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .line span{display:block;animation:rise 1s var(--ease) both}
.hero h1 .line:nth-child(2) span{animation-delay:.11s}
.hero h1 em{font-style:normal;color:var(--accent)}
@keyframes rise{from{transform:translateY(105%)}to{transform:none}}
.hero-copy p{font-size:var(--s-lead);color:var(--muted);max-width:44ch;margin-top:22px;animation:fadeUp .8s .45s var(--ease) both}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;animation:fadeUp .8s .55s var(--ease) both}
@keyframes fadeUp{from{opacity:.001;transform:translateY(12px)}to{opacity:1;transform:none}}
.hero-stage{position:relative;aspect-ratio:1/1;max-height:640px;width:100%}
.hero-stage canvas,.hero-stage .stage-fallback{position:absolute;inset:0;width:100%;height:100%}
.stage-fallback{display:grid;place-items:center}
.hero-chip{position:absolute;padding:12px 16px;border-radius:14px;font-size:.85rem;line-height:1.35;z-index:2}
.hero-chip b{display:block;font-size:1rem}
.hero-chip.c1{left:2%;bottom:16%}
.hero-chip.c2{right:2%;top:12%}
.hero-meta{display:flex;gap:32px;flex-wrap:wrap;margin-top:40px;color:var(--muted);font-size:.9rem;animation:fadeUp .8s .65s var(--ease) both}
.hero-meta b{display:block;color:var(--ink);font-family:var(--font-display);font-weight:500;font-size:1.35rem}

/* stories / highlights */
.stories{display:flex;gap:18px;overflow-x:auto;scrollbar-width:none;padding:6px 2px 10px;scroll-snap-type:x mandatory}
.stories::-webkit-scrollbar{display:none}
.story{flex:0 0 auto;width:80px;display:flex;flex-direction:column;align-items:center;gap:8px;scroll-snap-align:start;font-size:.8rem;color:var(--muted);text-align:center}
.story .ring{width:74px;height:74px;border-radius:50%;padding:3px;background:conic-gradient(from 200deg,var(--accent),#ffe08a,#8a6400,var(--accent))}
.story.seen .ring{background:var(--line-strong)}
.story .ring>span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:var(--bg-2);border:3px solid var(--bg);overflow:hidden}
.story .ring svg{width:70%;height:70%}

/* category rail */
.cats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.cat{position:relative;border-radius:var(--r);padding:18px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:transform .3s var(--ease),border-color .3s}
.cat:hover{transform:translateY(-4px);border-color:var(--line-strong)}
.cat .art{position:absolute;right:-12%;bottom:-10%;width:78%;opacity:.95;transition:transform .5s var(--ease)}
.cat:hover .art{transform:scale(1.06) rotate(-3deg)}
.cat h3{font-family:var(--font-body);font-weight:600;font-size:1rem;letter-spacing:0;position:relative;max-width:12ch}
.cat small{position:relative;color:var(--muted);font-size:.8rem}

/* slider */
.slider{position:relative}
.slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:16px;scroll-behavior:smooth}
.slides::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;border-radius:24px;min-height:380px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px;padding:clamp(24px,4vw,56px);overflow:hidden;position:relative}
.slide h3{font-size:clamp(1.6rem,1rem + 2.4vw,3rem)}
.slide p{color:var(--muted);margin-top:14px;max-width:40ch}
.slide .art{max-height:340px;justify-self:center;width:min(100%,380px)}
.slide .tag{display:inline-block;margin-bottom:16px;padding:6px 12px;border-radius:999px;background:rgba(214,162,3,.14);color:var(--accent-2);font-size:.8rem;font-weight:600}
.slide .btn{margin-top:24px}
.dots{display:flex;gap:8px;justify-content:center;margin-top:16px}
.dots button{width:8px;height:8px;border-radius:4px;background:var(--line-strong);transition:width .3s,background .3s}
.dots button.on{width:26px;background:var(--accent)}
.slider-nav{position:absolute;right:20px;bottom:20px;display:flex;gap:8px}

/* product grid & card */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.card{border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;position:relative;transition:transform .35s var(--ease),border-color .3s,box-shadow .35s}
.card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 24px 60px -30px rgba(214,162,3,.35)}
.card .media{position:relative;aspect-ratio:1/1;display:grid;place-items:center;background:radial-gradient(70% 60% at 50% 45%,var(--room-1),transparent 70%)}
.card .media svg{width:72%;height:72%;transition:transform .5s var(--ease)}
.card:hover .media svg{transform:scale(1.05) translateY(-4px)}
.card .flags{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.flag{padding:4px 9px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em}
.flag.sale{background:var(--accent);color:var(--accent-ink)}
.flag.new{background:var(--line-strong);color:var(--ink)}
.flag.out{background:rgba(255,107,122,.16);color:var(--bad)}
.card .tools{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:6px}
.card .tools button{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(8,11,18,.55);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.card .tools button svg{width:17px;height:17px}
.card .tools button.on{color:var(--accent);border-color:var(--accent)}
.card .tools button.on.heart{color:#ff6b9a;border-color:#ff6b9a}
.card .play{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:6px;padding:6px 10px 6px 8px;border-radius:999px;background:rgba(8,11,18,.6);border:1px solid var(--line);font-size:.75rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.card .play svg{width:14px;height:14px}
.card .body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.card .cat-name{font-size:.8rem;color:var(--muted)}
.card h3{font-family:var(--font-body);font-weight:600;font-size:1.02rem;letter-spacing:0;line-height:1.3}
.card .specs{display:flex;flex-wrap:wrap;gap:6px}
.card .specs span{font-size:.75rem;color:var(--muted);border:1px solid var(--line);padding:3px 8px;border-radius:6px}
.price-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:8px}
.price{font-family:var(--font-display);font-weight:500;font-size:1.25rem}
.price s{font-family:var(--font-body);font-size:.85rem;color:var(--muted);margin-left:6px;font-weight:400}
.add{width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;flex:0 0 auto;transition:transform .2s}
.add:active{transform:scale(.9)}
.add svg{width:20px;height:20px}
.add.notify{background:rgba(255,255,255,.08);color:var(--ink);border:1px solid var(--line-strong)}
.rating{display:flex;align-items:center;gap:4px;font-size:.8rem;color:var(--muted)}
.rating svg{width:13px;height:13px;color:#ffc861}

/* reels strip */
.reel-strip{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;padding-bottom:6px}
.reel-strip::-webkit-scrollbar{display:none}
.reel-thumb{flex:0 0 auto;width:200px;aspect-ratio:9/16;border-radius:18px;overflow:hidden;position:relative;scroll-snap-align:start;border:1px solid var(--line)}
.reel-thumb .scene{position:absolute;inset:0}
.reel-thumb .meta{position:absolute;inset:auto 0 0;padding:14px;background:linear-gradient(transparent,rgba(0,0,0,.75));font-size:.82rem;line-height:1.3}
.reel-thumb .meta b{display:block;font-size:.9rem}
.reel-thumb .views{position:absolute;top:10px;left:10px;font-size:.72rem;display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.45)}
.reel-thumb .views svg{width:12px;height:12px}

/* scenes (video stand-ins) */
.scene{position:absolute;inset:0;background:radial-gradient(90% 60% at 50% 40%,var(--sc,#1b2a48),#05070c 80%);overflow:hidden}
.scene .obj{position:absolute;left:50%;top:44%;width:74%;transform:translate(-50%,-50%);animation:float 5s ease-in-out infinite}
.scene .obj svg{width:100%;height:auto}
.scene .beam{position:absolute;inset:-30%;background:conic-gradient(from 0deg at 50% 50%,transparent 0 40deg,rgba(242,194,48,.10) 60deg,transparent 80deg 360deg);animation:spin 9s linear infinite}
.scene .floor{position:absolute;left:10%;right:10%;top:68%;height:18px;border-radius:50%;background:radial-gradient(rgba(214,162,3,.3),transparent 70%);filter:blur(4px)}
@keyframes float{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-56%) rotate(-2deg)}}
@keyframes spin{to{transform:rotate(360deg)}}

/* community / social feed */
.feed{columns:3 280px;column-gap:16px}
.post{break-inside:avoid;margin-bottom:16px;border-radius:var(--r);overflow:hidden}
.post .ph{aspect-ratio:var(--ar,4/5);position:relative}
.post .pb{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px}
.post .who{display:flex;align-items:center;gap:10px;font-size:.88rem}
.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.8rem;color:var(--accent-ink);background:var(--accent-2);flex:0 0 auto}
.post .who small{display:block;color:var(--muted);font-size:.75rem}
.post .acts{display:flex;gap:16px;color:var(--muted);font-size:.85rem}
.post .acts button{display:flex;align-items:center;gap:6px}
.post .acts svg{width:18px;height:18px}
.post .acts button.on{color:#ff6b9a}
.post .tagged{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;background:rgba(255,255,255,.04);font-size:.82rem}
.post .tagged svg{width:36px;height:36px}

/* promo band / referral teaser */
.band{border-radius:28px;padding:clamp(28px,5vw,64px);display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center;position:relative;overflow:hidden}
.band::before{content:"";position:absolute;inset:auto -10% -60% 40%;height:120%;background:radial-gradient(closest-side,rgba(214,162,3,.22),transparent);pointer-events:none}
.band h2{font-size:var(--s-head)}
.band p{color:var(--muted);margin-top:14px;max-width:46ch}
.code-box{white-space:nowrap;font-size:clamp(.95rem,.8rem + .6vw,1.15rem)!important;display:flex;align-items:center;gap:10px;padding:10px 10px 10px 20px;border-radius:16px;border:1px dashed var(--line-strong);font-family:var(--font-display);letter-spacing:.12em;font-size:1.15rem;position:relative;max-width:420px}
.code-box button{margin-left:auto}

/* trust row */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border-radius:var(--r);overflow:hidden;background:var(--line)}
.trust div{background:var(--bg-2);padding:24px;display:flex;flex-direction:column;gap:6px}
.trust b{font-weight:600}
.trust span{color:var(--muted);font-size:.9rem}
.trust svg{width:26px;height:26px;color:var(--accent);margin-bottom:6px}

/* catalogue */
.shop-layout{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}
.filters{position:sticky;top:calc(88px + env(safe-area-inset-top,0px));border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:22px}
.filters h4{margin:0 0 10px;font-size:.95rem;color:var(--ink);font-weight:600}
.chk{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:.93rem;cursor:pointer}
.chk input{accent-color:var(--accent);width:17px;height:17px}
.chk small{margin-left:auto;color:var(--muted)}
.range{display:flex;gap:8px}
.range input{width:100%}
.field{width:100%;height:46px;border-radius:12px;border:1px solid var(--line-strong);background:rgba(255,255,255,.03);padding:0 14px;outline:none;transition:border-color .2s}
.field:focus{border-color:var(--accent)}
textarea.field{height:auto;padding:12px 14px;min-height:90px;resize:vertical}
.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--line);font-size:.88rem;color:var(--muted);transition:all .2s}
.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chip:hover:not(.on){color:var(--ink);border-color:var(--line-strong)}
select.field{width:auto;appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px;background-size:5px 5px;background-repeat:no-repeat}
select.field option{background:var(--surface-solid)}
.empty{padding:60px 20px;text-align:center;color:var(--muted);border-radius:var(--r)}
.filter-toggle{display:none}

/* product page */
.pdp{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,64px);padding-top:28px}
.gallery{position:sticky;top:calc(92px + env(safe-area-inset-top,0px));display:flex;flex-direction:column;gap:12px}
.g-main{border-radius:24px;aspect-ratio:1/1;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(70% 60% at 50% 45%,var(--room-1),transparent 70%),var(--bg-2);border:1px solid var(--line);perspective:900px}
.g-main .obj{width:70%;transition:transform .2s ease-out;transform-style:preserve-3d}
.g-main .obj svg{width:100%;height:auto;filter:drop-shadow(0 40px 40px rgba(0,0,0,.5))}
.g-main .hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font-size:.78rem;color:var(--muted);padding:6px 12px;border-radius:999px;white-space:nowrap}
.g-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.g-thumbs button{aspect-ratio:1/1;border-radius:14px;border:1px solid var(--line);display:grid;place-items:center;background:var(--bg-2);overflow:hidden;position:relative}
.g-thumbs button.on{border-color:var(--accent)}
.g-thumbs button svg{width:62%}
.g-thumbs .vid-thumb::after{content:"▶";position:absolute;inset:auto 8px 6px auto;font-size:.7rem;color:var(--ink)}
.crumbs{font-size:.85rem;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a:hover{color:var(--ink)}
.pdp-info h1{font-size:clamp(1.8rem,1.2rem + 2vw,2.8rem);margin-top:14px}
.pdp-info .lead{color:var(--muted);font-size:var(--s-lead);margin-top:14px}
.pdp-price{display:flex;align-items:baseline;gap:12px;margin-top:22px;flex-wrap:wrap}
.pdp-price .price{font-size:2.2rem}
.save{color:var(--good);font-size:.9rem;font-weight:600}
.taksit{margin-top:8px;color:var(--muted);font-size:.9rem}
.stock{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;margin-top:16px}
.stock i{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 10px var(--good)}
.stock.low i{background:var(--warn);box-shadow:0 0 10px var(--warn)}
.stock.no i{background:var(--bad);box-shadow:none}
.variants{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.variants button{padding:10px 16px;border-radius:12px;border:1px solid var(--line-strong);font-size:.9rem}
.variants button.on{border-color:var(--accent);background:rgba(214,162,3,.1)}
.buy{display:grid;grid-template-columns:auto 1fr;gap:12px;margin-top:24px}
.qty{display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:999px;height:48px}
.qty button{width:44px;height:100%;font-size:1.2rem}
.qty span{min-width:26px;text-align:center}
.buy .btn-wa{grid-column:1/-1}
.mini-acts{display:flex;gap:18px;margin-top:16px;flex-wrap:wrap}
.mini-acts button{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.9rem}
.mini-acts button:hover,.mini-acts button.on{color:var(--ink)}
.mini-acts svg{width:18px;height:18px}
.spec-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:.95rem}
.spec-table td{padding:13px 0;border-bottom:1px solid var(--line);vertical-align:top}
.spec-table td:first-child{color:var(--muted);width:42%;padding-right:12px}
.acc{border-top:1px solid var(--line);margin-top:28px}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;padding:18px 0;font-weight:600;display:flex;justify-content:space-between}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";color:var(--muted);font-size:1.3rem;line-height:1}
.acc details[open] summary::after{content:"–"}
.acc .acc-body{padding-bottom:20px;color:var(--muted)}
.acc ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.review{border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:10px}
.review p{font-size:.95rem}
.review .rv-foot{display:flex;justify-content:space-between;color:var(--muted);font-size:.82rem}
.review .rv-foot button{display:flex;gap:6px;align-items:center}
.review .rv-foot svg{width:15px;height:15px}
.stars{display:flex;gap:2px;color:#ffc861}
.stars svg{width:15px;height:15px}
.waitlist{margin-top:20px;padding:18px;border-radius:16px;display:flex;flex-direction:column;gap:12px}
.waitlist form{display:flex;gap:8px}
.waitlist form .field{flex:1;min-width:0}

/* sheets & drawers */
.scrim{position:fixed;inset:0;background:rgba(3,5,10,.6);z-index:80;opacity:0;pointer-events:none;transition:opacity .3s}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);z-index:90;transform:translateX(102%);transition:transform .45s var(--ease);display:flex;flex-direction:column;border-radius:24px 0 0 24px;padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.drawer.on{transform:none}
.drawer:not(.on){visibility:hidden;transition:transform .45s var(--ease),visibility 0s .45s}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}
.drawer-head h3{font-size:1.2rem}
.drawer-body{flex:1;overflow-y:auto;padding:18px 22px;display:flex;flex-direction:column;gap:14px}
.drawer-foot{padding:18px 22px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.line-item{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center}
.line-item .th{width:72px;height:72px;border-radius:14px;background:var(--bg-2);display:grid;place-items:center;border:1px solid var(--line)}
.line-item .th svg{width:70%}
.line-item h4{margin:0;font-size:.93rem;font-weight:600;line-height:1.3}
.line-item .qty{height:34px;margin-top:8px;width:max-content}
.line-item .qty button{width:32px}
.line-item .rm{color:var(--muted);font-size:.8rem;text-decoration:underline}
.sum-row{display:flex;justify-content:space-between;font-size:.95rem}
.sum-row.total{font-size:1.15rem;font-weight:700}
.sum-row.disc{color:var(--good)}

/* search overlay */
.search-ov{position:fixed;inset:0;z-index:95;display:none;padding-top:calc(env(safe-area-inset-top,0px) + 8vh);padding-left:var(--gut-l);padding-right:var(--gut-r);background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.search-ov.on{display:block;animation:viewIn .3s var(--ease)}
.search-box{max-width:720px;margin:0 auto;border-radius:22px;overflow:hidden}
.search-box .in{display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid var(--line)}
.search-box .in svg{width:22px;height:22px;color:var(--muted)}
.search-box input{flex:1;min-width:0;height:64px;border:0;background:none;outline:none;font-size:1.15rem}
.s-results{max-height:60vh;overflow-y:auto;padding:8px}
.s-item{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;padding:10px;border-radius:14px}
.s-item:hover,.s-item.on{background:var(--line)}
.s-item .th{width:52px;height:52px;border-radius:12px;background:var(--bg-2);display:grid;place-items:center}
.s-item .th svg{width:70%}
.s-sugg{display:flex;flex-wrap:wrap;gap:8px;padding:16px}

/* story viewer & reels (fullscreen) */
.fs{position:fixed;inset:0;z-index:100;background:#000;display:none}
.fs.on{display:block}
.story-v{position:absolute;inset:0;margin:auto;max-width:460px;height:100%;overflow:hidden}
.story-v .bars{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));left:12px;right:12px;display:flex;gap:4px;z-index:3}
.story-v .bars i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.3);overflow:hidden}
.story-v .bars i b{display:block;height:100%;width:0;background:#fff}
.story-v .s-head{position:absolute;top:calc(26px + env(safe-area-inset-top,0px));left:14px;right:14px;display:flex;align-items:center;gap:10px;z-index:3;font-size:.9rem}
.story-v .s-head .x{margin-left:auto}
.story-v .scene{position:absolute;inset:0}
.story-v .s-text{position:absolute;left:20px;right:20px;bottom:calc(110px + env(safe-area-inset-bottom,0px));z-index:3}
.story-v .s-text h3{font-size:1.9rem}
.story-v .s-text p{margin-top:10px;color:#cfd8e6}
.story-v .s-cta{position:absolute;left:20px;right:20px;bottom:calc(30px + env(safe-area-inset-bottom,0px));z-index:3}
.story-v .tap{position:absolute;top:0;bottom:0;width:35%;z-index:2}
.story-v .tap.l{left:0}.story-v .tap.r{right:0;width:65%}
.reels{position:absolute;inset:0;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none}
.reels::-webkit-scrollbar{display:none}
.reel{height:100%;scroll-snap-align:start;scroll-snap-stop:always;position:relative;max-width:460px;margin:0 auto;overflow:hidden}
.reel .scene{position:absolute;inset:0}
.reel .cap{position:absolute;left:16px;right:84px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:2;display:flex;flex-direction:column;gap:10px}
.reel .cap h3{font-family:var(--font-body);font-weight:600;font-size:1.05rem;letter-spacing:0}
.reel .cap p{font-size:.9rem;color:#d2dae8}
.reel .cap .prod{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;max-width:320px}
.reel .cap .prod svg{width:42px;height:42px}
.reel .cap .prod div{flex:1;min-width:0;font-size:.82rem;line-height:1.3}
.reel .side{position:absolute;right:12px;bottom:calc(30px + env(safe-area-inset-bottom,0px));z-index:2;display:flex;flex-direction:column;gap:18px;align-items:center}
.reel .side button{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.75rem}
.reel .side svg{width:30px;height:30px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.reel .side button.on{color:#ff6b9a}
.reel .shade{position:absolute;inset:auto 0 0;height:50%;background:linear-gradient(transparent,rgba(0,0,0,.8));z-index:1}
.reel .prog{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.15);z-index:3}
.reel .prog b{display:block;height:100%;width:0;background:var(--accent)}
.reel .steps{position:absolute;top:calc(70px + env(safe-area-inset-top,0px));left:16px;right:16px;z-index:2;display:flex;flex-direction:column;gap:8px}
.reel .steps span{align-self:flex-start;padding:8px 14px;border-radius:12px;font-size:.92rem;font-weight:600;opacity:0;transform:translateY(10px);transition:all .5s var(--ease)}
.reel .steps span.in{opacity:1;transform:none}
.fs-close{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:calc(14px + env(safe-area-inset-right,0px));z-index:5;width:44px;height:44px;border-radius:50%;display:grid;place-items:center}
.fs-close svg{width:22px;height:22px}
.fs-title{position:absolute;top:calc(22px + env(safe-area-inset-top,0px));left:calc(20px + env(safe-area-inset-left,0px));z-index:5;font-family:var(--font-display);font-size:1.1rem}

/* compare */
.cmp-wrap{overflow-x:auto;border-radius:var(--r)}
.cmp{width:100%;border-collapse:collapse;min-width:640px}
.cmp th,.cmp td{padding:16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;font-size:.95rem}
.cmp thead th{vertical-align:bottom}
.cmp thead svg{width:110px;height:110px;display:block;margin-bottom:10px}
.cmp tbody th{color:var(--muted);font-weight:500;width:180px}
.cmp .best{color:var(--good);font-weight:600}
.cmp-bar{position:fixed;left:50%;transform:translate(-50%,140%);bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:70;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 18px;border-radius:999px;transition:transform .4s var(--ease);max-width:calc(100% - 32px)}
.cmp-bar:not(.on){visibility:hidden;transition:transform .4s var(--ease),visibility 0s .4s}
.cmp-bar.on{transform:translate(-50%,0)}
.cmp-bar .ths{display:flex}
.cmp-bar .ths span{width:36px;height:36px;border-radius:50%;background:var(--bg-2);border:2px solid var(--bg);display:grid;place-items:center;margin-left:-8px}
.cmp-bar .ths svg{width:70%}

/* checkout */
.co{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:start;padding-top:20px}
.co-card{border-radius:var(--r);padding:clamp(18px,3vw,28px);display:flex;flex-direction:column;gap:16px}
.co-card h3{font-family:var(--font-body);font-weight:600;font-size:1.1rem;letter-spacing:0;display:flex;align-items:center;gap:10px}
.co-card h3 i{font-style:normal;width:26px;height:26px;border-radius:50%;background:var(--room-1);color:var(--accent-2);display:grid;place-items:center;font-size:.8rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid .full{grid-column:1/-1}
label.lbl{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--muted)}
.opts{display:grid;gap:10px}
.opt{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;border:1px solid var(--line-strong);cursor:pointer;transition:border-color .2s,background .2s}
.opt input{accent-color:var(--accent);width:18px;height:18px}
.opt:has(input:checked){border-color:var(--accent);background:rgba(214,162,3,.07)}
.opt div{flex:1}
.opt small{display:block;color:var(--muted);font-size:.82rem}
.opt .r{font-weight:600;white-space:nowrap}
.pay-logos{display:flex;gap:6px}
.pay-logos span{font-size:.65rem;font-weight:800;padding:3px 6px;border-radius:5px;background:rgba(255,255,255,.08);letter-spacing:.04em}
.promo{display:flex;gap:8px}
.promo .field{flex:1;min-width:0;text-transform:uppercase}
.note{font-size:.82rem;color:var(--muted);display:flex;gap:8px;align-items:flex-start}
.note svg{width:16px;height:16px;flex:0 0 auto;margin-top:2px}
.success{text-align:center;padding:60px 20px;display:flex;flex-direction:column;align-items:center;gap:16px}
.success .ok{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:rgba(70,211,154,.12);color:var(--good)}
.success .ok svg{width:40px;height:40px}

/* referral page */
.ref-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center}
.ref-card{border-radius:28px;padding:28px;position:relative;overflow:hidden;aspect-ratio:1.6/1;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,rgba(214,162,3,.3),rgba(20,26,39,.9) 55%),var(--surface-solid);border:1px solid var(--line-strong)}
.ref-card .big{font-family:var(--font-display);font-size:clamp(1.6rem,1rem + 2vw,2.4rem);letter-spacing:.1em}
.ref-card .row{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.ref-card::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 30px rgba(255,255,255,.03),0 0 0 60px rgba(255,255,255,.02)}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.steps3 div{border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:8px}
.steps3 b{font-family:var(--font-display);font-weight:500;color:var(--accent-2);font-size:1.6rem}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tier{border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:10px}
.tier.cur{border-color:var(--accent)}
.tier h4{margin:0;font-family:var(--font-display);font-weight:500;font-size:1.2rem}
.meter{height:8px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.meter b{display:block;height:100%;background:var(--accent);border-radius:4px}
.lb{display:flex;flex-direction:column}
.lb div{display:grid;grid-template-columns:32px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}

/* info pages */
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.info{border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:10px}
.info svg{width:28px;height:28px;color:var(--accent)}
.info h3{font-family:var(--font-body);font-weight:600;font-size:1.1rem;letter-spacing:0}
.info p,.info li{color:var(--muted);font-size:.95rem}
.info ul{margin:0;padding-left:18px}
.page-head{padding-top:clamp(28px,5vw,64px);padding-bottom:12px}
.page-head h1{font-size:var(--s-head)}
.page-head p{color:var(--muted);margin-top:12px;max-width:60ch;font-size:var(--s-lead)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.copyline{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:14px 16px;border-radius:14px;border:1px solid var(--line)}
.copyline b{font-weight:600}
.copyline small{display:block;color:var(--muted);font-size:.8rem}

/* profile */
.prof-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.prof-head .avatar{width:72px;height:72px;font-size:1.4rem}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.stat-row div{border-radius:16px;padding:16px}
.stat-row b{display:block;font-family:var(--font-display);font-weight:500;font-size:1.4rem}
.stat-row span{color:var(--muted);font-size:.85rem}

/* deals */
.timer{display:flex;gap:8px}
.timer div{min-width:64px;padding:10px;border-radius:14px;text-align:center}
.timer b{display:block;font-family:var(--font-display);font-weight:500;font-size:1.5rem}
.timer span{font-size:.72rem;color:var(--muted)}

/* footer */
.foot{margin-top:80px;border-top:1px solid var(--line);background:var(--bg-2)}
.foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-block:48px 24px}
.foot-cols h4{margin:0 0 12px;font-size:.95rem}
.foot-cols a,.foot-cols p{display:block;color:var(--muted);font-size:.93rem;padding:3px 0}
.foot-cols a:hover{color:var(--ink)}
.wordmark{font-family:var(--font-display);font-weight:600;font-size:clamp(4rem,19vw,17rem);letter-spacing:.06em;line-height:.8;color:transparent;-webkit-text-stroke:1px var(--line-strong);text-align:center;padding-block:10px 20px;user-select:none;background:linear-gradient(180deg,rgba(214,162,3,.22),transparent 80%);-webkit-background-clip:text;background-clip:text}
.legal{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:16px 28px;color:var(--muted);font-size:.82rem;border-top:1px solid var(--line)}

/* toast */
.toast{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px));transform:translate(-50%,160%);z-index:120;padding:12px 18px;border-radius:999px;font-size:.92rem;transition:transform .4s var(--ease);display:flex;gap:10px;align-items:center;max-width:calc(100% - 32px)}
.toast:not(.on){visibility:hidden;transition:transform .4s var(--ease),visibility 0s .4s}
.toast.on{transform:translate(-50%,0)}
.toast svg{width:18px;height:18px;color:var(--good)}

/* reveal */
.rv{transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.pre{transform:translateY(24px)}

@media (max-width:1100px){
  .cats{grid-template-columns:repeat(3,1fr)}
  .search-trigger{min-width:0}
  .search-trigger span,.search-trigger kbd{display:none}
}
@media (max-width:860px){
  .nav,.top-actions .desk{display:none}
  .topbar .wrap{height:58px}
  .search-trigger{border:0;padding:0;width:42px;justify-content:center}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;justify-content:space-around;padding:8px var(--gut-r) calc(8px + env(safe-area-inset-bottom,0px)) var(--gut-l);border-width:1px 0 0;border-radius:20px 20px 0 0}
  .tabbar a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:.68rem;color:var(--muted);padding:4px 10px;position:relative;min-width:58px}
  .tabbar a svg{width:24px;height:24px}
  .tabbar a.on{color:var(--ink)}
  .tabbar a.on::before{content:"";position:absolute;top:-8px;width:22px;height:3px;border-radius:2px;background:var(--accent)}
  .tabbar .reels-tab span:first-child{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);margin-top:-22px;box-shadow:0 8px 24px var(--glow)}
  .tabbar .badge{top:-2px;right:8px}
  main{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .foot{margin-bottom:calc(74px + env(safe-area-inset-bottom,0px))}
  .cmp-bar{bottom:calc(90px + env(safe-area-inset-bottom,0px))}
  .toast{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  .hero-grid{grid-template-columns:1fr;min-height:0;gap:8px}
  .hero-stage{order:-1;max-height:380px;max-width:420px;margin:0 auto}
  .hero-chip{font-size:.75rem;padding:8px 12px}
  .hero-chip b{font-size:.85rem}
  .slide{grid-template-columns:1fr;min-height:0;text-align:left}
  .slide .art{order:-1;max-height:200px;width:60%}
  .slider-nav{display:none}
  .band,.ref-hero,.contact-grid,.co,.pdp{grid-template-columns:1fr}
  .trust{grid-template-columns:1fr 1fr}
  .shop-layout{grid-template-columns:1fr}
  .filters{position:fixed;inset:auto 0 0 0;top:auto;z-index:90;border-radius:24px 24px 0 0;max-height:80vh;overflow-y:auto;transform:translateY(105%);transition:transform .4s var(--ease);padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
  .filters.on{transform:none}
  .filters:not(.on){visibility:hidden;transition:transform .4s var(--ease),visibility 0s .4s}
  .filter-toggle{display:inline-flex}
  .gallery{position:static}
  .steps3,.tiers,.info-grid{grid-template-columns:1fr}
  .foot-cols{grid-template-columns:1fr 1fr}
  .drawer{border-radius:24px 24px 0 0;top:auto;height:88vh;width:100%;transform:translateY(102%)}
  .drawer.on{transform:none}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .card .body{padding:12px}
  .card h3{font-size:.92rem}
  .card .specs{display:none}
  .price{font-size:1.05rem}
  .price s{display:block;margin:0}
  .add{width:38px;height:38px}
  .card .tools button{width:32px;height:32px}
  .reel-thumb{width:150px}
  .form-grid{grid-template-columns:1fr}
  .sec-head{margin-bottom:18px}
}
@media (max-width:420px){
  .cats{grid-template-columns:repeat(2,1fr)}
  .cat{min-height:150px}
  .hero-meta{gap:20px}
  .stat-row{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rv.pre{opacity:1;transform:none}
}
.drawer{background:color-mix(in srgb,var(--surface-solid) 94%,transparent)}
@media (max-width:860px){.toast{bottom:auto;top:calc(66px + env(safe-area-inset-top,0px));transform:translate(-50%,-180%)}.toast.on{transform:translate(-50%,0)}}

/* ===== v3 components ===== */
.logo{color:var(--ink);display:flex;align-items:center}
.logo svg{height:30px;width:auto;display:block}
.logo-sm svg{height:22px;width:auto;color:#fff}
.wordmark{color:transparent;-webkit-text-stroke:0;background:none;padding-block:16px 24px;display:flex;justify-content:center}
.wordmark svg{width:100%;height:auto;color:var(--line-strong);opacity:.9}
.hero-sym{width:62%;color:var(--ink);filter:drop-shadow(0 30px 40px rgba(0,0,0,.35))}
.av-logo{width:100%;height:100%;color:var(--navy)}
.mode-btn svg,.garage-btn svg{width:20px;height:20px}
.garage-btn{display:flex;align-items:center;gap:8px;height:42px;padding:0 14px;border-radius:999px;border:1px solid var(--line);font-size:.88rem;color:var(--muted);white-space:nowrap}
.garage-btn:hover{color:var(--ink);border-color:var(--line-strong)}
.garage-banner{width:100%;display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:var(--r);text-align:left}
.garage-banner b{display:block;font-weight:600}
.garage-banner small{display:block;color:var(--muted);font-size:.88rem}
.gb-ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(214,162,3,.14);color:var(--accent);flex:0 0 auto}
.gb-ic svg{width:24px;height:24px}
.fit{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:600;align-self:flex-start;padding:3px 8px;border-radius:6px}
.fit svg{width:13px;height:13px}
.fit.ok{color:var(--good);background:rgba(70,211,154,.1)}.fit.no{color:var(--bad);background:rgba(255,107,122,.1)}.fit.q{color:var(--warn);background:rgba(255,181,74,.1)}
.fit-box{display:flex;align-items:center;gap:12px;width:100%;margin-top:18px;padding:12px 14px;border-radius:14px;border:1px solid var(--line-strong);text-align:left;font-size:.92rem}
.fit-box svg{width:20px;height:20px;flex:0 0 auto}
.fit-box.ok{border-color:rgba(70,211,154,.5);color:var(--good)}.fit-box.no{border-color:rgba(255,107,122,.5);color:var(--bad)}.fit-box.q{border-color:rgba(255,181,74,.5);color:var(--warn)}
.hscroll{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;padding-bottom:6px}
.hscroll::-webkit-scrollbar{display:none}
.mini{flex:0 0 180px;scroll-snap-align:start;border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:6px;font-size:.85rem;line-height:1.3}
.mini svg{width:100%;height:110px}
.pmini{flex:0 0 300px;scroll-snap-align:start;border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:12px}
.pmini p{font-size:.92rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.3em}
.pmini .who,.post .who{display:flex;align-items:center;gap:10px;font-size:.88rem}
.pmini .who small{display:block;color:var(--muted);font-size:.75rem}
.pmini .acts{display:flex;gap:16px;color:var(--muted);font-size:.85rem;margin-top:auto}
.pmini .acts button{display:flex;align-items:center;gap:6px}
.pmini .acts svg{width:18px;height:18px}
.pmini .acts button.on{color:#ff6b9a}
.pmini .tagged{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;background:var(--line);font-size:.82rem}
.pmini .tagged svg{width:36px;height:36px}
.post .tagged{background:var(--line)}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tile{border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:4px;transition:transform .3s var(--ease),border-color .3s}
.tile:hover{transform:translateY(-3px);border-color:var(--accent)}
.tile b{font-weight:600;margin-top:10px}
.tile small{color:var(--muted);font-size:.85rem}
.t-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(214,162,3,.14);color:var(--accent)}
.t-ic svg{width:22px;height:22px}
.sheet{position:fixed;z-index:96;left:50%;top:50%;width:min(480px,calc(100% - 32px));max-height:86vh;overflow-y:auto;border-radius:24px;padding:26px;transform:translate(-50%,-46%) scale(.98);opacity:0;visibility:hidden;transition:all .35s var(--ease);background:color-mix(in srgb,var(--surface-solid) 95%,transparent);display:flex;flex-direction:column;gap:12px}
.sheet.on{opacity:1;visibility:visible;transform:translate(-50%,-50%)}
.sheet h3{font-size:1.35rem;padding-right:40px}
.sheet-x{position:absolute;top:14px;right:14px}
.stack{display:flex;flex-direction:column;gap:12px}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:12px;border:1px solid var(--line-strong);font-size:.9rem;color:var(--ink);transition:all .2s}
.seg input:checked+span{border-color:var(--accent);background:rgba(214,162,3,.12)}
.seg input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.seg-lg span{height:50px;padding:0 18px;font-size:.98rem}
.fab{position:fixed;z-index:65;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));height:52px;padding:0 18px 0 14px;border-radius:999px;display:flex;align-items:center;gap:10px;font-weight:600;font-size:.9rem;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.fab span:first-child{width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center}
.fab svg{width:18px;height:18px}
.live{display:inline-flex;align-items:center;gap:6px}
.live i{width:7px;height:7px;border-radius:50%;background:var(--bad);animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.3}}
.dotsep{width:4px;height:4px;border-radius:50%;background:var(--muted);margin:0 4px}
.deliv{display:flex;gap:10px;align-items:center;margin-top:10px;font-size:.92rem;color:var(--muted)}
.deliv b{color:var(--ink)}
.addon{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;border:1px solid var(--line-strong);cursor:pointer;margin-top:16px}
.addon input{accent-color:var(--accent);width:18px;height:18px;flex:0 0 auto}
.addon span{flex:1}
.addon small{display:block;color:var(--muted);font-size:.82rem}
.addon:has(input:checked){border-color:var(--accent);background:rgba(214,162,3,.07)}
.buy{grid-template-columns:auto 1fr 1fr}
.buy .btn-wa{grid-column:1/-1}
.taksit-box{margin-top:22px;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px}
.tb-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.tb-res{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:baseline}
.tb-res b{font-family:var(--font-display);font-weight:500;font-size:1.4rem;text-align:right}
.tb-res .muted{grid-column:1/-1;font-size:.85rem}
.ph-chart{border-radius:16px;border:1px solid var(--line);padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.ph-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.88rem}
.ph-chart svg{width:100%;height:auto}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.qa{display:flex;flex-direction:column;gap:10px}
.qa-item{border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.qa-item p{font-size:.93rem}
.qa-form{display:flex;gap:8px;margin-top:12px}
.qa-form .field{flex:1;min-width:0}
.narrow{max-width:820px}
.field-lg{height:58px;font-size:1.05rem;border-radius:16px}
.finder{border-radius:24px;padding:clamp(18px,3vw,32px);display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.fq{border:0;padding:0;margin:0;width:100%}
.fq legend{font-size:1.15rem;font-weight:600;margin-bottom:12px;display:flex;gap:12px;align-items:center}
.fq-n{font-size:.75rem;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:2px 8px;font-weight:700}
.gift-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:start}
.gc-preview{position:sticky;top:calc(96px + env(safe-area-inset-top,0px))}
.gcard{aspect-ratio:1.6/1;border-radius:24px;padding:clamp(18px,3vw,30px);display:flex;flex-direction:column;justify-content:space-between;color:#fff;position:relative;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);transition:background .4s}
.gcard[data-style="gold"]{background:linear-gradient(135deg,#f2c230,#b88a00 60%,#7a5a00)}
.gcard[data-style="navy"]{background:linear-gradient(135deg,#2e3460,#212540 55%,#12142a)}
.gcard[data-style="graphite"]{background:linear-gradient(135deg,#4a4d58,#24262e 60%,#121318)}
.gcard::after{content:"";position:absolute;right:-80px;bottom:-80px;width:260px;height:260px;border-radius:50%;border:1px solid rgba(255,255,255,.2);box-shadow:0 0 0 40px rgba(255,255,255,.04)}
.gcard .row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.9rem;position:relative;z-index:1}
.gc-logo{height:26px;width:auto;color:#fff}
.gcard[data-style="gold"] .gc-logo{color:#212540}
.gcard[data-style="gold"] .gc-logo path[fill="var(--gold)"]{fill:#fff;stroke:#fff}
.gc-amt{font-family:var(--font-display);font-size:clamp(2.4rem,1.6rem + 3vw,4rem);font-weight:500;position:relative;z-index:1}
.gcard p{position:absolute;left:clamp(18px,3vw,30px);top:46%;font-size:.95rem;opacity:.9;max-width:60%;z-index:1}
.track{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column}
.track li{display:flex;gap:14px;position:relative;padding-bottom:22px}
.track li:not(:last-child)::before{content:"";position:absolute;left:13px;top:28px;bottom:0;width:2px;background:var(--line-strong)}
.track li.done:not(:last-child)::before{background:var(--accent)}
.track i{width:28px;height:28px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;flex:0 0 auto;background:var(--bg)}
.track li.done i{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.track li.cur i{box-shadow:0 0 0 6px var(--glow)}
.track i svg{width:15px;height:15px}
.track small{display:block}
.warr{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;padding:12px 16px;border-radius:14px}
.warr svg{width:56px;height:56px}
.warr small{display:block}
.guides{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.guide{border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--ease)}
.guide:hover{transform:translateY(-4px)}
.g-art{aspect-ratio:16/9;display:grid;place-items:center;background:radial-gradient(70% 70% at 50% 50%,var(--room-1),transparent),var(--bg-2)}
.g-art svg{height:80%}
.guide>div:last-child{padding:18px;display:flex;flex-direction:column;gap:8px}
.guide h3{font-family:var(--font-body);font-weight:600;font-size:1.15rem;letter-spacing:0;line-height:1.3}
.article{padding-block:20px 0}
.article h2{font-size:clamp(1.25rem,1rem + .8vw,1.6rem);margin:34px 0 12px}
.article p{font-size:1.06rem;line-height:1.7;color:var(--ink);max-width:66ch}
.wheel-wrap{position:relative;width:min(320px,100%);margin:10px auto}
.wheel{width:100%;height:auto;display:block}
.pointer{position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:22px solid var(--ink)}
.btn[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}
.streak{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.streak div{border-radius:12px;border:1px solid var(--line-strong);padding:8px 4px;text-align:center;display:flex;flex-direction:column;gap:2px}
.streak small{font-size:.65rem;color:var(--muted)}
.streak b{font-size:.9rem}
.streak .done{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.streak .done small{color:var(--accent-ink)}
.streak .big{border-color:var(--accent)}
.earn{list-style:none;margin:0;padding:0}
.earn li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:.93rem}
.prof-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.pg{border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:4px;text-align:left;font-size:.88rem}
.pg svg{width:22px;height:22px;color:var(--accent);margin-bottom:6px}
.pg b{font-size:.95rem}
.pg span{word-break:break-word}
.cmp.diff tr.same{display:none}
.co-side{position:sticky;top:calc(88px + env(safe-area-inset-top,0px))}
@media (max-width:1100px){.tiles{grid-template-columns:repeat(2,1fr)}.prof-grid{grid-template-columns:repeat(3,1fr)}.garage-btn span{display:none}.garage-btn{padding:0;width:42px;justify-content:center;border:0}}
@media (max-width:860px){
  .two-col,.gift-grid{grid-template-columns:1fr}
  .gc-preview{position:static}
  .guides{grid-template-columns:1fr}
  .buy{grid-template-columns:auto 1fr}
  .buy .btn-ghost,.buy .btn-wa{grid-column:1/-1}
  .sheet{top:auto;bottom:0;left:0;right:0;width:100%;border-radius:24px 24px 0 0;transform:translateY(30px);max-height:88vh;padding-bottom:calc(26px + env(safe-area-inset-bottom,0px))}
  .sheet.on{transform:none}
  .fab{bottom:calc(86px + env(safe-area-inset-bottom,0px));left:auto;right:calc(14px + env(safe-area-inset-right,0px));padding:0;width:52px;justify-content:center}
  .fab span:last-child{display:none}
  .fab span:first-child{width:52px;height:52px}
  .prof-grid{grid-template-columns:1fr 1fr}
  .co-side{position:static}
  .logo svg{height:26px}
}
@media (max-width:420px){.tiles{grid-template-columns:1fr 1fr}.tile{padding:14px}.streak small{display:none}}

/* ===== admin ===== */
.adm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.adm-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.adm-stat{border-radius:16px;padding:16px;text-align:left;display:flex;flex-direction:column;gap:4px}
.adm-stat b{font-family:var(--font-display);font-weight:500;font-size:1.5rem}
.adm-stat span{color:var(--muted);font-size:.85rem}
.adm-t{min-width:860px}
.adm-t td{font-size:.9rem}
.adm-t small{font-size:.8rem}
.adm-sel{height:38px;font-size:.88rem;width:150px}
.adm-in{height:38px;width:110px}
.adm-t tr.st-new td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
.adm-t tr.st-cancelled{opacity:.55}
.adm-q p{margin:0}
@media (max-width:860px){.adm-stats{grid-template-columns:repeat(2,1fr)}}
