@font-face{font-family:"Manrope";src:url("/fonts/manrope.woff2") format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Noto Sans Kannada";font-weight:400;font-display:swap;src:url("/fonts/kannada-0.woff2") format("woff2");unicode-range:U+0951-0952,U+0964-0965,U+0B83,U+0C80-0CF3,U+1CD0,U+1CD2-1CD3,U+1CDA,U+1CF2,U+1CF4,U+200C-200D,U+20B9,U+25CC,U+A830-A835}
@font-face{font-family:"Tiro Kannada";src:url("/fonts/tiro-kannada.ttf") format("truetype");font-display:swap}

:root{
  --bg:#2a090c;--bg2:#3d1015;--card:rgba(255,235,200,.05);--line:rgba(233,196,106,.28);
  --fg:#f8ecd6;--muted:#d7c3a4;--gold:#eec978;--gold2:#c9993a;--ink:#3a1c05;--red:#a8171c;
  --serif:Georgia,"Times New Roman","Noto Sans Kannada",serif;
  --sans:"Manrope","Noto Sans Kannada","Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{min-width:320px;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;color:var(--fg);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;
  background:radial-gradient(900px 500px at 50% -80px,#5a1a1f 0,transparent 70%),linear-gradient(180deg,var(--bg2),var(--bg) 60%,#1b0507);background-color:var(--bg)}
html[data-lang="kn"] body{font-family:"Noto Sans Kannada","Manrope",sans-serif}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer}
button:disabled{cursor:default;opacity:.6}
a{color:var(--gold)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
img,video,canvas{max-width:100%}
[hidden]{display:none!important}

/* language switch: both texts are in the page, one is hidden */
html[data-lang="en"] [data-l="kn"],html[data-lang="kn"] [data-l="en"]{display:none!important}

.wrap{width:100%;max-width:560px;margin:0 auto;padding:0 16px}
.wrap.wide{max-width:760px}

header.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0 10px}
.brand{display:block;text-decoration:none;color:var(--fg)}
.brand b{display:block;font:600 19px/1.2 "Tiro Kannada",var(--serif);color:var(--fg)}
.brand small{display:block;font-size:10.5px;letter-spacing:.16em;color:var(--gold);margin-top:3px;text-transform:uppercase}
.lang{display:flex;gap:6px}
.lang button{min-height:40px;padding:0 13px;border-radius:10px;border:1px solid var(--line);background:rgba(0,0,0,.25);font-size:13px;font-weight:600}
html[data-lang="en"] .lang [data-set="en"],html[data-lang="kn"] .lang [data-set="kn"]{background:linear-gradient(#f4d98f,#d9aa49);color:var(--ink);border-color:transparent}

/* video */
.film{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#000;aspect-ratio:16/9;box-shadow:0 14px 40px rgba(0,0,0,.45)}
.film video{display:block;width:100%;height:100%;object-fit:cover;background:#000}
.sound{position:absolute;left:10px;bottom:10px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:rgba(20,5,6,.78);color:#fff;font-size:14px;font-weight:700;backdrop-filter:blur(4px)}
.tagline{text-align:center;color:var(--muted);margin:12px 0 18px;font-size:15px}

/* cards */
.card{border:1px solid var(--line);border-radius:20px;background:var(--card);padding:20px 18px;margin:0 0 18px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.card h1,.card h2{font:400 26px/1.2 var(--serif);margin:0;color:var(--fg)}
.pricehead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.price{font:700 34px/1 var(--serif);color:var(--gold);white-space:nowrap}
.lead{margin:0 0 14px;font-size:16.5px}
.steps{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}
.steps li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--fg)}
.steps i{flex:0 0 26px;height:26px;border-radius:50%;background:var(--gold);color:var(--ink);font:700 14px/26px var(--sans);text-align:center;font-style:normal}

.qrbox{background:#fff;border-radius:16px;padding:14px;width:max-content;max-width:100%;margin:6px auto 8px}
.qrbox svg{display:block;width:216px;height:216px;max-width:100%;height:auto;aspect-ratio:1}
.qrcap{text-align:center;color:var(--muted);font-size:14px;margin:0 0 12px}
.upiid{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.upiid code{font:600 15px var(--sans);background:rgba(0,0,0,.3);border:1px solid var(--line);border-radius:10px;padding:8px 12px;word-break:break-all}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:12px 18px;border-radius:14px;border:1px solid transparent;font-weight:800;font-size:16px;text-decoration:none;text-align:center}
.btn.gold{background:linear-gradient(#f6dc94,#dcae4d);color:var(--ink);box-shadow:0 4px 0 #9b7121,0 10px 22px rgba(0,0,0,.35)}
.btn.gold:active{transform:translateY(2px);box-shadow:0 2px 0 #9b7121}
.btn.ghost{background:rgba(0,0,0,.25);border-color:var(--line);color:var(--fg)}
.btn.small{width:auto;min-height:40px;padding:6px 14px;font-size:14px;border-radius:10px}
.stack{display:grid;gap:12px}
.mobile-only{display:none}
.is-touch .mobile-only{display:flex}
.hint{font-size:13.5px;color:var(--muted);margin:0;text-align:center}
.notice{border-left:3px solid var(--gold);background:rgba(0,0,0,.22);border-radius:0 10px 10px 0;padding:10px 12px;font-size:14px;color:var(--muted);margin:14px 0 0}
.divider{height:1px;background:var(--line);margin:16px 0}

.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.pair figure{margin:0}
.pair img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:12px;border:1px solid var(--line)}
.pair figcaption{font-size:14px;color:var(--muted);margin-top:8px}

/* scratch stage */
.stage-title{text-align:center;margin:14px 0 4px}
.stage-title h2{font:400 28px/1.2 var(--serif);margin:0 0 6px}
.stage-title p{margin:0;color:var(--muted)}
.scratch{position:relative;width:100%;margin:16px auto 10px;aspect-ratio:2/3;border-radius:16px;overflow:hidden;border:2px solid var(--gold2);box-shadow:0 14px 40px rgba(0,0,0,.55);touch-action:none;user-select:none;-webkit-user-select:none}
.scratch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scratch canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
.progress{text-align:center;color:var(--muted);font-size:14px;margin:0 0 12px;min-height:22px}

#stage-scratch{overflow-x:clip}
.scratch.fly{animation:fly 1.05s cubic-bezier(.2,.85,.25,1.12) both}
@keyframes fly{0%{transform:translate(45vw,60vh) rotate(-16deg) scale(.55);opacity:0}35%{opacity:1}100%{transform:none;opacity:1}}
.scratch::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-120%);animation:shimmer 2.4s ease-in-out 1.1s infinite}
.scratch.touched::after,.scratch.done::after{display:none}
@keyframes shimmer{to{transform:translateX(120%)}}
.scratch .spark{position:absolute;width:7px;height:7px;border-radius:50%;background:#ffe9a8;box-shadow:0 0 8px 2px #f6c453;pointer-events:none;opacity:0;animation:spark 1s ease-out forwards}
@keyframes spark{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.3)}}
.stage-in{animation:stagein .6s ease both}
@keyframes stagein{from{opacity:0}to{opacity:1}}

/* greeting */
.songbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 12px}
.songbar span{font-size:15px}
.songbar button{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:rgba(0,0,0,.25);font-weight:700;font-size:14px}
.poster{display:block;width:100%;height:auto;border-radius:16px;border:2px solid var(--gold2);box-shadow:0 14px 40px rgba(0,0,0,.5);aspect-ratio:2/3;object-fit:cover}
.gtext{text-align:center;margin:14px 0}
.gtext small{display:block;font-size:11px;letter-spacing:.16em;color:var(--gold)}
.gtext h2{font:400 24px/1.55 "Tiro Kannada","Noto Sans Kannada",serif;margin:10px 0}
.gtext p{margin:0;font:400 22px "Tiro Kannada","Noto Sans Kannada",serif}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:14px 0 0}
.links button{background:none;border:0;color:var(--fg);text-decoration:underline;font-size:14.5px;padding:8px 2px;min-height:40px}
.msg{min-height:22px;text-align:center;font-size:14px;color:var(--muted);margin:6px 0 0}
textarea.copybox{width:100%;margin-top:8px;border-radius:10px;border:1px solid var(--line);background:rgba(0,0,0,.3);color:var(--fg);padding:10px;font:14px var(--sans)}

/* footer + policy pages */
footer.site{border:1px solid var(--line);border-radius:20px;padding:16px;margin:8px 0 28px;text-align:center;background:rgba(0,0,0,.25)}
footer.site nav{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 16px}
footer.site nav a{padding:9px 2px;font-size:14.5px;color:var(--fg)}
footer.site p{margin:6px 0;font-size:14px;color:var(--muted)}
footer.site .who{color:var(--fg);font-weight:700;font-size:16px}
.policy h1{font:400 30px/1.25 var(--serif);margin:6px 0 14px}
.policy h2{font:600 18px/1.3 var(--sans);margin:22px 0 6px;color:var(--gold)}
.policy p,.policy li{font-size:16px}
.policy dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px}
.policy dt{color:var(--muted)}.policy dd{margin:0;word-break:break-word}
.back{display:inline-block;margin:6px 0 4px;padding:8px 0;font-size:14.5px}

@media (min-width:760px){
  .wrap{max-width:640px}
  .qrbox svg{width:240px}
  .card{padding:26px 26px}
}
@media (max-width:359px){.price{font-size:28px}.card h1,.card h2{font-size:22px}.two{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
#stage-greeting:not([hidden]){animation:stagein .6s ease both}
[data-focus]:focus{outline:none}

.gtext .hk{display:block;margin-top:10px;font:italic 400 18px Georgia,serif;color:var(--gold)}

.vtoggle{position:absolute;right:10px;bottom:10px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(20,5,6,.78);color:#fff;font-size:15px;line-height:1;backdrop-filter:blur(4px)}
#copied{margin:0}#copied:empty{display:none}#copied:not(:empty){margin:0 0 8px}
.upiid{margin-bottom:12px}
.sound{min-height:44px;padding:0 16px;font-size:15px;animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(238,201,120,.7)}70%{box-shadow:0 0 0 12px rgba(238,201,120,0)}100%{box-shadow:0 0 0 0 rgba(238,201,120,0)}}
