*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
:root{--bg:#07070c;--surface:rgba(255,255,255,.045);--surface-2:rgba(255,255,255,.07);--border:rgba(255,255,255,.085);--border-strong:rgba(255,255,255,.16);--text:#eef0f8;--muted:#8b90a8;--blue:#1d9bf0;--violet:#7c3aed;--pink:#ec4899;--green:#22c55e;--amber:#f59e0b;--r-sm:9px;--r-md:13px;--r-lg:18px;--ease:cubic-bezier(.22,.9,.28,1)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;font-size:14px;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.modal-open{overflow:hidden;overscroll-behavior:none}
img,svg{display:block;max-width:100%}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;border:none;background:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}
button:focus{outline:none}
button:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
::selection{background:rgba(124,58,237,.45);color:#fff}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.orbs{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none;contain:strict}
.orb{position:absolute;border-radius:50%;opacity:.6;will-change:transform;transform:translateZ(0)}
.orb.a{width:560px;height:560px;background:radial-gradient(circle,rgba(29,155,240,.5) 0%,rgba(29,155,240,.16) 42%,transparent 68%);top:-200px;left:-180px;animation:drift 22s ease-in-out infinite}
.orb.b{width:520px;height:520px;background:radial-gradient(circle,rgba(124,58,237,.48) 0%,rgba(124,58,237,.15) 42%,transparent 68%);top:24%;right:-200px;animation:drift 26s ease-in-out infinite -8s}
.orb.c{width:480px;height:480px;background:radial-gradient(circle,rgba(236,72,153,.42) 0%,rgba(236,72,153,.13) 42%,transparent 68%);bottom:-200px;left:22%;animation:drift 24s ease-in-out infinite -14s}
@keyframes drift{50%{transform:translate3d(40px,-30px,0) scale(1.08)}}
.grid-overlay{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:56px 56px;contain:strict}
.wrap{width:100%;max-width:1180px;margin-inline:auto;padding-inline:clamp(14px,4vw,28px)}
.grad-text{background:linear-gradient(100deg,var(--blue) 0%,#8b5cf6 45%,var(--pink) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
header{position:sticky;top:0;z-index:60;background:rgba(7,7,12,.96);border-bottom:1px solid var(--border);padding-top:env(safe-area-inset-top)}
.nav{display:flex;align-items:center;gap:12px;height:56px}
.logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:15px;letter-spacing:-.02em;flex-shrink:0;transition:opacity .3s var(--ease)}
.logo:hover{opacity:.85}
.logo-text{font-weight:800;font-size:16px;letter-spacing:-.025em}
.links{display:none;gap:2px;margin-left:auto}
.links a{font-size:12.5px;font-weight:600;color:var(--muted);padding:7px 11px;border-radius:8px;transition:color .25s,background .25s}
.links a:hover{color:var(--text);background:var(--surface)}
.links a.active{color:var(--text);background:var(--surface-2)}
.cart-btn{margin-left:auto;position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--surface);border:1px solid var(--border);color:var(--text);transition:.3s var(--ease);flex-shrink:0}
.cart-btn:hover{background:var(--surface-2);border-color:var(--border-strong);transform:translateY(-1px)}
.cart-btn svg{width:17px;height:17px}
.cart-count{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:linear-gradient(135deg,var(--pink),#f43f5e);color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;box-shadow:0 0 0 2.5px var(--bg);transform:scale(0);transition:transform .35s var(--ease)}
.cart-count.show{transform:scale(1)}
.cart-count.pop{animation:pop .42s var(--ease)}
@keyframes pop{45%{transform:scale(1.42)}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:10px;padding:8px 14px;font-weight:700;font-size:12.5px;transition:transform .25s var(--ease),box-shadow .25s,background .25s,border-color .25s;white-space:nowrap;position:relative;overflow:hidden}
.btn svg{width:14px;height:14px;flex-shrink:0}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--violet) 62%,#a855f7);color:#fff;box-shadow:0 7px 20px -8px rgba(124,58,237,.95),inset 0 1px 0 rgba(255,255,255,.28)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px -10px rgba(124,58,237,1)}
.btn-ghost{background:var(--surface);border:1px solid var(--border);color:var(--text)}
.btn-ghost:hover{background:var(--surface-2);border-color:var(--border-strong);transform:translateY(-2px)}
footer{border-top:1px solid var(--border);padding-block:20px calc(18px + env(safe-area-inset-bottom))}
.foot-bottom{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;font-size:10.5px;color:var(--muted)}
.socials{display:flex;gap:6px}
.socials a{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);color:var(--muted);transition:.28s var(--ease)}
.socials a:hover{color:#fff;background:linear-gradient(135deg,var(--blue),var(--violet));border-color:transparent;transform:translateY(-2px)}
.socials svg{width:13px;height:13px}
@media (min-width:640px){.nav{height:60px}.links{display:flex}}
@media (min-width:1024px){.nav{height:64px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.orb{animation:none}}
