/* Site layout and animation hooks. Tailwind utilities supplement the core layout. */
:root{color-scheme:dark;--bg:#0a0f1d;--panel:#111827;--ink:#f8f5ff;--muted:#adb6ca;--lime:#dfff67;--line:#ffffff20;font-family:Inter,system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--lime);outline-offset:4px}html{scroll-behavior:smooth}section[id]{scroll-margin-top:90px}.wrap{width:min(1220px,calc(100% - 64px));margin-inline:auto}.top{position:sticky;top:0;z-index:4;background:#0a0f1df5;border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px}.logo{font-size:25px;font-weight:900;letter-spacing:-1.1px;white-space:nowrap}.logo span{color:var(--lime)}.links{display:flex;gap:30px;font-size:14px;color:var(--muted)}.links a:hover,footer a:hover{color:var(--lime)}.cart{border:1px solid #ffffff30;background:#171e30;color:var(--ink);border-radius:999px;padding:8px 10px 8px 15px;display:inline-flex;align-items:center;gap:10px}.cart span{display:grid;place-items:center;background:var(--lime);color:#121624;min-width:25px;height:25px;padding:0 5px;border-radius:99px;font-weight:900;font-size:12px}.hero{position:relative;isolation:isolate;overflow:hidden;background:#0a0f1d;border-bottom:1px solid var(--line)}#sky{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0a0f1d 5%,#0a0f1de8 29%,#0a0f1d00 79%),linear-gradient(0deg,#0a0f1d,transparent 24%)}.hero-copy{padding-block:88px 64px}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--lime);font-weight:850;margin:0 0 18px}.live-dot{display:inline-block;background:var(--lime);border-radius:50%;width:7px;height:7px;margin-right:8px;box-shadow:0 0 12px var(--lime)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(68px,10vw,146px);font-weight:950;letter-spacing:-.09em;line-height:.83;margin:0 0 25px}h1 em{font-style:normal;color:var(--lime)}.intro{max-width:390px;color:#d1d7e6;line-height:1.6;margin-bottom:26px}.primary{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;background:var(--lime);color:#131925;font-weight:850;border-radius:10px;padding:13px 19px;transition:transform .2s,box-shadow .2s}.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 25px #dfff6760}.primary:active:not(:disabled){transform:scale(.97)}.badges{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0}.badges li{padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:#d8def0;background:#0a0f1d99;font-size:11px;animation:arrive .65s both}.badges li:nth-child(2){animation-delay:.12s}.badges li:nth-child(3){animation-delay:.24s}.section{padding-block:55px 12px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:10px}.section-head span,.combo p:not(.eyebrow),footer,details p{color:var(--muted)}h2{font-size:clamp(31px,4vw,54px);line-height:1;letter-spacing:-.055em;margin-bottom:12px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 22px}.filters button,.quantity button,.close{border:1px solid var(--line);background:#161d2e;color:var(--ink);padding:8px 13px;border-radius:999px}.filters button[aria-pressed=true]{color:#111520;background:var(--lime);border-color:var(--lime);font-weight:750}.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.product{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--panel);transition:transform .25s,box-shadow .25s}.product:hover{transform:translateY(-4px);box-shadow:0 13px 27px #0007}.product.in-view{animation:arrive .45s both}.product-art{position:relative;overflow:hidden;aspect-ratio:1.46;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 60%,color-mix(in srgb,var(--tint),#0b0d19 65%),#121425 76%)}.product-art::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(110deg,transparent 0 18px,#ffffff07 19px 20px,transparent 21px 36px)}.art-box{width:55%;aspect-ratio:1.4;display:grid;place-content:center;text-align:center;gap:5px;border:1px solid var(--tint);background:linear-gradient(145deg,#24283c,#0b0c15);box-shadow:8px 8px 0 color-mix(in srgb,var(--tint),#111 65%),12px 16px 22px #0008;border-radius:4px;transform:rotate(-9deg);transition:transform .3s}.product:hover .art-box{transform:rotate(-5deg) scale(1.1)}.art-box b{color:var(--tint);font-size:clamp(22px,3vw,42px);line-height:1}.art-box small{color:#fff;font-size:9px;font-weight:800;letter-spacing:.14em}.discount{position:absolute;top:10px;left:10px;z-index:1;padding:4px 7px;background:var(--lime);color:#141824;border-radius:5px;font-size:10px;font-weight:900}.product-body{padding:14px;display:grid;gap:9px}.product-body h3{margin:0;font-size:17px}.rating{color:var(--muted);font-size:11px}.price strong{font-size:20px}.price del{margin-left:8px;color:var(--muted);font-size:13px}.add{width:100%;border:1px solid #dfff6755;background:#dfff6710;color:var(--lime);border-radius:8px;padding:9px;font-weight:750;transition:background .2s,transform .2s}.add:hover,.add.added{background:var(--lime);color:#121824}.add.added{animation:tick .3s}.combo{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:clamp(20px,4vw,44px);border-radius:22px;background:radial-gradient(ellipse at top left,#422762,#171526 65%);border:1px solid #b58fea50}.builder{background:#0a0f1dcc;padding:17px;border-radius:13px}.choice,.summary,.drawer-head,.cart-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.choice{padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}.choice input{accent-color:var(--lime);margin-right:8px}.summary{margin:15px 0}.summary strong{display:block;font-size:22px}.summary span{font-size:13px;color:var(--muted)}.lime{color:var(--lime)}details{border-bottom:1px solid var(--line);padding:14px 0}summary{cursor:pointer;font-weight:750}details p{line-height:1.6;margin:10px 0 0}.safety{padding-bottom:48px}footer{border-top:1px solid var(--line);font-size:13px}.floating{position:fixed;bottom:18px;right:18px;z-index:5;box-shadow:0 6px 26px #0008}.toast{position:fixed;bottom:74px;right:18px;z-index:7;background:var(--lime);color:#101620;border-radius:10px;padding:12px 15px;font-weight:800;max-width:calc(100% - 36px);pointer-events:none;opacity:0;transform:translateY(9px);transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:none}dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(430px,100%);max-width:100%;height:100%;max-height:100%;background:var(--panel);color:var(--ink);border:0;border-left:1px solid var(--line);padding:22px}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#03050bbb}.drawer-head h2{font-size:32px;margin:0}#cart-items{flex:1;overflow:auto;margin-top:14px}.cart-row{padding:12px 0;border-bottom:1px solid var(--line)}.cart-row small,#checkout-message{color:var(--muted)}.quantity{display:flex;align-items:center;gap:7px}.quantity button{padding:4px 9px}.drawer-foot{border-top:1px solid var(--line)}#checkout{width:100%}#checkout-message{margin:8px 0 0;font-size:13px}@keyframes arrive{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}@keyframes tick{50%{scale:.97}}
@media(max-width:1023px){.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:639px){.wrap{width:calc(100% - 32px)}.links{display:none}.hero-copy{padding-block:73px 44px}.hero::after{background:linear-gradient(90deg,#0a0f1de8,#0a0f1d25),linear-gradient(0deg,#0a0f1d,transparent 30%)}.products,.combo{grid-template-columns:1fr}.nav{min-height:62px}footer .nav{align-items:flex-start;flex-direction:column;padding-block:18px;gap:8px}.section{padding-top:38px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.sparks{position:absolute;inset:0;pointer-events:none;z-index:-1}.sparks i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;border-radius:50%;background:#ffdc98;box-shadow:0 0 10px #ffbb6b;animation:float-spark 6s var(--delay) ease-in-out infinite}@keyframes float-spark{0%,100%{opacity:.14;transform:translate(0,12px)}50%{opacity:.8;transform:translate(10px,-16px)}}

/* Firework bursts stay decorative and leave the native cursor usable. */
.spark-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:9}
.product-art{isolation:isolate}
.product-art::before{content:"";position:absolute;inset:9%;z-index:-1;background:repeating-conic-gradient(from 12deg,color-mix(in srgb,var(--tint),transparent 50%) 0deg 1deg,transparent 2deg 14deg);mask-image:radial-gradient(ellipse,transparent 22%,#000 36%,transparent 69%);opacity:.28;transition:transform .45s,opacity .45s}
.product:hover .product-art::before,.product:focus-within .product-art::before{opacity:.8;transform:scale(1.22) rotate(8deg)}
.art-box[data-kind="1"]{aspect-ratio:2.4}
.art-box[data-kind="2"]{aspect-ratio:1.1;border-radius:25%}
.art-box[data-kind="3"]{aspect-ratio:1.15;clip-path:polygon(22% 0,78% 0,100% 100%,0 100%)}
.art-box[data-kind="4"]{aspect-ratio:1.15;transform:rotate(8deg)}
.art-box[data-kind="5"]{border:2px solid var(--tint);outline:1px dashed var(--tint);outline-offset:-7px}
#cart-drawer[open]{animation:drawer-in .26s cubic-bezier(.2,.75,.25,1) both}
@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.spark-canvas{display:none}}

/* Category photographs cover the illustrated fallback only after loading. */
.catalog-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:19px;background:#f5f3ef;opacity:0;transition:opacity .2s,transform .35s}
.catalog-photo.ready{opacity:1}
.product:hover .catalog-photo.ready,.product:focus-within .catalog-photo.ready{transform:scale(1.05)}
.product-art::after{z-index:1;opacity:0;transition:opacity .35s}
.product:hover .product-art::after,.product:focus-within .product-art::after{opacity:.6}
.discount{z-index:2}
.photo-credit{font-size:11px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;justify-self:start}

/* Keep the expanded product picker compact and independently scrollable. */
#choices{max-height:285px;overflow-y:auto;overscroll-behavior:contain;padding-inline:4px 9px;scrollbar-color:#8d91a5 #151b2a}

.catalog-more{text-align:center;margin-top:24px}
.catalog-more:has(button[hidden]){display:none}
#show-more[hidden]{display:none}
#diwali-sparkler{position:absolute;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none}
