:root{--night: #0b0620;--night-2: #1d0c36;--plum: #3a1240;--maroon: #5a1a2e;--kumkum: #b3202e;--gold: #ffd76a;--turmeric: #e8a317;--flame: #ffb02e;--rice: #fffdf9;--ink: #221c17;--ink-soft: #5b5048;--line: #e7dfd3;--card: #fffaf1;--font-display: "Arima", "Mukta Malar", system-ui, sans-serif;--font-body: "Mukta Malar", system-ui, sans-serif;--step-1: clamp(1.05rem, .98rem + .3vw, 1.2rem);--step-2: clamp(1.35rem, 1.2rem + .7vw, 1.75rem);--step-3: clamp(1.9rem, 1.5rem + 1.8vw, 3rem);--step-4: clamp(2.6rem, 1.8rem + 4vw, 5rem);--gutter: clamp(16px, 4vw, 48px);--maxw: 1100px;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}body{margin:0;background:var(--night);color:var(--rice);font:400 1rem / 1.6 var(--font-body);-webkit-text-size-adjust:100%;overflow-x:hidden}img,svg{display:block;max-width:100%}a{color:var(--gold)}button,input{font:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:8px var(--gutter);background:#0b0620d1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,215,106,.15)}.nav-brand{display:flex;align-items:center;gap:8px;min-height:44px;color:var(--rice);font:700 1.05rem / 1 var(--font-display);text-decoration:none}.nav-brand svg{width:30px}.nav-links{display:flex;gap:4px;margin-left:auto}.nav-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:#fffdf9d9;font-weight:600;text-decoration:none}.lang{display:flex;padding:3px;border:1px solid rgba(255,215,106,.4);border-radius:999px}.lang button{min-height:38px;padding:0 12px;border:0;border-radius:999px;background:none;color:var(--rice);font-size:.9rem;font-weight:600;cursor:pointer}.lang button[aria-pressed=true]{background:var(--turmeric);color:var(--night)}@media (max-width: 560px){.nav-links{display:none}.lang{margin-left:auto}}.hero{position:relative;min-height:calc(100svh - 61px);overflow:hidden;background:radial-gradient(ellipse 80% 45% at 50% 105%,rgba(232,120,40,.35),transparent 70%),radial-gradient(1px 1px at 12% 18%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 32% 8%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 58% 22%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 76% 12%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 88% 30%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 22% 40%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 66% 44%,#fff 50%,transparent 51%),linear-gradient(180deg,var(--night) 0%,var(--night-2) 45%,var(--plum) 80%,var(--maroon) 100%)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:70px;background:#07041a;clip-path:polygon(0 60%,6% 60%,6% 35%,12% 35%,12% 55%,18% 55%,18% 20%,21% 10%,24% 20%,24% 55%,32% 55%,32% 40%,40% 40%,40% 62%,47% 62%,47% 30%,53% 30%,53% 58%,60% 58%,60% 15%,62% 5%,64% 15%,64% 50%,72% 50%,72% 38%,80% 38%,80% 60%,86% 60%,86% 28%,92% 28%,92% 55%,100% 55%,100% 100%,0 100%);pointer-events:none}.sky{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:pan-y;cursor:crosshair}.hero-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;max-width:760px;margin:0 auto;padding:clamp(28px,7vh,72px) var(--gutter) 96px;text-align:center;pointer-events:none}.hero-inner :is(a,button,input,label){pointer-events:auto}.hero-eyebrow{margin:0 0 6px;color:var(--gold);font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero-title{margin:0;font:700 var(--step-4) / 1.05 var(--font-display);color:var(--flame);text-shadow:0 0 30px rgba(255,176,46,.45),0 3px 0 #7a3315}:lang(ta) .hero-title{font-size:clamp(2.2rem,1.6rem + 3vw,4rem)}.hero-year{color:var(--gold);font-size:.5em;vertical-align:.35em}.hero-sub{display:block;margin-top:8px;color:var(--gold);font-size:var(--step-2);text-shadow:none}.hero-tagline{max-width:44ch;margin:18px 0 4px;font-size:var(--step-1);line-height:1.6}.hero-safe{margin:0 0 18px;color:var(--gold);font-weight:600}.crackers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;max-width:520px;margin-top:8px}.cracker{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:84px;padding:10px 4px 8px;border:1px solid rgba(255,215,106,.45);border-radius:16px;background:#1d0c36bf;color:var(--rice);font-size:.85rem;font-weight:700;line-height:1.2;cursor:pointer;transition:transform .12s ease,background .12s ease}.cracker svg{width:38px;height:38px}.cracker:hover{background:#5a1a2ed9}.cracker:active{transform:scale(.95)}.hero-hint{margin:10px 0 0;color:#fffdf9bf;font-size:.9rem}.hero-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;margin-top:10px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid rgba(255,253,249,.3);border-radius:999px;background:#0b062080;color:var(--rice);font-size:.9rem;cursor:pointer}.chip svg{width:18px;height:18px}.hero-count{margin:0;color:var(--gold);font-weight:700}.actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border:0;border-radius:999px;font-size:1.02rem;font-weight:700;text-decoration:none;cursor:pointer}.btn svg{width:20px;height:20px;flex:none}.btn-primary{background:linear-gradient(180deg,#ffd76a,#f0a828);color:#3a1240;box-shadow:0 6px 24px #ffb02e59}.btn-glow{animation:glow 1.6s ease-in-out infinite}@keyframes glow{50%{box-shadow:0 0 34px #ffd76abf}}.powered{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;margin:26px 0 0;font-size:.85rem;color:#fffdf9bf}.powered a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--rice);font-weight:700;text-decoration:none}.powered img{width:28px;height:28px;border-radius:8px}.gift{display:flex;flex-direction:column;align-items:center;width:100%;margin:18px 0 8px}.gift-title{max-width:24ch;margin:0 0 10px;color:var(--rice);font:700 var(--step-2) / 1.3 var(--font-display)}.gift-box{position:relative;width:min(260px,70vw);aspect-ratio:5 / 4;padding:0;border:0;background:none;cursor:pointer}.gift-box:disabled{cursor:default}.gift-sweet{position:absolute;top:4%;right:4%;bottom:18%;left:4%;width:92%;opacity:0;transform:translateY(30%) scale(.8);transition:opacity .5s .35s ease,transform .6s .35s cubic-bezier(.2,1.4,.4,1)}.gift-body{position:absolute;top:40%;right:6%;bottom:0;left:6%;border-radius:10px;background:linear-gradient(90deg,transparent 44%,var(--gold) 44%,var(--gold) 56%,transparent 56%),linear-gradient(180deg,#d4313d,#8e1624);box-shadow:0 16px 40px #00000073;transition:transform .5s ease}.gift-lid{position:absolute;inset:28% 2% auto;height:16%;border-radius:8px;background:linear-gradient(90deg,transparent 44%,var(--gold) 44%,var(--gold) 56%,transparent 56%),linear-gradient(180deg,#e8483a,#b3202e);transform-origin:10% 100%;transition:transform .6s cubic-bezier(.3,1.3,.5,1),opacity .6s ease}.gift-bow{position:absolute;left:50%;bottom:90%;width:70px;height:36px;transform:translate(-50%);background:radial-gradient(ellipse 50% 50% at 25% 60%,var(--gold) 60%,transparent 62%),radial-gradient(ellipse 50% 50% at 75% 60%,var(--gold) 60%,transparent 62%)}.gift:not(.gift--open) .gift-box{animation:wobble 2.4s ease-in-out infinite}@keyframes wobble{0%,80%,to{transform:rotate(0)}85%{transform:rotate(-4deg)}90%{transform:rotate(4deg)}95%{transform:rotate(-2deg)}}.gift--open .gift-lid{transform:translate(-30%,-90%) rotate(-35deg);opacity:0}.gift--open .gift-body{transform:translateY(22%) scaleY(.6);opacity:.55}.gift--open .gift-sweet{z-index:2;opacity:1;transform:none}.gift-note{max-width:36ch;margin:12px 0 0;color:var(--gold);font-size:var(--step-1);font-weight:700}.section{max-width:var(--maxw);margin:0 auto;padding:56px var(--gutter)}.section-title{margin:0 0 8px;color:var(--gold);font:700 var(--step-3) / 1.15 var(--font-display)}:lang(ta) .section-title{font-size:var(--step-2)}.section-lede{max-width:60ch;margin:0 0 22px;font-size:var(--step-1);color:#fffdf9e0}.sweets{text-align:center}.sweets .section-lede{margin-inline:auto}.sweet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 auto;padding:0;border:0;max-width:720px}.sweet-grid legend{margin:0 auto 12px;font-weight:700;color:#fffdf9e6}.sweet{position:relative;display:flex;flex-direction:column;align-items:center;padding:10px 6px 12px;border:2px solid rgba(255,215,106,.25);border-radius:18px;background:#1d0c36b3;font-weight:700;line-height:1.25;cursor:pointer;transition:border-color .15s ease,transform .15s ease}.sweet input{position:absolute;opacity:0;pointer-events:none}.sweet img{width:100%;height:auto}.sweet--on{border-color:var(--gold);background:#5a1a2ed9;transform:translateY(-2px)}.sweet:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:3px}@media (min-width: 720px){.sweet-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.fields{display:grid;gap:12px;max-width:520px;margin:22px auto 0;text-align:left}@media (min-width: 600px){.fields{grid-template-columns:1fr 1fr}}.field span{display:block;margin-bottom:4px;font-weight:700}.field input{width:100%;min-height:50px;padding:0 14px;border:1px solid rgba(255,215,106,.45);border-radius:12px;background:#fffdf9f5;color:var(--ink);font-size:16px}.field input[aria-invalid=true]{border-color:#ff7a7a;box-shadow:0 0 0 2px #ff7a7a80}.form-error{margin:10px 0 0;color:#ffb3b3;font-weight:600}.contest-card{max-width:640px;margin:0 auto;padding:24px clamp(18px,4vw,34px);border:1px solid rgba(255,215,106,.6);border-radius:22px;background:linear-gradient(135deg,#b3202e8c,#3a1240cc);box-shadow:0 0 40px #e8a31726}.contest-label{display:flex;align-items:center;gap:8px;margin:0 0 6px;color:var(--gold);font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.contest-label svg{width:18px;height:18px}.contest-steps{margin:8px 0;padding-left:1.4em;font-size:var(--step-1)}.contest-note{color:#fffdf9cc}.contest .actions{justify-content:flex-start}.footer{padding:40px var(--gutter) 48px;border-top:1px solid rgba(255,215,106,.15);text-align:center;color:#fffdf9d9}.footer p{margin:0 0 6px}.footer-greeting{color:var(--flame);font:700 var(--step-2) / 1.3 var(--font-display)}.footer-small{margin-top:14px!important;font-size:.8rem;opacity:.7}.dialog{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:18px 16px 16px;border:1px solid rgba(255,215,106,.5);border-radius:22px;background:var(--night-2);color:var(--rice);text-align:center}.dialog::backdrop{background:#05020fbf}.dialog-title{margin:0 36px 4px;color:var(--gold);font:700 var(--step-2) / 1.25 var(--font-display)}.dialog-sub,.dialog-done,.dialog-hint{margin:0 0 10px}.dialog-done{display:inline-flex;align-items:center;gap:6px;color:#8be0a4;font-weight:700}.dialog-done svg{width:20px;height:20px}.dialog-hint{margin-top:8px;font-size:.9rem;color:var(--gold)}.card-preview{width:min(100%,calc(min(52dvh,480px)*.8));aspect-ratio:4 / 5;margin:0 auto;border-radius:14px;overflow:hidden;background:var(--night)}.card-preview img{width:100%;height:100%;object-fit:cover}.card-wait{display:block;width:100%;height:100%;background:linear-gradient(110deg,transparent 30%,rgba(255,215,106,.12) 50%,transparent 70%) 0 0 / 200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.share-row{display:flex;justify-content:center;gap:16px;margin:14px 0 0;padding:0;list-style:none}.share-btn{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:64px;padding:0;border:0;background:none;color:var(--rice);font-size:.8rem;font-weight:600;text-decoration:none;cursor:pointer}.share-btn svg{box-sizing:content-box;width:22px;height:22px;padding:13px;border-radius:50%;background:#fffdf91f}.share-main svg{background:var(--turmeric);color:var(--night)}.share-wa svg{background:#25d366;color:#fff}.share-btn:disabled{opacity:.5}.dialog-close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#fffdf91a;color:var(--rice);cursor:pointer}.dialog-close svg{width:20px;height:20px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
