:root{
  --ink:#05060B; --ink2:#0B0D1A; --ink3:#12152A;
  --cobalt:#0A2283; --cobalt2:#1C3BC4; --cobalt-hi:#4A6BFF; --ice:#AFC0FF;
  --pc:#F5F5FB; --muted:rgba(245,245,251,.58); --faint:rgba(245,245,251,.34);
  --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.14);
  --glass:rgba(22,25,48,.55); --glass2:rgba(255,255,255,.06);
  --gold:#C9A45C;
  --top:max(env(safe-area-inset-top),14px); --bot:max(env(safe-area-inset-bottom),12px);
  --sp:cubic-bezier(.2,.9,.25,1.12); --sd:.6s; --sp2:cubic-bezier(.22,1,.36,1); --sd2:.5s;
  --serif:'Frank Ruhl Libre',serif; --sans:'Heebo',system-ui,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}
html,body{height:100%;overscroll-behavior:none;background:#020309;color:var(--pc);font-family:var(--sans);overflow:hidden;
  -webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img{display:block;-webkit-user-drag:none;user-select:none}
#stage{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;gap:56px}
#side{display:none}
#phone{position:relative;width:100vw;height:100dvh;overflow:hidden;overflow:clip;background:var(--ink);isolation:isolate}
#statusbar{display:none}
@media (min-width:900px){
  body{background:radial-gradient(1200px 700px at 70% 30%,#0b1240 0%,#020309 60%)}
  #phone{width:390px;height:844px;border-radius:56px;box-shadow:0 0 0 11px #0d0f18,0 0 0 12px #2a2e44,0 60px 140px rgba(0,0,0,.7),0 0 120px rgba(40,70,255,.12)}
  #phone{--top:50px;--bot:22px}
  #statusbar{display:flex;position:absolute;z-index:90;top:0;inset-inline:0;height:48px;padding:16px 34px 0;justify-content:space-between;
    font:600 15px var(--sans);direction:ltr;pointer-events:none}
  #statusbar .sb-r{display:flex;gap:5px;align-items:center}
  #statusbar .sb-r i{width:17px;height:10px;border-radius:3px;background:#fff;opacity:.9}
  #statusbar .sb-r i:last-child{width:24px;border-radius:4px}
  #side{display:flex;flex-direction:column;gap:10px;width:240px;color:var(--pc)}
  .side-logo{width:84px;filter:drop-shadow(0 10px 30px rgba(40,70,255,.45))}
  #side h1{font:800 34px var(--sans);letter-spacing:-.5px}
  .side-sub{color:var(--muted);font-size:14px;margin-bottom:12px}
  #side-nav{display:flex;flex-direction:column;gap:4px}
  #side-nav button{text-align:start;padding:9px 14px;border-radius:12px;color:var(--muted);font-size:15px;transition:background .25s,color .25s}
  #side-nav button:hover{background:rgba(255,255,255,.06);color:var(--pc)}
  #side-nav button.on{background:rgba(74,107,255,.16);color:#fff}
  .side-hint{margin-top:14px;font-size:12px;color:var(--faint)}
}
/* ---------- screens ---------- */
#screens{position:absolute;inset:0}
.screen{position:absolute;inset:0;overflow:hidden;overflow:clip;background:var(--ink);will-change:transform}
.screen.shadowed{box-shadow:30px 0 60px rgba(0,0,0,.55)}
.dim{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;z-index:50}
.scroll{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.scroll::-webkit-scrollbar{display:none}
.bgfx{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.delft{position:absolute;inset:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23AFC0FF' stroke-width='1.2'%3E%3Cpath d='M32 20c3 5 3 9 0 12-3-3-3-7 0-12zM32 44c-3-5-3-9 0-12 3 3 3 7 0 12zM20 32c5-3 9-3 12 0-3 3-7 3-12 0zM44 32c-5 3-9 3-12 0 3-3 7-3 12 0z'/%3E%3Ccircle cx='32' cy='32' r='2'/%3E%3Cpath d='M0 0h64v64H0z' stroke-opacity='.35'/%3E%3C/g%3E%3C/svg%3E");background-size:64px}
.glow{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none}
.tap{transition:transform .55s var(--sp)}
.tap:active{transform:scale(.955);transition:transform .12s ease-out}
/* header */
.hdr{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:calc(var(--top) + 6px) 18px 12px;
  background:linear-gradient(180deg,rgba(5,6,11,.92) 0%,rgba(5,6,11,.7) 70%,rgba(5,6,11,0) 100%);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hdr .logo{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 4px 14px rgba(60,90,255,.5))}
.addr{flex:1;line-height:1.15}
.addr small{display:block;font-size:11.5px;color:var(--faint)}
.addr b{font-weight:600;font-size:15.5px}
.addr b::after{content:'';display:inline-block;width:6px;height:6px;border-inline-start:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:translateY(-3px) rotate(-45deg);margin-inline-start:7px}
.icbtn{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:var(--glass2);border:1px solid var(--line);position:relative;flex:none}
.icbtn svg{width:21px;height:21px;stroke:var(--pc);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.badge{position:absolute;top:-5px;inset-inline-start:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--cobalt-hi);color:#fff;font:700 11.5px/20px var(--sans);text-align:center;box-shadow:0 0 0 3px var(--ink);transform:scale(0)}
.badge.on{transform:scale(1)}
.ttl{flex:1;text-align:center;font-weight:700;font-size:17px}
/* chips */
.eta{display:flex;align-items:center;gap:8px;margin:2px 18px 0;padding:9px 14px;border-radius:14px;background:rgba(74,107,255,.09);border:1px solid rgba(74,107,255,.18);font-size:13px;color:var(--ice)}
.eta .dot{width:7px;height:7px;border-radius:50%;background:#53E6A0;box-shadow:0 0 0 0 rgba(83,230,160,.6);animation:ping 2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(83,230,160,.55)}80%,100%{box-shadow:0 0 0 9px rgba(83,230,160,0)}}
.h1{font:900 42px/1.02 var(--serif);letter-spacing:-.5px;margin:22px 18px 4px}
.h1 em{font-style:normal;color:var(--ice)}
.sub{color:var(--muted);font-size:14px;margin:0 18px}
.chips{display:flex;gap:8px;overflow-x:auto;padding:16px 18px 6px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;padding:9px 16px;border-radius:999px;border:1px solid var(--line2);color:var(--muted);font-size:14px;font-weight:500;white-space:nowrap}
.chip.on{background:var(--pc);color:var(--ink);border-color:var(--pc)}
/* carousel */
.car{position:relative;height:400px;margin-top:4px;touch-action:pan-y;overflow:hidden}
.car-word{position:absolute;top:34px;inset-inline:0;text-align:center;font:900 112px/1 var(--sans);letter-spacing:-3px;direction:ltr;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1.2px rgba(245,245,251,.16);pointer-events:none;will-change:transform,opacity}
.car-glow{position:absolute;left:50%;top:160px;width:330px;height:330px;margin-left:-165px;margin-top:-165px;border-radius:50%;filter:blur(70px);opacity:.55;pointer-events:none}
.car-item{position:absolute;left:50%;top:50px;width:236px;height:236px;margin-left:-118px;will-change:transform,opacity}
.car-item img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 30px 30px rgba(0,0,0,.55))}
.car-floor{position:absolute;left:50%;top:272px;width:220px;height:34px;margin-left:-110px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.75),transparent);pointer-events:none}
.car-info{position:absolute;bottom:0;inset-inline:0;display:flex;align-items:flex-end;justify-content:space-between;padding:0 22px}
.car-info .nm{font:800 25px/1.1 var(--sans);letter-spacing:-.3px}
.car-info .ty{color:var(--muted);font-size:13.5px;margin-top:4px}
.car-info .pr{font:700 26px var(--sans);direction:ltr;margin-top:6px}
.car-info .pr small{font-size:15px;color:var(--muted);margin-left:2px}
.plus{width:56px;height:56px;border-radius:20px;background:var(--pc);color:var(--ink);display:grid;place-items:center;box-shadow:0 10px 30px rgba(74,107,255,.35)}
.plus svg{width:24px;height:24px;stroke:var(--ink);stroke-width:2.2;fill:none;stroke-linecap:round}
.dots{display:flex;gap:6px;justify-content:center;margin:16px 0 0}
.dots i{width:6px;height:6px;border-radius:3px;background:rgba(255,255,255,.2);transition:width .5s var(--sp),background .3s}
.dots i.on{width:22px;background:var(--pc)}
/* sections */
.sec{display:flex;align-items:baseline;justify-content:space-between;margin:34px 18px 0}
.sec h2{font:800 21px var(--sans);letter-spacing:-.2px}
.sec a{color:var(--ice);font-size:13.5px}
.rail{display:flex;gap:14px;overflow-x:auto;padding:54px 18px 8px;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-padding:18px}
.rail::-webkit-scrollbar{display:none}
/* breakout card */
.bc{position:relative;flex:none;width:172px;height:206px;border-radius:30px;scroll-snap-align:start;text-align:start}
.bc-bg{position:absolute;inset:0;border-radius:30px;overflow:hidden;
  background:radial-gradient(120% 80% at 50% 0%,rgba(var(--t),.42) 0%,rgba(var(--t),.12) 45%,rgba(16,18,36,.95) 80%),#0E1022;border:1px solid rgba(255,255,255,.07)}
.bc-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.07),transparent 30%)}
.bc-img{position:absolute;top:-46px;left:50%;width:150px;height:150px;margin-left:-75px;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(0,0,0,.6))}
.bc-meta{position:absolute;bottom:14px;inset-inline:16px}
.bc-meta b{display:block;font-weight:700;font-size:15.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bc-meta span{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.bc-meta em{display:block;font-style:normal;font-weight:700;font-size:17px;margin-top:6px;direction:ltr;text-align:right}
.bc-tag{position:absolute;z-index:2;bottom:86px;inset-inline-start:14px;font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:8px;background:rgba(201,164,92,.16);color:#E9CD92;border:1px solid rgba(201,164,92,.3)}
.bc-add{position:absolute;bottom:12px;inset-inline-end:12px;width:36px;height:36px;border-radius:13px;background:rgba(255,255,255,.1);border:1px solid var(--line2);display:grid;place-items:center}
.bc-add svg{width:16px;height:16px;stroke:var(--pc);stroke-width:2.2;fill:none;stroke-linecap:round}
/* vape teaser */
.vt{position:relative;display:flex;align-items:center;margin:22px 18px 0;height:118px;border-radius:28px;overflow:hidden;padding:0 20px;
  background:linear-gradient(110deg,#0E1230 0%,#141A46 55%,#1A1150 100%);border:1px solid rgba(140,120,255,.18);width:calc(100% - 36px);text-align:start}
.vt b{font:800 20px var(--sans)}
.vt span{display:block;color:var(--muted);font-size:13px;margin-top:3px}
.vt img{position:absolute;height:132px;bottom:-14px;filter:drop-shadow(0 14px 20px rgba(0,0,0,.6))}
.note{text-align:center;color:var(--faint);font-size:11.5px;margin:30px 0 0}
/* tabbar */
#tabbar{position:absolute;z-index:40;bottom:calc(var(--bot) + 4px);left:50%;transform:translateX(-50%);display:flex;gap:4px;padding:6px;border-radius:26px;
  background:rgba(18,20,38,.62);backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);border:1px solid rgba(255,255,255,.09);
  box-shadow:0 20px 50px rgba(0,0,0,.5);will-change:transform}
#tabbar button{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2px;width:74px;padding:7px 0 6px;font-size:10.5px;color:var(--faint);transition:color .3s}
#tabbar button.on{color:var(--pc)}
#tabbar svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#tabbar .ind{position:absolute;z-index:0;left:0;top:6px;height:calc(100% - 12px);width:74px;border-radius:20px;background:rgba(255,255,255,.09)}
#cartpill{position:absolute;z-index:39;left:50%;bottom:calc(var(--bot) + 84px);transform:translate(-50%,160px);display:flex;align-items:center;gap:12px;
  padding:8px 8px 8px 18px;border-radius:22px;background:var(--pc);color:var(--ink);box-shadow:0 18px 50px rgba(74,107,255,.4);font-weight:700;white-space:nowrap}
#cartpill .ct{width:40px;height:40px;border-radius:15px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:14px}
#cartpill .sum{direction:ltr}
/* fx */
#fx{position:absolute;inset:0;z-index:70;pointer-events:none}
#fx .fly{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
#fx .fly img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 24px 30px rgba(0,0,0,.6))}
#toast{position:absolute;z-index:80;top:calc(var(--top) + 6px);left:50%;transform:translate(-50%,-140px);display:flex;align-items:center;gap:10px;padding:10px 18px 10px 12px;border-radius:20px;
  background:rgba(28,31,56,.82);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--line2);font-weight:600;font-size:14px;white-space:nowrap;box-shadow:0 20px 40px rgba(0,0,0,.4)}
#toast img{width:34px;height:34px;object-fit:contain}
/* entrance */
.ent{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.aur{position:absolute;inset:-20%;pointer-events:none}
.aur i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.75}
.aur i:nth-child(1){width:420px;height:420px;background:#0A2283;left:5%;top:8%;animation:drift1 14s ease-in-out infinite alternate}
.aur i:nth-child(2){width:360px;height:360px;background:#2B1B8F;right:0;top:40%;animation:drift2 17s ease-in-out infinite alternate;opacity:.55}
.aur i:nth-child(3){width:300px;height:300px;background:#1D4DFF;left:30%;bottom:6%;animation:drift1 19s ease-in-out infinite alternate-reverse;opacity:.35}
@keyframes drift1{to{transform:translate(70px,90px) scale(1.15)}}
@keyframes drift2{to{transform:translate(-80px,-60px) scale(.9)}}
.ent-logo{position:relative;width:236px;height:236px;margin-top:-40px;will-change:transform}
.ent-logo img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 30px 50px rgba(10,34,131,.8))}
.sheen{position:absolute;inset:0;pointer-events:none;-webkit-mask:url(img/logo.webp) center/contain no-repeat;mask:url(img/logo.webp) center/contain no-repeat;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.7) 50%,transparent 62%);background-size:300% 100%;animation:sweep 5s cubic-bezier(.5,0,.3,1) infinite 1.2s;mix-blend-mode:screen}
@keyframes sweep{0%{background-position:120% 0}55%,100%{background-position:-60% 0}}
.ent h1{font:900 38px/1.05 var(--serif);margin-top:26px;letter-spacing:-.3px}
.ent p{color:var(--muted);font-size:15px;margin-top:10px}
.gate{position:absolute;bottom:calc(var(--bot) + 14px);inset-inline:16px;padding:20px;border-radius:30px;background:rgba(20,23,46,.55);border:1px solid var(--line2);
  backdrop-filter:blur(26px) saturate(1.4);-webkit-backdrop-filter:blur(26px) saturate(1.4)}
.gate p{font-size:13.5px;color:var(--muted);margin:0 0 14px}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:58px;border-radius:20px;font-weight:700;font-size:17px}
.btn.pri{background:var(--pc);color:var(--ink);box-shadow:0 14px 40px rgba(74,107,255,.35)}
.btn.blue{background:linear-gradient(180deg,#3558F0,#1C3BC4);color:#fff;box-shadow:0 14px 34px rgba(40,70,255,.45),inset 0 1px 0 rgba(255,255,255,.25)}
.btn.ghost{background:transparent;color:var(--muted);height:46px;font-weight:500;font-size:15px;margin-top:6px}
/* category */
.cat-body{display:flex;min-height:100%}
.vrail{position:sticky;top:0;flex:none;width:62px;height:calc(100dvh - 120px);max-height:720px;display:flex;flex-direction:column;align-items:center;gap:2px;padding-top:6px;border-inline-end:1px solid var(--line)}
@media(min-width:900px){.vrail{height:700px}}
.vrail button{position:relative;z-index:1;writing-mode:vertical-rl;padding:14px 0;font-size:14px;font-weight:600;color:var(--faint);transition:color .3s;flex:1;max-height:92px}
.vrail button.on{color:var(--pc)}
.vrail .vind{position:absolute;top:0;inset-inline-end:-1px;width:3px;border-radius:2px;background:var(--cobalt-hi);box-shadow:0 0 14px var(--cobalt-hi)}
.cat-main{flex:1;min-width:0;padding:4px 14px 150px}
.cat-word{font:900 64px/1 var(--sans);direction:ltr;text-align:right;color:transparent;-webkit-text-stroke:1px rgba(245,245,251,.18);letter-spacing:-2px;margin-top:4px}
.cat-h{font:900 32px/1.05 var(--serif);margin-top:-18px}
.cat-n{color:var(--muted);font-size:13px;margin-top:4px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:56px 12px;padding-top:58px}
.grid .bc{width:auto;height:196px}
.grid .bc-img{width:136px;height:136px;margin-left:-68px;top:-44px}
/* product */
.pd .scroll{padding-bottom:130px}
.pd-top{position:absolute;z-index:20;top:0;inset-inline:0;display:flex;justify-content:space-between;padding:calc(var(--top) + 6px) 18px 0}
.pd-hero{position:relative;height:430px;padding-top:calc(var(--top) + 54px)}
.pd-word{position:absolute;top:calc(var(--top) + 64px);inset-inline:0;text-align:center;font:900 118px/1 var(--sans);direction:ltr;letter-spacing:-4px;color:transparent;
  -webkit-text-stroke:1.2px rgba(245,245,251,.2);white-space:nowrap}
.pd-glow{position:absolute;left:50%;top:62%;width:380px;height:380px;margin:-190px 0 0 -190px;border-radius:50%;filter:blur(60px);opacity:.75}
.pd-box{position:relative;margin:0 auto;width:300px;height:300px;perspective:900px}
.pd-tilt{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.pd-tilt img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 34px 34px rgba(0,0,0,.6))}
.pd-gloss{position:absolute;inset:0;pointer-events:none;mix-blend-mode:soft-light;opacity:.9}
.pd-shadow{position:absolute;left:50%;bottom:-18px;width:230px;height:30px;margin-left:-115px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.8),transparent);will-change:transform}
.pd-body{position:relative;padding:0 20px}
.pd-badge{display:inline-block;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:9px;background:rgba(201,164,92,.14);color:#E9CD92;border:1px solid rgba(201,164,92,.3);margin-bottom:10px}
.pd-name{font:900 36px/1.05 var(--serif);letter-spacing:-.3px}
.pd-type{color:var(--muted);font-size:14.5px;margin-top:6px}
.seg{position:relative;display:flex;margin-top:20px;padding:4px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid var(--line)}
.seg button{position:relative;z-index:1;flex:1;height:44px;font-weight:600;font-size:15px;color:var(--muted);transition:color .3s}
.seg button.on{color:var(--ink)}
.seg .sind{position:absolute;z-index:0;left:0;top:4px;bottom:4px;border-radius:14px;background:var(--pc);box-shadow:0 6px 18px rgba(0,0,0,.3)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.fact{padding:12px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.fact small{display:block;color:var(--faint);font-size:11px}
.fact b{font-size:15px;font-weight:700}
.card{margin-top:14px;padding:16px 18px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border:1px solid var(--line)}
.card h3{font-size:15px;font-weight:700;margin-bottom:10px}
.inc{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:14.5px;color:rgba(245,245,251,.85)}
.inc+.inc{border-top:1px solid var(--line)}
.inc i{width:24px;height:24px;border-radius:8px;background:rgba(74,107,255,.16);display:grid;place-items:center;flex:none}
.inc i svg{width:13px;height:13px;stroke:var(--ice);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ex{display:flex;align-items:center;gap:12px;padding:10px 0;width:100%;text-align:start;font-size:14.5px}
.ex+.ex{border-top:1px solid var(--line)}
.ex span{flex:1}
.ex em{font-style:normal;color:var(--muted);direction:ltr}
.sw{position:relative;width:50px;height:30px;border-radius:15px;background:rgba(255,255,255,.14);transition:background .3s;flex:none}
.sw::after{content:'';position:absolute;top:3px;right:3px;width:24px;height:24px;border-radius:12px;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.3);transition:transform .45s var(--sp)}
.ex.on .sw{background:var(--cobalt-hi)}
.ex.on .sw::after{transform:translateX(-20px)}
.pd-note{color:var(--faint);font-size:11.5px;margin-top:14px;text-align:center}
.buybar{position:absolute;z-index:30;bottom:0;inset-inline:0;display:flex;gap:10px;align-items:center;padding:14px 16px calc(var(--bot) + 8px);
  background:linear-gradient(180deg,rgba(5,6,11,0),rgba(5,6,11,.85) 35%);}
.buybar .btn{flex:1}
.step{display:flex;align-items:center;height:58px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid var(--line2)}
.step button{width:44px;height:100%;font-size:22px;font-weight:400}
.step b{width:24px;text-align:center;font-size:17px}
/* vapes */
.vlist{padding:8px 16px 150px;display:flex;flex-direction:column;gap:14px}
.vc{position:relative;border-radius:28px;overflow:hidden;background:#0E1022;border:1px solid var(--line);text-align:start;width:100%}
.vc-top{display:flex;align-items:center;gap:14px;padding:16px}
.vc-img{position:relative;width:92px;height:110px;flex:none;border-radius:22px;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,rgba(var(--t),.38),rgba(var(--t),.06) 70%)}
.vc-img img{height:104px;width:86px;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(0,0,0,.55))}
.vc-img .ph{font:900 22px var(--sans);direction:ltr;color:rgba(255,255,255,.7)}
.vc-nm{font-weight:800;font-size:18px;direction:ltr;text-align:right}
.vc-pf{color:var(--muted);font-size:13px;margin-top:2px}
.vc-tiers{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.vc-tiers span{font-size:12.5px;padding:5px 10px;border-radius:10px;background:rgba(255,255,255,.07);border:1px solid var(--line)}
.vc-more{overflow:hidden;height:0}
.vc-in{padding:0 16px 16px}
.fls{display:flex;flex-wrap:wrap;gap:7px}
.fl{padding:8px 12px;border-radius:12px;border:1px solid var(--line2);font-size:13px;color:var(--muted)}
.fl.on{background:rgba(var(--t),.25);border-color:rgba(var(--t),.6);color:#fff}
.tiers{display:flex;gap:8px;margin:14px 0}
.tier{flex:1;padding:10px 6px;border-radius:14px;border:1px solid var(--line2);text-align:center;font-size:13px;color:var(--muted)}
.tier b{display:block;font-size:17px;color:var(--pc);direction:ltr}
.tier.on{border-color:var(--pc);background:rgba(255,255,255,.08)}
.vhead{padding:0 18px 6px}
.warn{margin:6px 16px 0;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.04);color:var(--faint);font-size:12px}
/* sheet */
.sheet-wrap{position:absolute;inset:0;z-index:60}
.sheet-bd{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.sheet{position:absolute;inset-inline:0;bottom:0;max-height:88%;display:flex;flex-direction:column;border-radius:34px 34px 0 0;background:rgba(14,16,32,.92);
  backdrop-filter:blur(30px) saturate(1.5);-webkit-backdrop-filter:blur(30px) saturate(1.5);border-top:1px solid var(--line2);will-change:transform;padding-bottom:var(--bot)}
.grab{padding:10px 0 4px;touch-action:none}
.grab i{display:block;width:40px;height:5px;border-radius:3px;background:rgba(255,255,255,.25);margin:0 auto}
.sheet h2{font:900 28px var(--serif);padding:6px 20px 8px}
.sheet .items{overflow-y:auto;padding:0 20px;flex:1}
.ci{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.ci img,.ci .ph{width:64px;height:64px;object-fit:contain;border-radius:16px;background:radial-gradient(circle,rgba(var(--t),.3),transparent 70%);flex:none}
.ci .meta{flex:1;min-width:0}
.ci b{display:block;font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ci span{font-size:12.5px;color:var(--muted)}
.ci em{display:block;font-style:normal;font-weight:700;margin-top:3px;direction:ltr;text-align:right}
.ci .step{height:40px;border-radius:14px}
.ci .step button{width:34px;font-size:18px}
.tot{padding:14px 20px 6px}
.row{display:flex;justify-content:space-between;font-size:14.5px;color:var(--muted);padding:4px 0}
.row b{color:var(--pc);direction:ltr}
.row.big{font-size:18px;color:var(--pc);font-weight:700;padding-top:10px}
.prog{height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;margin:4px 0 8px}
.prog i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--cobalt-hi),#8FA6FF);transform-origin:right}
.sheet .btn{margin:10px 20px 6px;width:calc(100% - 40px)}
.empty{text-align:center;padding:30px 0 40px;color:var(--muted)}
/* checkout */
.co{padding:0 16px 170px}
.co h3{font-size:13px;font-weight:600;color:var(--faint);margin:20px 4px 8px;letter-spacing:.2px}
.mapc{position:relative;height:120px;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:#0A0D1E}
.mapc svg{position:absolute;inset:0;width:100%;height:100%}
.mapc .pin{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--cobalt-hi);box-shadow:0 0 0 6px rgba(74,107,255,.25),0 0 30px var(--cobalt-hi)}
.addrrow{display:flex;align-items:center;gap:12px;padding:14px 16px}
.addrrow div{flex:1}
.addrrow b{display:block;font-size:15.5px}
.addrrow span{font-size:12.5px;color:var(--muted)}
.addrrow a{color:var(--ice);font-size:13.5px}
.box{border-radius:24px;background:rgba(255,255,255,.045);border:1px solid var(--line);overflow:hidden}
.wheelwrap{overflow:hidden;height:0}
.wheel-in{position:relative;height:200px;margin:4px 0 6px}
.wheel{position:absolute;inset:0;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none;padding:80px 0;-webkit-mask:linear-gradient(transparent,#000 30%,#000 70%,transparent)}
.wheel::-webkit-scrollbar{display:none}
.wheel div{height:40px;line-height:40px;text-align:center;scroll-snap-align:center;font-size:21px;font-weight:600;direction:ltr;will-change:transform}
.wheel-band{position:absolute;top:80px;height:40px;inset-inline:16px;border-radius:12px;background:rgba(255,255,255,.08);pointer-events:none}
.field{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-size:15px}
.field+.field{border-top:1px solid var(--line)}
.field span{color:var(--muted)}
.radio{width:22px;height:22px;border-radius:50%;border:2px solid var(--line2);display:grid;place-items:center}
.radio.on{border-color:var(--cobalt-hi)}
.radio.on::after{content:'';width:10px;height:10px;border-radius:50%;background:var(--cobalt-hi)}
.slide{position:absolute;z-index:30;bottom:calc(var(--bot) + 10px);inset-inline:16px;height:66px;border-radius:24px;background:rgba(20,23,46,.75);border:1px solid var(--line2);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:hidden;touch-action:none}
.slide .fill{position:absolute;inset-block:0;right:0;width:66px;border-radius:24px;background:linear-gradient(270deg,#3558F0,#1C3BC4)}
.slide .lbl{position:absolute;inset:0;display:grid;place-items:center;font-weight:700;font-size:16px;color:var(--pc);padding-inline-start:40px}
.slide .lbl span{background:linear-gradient(90deg,rgba(245,245,251,.4) 0%,#fff 50%,rgba(245,245,251,.4) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shim 2.4s linear infinite}
@keyframes shim{from{background-position:200% 0}to{background-position:-0% 0}}
.slide .knob{position:absolute;top:5px;right:5px;width:56px;height:56px;border-radius:19px;background:var(--pc);display:grid;place-items:center;box-shadow:0 6px 16px rgba(0,0,0,.35);will-change:transform}
.slide .knob svg{width:22px;height:22px;stroke:var(--ink);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
/* tracking */
.trk-map{position:absolute;inset:0}
.trk-map svg{width:100%;height:100%}
.trk-sheet{position:absolute;z-index:10;bottom:0;inset-inline:0;padding:20px 20px calc(var(--bot) + 96px);border-radius:34px 34px 0 0;background:rgba(14,16,32,.86);
  backdrop-filter:blur(30px) saturate(1.5);-webkit-backdrop-filter:blur(30px) saturate(1.5);border-top:1px solid var(--line2)}
.trk-eta{display:flex;align-items:center;gap:18px}
.ring{position:relative;width:96px;height:96px;flex:none}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring b{position:absolute;inset:0;display:grid;place-items:center;font:800 30px/1 var(--sans);direction:ltr}
.ring b small{display:block;font-size:11px;font-weight:500;color:var(--muted);margin-top:-14px}
.trk-eta h2{font:900 25px/1.1 var(--serif)}
.trk-eta p{color:var(--muted);font-size:13.5px;margin-top:4px}
.steps{display:flex;gap:6px;margin:20px 0 4px}
.steps div{flex:1}
.steps i{display:block;height:5px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden}
.steps i::after{content:'';display:block;height:100%;width:100%;background:var(--cobalt-hi);transform:scaleX(0);transform-origin:right;transition:transform .9s var(--sp2)}
.steps .done i::after{transform:scaleX(1)}
.steps span{display:block;font-size:11.5px;color:var(--faint);margin-top:6px;transition:color .4s}
.steps .done span{color:var(--pc)}
.courier{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid var(--line)}
.courier .av{width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,#3558F0,#7A5CFF);display:grid;place-items:center;font-weight:800}
.courier > div:not(.av){flex:1}
.courier b{display:block;font-size:15px}
.courier span{font-size:12.5px;color:var(--muted)}
/* owner */
.own{padding:0 16px 40px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}
.kpi{padding:14px 12px;border-radius:20px;background:rgba(255,255,255,.045);border:1px solid var(--line)}
.kpi small{display:block;color:var(--faint);font-size:11.5px}
.kpi b{display:block;font:800 25px var(--sans);margin-top:4px;direction:ltr;text-align:right}
.kpi.hot{background:linear-gradient(160deg,rgba(74,107,255,.25),rgba(74,107,255,.06));border-color:rgba(74,107,255,.35)}
.otabs{position:relative;display:flex;margin:18px 0 12px;padding:4px;border-radius:16px;background:rgba(255,255,255,.05)}
.otabs button{position:relative;z-index:1;flex:1;height:38px;font-size:14px;font-weight:600;color:var(--muted);transition:color .3s}
.otabs button.on{color:var(--pc)}
.otabs .tind{position:absolute;left:0;top:4px;bottom:4px;border-radius:12px;background:rgba(255,255,255,.1)}
.otabs .n{display:inline-block;min-width:18px;height:18px;line-height:18px;border-radius:9px;background:var(--cobalt-hi);color:#fff;font-size:11px;margin-inline-start:5px}
.olist{display:flex;flex-direction:column;gap:10px}
.oc{position:relative;padding:14px 16px;border-radius:22px;background:#0F1126;border:1px solid var(--line);will-change:transform}
.oc.new{border-color:rgba(74,107,255,.5);box-shadow:0 0 0 0 rgba(74,107,255,.5);animation:newo 1.6s ease-out 2}
@keyframes newo{0%{box-shadow:0 0 0 0 rgba(74,107,255,.55)}100%{box-shadow:0 0 0 16px rgba(74,107,255,0)}}
.oc-h{display:flex;align-items:center;gap:8px}
.oc-h b{font-size:16px}
.oc-h .no{color:var(--faint);font-size:12.5px;direction:ltr}
.oc-h .tm{margin-inline-start:auto;font-size:12.5px;color:var(--muted)}
.oc-it{font-size:13.5px;color:rgba(245,245,251,.8);margin-top:6px;line-height:1.45}
.oc-f{display:flex;align-items:center;gap:8px;margin-top:12px}
.oc-f .ar{font-size:12.5px;color:var(--muted);flex:1}
.oc-f .sm{font-weight:800;font-size:17px;direction:ltr}
.oc-b{display:flex;gap:8px;margin-top:12px}
.oc-b button{flex:1;height:44px;border-radius:14px;font-weight:700;font-size:14.5px}
.oc-b .ok{background:linear-gradient(180deg,#3558F0,#1C3BC4);color:#fff}
.oc-b .no2{background:rgba(255,255,255,.06);color:var(--muted);flex:.45}
.shift{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}
.sh{padding:14px;border-radius:20px;background:rgba(201,164,92,.07);border:1px solid rgba(201,164,92,.22)}
.sh small{color:#E9CD92;font-size:12px}
.sh b{display:block;font:800 22px var(--sans);direction:ltr;text-align:right;margin-top:2px}
.sh span{font-size:12px;color:var(--muted)}
.emptyo{color:var(--faint);text-align:center;padding:30px 0;font-size:14px}
/* menu */
.menu{position:absolute;inset:0;z-index:95;display:flex;align-items:flex-end;background:rgba(0,0,0,.5);opacity:0}
.menu .mbox{width:100%;padding:16px 16px calc(var(--bot) + 16px);border-radius:30px 30px 0 0;background:rgba(18,20,40,.95);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);transform:translateY(100%)}
.menu h4{font-size:13px;color:var(--faint);padding:4px 8px 10px}
.menu button{display:block;width:100%;text-align:start;padding:13px 10px;border-radius:14px;font-size:16px}
.menu button:active{background:rgba(255,255,255,.06)}

.addr b.nochev::after{display:none}

.vt>div{position:relative;z-index:1;max-width:56%}
.vt img{height:116px}
