:root{--bg:#07060d;--orange:#ff7a1a;--amber:#ffb627;--gold:#ffe08a;--cyan:#35e0ff;--text:#f6f3ee;--muted:#a9a5b8;--line:rgba(255,255,255,.09);--glass:rgba(255,255,255,.045);--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}section[id]{scroll-margin-top:100px}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.7 "Kantumruy Pro",Sora,system-ui,sans-serif;letter-spacing:.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh}body.lock{overflow:hidden}a{color:inherit;text-decoration:none}
.aurora{position:fixed;inset:0;z-index:-1;overflow:hidden}.aurora i{position:absolute;width:48vmax;height:48vmax;border-radius:50%;filter:blur(100px);opacity:.34;animation:drift 24s ease-in-out infinite alternate}
.aurora i:nth-child(1){background:var(--orange);top:-22vmax;right:-12vmax}.aurora i:nth-child(2){background:#6a3dff;bottom:-26vmax;left:-14vmax;animation-delay:-8s}.aurora i:nth-child(3){background:var(--cyan);width:26vmax;height:26vmax;top:38%;left:42%;opacity:.12;animation-delay:-15s}
@keyframes drift{to{transform:translate(8vmax,6vmax) scale(1.2)}}
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:20;background:linear-gradient(90deg,var(--orange),var(--gold),var(--cyan));transform:scaleX(0);transform-origin:0}
.emo{width:1.3em;height:1.3em;flex:none;vertical-align:-.3em;filter:drop-shadow(0 3px 8px rgba(255,120,0,.35));transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
a:hover>.emo,.btn:hover .emo,.feat:hover .emo,.card:hover .emo{transform:translateY(-3px) rotate(-10deg) scale(1.18)}
header{position:sticky;top:12px;z-index:10;width:min(1180px,calc(100% - 24px));height:68px;margin:12px auto 0;padding:0 12px 0 22px;display:flex;align-items:center;justify-content:space-between;animation:headerFade .9s var(--ease) both;transition:height .4s var(--ease)}
header::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:22px;background:rgba(14,11,26,.62);border:1px solid var(--line);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);box-shadow:0 10px 40px #0006;transition:.4s}
header.scrolled{height:58px}header.scrolled::before{background:rgba(10,8,20,.88);border-color:rgba(255,150,40,.32)}
@keyframes headerFade{from{opacity:0;}}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.3px;min-width:0}.brand-logo-link{height:58px}.brand-logo{display:block;width:150px;height:56px;object-fit:contain;object-position:center;filter:drop-shadow(0 4px 14px rgba(255,110,20,.18));transition:transform .35s var(--ease),filter .35s var(--ease)}.brand-logo-link:hover .brand-logo{transform:translateY(-1px) scale(1.02);filter:drop-shadow(0 6px 18px rgba(255,110,20,.32))}.brand small{font:600 11px Sora;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:2px 9px}.brand-emo{width:30px;height:30px}

nav{position:relative;display:flex;align-items:center;gap:4px}
nav a{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:14px;font-weight:600}nav a:not(.btn){color:#cfcbdb;transition:color .3s}nav a:not(.btn):hover,nav a.on{color:#fff}nav .btn{margin-left:6px}
.pill{position:absolute;left:0;top:0;z-index:0;border-radius:14px;background:linear-gradient(135deg,rgba(255,122,26,.3),rgba(255,182,39,.1));border:1px solid rgba(255,150,40,.42);box-shadow:0 0 24px rgba(255,122,26,.25);opacity:0;pointer-events:none;transition:transform .45s var(--ease),width .45s var(--ease),height .45s var(--ease),opacity .3s}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:13px;background:var(--glass);cursor:pointer;position:relative;z-index:12}
.burger i{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:#fff;transition:.4s var(--ease)}.burger i:nth-child(1){top:15px}.burger i:nth-child(2){top:21px}.burger i:nth-child(3){top:27px}
.open .burger i:nth-child(1){top:21px;transform:rotate(45deg)}.open .burger i:nth-child(2){opacity:0;transform:scaleX(0)}.open .burger i:nth-child(3){top:21px;transform:rotate(-45deg)}
main{max-width:1180px;margin:auto;padding:30px 20px 70px}.tag{font:600 12px Sora;color:var(--orange);letter-spacing:2px}
.hero{min-height:520px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:50px}
.hero>div:first-child>*{animation:up .9s var(--ease) both}.hero>div:first-child>:nth-child(2){animation-delay:.1s}.hero>div:first-child>:nth-child(3){animation-delay:.2s}.hero>div:first-child>:nth-child(4){animation-delay:.3s}
@keyframes up{from{opacity:0;transform:translateY(28px)}}
.hero h1{font-size:clamp(42px,7vw,76px);line-height:1.04;margin:14px 0;letter-spacing:-2px;max-width:100%;overflow-wrap:anywhere}
.hero h1 b{background:linear-gradient(90deg,var(--orange),var(--gold),var(--cyan),var(--orange));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 7s linear infinite}@keyframes shine{to{background-position:300% 0}}
.hero p{font-size:18px;color:var(--muted);max-width:650px;line-height:1.75}
.hero-card,.panel,.card,.feat{position:relative;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 70px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.hero-card{padding:38px;display:flex;flex-direction:column;gap:12px;animation:up 1s .35s var(--ease) both}.hero-card span,.muted{color:var(--muted)}
.orb{position:relative;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;font:800 38px Sora;color:var(--gold);background:radial-gradient(circle,rgba(255,179,0,.3),rgba(255,106,0,.05) 65%)}
.orb::before{content:"";position:absolute;inset:-2px;border-radius:50%;background:conic-gradient(var(--orange),transparent 35%,var(--cyan),transparent 75%,var(--orange));animation:spin 5s linear infinite;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px))}@keyframes spin{to{transform:rotate(1turn)}}
.chip{position:absolute;display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:rgba(20,16,36,.92);border:1px solid var(--line);box-shadow:0 12px 30px #0008;animation:float 5s ease-in-out infinite}.chip .emo{width:28px;height:28px}
.chip:nth-of-type(1){top:-16px;right:26px}.chip:nth-of-type(2){bottom:26px;right:-14px;animation-delay:-1.6s}.chip:nth-of-type(3){top:46%;left:-20px;animation-delay:-3.2s}@keyframes float{50%{transform:translateY(-12px) rotate(4deg)}}
section{margin-top:70px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.section-head h2,.section h1{font-size:clamp(28px,4vw,40px);margin:7px 0;letter-spacing:-1px}.section-head>span{color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:6px 14px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card,.feat{padding:26px;overflow:hidden;transition:transform .45s var(--ease),border-color .3s,box-shadow .45s}.card{padding:24px}
.card::before,.feat::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(280px circle at var(--mx,50%) var(--my,0),rgba(255,140,30,.2),transparent 65%)}
.card:hover::before,.feat:hover::before{opacity:1}.card:hover,.feat:hover{transform:translateY(-7px);border-color:rgba(255,160,50,.5);box-shadow:0 28px 80px rgba(255,106,0,.2)}
.card-top{display:flex;justify-content:space-between;align-items:center}.ico{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:rgba(255,160,40,.1);border:1px solid rgba(255,160,40,.25)}.ico .emo{width:28px;height:28px}.feat .ico{margin-bottom:18px}
.card .cat{color:var(--cyan);font-size:11px;text-transform:uppercase;letter-spacing:1px}.card h3{font-size:20px;margin:16px 0 8px}.card p,.feat p{color:var(--muted);line-height:1.65}.card p{min-height:75px}.feat h3{margin:0 0 8px;font-size:19px}.feat p{margin:0}
.row{display:flex;align-items:center;justify-content:space-between;margin-top:22px}.card .row strong{font-size:22px;color:var(--amber)}
.price{font-size:46px;font-weight:800;margin:25px 0;background:linear-gradient(90deg,var(--amber),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.rv{opacity:0}.rv.in{opacity:1;animation:up .9s var(--ease) var(--d,0s) backwards}
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:13px;padding:13px 20px;background:linear-gradient(135deg,var(--orange),var(--amber));color:#1a0e00;font:800 14px Sora,"Kantumruy Pro",sans-serif;cursor:pointer;box-shadow:0 10px 30px rgba(255,106,0,.3);transition:transform .3s var(--ease),box-shadow .3s}
.btn::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-20deg);transition:left .7s var(--ease)}
.btn:hover{transform:translateY(-3px);box-shadow:0 16px 44px rgba(255,106,0,.5)}.btn:hover::after{left:140%}.btn:active{transform:scale(.96)}
.btn.small{padding:9px 14px;font-size:13px}.btn.tiny{padding:7px 11px;font-size:12px;border-radius:10px}.btn.ghost{background:var(--glass);color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:none}.btn.ghost:hover{border-color:var(--orange);box-shadow:0 10px 30px rgba(255,106,0,.2)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
form{display:grid;gap:14px}label{display:grid;gap:7px;color:#cfcbdb;font-size:13px}
input,textarea{width:100%;background:rgba(5,4,12,.7);border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#fff;padding:13px;font:inherit;outline:none;transition:border-color .3s,box-shadow .3s}
input:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(255,122,26,.16)}input[type=checkbox]{width:auto;accent-color:var(--orange)}textarea{min-height:80px}
.panel{padding:26px;margin:18px 0}.auth{max-width:480px;margin:70px auto}.product{min-height:500px;display:grid;grid-template-columns:1fr 380px;gap:50px;align-items:center}
.flash{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:14px;margin:10px 0;background:var(--glass);border:1px solid var(--line);animation:drop .6s var(--ease) both}.flash.error{border-color:rgba(255,77,77,.5)}.flash.success{border-color:rgba(0,230,118,.5)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0}.stats div{background:var(--glass);border:1px solid var(--line);border-radius:16px;padding:20px}.stats b{font-size:26px;display:block;color:var(--amber)}.stats span{color:var(--muted)}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:#8f8aa3;font-size:12px;text-transform:uppercase}tr:hover td{background:rgba(255,160,40,.05)}
.status{padding:5px 10px;border-radius:99px;background:rgba(255,255,255,.07);font-size:12px}.status.paid{color:#00e676}.status.pending{color:var(--amber)}.inline{display:inline}.listrow{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.listrow small{display:block;color:var(--muted);margin-top:4px}
footer{text-align:center;border-top:1px solid var(--line);padding:28px;color:#7d788f}
@media(max-width:1000px){.hero,.product,.admin-grid{grid-template-columns:1fr}.grid,.stats{grid-template-columns:1fr 1fr}.feats{grid-template-columns:1fr}.hero-card{max-width:520px}.burger{display:block}
nav{position:fixed;top:0;right:0;bottom:0;width:min(82vw,320px);height:100dvh;min-height:100vh;flex-direction:column;align-items:stretch;gap:6px;padding:96px 18px 24px;background:rgba(10,8,20,.97);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-left:1px solid var(--line);transform:translateX(105%);transition:transform .55s var(--ease);z-index:11}
.open nav{transform:none}.pill{display:none}nav a{font-size:17px;padding:15px 16px;border:1px solid transparent}nav a.on{background:rgba(255,122,26,.14);border-color:rgba(255,150,40,.35)}nav .btn{margin:0}
.open nav a{animation:slide .6s var(--ease) both}.open nav a:nth-of-type(2){animation-delay:.07s}.open nav a:nth-of-type(3){animation-delay:.14s}.open nav a:nth-of-type(4){animation-delay:.21s}
body.lock::after{content:"";position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9}}
@keyframes slide{from{opacity:0;transform:translateX(40px)}}
@media(max-width:560px){.grid{grid-template-columns:1fr}.hero h1{font-size:40px;letter-spacing:-1.4px}.hero p{font-size:16px}.brand-logo{width:132px;height:50px}.brand-logo-link{height:52px}.brand small{display:none}header{padding-left:12px;padding-right:8px}main{padding:20px 14px 50px}.chip:nth-of-type(3){left:-6px}.chip:nth-of-type(2){right:-6px}}
@media(prefers-reduced-motion:reduce){*,::before,::after{animation:none!important;transition:none!important}.rv{opacity:1}html{scroll-behavior:auto}}


/* ===== Premium animated product banner ===== */
.promo-banner{position:relative;overflow:hidden;isolation:isolate;min-height:320px;margin-bottom:28px;padding:30px 30px 22px;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:linear-gradient(115deg,#ff5a00 0%,#a62f83 48%,#3c2ed1 100%);box-shadow:0 30px 90px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.2);color:#fff}
.promo-banner::before{content:"";position:absolute;inset:-45%;z-index:-2;background:conic-gradient(from 120deg,transparent 0 20%,rgba(255,255,255,.16) 25%,transparent 32%,rgba(69,211,255,.16) 48%,transparent 58%,rgba(255,130,200,.18) 72%,transparent 84%);animation:promoSpin 18s linear infinite}
.promo-banner::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 12% 20%,rgba(255,255,255,.18),transparent 28%),radial-gradient(circle at 90% 0%,rgba(255,255,255,.13),transparent 26%),linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.22));pointer-events:none}
.promo-noise{position:absolute;inset:0;opacity:.12;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.7) .6px,transparent .8px);background-size:7px 7px;mask-image:linear-gradient(90deg,transparent,black 15%,black 85%,transparent)}
.promo-orb{position:absolute;border-radius:50%;filter:blur(1px);z-index:-1;opacity:.3;animation:promoFloat 8s ease-in-out infinite}
.promo-orb-a{width:230px;height:230px;right:-60px;top:-110px;background:rgba(255,255,255,.25)}
.promo-orb-b{width:180px;height:180px;left:-80px;bottom:-105px;background:rgba(32,210,255,.22);animation-delay:-3s}
.promo-scan{position:absolute;left:-30%;top:0;width:30%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transform:skewX(-18deg);animation:promoScan 7s ease-in-out infinite;pointer-events:none}
.promo-head{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;z-index:2}.promo-kicker{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#ffe8c4}.promo-dot{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 14px #fff;animation:promoPulse 1.8s ease-in-out infinite}.promo-head h2{font-size:clamp(28px,4vw,44px);line-height:1.05;margin:10px 0 8px;letter-spacing:-1.4px}.promo-head h2 strong{background:linear-gradient(90deg,#fff,#ffd66e,#fff);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:promoShine 4s linear infinite}.promo-head p{margin:0;color:rgba(255,255,255,.84);font-size:13px}.promo-stock{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.2);font-size:11px;font-weight:700;white-space:nowrap;box-shadow:inset 0 1px rgba(255,255,255,.12)}.pulse-dot{width:7px;height:7px;border-radius:50%;background:#7dffb8;box-shadow:0 0 0 0 rgba(125,255,184,.7);animation:promoRing 1.8s infinite}
.promo-features{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 20px;position:relative;z-index:2}.promo-feature{display:flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.09);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);box-shadow:inset 0 1px rgba(255,255,255,.12);animation:promoUp .7s both}.promo-feature:nth-child(2){animation-delay:.1s}.promo-feature:nth-child(3){animation-delay:.2s}.promo-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.12);box-shadow:0 0 18px rgba(255,255,255,.08)}.promo-icon svg,.brand-icon svg{width:100%;height:100%}.promo-icon svg{width:22px;height:22px}.promo-feature b,.promo-feature small{display:block}.promo-feature b{font-size:11px}.promo-feature small{font-size:9px;color:rgba(255,255,255,.62);margin-top:2px}
.promo-marquee{position:relative;overflow:hidden;margin:0 -8px;padding:4px 8px;z-index:2;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.promo-track{display:flex;width:max-content;gap:12px;animation:promoMarquee 26s linear infinite}.promo-marquee:hover .promo-track,.promo-marquee:focus-within .promo-track{animation-play-state:paused}.promo-product{min-width:178px;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:18px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.09);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.14);transition:transform .25s,border-color .25s,background .25s}.promo-product:hover{transform:translateY(-3px) scale(1.02);border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.14)}.brand-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.12);box-shadow:0 0 20px rgba(255,255,255,.1);animation:promoIconFloat 3.5s ease-in-out infinite}.promo-product:nth-child(2n) .brand-icon{animation-delay:-1s}.promo-product:nth-child(3n) .brand-icon{animation-delay:-2s}.promo-product b,.promo-product small{display:block}.promo-product b{font-size:11px;white-space:nowrap}.promo-product small{font-size:10px;color:#ffe09c;margin-top:3px;font-weight:700}
@keyframes promoSpin{to{transform:rotate(360deg)}}@keyframes promoFloat{50%{transform:translate3d(0,18px,0) scale(1.04)}}@keyframes promoScan{0%,15%{left:-30%;opacity:0}30%{opacity:1}70%,100%{left:110%;opacity:0}}@keyframes promoPulse{50%{transform:scale(1.55);opacity:.6}}@keyframes promoRing{70%{box-shadow:0 0 0 8px rgba(125,255,184,0)}100%{box-shadow:0 0 0 0 rgba(125,255,184,0)}}@keyframes promoShine{to{background-position:220% 0}}@keyframes promoUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes promoMarquee{to{transform:translateX(-50%)}}@keyframes promoIconFloat{50%{transform:translateY(-3px) rotate(1deg)}}
@media(max-width:700px){.promo-banner{min-height:0;padding:22px 16px 16px;border-radius:20px}.promo-head{flex-direction:column;gap:12px}.promo-head h2{font-size:31px}.promo-head p{font-size:11px;line-height:1.5}.promo-stock{align-self:flex-start}.promo-features{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.promo-feature{padding:8px}.promo-feature:last-child{grid-column:1/-1}.promo-product{min-width:160px}.promo-marquee{margin:0 -3px}}
@media(prefers-reduced-motion:reduce){.promo-banner::before,.promo-orb,.promo-scan,.promo-dot,.pulse-dot,.promo-head h2 strong,.promo-feature,.promo-track,.brand-icon{animation:none!important}.promo-track{transform:none!important}}

.banner{display:block;width:100%;height:auto;border-radius:28px;margin-bottom:28px;box-shadow:0 24px 70px #0006}.pimg{display:block;width:calc(100% + 48px);margin:-24px -24px 14px;height:auto;aspect-ratio:400/220;object-fit:cover}.pimg.big{width:100%;margin:0 0 18px;border-radius:22px}@media(max-width:700px){.banner{border-radius:18px}}

/* ===== v7: typography, price/stock spacing, emoji in headings ===== */
h1,h2,h3{font-family:Sora,"Kantumruy Pro",system-ui,sans-serif;line-height:1.3}
h1 .emo,h2 .emo,h3 .emo{width:.95em;height:.95em;margin-right:.3em;vertical-align:-.12em}
.card h3{line-height:1.35;letter-spacing:-.2px}.card p,.feat p,.hero p,.panel p{line-height:1.8}
.card p{font-size:14px;min-height:78px}
.card .cat{display:inline-flex;align-items:center;gap:5px;font-weight:600}.card .cat .emo{width:13px;height:13px;vertical-align:0}
label{font-weight:600;letter-spacing:.02em}label .emo{width:1.1em;height:1.1em;margin-right:6px;vertical-align:-.22em}
input,textarea{font-family:"Kantumruy Pro",Sora,sans-serif}
th{letter-spacing:.08em}.stats span{display:inline-flex;align-items:center;gap:6px;margin-top:4px}.stats span .emo{width:1.1em;height:1.1em}
.section h1 .emo,.auth h1 .emo{width:1em;height:1em}
.panel h2{display:flex;align-items:center;gap:10px;font-size:22px;margin:0 0 18px}
.btn .emo{width:1.2em;height:1.2em;vertical-align:middle;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}
.tag{letter-spacing:.2em}

/* product card: price and stock now sit on separate lines, button below */
.card .meta{margin-top:20px;padding-top:18px;border-top:1px dashed var(--line);display:grid;gap:16px}
.price-line{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap}
.price-tag{display:inline-flex;align-items:center;gap:8px}.price-tag .emo{width:22px;height:22px}
.price-tag strong{font-size:24px;line-height:1.1;color:var(--amber);letter-spacing:-.3px}
.stock{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 9px;border-radius:99px;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap}
.stock .emo{width:16px;height:16px;vertical-align:0;margin:0}
.stock.ok{color:#7dffb8;background:rgba(0,230,118,.1);border:1px solid rgba(0,230,118,.3)}
.stock.out{color:#ff9a9a;background:rgba(255,77,77,.1);border:1px solid rgba(255,77,77,.35)}
.stock.big{font-size:14px;padding:8px 16px 8px 12px}.stock.big .emo{width:20px;height:20px}
.btn.block{width:100%}

/* product page */
.price-block{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;margin:26px 0}.price-block .price{margin:0;line-height:1.1}
.product h1{line-height:1.25;margin:14px 0}.product p{line-height:1.8}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}.checks li{display:flex;align-items:center;gap:12px;color:#d8d4e4;line-height:1.6}.checks .emo{width:22px;height:22px;vertical-align:0}
.panel h3{display:flex;align-items:center;gap:8px;margin-top:0}
.panel .muted{display:flex;align-items:center;gap:8px}.panel .muted b{color:var(--amber)}

/* v9 order / receipt UX */
.section-head.compact{align-items:center;margin-bottom:18px}.section-head.compact h2{margin:0}.section-head.compact p{margin:4px 0 0}
.orders-list{display:grid;gap:12px}.order-card{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px 20px;padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025);color:#fff;text-decoration:none;transition:.25s}.order-card:hover{transform:translateY(-2px);border-color:rgba(255,150,40,.5);background:rgba(255,150,40,.05)}.order-main h3{margin:5px 0 4px}.order-id{font-size:12px;color:var(--amber);font-weight:700;letter-spacing:.08em}.order-side{text-align:right;display:grid;justify-items:end;gap:7px}.order-side strong{font-size:20px;color:var(--amber)}.delivery-mini{font-size:12px;color:var(--muted)}.order-action{grid-column:1/-1;padding-top:12px;border-top:1px dashed var(--line);font-size:13px;color:#ffc46b}.empty-state{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px}
.order-detail-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.order-detail-head h1{margin-bottom:5px}.order-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.status.large{padding:9px 13px}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.receipt-card,.delivery-panel{margin:0}.receipt-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.receipt-meta>div,.secure-grid>div{padding:14px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025)}.receipt-meta span,.receipt-meta small,.secure-grid span{display:block;color:var(--muted);font-size:11px}.receipt-meta strong{display:block;margin:5px 0}.invoice-items{border-top:1px solid var(--line)}.invoice-row{display:flex;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.invoice-row small{display:block;color:var(--muted);margin-top:4px}.invoice-total{display:flex;justify-content:space-between;padding-top:18px;font-size:16px}.invoice-total strong{font-size:24px;color:var(--amber)}.delivery-item{padding:16px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025);margin-bottom:12px}.delivery-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.delivery-content{margin-top:12px}.delivery-content code{display:block;white-space:pre-wrap;word-break:break-all;padding:13px;border-radius:10px;background:#07060d;border:1px solid var(--line);margin-bottom:10px}.delivery-link{display:block;word-break:break-all;margin-bottom:10px;color:#ffc46b}.security-note{margin:15px 0 0}.secure-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.secure-grid b{display:block;margin-top:5px;font-size:13px;word-break:break-word}.receipt-toolbar{display:flex;justify-content:space-between;gap:10px;margin-bottom:15px}.invoice-paper{max-width:900px;margin:auto;background:#fff;color:#17131d;border-radius:18px;padding:40px;box-shadow:0 25px 80px #0008}.invoice-header{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid #eee;padding-bottom:24px}.invoice-brand{font-size:24px;font-weight:800}.invoice-brand span{font-weight:400}.invoice-title{text-align:right}.invoice-title small,.invoice-info small{display:block;color:#777;font-size:10px;letter-spacing:.12em}.invoice-title strong{display:block;font-size:20px;margin-top:5px}.invoice-info{display:grid;grid-template-columns:2fr 1fr 1fr;gap:25px;padding:25px 0}.invoice-info strong,.invoice-info span{display:block;margin-top:5px}.invoice-paid{color:#079447!important}.invoice-table{color:#17131d;margin-top:10px}.invoice-table th,.invoice-table td{border-bottom:1px solid #e8e8e8;padding:14px 8px}.invoice-table th{color:#777}.invoice-table td small{display:block;color:#777;margin-top:3px}.invoice-table tfoot td{border-bottom:0;font-weight:800;font-size:17px}.invoice-table tfoot td:last-child{text-align:right}.invoice-delivery{margin-top:30px;border-top:1px solid #eee;padding-top:20px}.invoice-delivery h2{font-size:18px}.invoice-delivery-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #eee}.invoice-delivery-row small{display:block;color:#777;margin-top:4px}.invoice-delivery-row span,.invoice-delivery-row code{max-width:55%;word-break:break-all;text-align:right}.invoice-footer{display:grid;gap:5px;margin-top:35px;padding-top:20px;border-top:1px solid #eee;color:#777;font-size:12px}.invoice-footer strong{color:#17131d}.inventory-edit{display:flex;align-items:center;gap:8px}.purchase-total{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid var(--line);color:var(--muted)}.purchase-total strong{color:var(--amber);float:right}.order-link{font-weight:800}.paid-label{color:#00e676;font-size:12px}
@media(max-width:850px){.receipt-grid,.receipt-meta{grid-template-columns:1fr}.secure-grid{grid-template-columns:1fr 1fr}.order-detail-head{align-items:flex-start;flex-direction:column}.invoice-info{grid-template-columns:1fr}.invoice-paper{padding:22px;border-radius:12px}.invoice-header{flex-direction:column}.invoice-title{text-align:left}.invoice-delivery-row{flex-direction:column}.invoice-delivery-row span,.invoice-delivery-row code{max-width:100%;text-align:left}.order-card{grid-template-columns:1fr}.order-side{text-align:left;justify-items:start}}
@media(max-width:520px){.secure-grid{grid-template-columns:1fr}.receipt-toolbar{position:sticky;top:10px;z-index:5}.invoice-table th:nth-child(3),.invoice-table td:nth-child(3){display:none}}


/* ===== v12: payment support / contact channels ===== */
.contact-payment-section{margin:54px 0 30px;padding:1px 0}.contact-payment-inner{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1.2fr;gap:26px;padding:30px;border:1px solid rgba(255,166,65,.2);border-radius:24px;background:linear-gradient(135deg,rgba(255,111,0,.10),rgba(139,45,255,.08) 48%,rgba(0,180,255,.06));box-shadow:0 20px 60px rgba(0,0,0,.18)}.contact-payment-inner::before{content:"";position:absolute;inset:-35%;background:radial-gradient(circle at 25% 35%,rgba(255,145,45,.14),transparent 24%),radial-gradient(circle at 80% 65%,rgba(126,88,255,.13),transparent 22%);animation:contactGlow 9s ease-in-out infinite alternate;pointer-events:none}.contact-copy,.contact-links{position:relative;z-index:1}.contact-copy h2{margin:8px 0 10px;font-size:25px}.contact-copy p{max-width:620px;color:var(--muted);line-height:1.8;margin:0}.contact-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-link{display:flex;align-items:center;gap:12px;min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.045);color:#fff;text-decoration:none;transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}.contact-link:hover{transform:translateY(-3px);border-color:rgba(255,170,70,.45);background:rgba(255,255,255,.075);box-shadow:0 12px 30px rgba(0,0,0,.2)}.contact-brand{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:17px;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035));box-shadow:0 10px 28px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);position:relative}.contact-brand::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,177,78,.10);pointer-events:none}.contact-brand img{display:block;width:100%;height:100%;padding:6px;object-fit:contain;border-radius:inherit;image-rendering:auto;filter:drop-shadow(0 5px 10px rgba(0,0,0,.24))}.contact-link.tiktok .contact-brand img,.contact-link.instagram .contact-brand img{padding:4px}.contact-link span:nth-child(2){display:grid;gap:2px;min-width:0}.contact-link b{font-size:13px}.contact-link small{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-arrow{margin-left:auto;color:#ffc46b;font-size:18px}.payment-howto{margin:30px 0}.payment-howto-card{display:grid;grid-template-columns:1fr 1.4fr;gap:26px;padding:26px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.025)}.payment-howto-card h2{margin:8px 0}.payment-howto-card p{color:var(--muted);line-height:1.8;margin:0}.payment-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.payment-steps>div{padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}.payment-steps span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(255,160,45,.13);color:#ffc46b;font-weight:800;font-size:11px}.payment-steps b{display:block;margin:10px 0 4px;font-size:13px}.payment-steps small{display:block;color:var(--muted);line-height:1.55;font-size:11px}@keyframes contactGlow{0%{transform:translate3d(-2%,0,0) rotate(0deg)}100%{transform:translate3d(3%,2%,0) rotate(4deg)}}
@media(max-width:850px){.contact-payment-inner,.payment-howto-card{grid-template-columns:1fr}.contact-links{grid-template-columns:1fr 1fr}.payment-steps{grid-template-columns:1fr}}
@media(max-width:520px){.contact-payment-inner{padding:20px;border-radius:19px}.contact-links{grid-template-columns:1fr}.contact-copy h2{font-size:21px}.contact-link{padding:12px}.payment-howto-card{padding:20px}.payment-steps{gap:8px}}
@media(prefers-reduced-motion:reduce){.contact-payment-inner::before{animation:none}}
.manual-payment-note{margin-top:10px!important;padding:11px 13px;border:1px dashed rgba(255,170,70,.28);border-radius:12px;background:rgba(255,160,45,.05);font-size:12px!important;color:#cfc9dc!important}

/* AngkorDev AI Assistant */
.ai-chat-fab{position:fixed;right:18px;bottom:18px;z-index:1000;border:1px solid rgba(255,255,255,.16);background:linear-gradient(135deg,#ff7a18,#ff2d8b 55%,#7c4dff);color:#fff;border-radius:999px;padding:12px 17px;display:flex;align-items:center;gap:9px;font:700 13px Sora,sans-serif;box-shadow:0 12px 40px rgba(255,45,139,.28),0 0 35px rgba(124,77,255,.18);cursor:pointer;animation:aiFloat 3s ease-in-out infinite;overflow:hidden}
.ai-chat-fab:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.3) 45%,transparent 70%);transform:translateX(-120%);animation:aiShine 3.5s infinite}
.ai-chat-fab i{width:7px;height:7px;border-radius:50%;background:#68ffb0;box-shadow:0 0 10px #68ffb0}.ai-fab-icon{font-size:17px;position:relative;z-index:1}.ai-chat-fab span:not(.ai-fab-icon){position:relative;z-index:1}
.ai-chat{position:fixed;right:18px;bottom:78px;width:min(390px,calc(100vw - 28px));height:min(610px,calc(100vh - 100px));z-index:999;background:rgba(12,10,22,.94);border:1px solid rgba(255,255,255,.13);border-radius:22px;overflow:hidden;box-shadow:0 25px 90px rgba(0,0,0,.55),0 0 50px rgba(124,77,255,.14);backdrop-filter:blur(24px);display:flex;flex-direction:column;animation:aiOpen .25s ease both}.ai-chat[hidden]{display:none}
.ai-chat-head{padding:15px;display:flex;align-items:center;gap:11px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(255,122,24,.12),rgba(124,77,255,.1))}.ai-avatar{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#ff7a18,#ff2d8b,#7c4dff);box-shadow:0 0 24px rgba(255,45,139,.3);font-size:20px}.ai-chat-head div:nth-child(2){flex:1}.ai-chat-head b{display:block;font:700 13px Sora,sans-serif;color:#fff}.ai-chat-head small{display:block;margin-top:3px;color:#a8a2bb;font-size:10px}.ai-chat-head button{border:0;background:rgba(255,255,255,.07);color:#fff;width:30px;height:30px;border-radius:9px;font-size:21px;cursor:pointer}
.ai-chat-messages{flex:1;overflow:auto;padding:15px;display:flex;flex-direction:column;gap:10px}.ai-msg{display:flex}.ai-msg.user{justify-content:flex-end}.ai-msg-bubble{max-width:86%;padding:10px 12px;border-radius:15px 15px 15px 5px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.07);color:#eeeaf6;font:500 12px/1.65 'Kantumruy Pro',sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}.ai-msg.user .ai-msg-bubble{border-radius:15px 15px 5px 15px;background:linear-gradient(135deg,rgba(255,122,24,.25),rgba(124,77,255,.24));border-color:rgba(255,255,255,.12)}
.ai-quick{padding:7px 12px;display:flex;gap:6px;overflow:auto;border-top:1px solid rgba(255,255,255,.05)}.ai-quick button{white-space:nowrap;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);color:#ddd7e8;border-radius:999px;padding:7px 9px;font-size:10px;cursor:pointer}.ai-quick button:hover{background:rgba(255,255,255,.09)}
.ai-msg-wrap{display:flex;flex-direction:column;gap:7px;max-width:92%}.ai-msg.user .ai-msg-wrap{align-items:flex-end}.ai-actions{display:flex;flex-wrap:wrap;gap:6px}.ai-action{display:inline-flex;align-items:center;min-height:32px;padding:7px 10px;border-radius:10px;border:1px solid rgba(255,166,65,.22);background:linear-gradient(135deg,rgba(255,122,24,.14),rgba(124,77,255,.13));color:#ffd18c;text-decoration:none;font:600 11px 'Kantumruy Pro',sans-serif;transition:.18s ease}.ai-action:hover,.ai-action:active{transform:translateY(-1px);border-color:rgba(255,166,65,.5);background:rgba(255,255,255,.08)}.ai-gap{height:5px}.ai-bullet{color:#ffb14e;margin-right:3px}.ai-quick{display:flex;gap:6px;overflow:auto;padding:8px 10px;border-top:1px solid rgba(255,255,255,.06)}.ai-quick button{flex:0 0 auto;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.045);color:#ddd7e8;padding:7px 10px;font:600 10px 'Kantumruy Pro',sans-serif;cursor:pointer;white-space:nowrap}.ai-quick button:active{transform:scale(.97)}
.ai-chat-form{padding:11px;display:flex;gap:8px;border-top:1px solid rgba(255,255,255,.08)}.ai-chat-form input{min-width:0;flex:1;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.2);color:#fff;border-radius:13px;padding:11px 12px;outline:none;font:500 12px 'Kantumruy Pro',sans-serif}.ai-chat-form input:focus{border-color:rgba(255,122,24,.55);box-shadow:0 0 0 3px rgba(255,122,24,.08)}.ai-chat-form button{width:43px;border:0;border-radius:13px;background:linear-gradient(135deg,#ff7a18,#ff2d8b);color:#fff;font-size:18px;cursor:pointer}.ai-chat-form button:disabled{opacity:.5;cursor:wait}
.ai-typing{display:flex;gap:4px;align-items:center;padding:11px 13px}.ai-typing i{width:5px;height:5px;border-radius:50%;background:#aaa;animation:aiDot 1s infinite}.ai-typing i:nth-child(2){animation-delay:.15s}.ai-typing i:nth-child(3){animation-delay:.3s}
@keyframes aiFloat{50%{transform:translateY(-4px)}}@keyframes aiShine{55%,100%{transform:translateX(120%)}}@keyframes aiOpen{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@keyframes aiDot{50%{opacity:.3;transform:translateY(-3px)}}
@media(max-width:520px){.ai-chat-fab{right:12px;bottom:12px;padding:11px 14px}.ai-chat{right:10px;bottom:68px;width:calc(100vw - 20px);height:min(620px,calc(100vh - 82px));border-radius:20px}}
@media(prefers-reduced-motion:reduce){.ai-chat-fab,.ai-chat-fab:before{animation:none}.ai-chat{animation:none}}

/* AI Assistant readability improvements */
.ai-msg-bubble{line-height:1.75;word-break:normal;overflow-wrap:anywhere;white-space:normal;}
.ai-msg.bot .ai-msg-bubble{letter-spacing:0;}
.ai-bullet{display:inline-block;margin-right:.35rem;font-weight:700;}
.ai-gap{height:.42rem;}
@media (prefers-reduced-motion: reduce){.ai-msg,.ai-typing{animation:none!important;transition:none!important;}}

/* v18 mobile logo + compact Khmer AI */
.ai-chat-head{min-height:56px}.ai-chat-head b{font-size:12px}.ai-chat-messages{padding:12px;gap:8px}.ai-msg-bubble{max-width:90%;font-size:12px;line-height:1.7;padding:9px 11px}.ai-quick{padding:6px 10px}.ai-chat-form{padding:9px}.ai-chat-form input{font-size:12px}

/* v20 mobile text-input reliability */
input,textarea,select,button{touch-action:manipulation;}
button,a,.btn{ -webkit-tap-highlight-color:transparent; }
button,.btn,nav a{ min-height:44px; }
button,.btn,nav a,.burger{ user-select:none; -webkit-user-select:none; }
body.nav-open{overflow:hidden;overscroll-behavior:none;}
input,textarea{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default;}
.ai-chat-form input{touch-action:manipulation;user-select:text;-webkit-user-select:text;-webkit-touch-callout:default;pointer-events:auto;caret-color:#fff;}
.ai-chat-clear{width:38px;flex:0 0 38px;border:1px solid rgba(255,255,255,.10);border-radius:13px;background:rgba(255,255,255,.055);color:#d8d2e3;font-size:21px;line-height:1;cursor:pointer;touch-action:manipulation;}
.ai-chat-clear:active{transform:scale(.96);background:rgba(255,255,255,.11);}
@media(max-width:520px){.ai-chat-form{gap:6px}.ai-chat-form input{min-width:0;font-size:16px;line-height:1.35;padding:12px 11px;}}

/* v23: premium product artwork / logo cards */
.brand-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;overflow:hidden;flex:0 0 44px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 24px rgba(0,0,0,.25)}
.brand-icon img{width:100%;height:100%;object-fit:cover;display:block}
.promo-product{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.promo-product:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,.25);border-color:rgba(255,190,90,.35)}
.card .pimg{width:calc(100% + 48px);height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;display:block;background:#0b0a12;max-height:none;margin:-24px -24px 14px;border-radius:21px 21px 0 0}
@media(max-width:560px){.brand-icon{width:42px;height:42px;flex-basis:42px}.card{padding:18px}.card .pimg{width:calc(100% + 36px);height:auto;aspect-ratio:auto;margin:-18px -18px 14px;border-radius:18px 18px 0 0;object-fit:contain;object-position:center}}
\n\n/* v28: mobile touch + scrolling reliability */\nhtml{-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-x:none;}\nbody{-webkit-overflow-scrolling:touch;overscroll-behavior-x:none;}\n.burger{touch-action:manipulation;pointer-events:auto;}\nnav a,.btn,.contact-link,.promo-product,.ai-chat-fab,.ai-chat-head button,.ai-quick button{touch-action:manipulation;}\n@media(max-width:1000px){\n  header{isolation:isolate;}\n  nav{will-change:transform;transform:translate3d(105%,0,0);}\n  .open nav{transform:translate3d(0,0,0);}\n}\n@media(max-width:700px){\n  /* Keep finger scrolling on the page; custom touch handlers should never block it. */\n  main,section,.grid,.feats,.promo-banner{touch-action:pan-y pinch-zoom;}\n  .aurora i{animation:none!important;filter:blur(70px);opacity:.18;will-change:auto;}\n  header::before,.hero-card,.panel,.card,.feat,.promo-feature,.promo-product,.contact-payment-inner,.ai-chat{\n    -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);\n  }\n  .card,.feat,.hero-card{box-shadow:0 14px 40px rgba(0,0,0,.45);}\n  .promo-track{animation-duration:38s;}\n}\n@media(max-width:560px){\n  .burger{width:46px;height:46px;flex:0 0 46px;}\n  nav a{min-height:48px;}\n  .btn{min-height:46px;}\n}\n@media(prefers-reduced-motion:reduce){\n  html{scroll-behavior:auto;}\n  .promo-track{animation:none!important;}\n}\n

/* v29: draggable AI Assistant launcher */
.ai-chat-fab{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;will-change:left,top;}
.ai-chat-fab.ai-dragging{animation:none!important;cursor:grabbing;transition:none!important;}
@media(max-width:700px){.ai-chat-fab{cursor:grab;}.ai-chat-fab.ai-dragging{cursor:grabbing;box-shadow:0 18px 48px rgba(0,0,0,.5),0 0 42px rgba(124,77,255,.28);}}

/* ===== v30: Premium interaction motion system ===== */
:root{--motion-spring:cubic-bezier(.16,1,.3,1);--motion-smooth:cubic-bezier(.2,.8,.2,1)}

/* Universal press / hover feedback */
.btn,button:not(.ai-chat-fab),nav a,.contact-link,.promo-product,.ai-action,.ai-quick button{position:relative;overflow:hidden;isolation:isolate;transition:transform .24s var(--motion-spring),box-shadow .3s var(--motion-smooth),border-color .3s ease,background .3s ease,filter .3s ease}
.btn::before,button:not(.ai-chat-fab)::before,nav a::before,.contact-link::before,.promo-product::before,.ai-action::before,.ai-quick button::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--rx,50%) var(--ry,50%),rgba(255,255,255,.28),transparent 34%);opacity:0;transform:scale(.7);pointer-events:none;z-index:-1;transition:opacity .35s ease,transform .45s var(--motion-spring)}
.interaction-ripple{position:absolute!important;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;pointer-events:none!important;background:rgba(255,255,255,.55);box-shadow:0 0 20px rgba(255,190,90,.35);transform:scale(0);animation:rippleBurst .62s var(--motion-spring) forwards;z-index:20!important}
@keyframes rippleBurst{to{transform:scale(18);opacity:0}}
.is-pressed{transform:scale(.965)!important;filter:brightness(1.08)}
.btn:hover,nav a:hover,.contact-link:hover,.ai-action:hover,.ai-quick button:hover{filter:brightness(1.06)}
.btn:active,nav a:active,.contact-link:active,.ai-action:active,.ai-quick button:active{transform:scale(.965)}
button:disabled,.btn:disabled{transform:none!important;filter:none!important;cursor:not-allowed!important}

/* Animated icons / menu */
.burger{transition:transform .3s var(--motion-spring),background .3s ease,border-color .3s ease,box-shadow .3s ease}
.burger:hover{transform:rotate(-2deg) scale(1.04);box-shadow:0 10px 30px rgba(255,122,26,.2);border-color:rgba(255,150,40,.4)}
.burger:active{transform:scale(.92)}
.burger i{transition:top .4s var(--motion-spring),transform .4s var(--motion-spring),opacity .25s ease}
.brand-logo-link:active .brand-logo{transform:scale(.96)}

/* Inputs feel alive without being distracting */
input,textarea,select{transition:border-color .25s ease,box-shadow .35s var(--motion-smooth),transform .25s var(--motion-spring),background .3s ease}
input:focus,textarea:focus,select:focus{transform:translateY(-1px)}
select{cursor:pointer}

/* Cards and panels get a soft entrance / lift */
.card,.feat,.panel,.order-card,.payment-howto-card,.contact-payment-inner{will-change:transform,opacity}
.card,.feat,.order-card,.payment-howto-card{transition:transform .42s var(--motion-spring),border-color .3s ease,box-shadow .42s ease,opacity .6s ease}
@media(hover:hover){.card:hover,.feat:hover,.order-card:hover,.payment-howto-card:hover{transform:translateY(-6px) scale(1.008)}}

/* Scroll-reveal class added by JS */
.motion-reveal{opacity:0;transform:translateY(22px) scale(.985);transition:opacity .7s ease,transform .8s var(--motion-spring)}
.motion-reveal.motion-visible{opacity:1;transform:none}
.motion-reveal:nth-child(2){transition-delay:.04s}.motion-reveal:nth-child(3){transition-delay:.08s}.motion-reveal:nth-child(4){transition-delay:.12s}.motion-reveal:nth-child(5){transition-delay:.16s}.motion-reveal:nth-child(6){transition-delay:.2s}

/* Smooth mobile menu + links */
nav a{transform-origin:right center}
.open nav a:hover{transform:translateX(-4px)}

/* Flash messages enter with a small bounce */
.flash{animation:flashIn .65s var(--motion-spring) both}
@keyframes flashIn{from{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:none}}

/* AI quick actions / close button */
.ai-chat-head button,.ai-chat-clear,.ai-chat-form>button{transition:transform .25s var(--motion-spring),background .25s ease,box-shadow .25s ease}
.ai-chat-head button:hover,.ai-chat-clear:hover{transform:rotate(6deg) scale(1.08);box-shadow:0 8px 24px rgba(255,122,26,.16)}
.ai-chat-form>button:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 10px 28px rgba(255,45,139,.28)}
.ai-msg{animation:messageIn .38s var(--motion-spring) both}
@keyframes messageIn{from{opacity:0;transform:translateY(7px) scale(.98)}to{opacity:1;transform:none}}

/* Respect reduced-motion preferences */
@media(prefers-reduced-motion:reduce){
  .interaction-ripple{display:none!important}
  .motion-reveal{opacity:1;transform:none;transition:none}
  .is-pressed{transform:none!important}
}


/* v32: official AngkorDev AI Assistant logo integration */
.ai-fab-icon{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;position:relative;z-index:1;border-radius:9px;overflow:hidden;background:#120b08;box-shadow:0 0 18px rgba(255,170,50,.25);}
.ai-fab-icon img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;border-radius:9px;}
.ai-avatar{overflow:hidden;padding:0!important;background:#120b08!important;border:1px solid rgba(255,174,50,.35);}
.ai-avatar img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;border-radius:inherit;}
.ai-chat-head-copy{min-width:0;flex:1;}
.ai-chat-head-copy b,.ai-chat-head-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media(max-width:520px){
  .ai-fab-icon{width:28px;height:28px;flex-basis:28px;border-radius:8px;}
  .ai-chat-head{gap:9px;padding:12px;}
  .ai-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:13px;}
}


/* v33: mobile/desktop-mode navigation + drag reliability fixes */
@media(max-width:1000px){
  /* Never let an animated/transformed header become the containing block for the fixed nav drawer. */
  header{transform:none!important;}
  nav{position:fixed!important;top:0!important;right:0!important;bottom:0!important;height:100dvh!important;min-height:100vh!important;}
}
@media(max-width:520px){
  nav{width:min(86vw,330px);padding-top:88px;padding-left:16px;padding-right:16px;}
}


/* v34: consistent product artwork frames + hard out-of-stock purchase lock */
.card .pimg{width:calc(100% + 48px);height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center;background:#080711;display:block;margin:-24px -24px 14px;border-radius:21px 21px 0 0;}
.pimg.big{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center;background:#080711;border:1px solid rgba(255,255,255,.08);margin:0 0 18px;border-radius:22px;}
.out-of-stock-box{display:flex;align-items:flex-start;gap:12px;padding:14px 15px;border-radius:14px;border:1px solid rgba(255,90,90,.24);background:linear-gradient(135deg,rgba(255,70,70,.09),rgba(255,255,255,.025));margin:12px 0;}
.out-of-stock-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:rgba(255,77,77,.12);border:1px solid rgba(255,77,77,.25);}
.out-of-stock-icon .emo{width:22px;height:22px;}
.out-of-stock-box strong{display:block;margin:1px 0 3px;color:#ffb0b0;}
.out-of-stock-box p{margin:0;color:var(--muted);font-size:13px;line-height:1.55;}
.purchase-disabled,.purchase-disabled:disabled{width:100%;opacity:.48!important;filter:saturate(.45)!important;box-shadow:none!important;background:rgba(255,255,255,.08)!important;color:#aaa!important;border:1px solid rgba(255,255,255,.1)!important;}
@media(max-width:560px){.card .pimg{width:calc(100% + 36px);margin:-18px -18px 14px;aspect-ratio:16/9;border-radius:18px 18px 0 0;}.pimg.big{aspect-ratio:16/9;border-radius:18px;}}


/* v40: futuristic glass/cyber quick-access toolbar */
.site-tools{display:flex;align-items:center;gap:8px;margin-left:auto;margin-right:10px;z-index:12;}
.site-tool{position:relative;width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));color:#fff;cursor:pointer;isolation:isolate;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 24px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.025);transition:transform .28s cubic-bezier(.2,.8,.2,1),background .28s ease,border-color .28s ease,box-shadow .28s ease;}
.site-tool::before{content:"";position:absolute;inset:1px;border-radius:13px;background:linear-gradient(135deg,rgba(255,174,67,.13),transparent 42%,rgba(115,82,255,.10));opacity:.7;z-index:-1;}
.site-tool::after{content:"";position:absolute;left:12%;right:12%;bottom:-12px;height:18px;border-radius:50%;background:rgba(255,139,35,.42);filter:blur(13px);opacity:0;transition:opacity .28s ease;z-index:-1;}
.site-tool:hover{transform:translateY(-3px) scale(1.045);background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.045));border-color:rgba(255,181,78,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 30px rgba(0,0,0,.34),0 0 22px rgba(255,132,32,.16);}
.site-tool:hover::after{opacity:1;}
.site-tool:active{transform:translateY(0) scale(.92);}
.site-tool.active{border-color:rgba(255,180,76,.62);background:linear-gradient(145deg,rgba(255,150,35,.18),rgba(107,70,255,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 24px rgba(255,145,35,.16);}
.site-tool .tool-svg{width:21px;height:21px;display:block;overflow:visible;filter:drop-shadow(0 2px 7px rgba(255,183,82,.35));transition:transform .28s ease,filter .28s ease;}
.site-tool:hover .tool-svg{transform:scale(1.1);filter:drop-shadow(0 0 9px rgba(255,181,76,.7));}
.site-tool .tool-lang-badge{position:absolute;right:2px;bottom:2px;min-width:16px;height:12px;padding:0 4px;display:grid;place-items:center;border-radius:7px;background:rgba(8,7,14,.9);border:1px solid rgba(255,196,100,.38);font:800 7px/1 Sora,system-ui;color:#ffe09a;letter-spacing:.03em;pointer-events:none;box-shadow:0 2px 7px #0008;}
#soundToggle:hover{border-color:rgba(79,185,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 30px rgba(0,0,0,.34),0 0 24px rgba(79,185,255,.16)}
#musicToggle:hover{border-color:rgba(191,100,255,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 30px rgba(0,0,0,.34),0 0 24px rgba(191,100,255,.18)}
#languageToggle:hover{border-color:rgba(72,207,255,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 30px rgba(0,0,0,.34),0 0 24px rgba(72,207,255,.17)}
#themeToggle:hover{border-color:rgba(207,113,255,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 30px rgba(0,0,0,.34),0 0 24px rgba(207,113,255,.17)}
.ui-tool-toast{position:fixed;left:50%;bottom:24px;z-index:100;transform:translate(-50%,18px) scale(.96);opacity:0;pointer-events:none;padding:9px 13px;border:1px solid rgba(255,166,65,.3);border-radius:12px;background:rgba(12,9,18,.92);backdrop-filter:blur(12px);color:#fff;font:600 12px 'Kantumruy Pro',sans-serif;box-shadow:0 12px 40px rgba(0,0,0,.35);transition:.28s var(--motion-spring)}
.ui-tool-toast.show{opacity:1;transform:translate(-50%,0) scale(1)}
.light-theme{filter:none}
.light-theme body{background:#f5f4f7;color:#17131d}.light-theme header::before{background:rgba(255,255,255,.78);border-color:#ddd}.light-theme nav{background:rgba(248,248,250,.98);color:#17131d}.light-theme nav a{color:#292432}.light-theme .card,.light-theme .feat,.light-theme .panel,.light-theme .contact-payment-inner{background:rgba(255,255,255,.84);color:#17131d}.light-theme .site-tool{color:#17131d;background:rgba(255,255,255,.72);border-color:rgba(0,0,0,.1)}
@media(max-width:760px){.site-tools{gap:5px;margin-right:7px}.site-tool{width:36px;height:36px;border-radius:12px}.site-tool .tool-svg{width:18px;height:18px}.site-tool .tool-lang-badge{min-width:15px;height:11px;font-size:6.5px}.brand-logo{width:104px;height:44px}.brand-logo-link{height:46px}}
@media(max-width:430px){.site-tools{gap:3px;margin-right:5px}.site-tool{width:32px;height:32px;border-radius:10px}.site-tool .tool-svg{width:16px;height:16px}.site-tool .tool-lang-badge{right:1px;bottom:1px;min-width:13px;height:10px;font-size:6px}.brand-logo{width:90px}.burger{width:42px;height:42px;flex-basis:42px}}

/* v37: polished product artwork frames + custom toolbar icon system */
.tool-svg{width:21px;height:21px;display:block;overflow:visible;filter:drop-shadow(0 2px 7px rgba(255,170,70,.28));}
.site-tool .tool-lang-badge{position:absolute;right:3px;bottom:2px;min-width:15px;height:12px;padding:0 3px;display:grid;place-items:center;border-radius:6px;background:rgba(8,7,14,.82);border:1px solid rgba(255,190,90,.3);font:800 7px/1 Sora,system-ui;color:#ffd477;letter-spacing:.02em;pointer-events:none;}
.site-tool{position:relative;}

/* Product poster: one unified frame on every card, with a soft blurred poster backdrop instead of harsh black side gaps. */
.pimg-wrap{position:relative;isolation:isolate;overflow:hidden;width:calc(100% + 48px);height:auto;aspect-ratio:auto;margin:-24px -24px 16px;border-radius:21px 21px 0 0;background:rgba(8,7,14,.72);border-bottom:1px solid rgba(255,255,255,.06);}
.pimg-wrap::before{content:"";position:absolute;inset:-24px;z-index:-2;background:var(--product-image) center/cover no-repeat;filter:blur(20px) saturate(1.12) brightness(.58);transform:scale(1.08);opacity:.9;}
.pimg-wrap::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,4,10,.18),rgba(5,4,10,.34));pointer-events:none;}
.pimg-wrap .pimg{position:relative;z-index:1;width:100%!important;height:auto!important;max-width:none;max-height:none;margin:0!important;display:block;object-fit:contain!important;object-position:center;background:rgba(5,4,10,.16);border:0;box-shadow:none;}
.pimg-wrap.big-wrap{width:100%;margin:0 0 18px;border-radius:22px;border:1px solid rgba(255,255,255,.09);}
.pimg-wrap.big-wrap .pimg.big{border:0;}

@media(max-width:560px){
  .pimg-wrap{width:calc(100% + 36px);height:auto;aspect-ratio:auto;margin:-18px -18px 16px;border-radius:18px 18px 0 0;}
  .pimg-wrap.big-wrap{width:100%;margin:0 0 18px;border-radius:18px;}
  .tool-svg{width:19px;height:19px;}
}

/* v39: FULL PRODUCT POSTERS — show the complete artwork edge-to-edge without 16:9 letterboxing */
.card .pimg,
.pimg-wrap .pimg,
.pimg.big,
.pimg-wrap.big-wrap .pimg.big{
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:initial!important;
  object-position:center!important;
  display:block!important;
  max-width:none!important;
  max-height:none!important;
}
.pimg-wrap,
.pimg-wrap.big-wrap{
  height:auto!important;
  aspect-ratio:auto!important;
}

@media(max-width:560px){
  .card .pimg,
  .pimg-wrap .pimg,
  .pimg.big,
  .pimg-wrap.big-wrap .pimg.big{
    width:100%!important;
    height:auto!important;
    aspect-ratio:auto!important;
    object-fit:initial!important;
  }
}


/* v41: custom flag emoji for language switch — no KH/EN text badge */
.site-tool .custom-flag{position:relative;display:block;width:25px;height:18px;border-radius:5px;overflow:hidden;flex:0 0 auto;box-shadow:0 0 0 1px rgba(255,255,255,.18),0 3px 10px rgba(0,0,0,.35),0 0 14px rgba(72,207,255,.12);transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;}
.site-tool:hover .custom-flag{transform:scale(1.08);filter:saturate(1.12);box-shadow:0 0 0 1px rgba(255,255,255,.26),0 0 18px rgba(72,207,255,.24);}
.site-tool:active .custom-flag{transform:scale(.94);}
/* Cambodia flag: blue-red-blue with a clean white Angkor Wat silhouette */
.custom-flag.flag-kh{background:linear-gradient(to bottom,#163b88 0 25%,#d7283f 25% 75%,#163b88 75% 100%);}
.custom-flag.flag-kh:before{content:"";position:absolute;left:50%;top:50%;width:11px;height:7px;transform:translate(-50%,-44%);background:#fff;clip-path:polygon(0 100%,8% 72%,18% 72%,18% 48%,28% 48%,28% 25%,37% 25%,37% 0,50% 25%,63% 0,63% 25%,72% 25%,72% 48%,82% 48%,82% 72%,92% 72%,100% 100%);filter:drop-shadow(0 1px 1px rgba(0,0,0,.2));}
/* United Kingdom flag: custom CSS, no native emoji */
.custom-flag.flag-gb{background:#173a8a;}
.custom-flag.flag-gb:before{content:"";position:absolute;inset:-1px;background:linear-gradient(33deg,transparent 43%,#fff 44% 56%,transparent 57%),linear-gradient(-33deg,transparent 43%,#fff 44% 56%,transparent 57%);}
.custom-flag.flag-gb:after{content:"";position:absolute;inset:-1px;background:linear-gradient(33deg,transparent 46%,#c8102e 47% 53%,transparent 54%),linear-gradient(-33deg,transparent 46%,#c8102e 47% 53%,transparent 54%),linear-gradient(to right,transparent 38%,#fff 38% 62%,transparent 62%),linear-gradient(to bottom,transparent 35%,#fff 35% 65%,transparent 65%);}
.custom-flag.flag-gb{box-shadow:inset 0 0 0 1px rgba(255,255,255,.15),0 3px 10px rgba(0,0,0,.35),0 0 14px rgba(72,207,255,.12);}
@media(max-width:760px){.site-tool .custom-flag{width:24px;height:17px;border-radius:5px}}
@media(max-width:430px){.site-tool .custom-flag{width:22px;height:16px;border-radius:4px}}

/* v42: background music player */
#musicToggle{overflow:hidden}
#musicToggle .music-bars{position:absolute;right:5px;bottom:4px;height:11px;display:flex;align-items:flex-end;gap:2px;opacity:.72;pointer-events:none}
#musicToggle .music-bars i{display:block;width:2px;height:4px;border-radius:2px;background:linear-gradient(#d98cff,#7be7ff);transform-origin:bottom;animation:none}
#musicToggle.playing .music-bars i:nth-child(1){height:7px;animation:musicBar .65s ease-in-out infinite alternate}
#musicToggle.playing .music-bars i:nth-child(2){height:10px;animation:musicBar .48s ease-in-out infinite alternate-reverse}
#musicToggle.playing .music-bars i:nth-child(3){height:6px;animation:musicBar .58s ease-in-out infinite alternate}
#musicToggle.playing{border-color:rgba(191,100,255,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 0 28px rgba(191,100,255,.28)}
@keyframes musicBar{from{transform:scaleY(.45);opacity:.5}to{transform:scaleY(1);opacity:1}}

/* v46 API token package UI */
.api-model-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0;padding:12px 14px;border:1px solid rgba(255,170,60,.22);border-radius:14px;background:rgba(255,255,255,.035)}
.api-model-note span{font-family:ui-monospace,monospace;color:#ffb25b}
.api-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.api-option{position:relative;text-align:left;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:15px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025));color:inherit;cursor:pointer;transition:.2s ease;overflow:hidden}
.api-option:hover,.api-option.selected{transform:translateY(-2px);border-color:#ff9d32;box-shadow:0 0 24px rgba(255,145,40,.18),inset 0 0 24px rgba(255,255,255,.025)}
.api-option.selected:after{content:'✓';position:absolute;right:12px;top:10px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#ff922d;color:#111;font-weight:900}
.api-option-top{display:flex;align-items:center;gap:8px;justify-content:space-between}.api-option-top b{font-size:14px}.api-option-top em{font-size:8px;padding:4px 6px;border-radius:999px;background:linear-gradient(90deg,#ff8c2a,#ff4f91);font-style:normal}
.api-option strong{display:block;font-size:26px;margin:8px 0;color:#ffb45c}.api-option small{display:block;opacity:.7;line-height:1.3}.api-stock{display:block;margin-top:10px;font-size:11px;opacity:.75}
.api-selected-info{display:flex;justify-content:space-between;gap:12px;margin:10px 0 4px;font-size:13px}.api-selected-info span{opacity:.65}
 .api-howto{margin-top:24px;overflow:hidden}.api-guide-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.api-guide-head h2{margin:8px 0 6px}.api-guide-lead{max-width:760px;line-height:1.7}.api-guide-badge{flex:0 0 auto;min-width:130px;padding:12px 14px;border:1px solid rgba(255,159,56,.25);border-radius:16px;background:linear-gradient(145deg,rgba(255,153,55,.1),rgba(255,255,255,.03));text-align:right}.api-guide-badge span{display:block;color:#7cf2b0;font-size:10px;font-weight:900;letter-spacing:.16em}.api-guide-badge small{display:block;margin-top:4px;opacity:.65;font-size:10px}.api-quick-model{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.api-quick-model>div{display:flex;gap:10px;align-items:center;padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.035)}.api-quick-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:rgba(255,145,45,.12);border:1px solid rgba(255,145,45,.2)}.api-quick-model b,.api-quick-model small{display:block}.api-quick-model small{margin-top:3px;opacity:.62;font-size:10px;line-height:1.45}.api-quick-model code{color:#ffb45c;font-family:ui-monospace,monospace}.api-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 20px}.api-steps article{display:flex;gap:10px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.02))}.api-steps article>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:10px;background:linear-gradient(135deg,#ff9a32,#ff5b6e);color:#111;font-size:11px;font-weight:900}.api-steps b{font-size:12px}.api-steps p{margin:5px 0 0;font-size:10px;line-height:1.5;opacity:.62}.api-language-card{padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.025)}.api-language-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.api-language-head b,.api-language-head small{display:block}.api-language-head small{margin-top:3px;opacity:.55;font-size:10px}.api-lang-tabs{display:flex;gap:6px;padding:4px;border-radius:13px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.06)}.api-lang-tab,.api-code-tab{border:0;color:inherit;background:transparent;cursor:pointer;border-radius:10px;padding:8px 11px;font-weight:700;font-size:11px;transition:.18s}.api-lang-tab.active,.api-code-tab.active{background:linear-gradient(135deg,rgba(255,153,50,.22),rgba(190,80,255,.16));box-shadow:inset 0 0 0 1px rgba(255,159,56,.18);color:#fff}.api-guide-copy{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:13px}.api-guide-copy.hidden{display:none}.api-guide-copy>div{display:flex;gap:9px;padding:10px;border-radius:12px;background:rgba(0,0,0,.14)}.api-guide-copy>div>span{display:grid;place-items:center;flex:0 0 22px;height:22px;border-radius:7px;background:rgba(255,159,56,.14);color:#ffb35e;font-size:10px;font-weight:900}.api-guide-copy p{margin:0;font-size:11px;line-height:1.6;opacity:.78}.api-guide-copy code{font-family:ui-monospace,monospace;color:#ffb35e}.api-code-head{display:flex;justify-content:space-between;align-items:end;margin:22px 0 9px}.api-code-head b,.api-code-head small{display:block}.api-code-head small{margin-top:3px;opacity:.55;font-size:10px}.api-code-tabs{display:flex;gap:6px;overflow:auto;padding:4px;margin-bottom:10px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(0,0,0,.14);scrollbar-width:none}.api-code-tabs::-webkit-scrollbar{display:none}.api-code-tab{white-space:nowrap}.api-code-panels{position:relative}.api-code-panel{display:none}.api-code-panel.active{display:block}.api-code-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.api-code-title b{font-size:12px}.api-code-title button{border:1px solid rgba(255,159,56,.28);background:rgba(255,145,45,.1);color:#ffbd70;border-radius:9px;padding:6px 10px;font-size:10px;font-weight:800;cursor:pointer}.api-code-panel pre{margin:0;padding:15px;border-radius:14px;background:#07080c;border:1px solid rgba(255,255,255,.08);overflow:auto;max-height:420px;-webkit-overflow-scrolling:touch}.api-code-panel code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;line-height:1.65;color:#dfe5ff;white-space:pre}.api-code-note{margin:6px 2px 0;font-size:9px;opacity:.55}.api-code-note code{font-family:ui-monospace,monospace;color:#ffb35e}.api-security-card{display:flex;gap:12px;margin-top:14px;padding:14px;border:1px solid rgba(255,190,80,.15);border-radius:16px;background:linear-gradient(135deg,rgba(255,166,50,.08),rgba(255,255,255,.025))}.api-security-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:rgba(255,170,70,.1)}.api-security-card b{font-size:12px}.api-security-card p{margin:4px 0 0;font-size:10px;line-height:1.55;opacity:.62}.api-security-note{margin-top:16px}.api-restock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.api-restock-card{display:flex;flex-direction:column;gap:5px}.api-restock-card strong{font-size:22px;color:#ffad55}.api-restock-card span{font-size:11px;color:#6ee7a1}.api-restock-card small{opacity:.65}
@media(max-width:760px){.api-option-grid,.api-restock-grid{grid-template-columns:1fr}.api-option{padding:14px}.api-model-note{align-items:flex-start;flex-direction:column}.api-guide-head{flex-direction:column}.api-guide-badge{width:100%;text-align:left}.api-quick-model{grid-template-columns:1fr}.api-steps{grid-template-columns:1fr 1fr}.api-language-head{align-items:flex-start;flex-direction:column}.api-guide-copy{grid-template-columns:1fr}.api-code-tabs{margin-left:-2px;margin-right:-2px}.api-code-panel pre{max-height:360px}.api-code-panel code{font-size:10px}.api-security-card{align-items:flex-start}}

/* v52: mobile tap reliability for API/product controls */
.api-option,
.api-lang-tab,
.api-code-tab,
.api-code-title button,
[data-purchase-btn]{
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  user-select: none;
}
.api-option:focus-visible,
.api-lang-tab:focus-visible,
.api-code-tab:focus-visible,
.api-code-title button:focus-visible,
[data-purchase-btn]:focus-visible{outline:2px solid rgba(255,170,70,.85);outline-offset:2px;}

.google-login-panel{max-width:520px;margin-inline:auto;text-align:center}.google-login-panel>p{max-width:430px;margin:0 auto 24px}.google-login-wrap{display:flex;justify-content:center;min-height:44px;margin:12px auto 18px;overflow:hidden}.g_id_signin{max-width:100%}.login-security-note{display:flex;align-items:center;justify-content:center;gap:8px;color:#9ea3b2;font-size:.78rem;line-height:1.5;margin-top:8px}.login-security-note .emo{width:16px;height:16px;flex:0 0 auto}@media (max-width:560px){.google-login-panel{padding:22px 16px}.google-login-wrap{width:100%}.g_id_signin{width:100% !important}.login-security-note{font-size:.72rem}}

/* v55: email OTP signup */
.auth-form{display:grid;gap:14px;margin-top:18px}.auth-form label{display:grid;gap:8px;color:#d8d2df;font-size:12px;font-weight:700}.auth-form input{width:100%;box-sizing:border-box;border:1px solid var(--line);background:rgba(0,0,0,.22);color:#fff;border-radius:14px;padding:13px 14px;outline:none;font:600 14px 'Kantumruy Pro',sans-serif;touch-action:manipulation}.auth-form input:focus{border-color:rgba(255,140,40,.65);box-shadow:0 0 0 3px rgba(255,122,24,.09)}.auth-form .btn{width:100%;min-height:48px}.auth-switch{margin-top:16px;text-align:center;color:var(--muted);font-size:12px;line-height:1.7}.auth-switch a{color:#ffc46b;font-weight:700;text-decoration:none}.auth-secondary-form{margin-top:9px}.auth-secondary-form .btn{width:100%;min-height:44px}.btn.secondary{background:rgba(255,255,255,.045);border:1px solid var(--line);color:#eee}

/* v56: full customer authentication — Google + password + recovery */
.auth-wide{max-width:560px}.auth-card{position:relative;overflow:hidden;padding:30px 28px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025));box-shadow:0 28px 90px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05)}.auth-card:before{content:'';position:absolute;inset:auto -25% -45% 35%;height:260px;background:radial-gradient(circle,rgba(255,123,35,.16),transparent 68%);pointer-events:none}.auth-card>*{position:relative;z-index:1}.auth-lead{max-width:470px!important;line-height:1.7!important;color:#a9a4b3;margin:0 auto 22px!important}.google-login-section{display:flex;justify-content:center;min-height:48px;margin:4px 0 16px}.google-signin-button{width:100%;min-height:44px;display:flex;justify-content:center;align-items:center}.google-signin-button>div{max-width:100%}.google-signin-status{font-size:11px;color:#ffb45d;padding:10px 12px;border:1px solid rgba(255,159,56,.2);border-radius:12px;background:rgba(255,159,56,.06)}.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#74717d;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.auth-divider:before,.auth-divider:after{content:'';height:1px;flex:1;background:rgba(255,255,255,.08)}.password-wrap{position:relative;display:block}.password-wrap input{padding-right:70px!important}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#ffb35e;font:700 11px 'Kantumruy Pro',sans-serif;padding:8px;cursor:pointer;touch-action:manipulation}.auth-submit{min-height:50px!important;box-shadow:0 12px 28px rgba(255,117,31,.13)}.auth-links-row{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:17px;font-size:12px;color:#77727f;flex-wrap:wrap}.auth-links-row.single{margin-top:18px}.auth-links-row a{color:#ffc36d;font-weight:700;text-decoration:none}.auth-links-row a:hover{text-decoration:underline}.auth-secondary-form{margin-top:10px}.auth-secondary-form .btn{width:100%;min-height:44px}.btn.secondary{background:rgba(255,255,255,.045);border:1px solid var(--line);color:#eee}
@media(max-width:560px){.auth{margin:34px auto}.auth-card{padding:24px 16px;border-radius:20px}.google-login-section{margin-inline:-2px}.auth-divider{margin:16px 0}.auth-links-row{font-size:11px}.auth-form input{font-size:16px}.google-signin-button iframe{max-width:100%!important}}

.api-admin-panel{border-color:rgba(255,159,56,.24);background:linear-gradient(145deg,rgba(255,159,56,.055),rgba(255,255,255,.018))}.api-admin-product{padding:16px 0;border-top:1px solid var(--line)}.api-admin-product:first-of-type{border-top:0}.api-admin-product-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px}.api-admin-product-head strong{display:block;font-size:15px}.api-admin-product-head small{display:block;margin-top:4px;opacity:.58;font-size:10px}.api-admin-variants{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.api-admin-variant{padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.12)}.api-admin-variant>div:first-child{margin-bottom:9px}.api-admin-variant b{display:block;font-size:12px}.api-admin-variant small{display:block;margin-top:3px;color:#6ee7a1;font-size:10px}.api-admin-variant label{display:block;font-size:10px;margin-top:8px}.api-admin-variant input{margin-top:5px;width:100%}.api-admin-variant .btn{margin-top:9px;width:100%;justify-content:center}@media(max-width:760px){.api-admin-product-head{align-items:flex-start;flex-direction:column}.api-admin-variants{grid-template-columns:1fr}.api-admin-variant{padding:14px}}
