:root{--ink:#0b0f17;--ink2:#121826;--card:rgba(22,29,44,.72);--line:rgba(217,180,90,.18);--gold:#d9b45a;--gold2:#f3dc9a;--gold3:#a8812f;--txt:#e9e6df;--mut:#9aa3b5;--ok:#5fc59a;--warn:#e7a54a;--r:18px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,rgba(217,180,90,.10),transparent 60%),radial-gradient(900px 500px at -10% 20%,rgba(70,90,160,.14),transparent 60%),var(--ink);color:var(--txt);font:16px/1.7 Heebo,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;min-height:100vh}
a{color:var(--gold2);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3{font-family:"Frank Ruhl Libre",Georgia,serif;line-height:1.25;margin:0 0 .5em}
main{max-width:980px;margin:0 auto;padding:0 16px 40px}
nav.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:rgba(11,15,23,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;color:var(--txt);font-family:"Frank Ruhl Libre",serif;font-size:1.2rem;font-weight:700}
.brand:hover{text-decoration:none}.logo{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,var(--gold2),var(--gold3));color:var(--ink);font-size:1.1rem;box-shadow:0 4px 18px rgba(217,180,90,.35)}
.menu{background:none;border:1px solid var(--line);color:var(--gold2);border-radius:10px;font-size:1.2rem;width:42px;height:42px;cursor:pointer}
.links{display:none;position:absolute;top:100%;inset-inline:0;flex-direction:column;background:rgba(11,15,23,.97);border-bottom:1px solid var(--line);padding:8px 16px 14px}
.links a{color:var(--txt);padding:10px 4px;border-bottom:1px solid rgba(255,255,255,.05)}body.open .links{display:flex}
.hero{position:relative;text-align:center;padding:48px 8px 28px;animation:up .6s ease both}
.hero h1{font-size:clamp(2.2rem,8vw,3.6rem);background:linear-gradient(180deg,var(--gold2),var(--gold) 55%,var(--gold3));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.3em}
.hero.sm{padding:28px 4px 18px}.hero.sm h1{font-size:clamp(1.8rem,6.5vw,2.6rem)}
.hero p{color:var(--mut);max-width:620px;margin:0 auto}.hero .lead{font-size:1.08rem;color:#cfd3dc}
.kicker{display:inline-block;font-size:.85rem;letter-spacing:.02em;color:var(--gold)!important;border:1px solid var(--line);border-radius:99px;padding:4px 14px;margin-bottom:18px!important}
.glow{position:absolute;inset:0;margin:auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(217,180,90,.18),transparent 70%);filter:blur(20px);z-index:-1;animation:breathe 6s ease-in-out infinite}
.crumbs{font-size:.85rem;color:var(--mut);margin-bottom:10px}.crumbs a{color:var(--mut)}
.grid{display:grid;grid-template-columns:1fr;gap:12px;margin:10px 0 28px}
.tile{position:relative;display:block;padding:18px 18px 18px 44px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);color:var(--txt);backdrop-filter:blur(10px);transition:transform .25s,border-color .25s,box-shadow .25s;animation:up .55s ease both;animation-delay:var(--d)}
.tile:hover{text-decoration:none;transform:translateY(-3px);border-color:rgba(217,180,90,.5);box-shadow:0 14px 40px rgba(0,0,0,.35),0 0 0 1px rgba(217,180,90,.15) inset}
.tile h2{font-size:1.2rem;margin:.2em 0}.tile p{margin:0;color:var(--mut);font-size:.93rem}
.ic{font-family:"Frank Ruhl Libre",serif;font-weight:700;display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,rgba(217,180,90,.22),rgba(217,180,90,.05));border:1px solid var(--line);font-size:1.3rem;color:var(--gold2)}
.arr{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--gold);transition:left .25s}.tile:hover .arr{left:12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 20px 50px rgba(0,0,0,.25)}
.calc{margin-bottom:16px;border-color:rgba(217,180,90,.32);animation:up .5s ease both}
.ch{font-size:1.15rem;color:var(--gold2)}
form{display:grid;gap:14px}
.fld{display:grid;gap:6px}.fld>span{font-size:.92rem;color:var(--mut)}
input[type=date],input[type=text],select{width:100%;font:inherit;font-size:16px;color:var(--txt);background:rgba(8,11,18,.7);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 14px;min-height:48px;color-scheme:dark;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,180,90,.18)}
fieldset{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 14px 12px;margin:0;display:grid;gap:8px}legend{color:var(--mut);font-size:.92rem;padding:0 6px}
.chk{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:36px}.chk input{width:20px;height:20px;accent-color:var(--gold);flex:none}
.go{font:inherit;font-weight:700;font-size:1.05rem;min-height:52px;border:0;border-radius:14px;cursor:pointer;color:#1a1408;background:linear-gradient(180deg,var(--gold2),var(--gold) 50%,var(--gold3));box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 10px 26px rgba(217,180,90,.28);transition:transform .12s,filter .2s}
.go:hover{filter:brightness(1.06)}.go:active{transform:scale(.98)}
.result{margin-top:18px;padding:18px;border-radius:14px;background:linear-gradient(160deg,rgba(217,180,90,.10),rgba(8,11,18,.6));border:1px solid rgba(217,180,90,.35)}
.result.pop{animation:pop .45s cubic-bezier(.2,.9,.3,1.2) both}
.big{font-family:"Frank Ruhl Libre",serif;font-size:clamp(1.8rem,7vw,2.5rem);font-weight:700;color:var(--gold2);text-align:center;line-height:1.2}
.sub{text-align:center;color:#cfd3dc;margin:.2em 0 .6em}
.row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,.07)}.lbl{color:var(--mut);font-size:.92rem}.val{text-align:left;display:grid}.val small{color:var(--mut)}
.notes{margin:.6em 0 0;padding-inline-start:1.1em;color:#d7d9de;font-size:.93rem}.notes li{margin:.3em 0}
.ok{background:rgba(95,197,154,.12);border:1px solid rgba(95,197,154,.35);color:#bff0da;border-radius:10px;padding:10px 12px;margin-bottom:12px}
.warn{background:rgba(231,165,74,.10);border:1px solid rgba(231,165,74,.35);color:#f6dcb4;border-radius:10px;padding:10px 12px;margin:12px 0}
.err{color:#ffb4a8;text-align:center}
.tbl{width:100%;border-collapse:collapse;margin-top:8px;font-size:.95rem}.tbl th{color:var(--mut);font-weight:500;text-align:right;padding:6px 4px;border-bottom:1px solid var(--line)}.tbl td{padding:9px 4px;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:top}.tbl small{color:var(--mut)}
.nusach{text-align:center;font-family:"Frank Ruhl Libre",serif}.bracha{color:var(--mut);font-size:.98rem}.count{font-size:1.3rem;color:var(--txt)}.sefira{color:var(--gold)}
.psak{margin:0 0 16px;padding:12px 16px;border-radius:14px;border:1px dashed rgba(217,180,90,.45);background:rgba(217,180,90,.06);font-size:.92rem;color:#d9d3c2}
.content{margin:16px 0}.content h2{color:var(--gold2);font-size:1.35rem;margin-top:1.2em}.content h2:first-child{margin-top:0}.content h3{font-size:1.08rem;margin-top:1em}
.content p,.content li{color:#d4d7de}.content ul{padding-inline-start:1.2em}.content li{margin:.45em 0}.content b{color:var(--txt)}.muted{color:var(--mut)!important}
.ad-slot:empty{display:none}.ad-slot{margin:16px 0;min-height:90px;text-align:center}
.twin{display:grid;gap:16px}.three{display:grid;grid-template-columns:.8fr 1.3fr 1.2fr;gap:8px}
.more h2{font-size:1.2rem;color:var(--gold2)}.minis{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mini{display:flex;align-items:center;gap:8px;padding:12px;border-radius:14px;background:var(--card);border:1px solid var(--line);color:var(--txt);font-size:.92rem}.mini span{color:var(--gold);font-family:"Frank Ruhl Libre",serif;font-weight:700}
footer{border-top:1px solid var(--line);text-align:center;color:var(--mut);font-size:.85rem;padding:22px 16px calc(22px + env(safe-area-inset-bottom))}.fl{display:flex;justify-content:center;gap:18px;margin-bottom:6px}.fl a{color:var(--mut)}
@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@keyframes breathe{50%{transform:scale(1.15);opacity:.7}}
@media(min-width:720px){.grid{grid-template-columns:1fr 1fr}.twin{grid-template-columns:1fr 1fr}.card{padding:26px}.minis{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1000px){.menu{display:none}.links{display:flex;position:static;flex-direction:row;background:none;border:0;padding:0;gap:4px;flex-wrap:wrap;justify-content:flex-end}.links a{border:0;padding:6px 8px;font-size:.88rem;color:var(--mut)}.links a:hover{color:var(--gold2);text-decoration:none}.grid{grid-template-columns:repeat(4,1fr)}.tile{padding:20px}.tile .arr{top:auto;bottom:16px;transform:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
