*{box-sizing:border-box}body{margin:0;font-family:'Baloo 2',system-ui,sans-serif;background:radial-gradient(circle at 20% 0,#ffcf5c33,transparent 40%),linear-gradient(160deg,#7a0f3a,#b3164f 45%,#ff7a3d);color:#fff;min-height:100vh;padding-bottom:70px}
.hidden{display:none!important}#confetti{position:fixed;inset:0;pointer-events:none;z-index:99}
nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#3d0620ee;backdrop-filter:blur(6px);padding:8px 0;z-index:50;border-top:2px solid #ffcf5c}nav a{font-size:22px;text-decoration:none}
.hero{text-align:center;padding:10px 16px 30px}.toran{font-size:22px;letter-spacing:2px;animation:sway 3s ease-in-out infinite}@keyframes sway{50%{transform:translateY(4px)}}
.tag{display:inline-block;background:#ffcf5c;color:#7a0f3a;font-weight:800;border-radius:20px;padding:3px 12px;margin:10px 0 0}
.script{font-family:Pacifico,cursive;font-size:56px;margin:8px 0 0;text-shadow:3px 3px 0 #3d0620}.script span{color:#ffcf5c;display:inline-block;animation:beat 1s infinite}@keyframes beat{50%{transform:scale(1.3)}}
.sub{margin:0;opacity:.9}.couple{width:80%;max-width:320px;filter:drop-shadow(0 10px 20px #0008);animation:float 4s ease-in-out infinite}@keyframes float{50%{transform:translateY(-8px)}}
.cd{display:flex;gap:8px;justify-content:center;margin:10px 0}.cd div{background:#fff2;border:2px solid #ffcf5c;border-radius:14px;padding:6px 10px;min-width:62px}.cd b{display:block;font-size:26px;color:#ffcf5c}.cd small{font-size:12px}
.btn{display:inline-block;background:linear-gradient(#ffd96b,#f5a623);color:#5a0a2b;border:0;border-radius:30px;padding:10px 18px;font:800 16px 'Baloo 2';box-shadow:0 4px 0 #a8650a;cursor:pointer;text-decoration:none;margin:4px}.btn:active{transform:translateY(3px);box-shadow:0 1px 0 #a8650a}.btn:disabled{opacity:.5}.btn.big{font-size:20px;padding:12px 28px}
.badge{margin:12px auto;background:#fff;color:#7a0f3a;border-radius:16px;padding:12px;max-width:300px;font-weight:800;border:3px dashed #ffcf5c;animation:pop .5s}@keyframes pop{from{transform:scale(.3)}}
.card{background:#fff;color:#4a0a25;margin:16px;border-radius:24px;padding:18px;box-shadow:0 10px 30px #0004;text-align:center;border-top:6px solid #ffcf5c}.card h2{margin:0 0 8px;font-size:22px;color:#b3164f}
.muted{opacity:.7;margin:4px 0}.small{font-size:12px}
.opt{display:block;width:100%;margin:6px 0;padding:10px;border-radius:14px;border:2px solid #f3c4d4;background:#fff7fa;font:600 16px 'Baloo 2';color:#4a0a25}.opt.ok{background:#c8f7c5;border-color:#3a3}.opt.no{background:#ffd0d0;border-color:#d33}
.prog{height:8px;background:#f3c4d4;border-radius:8px;overflow:hidden;margin-bottom:10px}.prog i{display:block;height:100%;background:#b3164f;transition:.3s}
.quote{font-size:20px;font-style:italic;background:#fff3d6;border-radius:16px;padding:14px;margin:8px 0}
.mem{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.mc{aspect-ratio:1;perspective:400px}.mc .in{position:relative;width:100%;height:100%;transition:.4s;transform-style:preserve-3d}.mc.f .in{transform:rotateY(180deg)}.mc .fa,.mc .ba{position:absolute;inset:0;border-radius:12px;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;font-size:30px}.mc .fa{background:linear-gradient(135deg,#b3164f,#ff7a3d);color:#ffcf5c;font-size:20px}.mc .ba{background:#fff3d6;transform:rotateY(180deg);border:2px solid #ffcf5c}.mc.m .ba{background:#c8f7c5}
.wheelWrap{position:relative;width:300px;max-width:100%;margin:auto}.wheelWrap canvas{width:100%;transition:transform 4s cubic-bezier(.17,.67,.2,1)}.pointer{position:absolute;top:-14px;left:50%;transform:translateX(-50%);font-size:30px;color:#7a0f3a;z-index:2}
.dare{font-size:20px;font-weight:800;min-height:30px}
.scratchWrap{position:relative;width:300px;height:150px;margin:auto;max-width:100%}.prize,.scratchWrap canvas{position:absolute;inset:0;border-radius:16px}.prize{display:flex;align-items:center;justify-content:center;background:#fff3d6;padding:10px;font-weight:800}.scratchWrap canvas{touch-action:none;width:100%;height:100%}
#boothC{width:100%;max-width:320px;border-radius:16px;background:#eee}.frames{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-bottom:8px}.frames button{border:2px solid #f3c4d4;background:#fff7fa;border-radius:12px;padding:4px 10px;font:600 14px 'Baloo 2'}.frames button.on{border-color:#b3164f;background:#ffcf5c}
input,textarea{width:100%;margin:4px 0;padding:10px;border-radius:12px;border:2px solid #f3c4d4;font:500 16px 'Baloo 2'}textarea{height:70px}
.wishes{display:grid;gap:8px;margin-top:10px;text-align:left}.wish{background:#fff3d6;border-radius:14px;padding:10px;transform:rotate(var(--r));border-left:5px solid #b3164f}.wish b{color:#b3164f}
.dc{background:#fff7fa;border-radius:14px;padding:10px;margin:6px 0}.plan{text-align:left;padding-left:0;list-style:none}.plan li{padding:6px;border-bottom:1px dashed #f3c4d4}
.ev{display:flex;gap:10px;align-items:center;text-align:left;background:#fff7fa;border-radius:14px;padding:10px;margin:8px 0}.ev .i{font-size:34px}.ev a{color:#b3164f;font-weight:800}
footer{text-align:center;padding:10px;opacity:.85}
.ticker{background:#3d0620;overflow:hidden;white-space:nowrap;padding:6px 0;border-bottom:2px solid #ffcf5c}.ticker div{display:inline-block;padding-left:100%;animation:tk 25s linear infinite;color:#ffcf5c;font-weight:700}@keyframes tk{to{transform:translateX(-100%)}}
.pill{display:inline-block;background:#b3164f;color:#fff;font-size:24px;font-weight:800;border-radius:30px;padding:6px 20px;transform:rotate(-3deg)}
input[type=range]{accent-color:#b3164f;padding:0}.menu{width:100%;border-collapse:collapse;text-align:left}.menu td{padding:7px 4px;border-bottom:1px dashed #f3c4d4}.menu td:last-child{text-align:right;font-weight:800;color:#b3164f}
.rev{background:#fff7fa;border-radius:14px;padding:10px;margin:6px 0;font-style:italic}.rev small{display:block;font-style:normal;color:#b3164f;font-weight:700}
.ann{background:#fff3d6;border-radius:14px;padding:10px;margin:6px 0;text-align:left;font-weight:600}
.tl{display:flex;gap:10px;text-align:left;border-left:4px solid #b3164f;margin-left:8px;padding:6px 10px}.tl b{color:#b3164f;min-width:95px}
.danger{background:linear-gradient(#ff5a5a,#c81d1d);color:#fff;box-shadow:0 4px 0 #7a0000;animation:beat 1.2s infinite}.shake{animation:sh .1s 8}@keyframes sh{50%{transform:translateX(6px) rotate(3deg)}}
.tier{display:block;width:100%;margin:6px 0;padding:10px;border-radius:14px;border:2px solid #f3c4d4;background:#fff7fa;font:500 15px 'Baloo 2';color:#4a0a25;text-align:left}.tier.on{border-color:#b3164f;background:#ffeeb5}
.invoice{background:#fffdf3;border:2px dashed #b3164f;border-radius:12px;padding:10px;margin:10px 0;font-family:monospace;font-size:13px}.invoice table{width:100%}.invoice td:last-child{text-align:right}.invoice .tot td{border-top:2px solid #4a0a25;font-weight:800}
#qr svg{width:180px;height:180px}.ghost{background:#eee;box-shadow:0 4px 0 #aaa}
body{padding-bottom:10px}.hp{position:absolute;left:-9999px;opacity:0;height:0}.emos{margin:4px 0}.emos button{font-size:22px;background:#fff7fa;border:2px solid #f3c4d4;border-radius:12px;margin:2px;padding:2px 8px}.emos button.on{border-color:#b3164f;background:#ffeeb5}
.cm{background:#fff3d6;border-radius:14px;padding:10px;border-left:5px solid #b3164f;text-align:left}.cm b{color:#b3164f}.cm .t{font-size:11px;opacity:.6}.like{float:right;border:0;background:none;font-size:15px}
.bang{font-family:Bangers,cursive;letter-spacing:1px;font-size:30px!important;color:#b3164f;transform:rotate(-1.5deg);text-shadow:2px 2px 0 #ffcf5c}
.card.fun{border:3px dashed #ff7a3d;border-top:6px solid #ffcf5c}.card{animation:rise .6s both}@keyframes rise{from{opacity:0;transform:translateY(20px)}}
.pricetag{display:inline-block;background:#e91e63;color:#fff;font:800 28px 'Baloo 2';padding:6px 22px;border-radius:30px;transform:rotate(-4deg);box-shadow:0 6px 0 #8a0f3a;animation:wob 2.5s ease-in-out infinite}@keyframes wob{50%{transform:rotate(3deg) scale(1.05)}}
.tiny{font-size:13px;opacity:.7;margin:4px 0}.menu small{opacity:.65;font-weight:500}
.vada{font-size:64px;display:inline-block}.chomp{animation:chomp .35s}@keyframes chomp{30%{transform:scale(.7) rotate(-15deg)}60%{transform:scale(1.2) rotate(10deg)}}
.rev{background:#fff7fa;border-radius:14px;padding:10px;margin:8px 0;font-style:italic;text-align:left}.rev small{display:block;font-style:normal;color:#b3164f;font-weight:700}.stars{color:#f5a623;font-style:normal;font-size:13px}
#heart{cursor:pointer;transition:transform .2s}#floaties{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}.fl{position:absolute;bottom:-40px;font-size:22px;opacity:.55;animation:up linear forwards}@keyframes up{to{transform:translateY(-110vh) rotate(360deg)}}
.card,.hero{position:relative;z-index:2}
/* Pachai Nirame palette: green hero + white, red, blue, yellow */
:root{--g:#0b6b3a;--g2:#14a05a;--w:#fffdf6;--r:#d7263d;--b:#1e5bb8;--y:#f6ca1b}
body{background:radial-gradient(circle at 15% 0,#c8f5d855,transparent 45%),radial-gradient(circle at 90% 30%,#f6ca1b22,transparent 40%),linear-gradient(165deg,#063d22,#0b6b3a 45%,#14a05a);color:#fff}
.ticker{background:#04301a;border-bottom:2px solid #f6ca1b}.ticker div{color:#f6ca1b}
.script{text-shadow:3px 3px 0 #04301a}.script span{color:#ff4d6d}.tag{background:#fffdf6;color:#0b6b3a}
.card{background:#fffdf6;color:#173b26;border-top:6px solid var(--c,#0b6b3a)}
.card.fun{border:3px dashed var(--c,#0b6b3a);border-top:6px solid var(--c,#0b6b3a)}
.card:nth-of-type(5n+1){--c:#0b6b3a}.card:nth-of-type(5n+2){--c:#d7263d}.card:nth-of-type(5n+3){--c:#1e5bb8}.card:nth-of-type(5n+4){--c:#e0a800}.card:nth-of-type(5n){--c:#14a05a}
.card h2,.bang{color:var(--c,#0b6b3a)!important;text-shadow:2px 2px 0 #f6ca1b55}
.card{background:linear-gradient(180deg,color-mix(in srgb,var(--c) 7%,#fffdf6),#fffdf6 40%)}
.btn{background:linear-gradient(#ffe066,#f6ca1b);color:#063d22;box-shadow:0 4px 0 #b08900}
.danger{background:linear-gradient(#ff5a6e,#d7263d);color:#fff;box-shadow:0 4px 0 #7a0012}
.pricetag{background:#d7263d;box-shadow:0 6px 0 #7a0012}.menu td:last-child{color:#0b6b3a}
.rev,.cm,.tier,.opt,.emos button,.wish{background:#f3fbf5;border-color:#bfe6cc}.cm,.wish{border-left-color:#0b6b3a}.cm b,.rev small{color:#0b6b3a}
.tier.on,.emos button.on{background:#fff4c2;border-color:#0b6b3a}
input,textarea{border-color:#bfe6cc}.invoice{border-color:#1e5bb8}
input[type=range]{accent-color:#0b6b3a}.pointer{color:#063d22}
.badge{color:#0b6b3a;border-color:#f6ca1b}footer{color:#eafff1}
#muteBtn{position:fixed;right:12px;bottom:14px;z-index:60;width:44px;height:44px;border-radius:50%;border:2px solid #f6ca1b;background:#063d22cc;color:#fff;font-size:20px;backdrop-filter:blur(4px)}
@property --bg1{syntax:'<color>';inherits:true;initial-value:#063d22}@property --bg2{syntax:'<color>';inherits:true;initial-value:#0b6b3a}@property --bg3{syntax:'<color>';inherits:true;initial-value:#14a05a}@property --acc{syntax:'<color>';inherits:true;initial-value:#f6ca1b}@property --tk{syntax:'<color>';inherits:true;initial-value:#04301a}
body{background:linear-gradient(165deg,var(--bg1),var(--bg2) 45%,var(--bg3));background-attachment:fixed;transition:--bg1 1.8s,--bg2 1.8s,--bg3 1.8s,--acc 1.8s,--tk 1.8s}
.ticker{background:var(--tk);border-bottom-color:var(--acc)}.ticker div{color:var(--acc)}#muteBtn{border-color:var(--acc)}.tag{color:var(--bg2)}
.sub,.tag,footer{text-shadow:0 1px 4px #0009}.tag{text-shadow:none}
