@font-face{font-family:"Baloo Tamma 2";src:url("fonts/BalooTamma2.woff2") format("woff2");font-weight:400 800;font-display:swap}
@font-face{font-family:"Noto Sans Kannada";src:url("fonts/NotoSansKannada.woff2") format("woff2");font-weight:100 900;font-display:swap}
body{margin:0;background:#3a0a0a;color:#FFF3DC;font-family:"Noto Sans Kannada",system-ui,sans-serif;text-align:center}
main{max-width:480px;margin:0 auto;padding:16px}
h1{font-family:"Baloo Tamma 2",sans-serif;font-weight:800;font-size:clamp(1.45rem,6.2vw,2.4rem);line-height:1.12;letter-spacing:.5px;margin:10px 0 4px;
   color:#F2B705;
   background:linear-gradient(180deg,#FFF6CE 0%,#F7D046 38%,#E0A008 62%,#9C6604 100%);
   -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
   /* drop-shadow stacks on the clipped glyphs, which text-shadow cannot do once
      the fill is transparent. Four layers give the extruded 3D edge. */
   filter:drop-shadow(0 1px 0 #8A5A05) drop-shadow(0 2px 0 #6B3D02) drop-shadow(0 3px 0 #4A2A01) drop-shadow(0 6px 9px rgba(0,0,0,.65))}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  h1{-webkit-text-fill-color:#F7D046;color:#F7D046;filter:drop-shadow(0 3px 0 #6B3D02)}}
.lead{margin:0 0 8px;opacity:.85;font-size:.95rem}
model-viewer{width:100%;height:min(52vh,420px)}
.form{display:grid;gap:8px;max-width:360px;margin:6px auto}
input[type=text]{padding:11px 12px;border-radius:10px;border:1px solid rgba(255,243,220,.4);background:rgba(0,0,0,.25);color:#FFF3DC;font:inherit;font-size:1rem}
.btn{display:block;padding:12px;border-radius:12px;border:2px solid rgba(255,243,220,.55);background:transparent;color:#FFF3DC;font-size:1rem;font-weight:600;cursor:pointer;font-family:"Baloo Tamma 2",sans-serif}
.btn.primary{background:#F2B705;color:#4A0B0B;border-color:transparent}
.note{font-size:.8rem;opacity:.65}
.count{font-size:.72rem;opacity:.55;text-align:right;margin:-4px 2px 0}
.count.max{opacity:.95;color:#F7D046}
/* AR call-to-action: a pulsing ring reads as "press me" without the harshness
   of a true blink, and it still animates on low-end phones. */
.btn.cta{background:#F2B705;color:#4A0B0B;border-color:transparent;font-weight:800;
  animation:cta-pulse 1.5s ease-in-out infinite;will-change:transform,box-shadow}
@keyframes cta-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(242,183,5,.70);transform:scale(1)}
  50%{box-shadow:0 0 0 15px rgba(242,183,5,0);transform:scale(1.035)}}
@media (prefers-reduced-motion:reduce){.btn.cta{animation:none;box-shadow:0 0 0 4px rgba(242,183,5,.45)}}
.counter{font-size:.72rem;opacity:.5;margin:10px 0 4px;letter-spacing:.3px}
.expired{max-width:420px;margin:12vh auto;padding:24px;text-align:center}
.expired h2{font-family:"Baloo Tamma 2",sans-serif;color:#F7D046;font-size:1.4rem;margin:0 0 8px}
