:root{
  --bg:#fff7ec; --ink:#2b1d3a; --muted:#6b5a78; --pink:#ff5c8a; --pink-d:#e0406f;
  --yellow:#ffd23f; --mint:#3ddc97; --sky:#4cc9f0; --purple:#7b2ff7; --card:#ffffff;
  --gold:#ffb703; --radius:20px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI","Arial Hebrew",Arial,"Noto Sans Hebrew",sans-serif;
  color:var(--ink);background:var(--bg);
  background-image:radial-gradient(circle at 10% 20%,#ffe0ea 0 6px,transparent 7px),radial-gradient(circle at 80% 40%,#dff6ff 0 5px,transparent 6px),radial-gradient(circle at 40% 80%,#fff0b3 0 6px,transparent 7px);
  background-size:120px 120px,150px 150px,170px 170px;line-height:1.5;overflow-x:hidden}
.balloons{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.balloons span{position:absolute;bottom:-80px;font-size:42px;animation:float 14s linear infinite;opacity:.55}
.balloons span:nth-child(1){right:6%;animation-delay:0s}
.balloons span:nth-child(2){right:28%;animation-delay:4s;filter:hue-rotate(120deg)}
.balloons span:nth-child(3){right:52%;animation-delay:8s;filter:hue-rotate(220deg)}
.balloons span:nth-child(4){right:74%;animation-delay:2s;filter:hue-rotate(60deg)}
.balloons span:nth-child(5){right:90%;animation-delay:10s;filter:hue-rotate(290deg)}
@keyframes float{0%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-60vh) rotate(6deg)}100%{transform:translateY(-120vh) rotate(-6deg)}}
@media (prefers-reduced-motion:reduce){.balloons span,.cake{animation:none!important}}

.hero{position:relative;z-index:1;text-align:center;padding:28px 18px 8px;max-width:640px;margin:0 auto}
.cake{font-size:72px;line-height:1;animation:wobble 2.4s ease-in-out infinite;display:inline-block}
@keyframes wobble{0%,100%{transform:rotate(-5deg) scale(1)}50%{transform:rotate(5deg) scale(1.06)}}
h1{font-size:clamp(28px,8vw,44px);margin:8px 0 6px;line-height:1.15;
  background:linear-gradient(90deg,var(--pink),var(--purple));-webkit-background-clip:text;background-clip:text;color:transparent}
.tag{margin:0 auto 12px;color:var(--muted);font-size:17px;max-width:30em}
.facts{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:6px;font-size:15px}
.facts li{background:#fff;border-radius:999px;padding:6px 14px;box-shadow:0 2px 0 #f1dcc6;display:inline-block;justify-self:center}
.promise{display:inline-block;margin:4px 0 0;font-weight:800;font-size:17px;background:var(--yellow);padding:8px 14px;border-radius:14px;transform:rotate(-1.5deg);box-shadow:3px 3px 0 var(--ink)}

main{position:relative;z-index:1;max-width:640px;margin:0 auto;padding:12px 14px 20px;display:grid;gap:18px}
.card{background:var(--card);border-radius:var(--radius);padding:18px;box-shadow:0 6px 0 #f1dcc6,0 10px 30px rgba(43,29,58,.08);border:2px solid var(--ink)}
h2{margin:0 0 12px;font-size:22px}
.lbl{display:block;font-weight:700;margin:0 0 6px;font-size:16px}
.hint{font-weight:400;color:var(--muted);font-size:14px}
input[type=text]{width:100%;font:inherit;font-size:18px;padding:12px 14px;border:2px solid var(--ink);border-radius:14px;background:#fffdf8;color:var(--ink)}
input[type=text]:focus{outline:3px solid var(--sky);outline-offset:2px}
.known{margin:8px 0 0;font-size:14px;background:#eafff5;border:1px dashed var(--mint);padding:6px 10px;border-radius:10px}
fieldset{border:0;padding:0;margin:16px 0 0}
.day-picks{display:grid;gap:8px}
.pick{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px;border:2px solid #e6d6c4;border-radius:14px;cursor:pointer;background:#fffdf8;transition:transform .12s,border-color .12s,background .12s;min-height:56px}
.pick input{position:absolute;opacity:0;width:1px;height:1px}
.pick .box{flex:0 0 28px;height:28px;border-radius:9px;border:2px solid var(--ink);display:grid;place-items:center;font-size:18px;background:#fff}
.pick .d{display:flex;flex-direction:column;line-height:1.25}
.pick .d b{font-size:17px}
.pick .d small{color:var(--muted);font-size:13px}
.pick:has(input:checked){border-color:var(--pink);background:#fff0f5;transform:scale(1.01)}
.pick:has(input:checked) .box{background:var(--pink);border-color:var(--pink-d)}
.pick:has(input:checked) .box::after{content:"🎂";font-size:16px}
.pick:has(input:focus-visible){outline:3px solid var(--sky);outline-offset:2px}
.err{color:#b00030;font-weight:700;margin:12px 0 0}
.big-btn{margin-top:16px;width:100%;font:inherit;font-weight:900;font-size:20px;padding:16px 12px;border-radius:18px;border:3px solid var(--ink);
  background:linear-gradient(135deg,var(--pink),#ff8a5c);color:#fff;box-shadow:0 6px 0 var(--ink);cursor:pointer;transition:transform .08s,box-shadow .08s;text-shadow:0 1px 0 rgba(0,0,0,.2)}
.big-btn:active{transform:translateY(4px);box-shadow:0 2px 0 var(--ink)}
.big-btn:focus-visible,.ghost-btn:focus-visible,.chip:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.big-btn[disabled]{opacity:.7;cursor:wait}
.ghost-btn{margin-top:10px;width:100%;font:inherit;font-size:16px;padding:10px;border-radius:14px;border:2px dashed var(--muted);background:transparent;color:var(--muted);cursor:pointer}

.board-head{text-align:center;margin-bottom:10px}
.total{margin:0 0 8px;font-weight:700;color:var(--muted)}
.meter{height:12px;background:#fff;border:2px solid var(--ink);border-radius:99px;overflow:hidden;max-width:360px;margin:0 auto}
.meter-fill{height:100%;width:0;background:repeating-linear-gradient(45deg,var(--pink) 0 10px,var(--yellow) 10px 20px);transition:width .6s}
.days{display:grid;gap:12px}
.day{background:#fff;border:2px solid var(--ink);border-radius:var(--radius);padding:14px;box-shadow:0 4px 0 #f1dcc6;position:relative}
.day-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.day-name{font-size:18px;font-weight:800}
.day-date{color:var(--muted);font-size:14px;font-weight:400;margin-inline-start:6px}
.count{flex:0 0 auto;min-width:48px;text-align:center;font-weight:900;font-size:18px;background:var(--sky);color:#fff;border-radius:99px;padding:2px 12px;border:2px solid var(--ink)}
.names{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.chip{font:inherit;font-size:14px;background:#f6efff;border:1.5px solid #cdb8f5;color:var(--ink);border-radius:99px;padding:4px 10px;cursor:pointer}
.chip.me{background:#fff0b3;border-color:var(--gold);font-weight:700}
.empty{margin:10px 0 0;color:var(--muted);font-size:14px}
.day.winner{background:linear-gradient(135deg,#fff6d6,#ffe8f0);border-color:var(--gold);box-shadow:0 4px 0 var(--gold),0 0 0 4px rgba(255,183,3,.25)}
.day.winner .count{background:var(--gold);color:var(--ink)}
.crown{display:inline-block;margin-bottom:6px;background:var(--ink);color:var(--yellow);font-weight:900;font-size:13px;padding:3px 10px;border-radius:99px}
.tip{text-align:center;color:var(--muted);font-size:13px;margin:10px 0 0}
footer{position:relative;z-index:1;text-align:center;color:var(--muted);font-size:14px;padding:6px 16px 28px}
.toast{position:fixed;z-index:20;left:50%;bottom:22px;transform:translateX(-50%);max-width:92vw;background:var(--ink);color:#fff;padding:12px 18px;border-radius:16px;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.25);text-align:center}
#confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:30}
@media (min-width:720px){.day-picks{grid-template-columns:1fr 1fr}.hero{padding-top:40px}}
