:root{--purple:#5b1f8a;--purple-d:#2d0a4a;--green:#0f8a43;--gold:#f2c230;--cream:#fff8e7}
*{box-sizing:border-box}body{margin:0;font-family:Poppins,system-ui,sans-serif;color:#2a1838;background:var(--purple-d);
background-image:radial-gradient(circle at 10% 20%,#7a2fb066 0 120px,transparent 121px),radial-gradient(circle at 90% 70%,#0f8a4355 0 160px,transparent 161px),radial-gradient(circle at 50% 110%,#f2c23033 0 220px,transparent 221px)}
.wrap{max-width:980px;margin:0 auto;padding:0 18px}
.beads{position:fixed;inset:0 0 auto 0;height:26px;z-index:5;pointer-events:none;background:radial-gradient(circle,var(--gold) 6px,transparent 7px) 0 0/24px 26px,radial-gradient(circle,var(--purple) 6px,transparent 7px) 8px 0/24px 26px,radial-gradient(circle,var(--green) 6px,transparent 7px) 16px 0/24px 26px;filter:drop-shadow(0 2px 2px #0006)}
.hero{text-align:center;color:#fff;padding:70px 18px 50px;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--purple) 0 33%,var(--green) 33% 66%,#b8860b 66%);border-bottom:8px solid var(--gold)}
.hero::before{content:"⚜ ⚜ ⚜ ⚜ ⚜ ⚜ ⚜ ⚜ ⚜ ⚜ ⚜ ⚜";position:absolute;inset:auto 0 10px;font-size:22px;color:#ffffff40;letter-spacing:14px;white-space:nowrap}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,#00000010,#00000070);pointer-events:none}
.hero>*{position:relative;z-index:1}.mask{font-size:72px;filter:drop-shadow(0 6px 10px #0008);animation:bob 3s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-8px) rotate(-4deg)}}
.kicker{font-family:Pacifico,cursive;color:var(--gold);font-size:1.3rem;margin:.3em 0;text-shadow:0 2px 4px #0008}
h1{font-family:Rye,serif;font-size:clamp(2.1rem,6vw,4rem);line-height:1.1;margin:.2em 0;text-shadow:3px 3px 0 var(--purple-d),0 0 20px #0006}
h1 span{color:var(--gold)}.lead{max-width:680px;margin:1em auto 1.6em;font-size:1.15rem;line-height:1.6;text-shadow:0 1px 3px #000a}
.lead em{font-family:Pacifico,cursive;font-style:normal;color:var(--gold)}
.btn{display:inline-block;border:0;cursor:pointer;font:600 1rem Poppins,sans-serif;padding:.75em 1.4em;border-radius:40px;background:linear-gradient(180deg,#ffd95a,var(--gold));color:var(--purple-d);box-shadow:0 4px 0 #a07800,0 6px 14px #0005;text-decoration:none;transition:transform .1s}
.btn:hover{transform:translateY(-2px)}.btn:disabled{opacity:.6}.btn.big{font-size:1.25rem;padding:.8em 2em}
.btn.ghost{background:transparent;color:var(--purple);border:2px dashed var(--purple);box-shadow:none}.btn.sm{font-size:.85rem;padding:.5em 1em}
.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:-30px;position:relative;z-index:2}
.pill{background:var(--cream);border-radius:18px;padding:20px;text-align:center;border-top:6px solid var(--gold);box-shadow:0 10px 25px #0006}
.pill:nth-child(1){border-color:var(--purple)}.pill:nth-child(2){border-color:var(--green)}
.pill span{font-size:2.2rem}.pill h3{font-family:Rye,serif;color:var(--purple);margin:.3em 0}.pill p{margin:0;font-size:.95rem}
.card{background:var(--cream);border-radius:22px;padding:28px;margin:34px auto;box-shadow:0 14px 40px #000a;border:4px solid var(--gold);position:relative}
.card h2{font-family:Rye,serif;color:var(--purple);font-size:1.9rem;margin:0 0 .2em}.sub{color:#5a4a66;margin:.2em 0 1em}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid .full{grid-column:1/-1}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:flex;flex-direction:column;font-weight:600;font-size:.9rem;color:var(--purple-d);gap:5px}
input,select{font:inherit;font-weight:400;padding:.7em .8em;border:2px solid #d8c8e8;border-radius:10px;background:#fff;width:100%}
input:focus,select:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px #5b1f8a33}.bad{border-color:#c0392b!important;background:#fff3f2}
fieldset{border:2px solid #e6d6f2;border-radius:16px;margin:22px 0;padding:16px}legend{font-family:Rye,serif;color:var(--green);font-size:1.15rem;padding:0 8px}
.months{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.month{position:relative}.month input{position:absolute;opacity:0;left:0;top:0;width:1px;height:1px}
.month span{display:flex;flex-direction:column;align-items:center;padding:16px 6px;border-radius:14px;border:3px solid #e6d6f2;background:#fff;cursor:pointer;font-size:1.6rem;transition:.15s}
.month b{font-family:Rye,serif;font-size:1.3rem;color:var(--purple)}.month span{font-weight:400}
.month input:checked+span{color:#fff;transform:scale(1.04);box-shadow:0 6px 16px #0004}.month input:checked+span b{color:#fff}
.june input:checked+span{background:var(--purple);border-color:var(--gold)}.july input:checked+span{background:var(--green);border-color:var(--gold)}.august input:checked+span{background:#b8860b;border-color:var(--purple)}
.month input:focus-visible+span{outline:3px solid var(--purple)}
.rel{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;margin-bottom:10px}.x{border:0;background:var(--purple);color:#fff;border-radius:10px;width:40px;cursor:pointer}
.err{background:#fff0ee;border:2px solid #c0392b;color:#8a1c10;border-radius:12px;padding:10px 16px;margin-bottom:14px}.err ul{margin:.3em 0;padding-left:1.2em}
#go{width:100%}.thanks{text-align:center}.confetti{font-size:2.4rem;letter-spacing:6px;animation:bob 2s infinite}
footer{text-align:center;color:var(--gold);padding:24px;font-family:Pacifico,cursive}
@media(max-width:640px){.grid{grid-template-columns:1fr}.rel{grid-template-columns:1fr 1fr}.rel input[data-k=phone]{grid-column:1}.months{gap:8px}.month span{font-size:1.2rem;padding:12px 2px}.month b{font-size:1rem}.card{padding:18px}}
/* admin */
.admin .login{max-width:400px;text-align:center;margin-top:12vh}.login form{display:grid;gap:14px;text-align:left}.fdl{font-size:3rem;color:var(--gold)}
.adminbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:16px 22px;background:linear-gradient(90deg,var(--purple),var(--green));border-bottom:5px solid var(--gold)}
.adminbar h1{font-size:1.6rem;color:#fff;margin:0}.adminbar .ghost{color:#fff;border-color:#fff}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.stat{background:var(--cream);border-radius:16px;padding:16px;text-align:center;border-bottom:5px solid var(--gold)}.stat b{display:block;font-family:Rye,serif;font-size:2rem;color:var(--purple)}
.bar-row{display:grid;grid-template-columns:80px 1fr 40px;align-items:center;gap:10px;margin:12px 0;font-weight:600}.bar{background:#eadcf5;border-radius:20px;height:30px;overflow:hidden}.bar div{height:100%;border-radius:20px;min-width:4px}
.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.88rem}th{background:var(--purple);color:#fff;text-align:left;padding:8px}td{padding:8px;border-bottom:1px solid #e6d6f2;vertical-align:top}tr:nth-child(even) td{background:#fbf3ff}
.tag{padding:3px 10px;border-radius:12px;color:#fff;font-weight:600}.tag.June{background:var(--purple)}.tag.July{background:var(--green)}.tag.August{background:#b8860b}
@media(max-width:640px){.stats{grid-template-columns:1fr}}
html,body{overflow-x:hidden}
