:root{--h1: #2563eb;--h2: #7c3aed;--hgrad: linear-gradient(120deg, var(--h1), var(--h2));--tint: color-mix(in srgb, var(--h1) 9%, #fff);--tint2: color-mix(in srgb, var(--h2) 14%, #fff);--paper: #ffffff;--ink: #1f1d2b;--muted: #7a7690;--line: #ece9f3;--gold: #f59e0b;--radius: 18px;--shadow: 0 2px 4px rgba(40, 30, 80, .05), 0 12px 32px rgba(40, 30, 80, .09);font-family:Nunito,system-ui,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(900px 500px at 0% 0%,color-mix(in srgb,var(--h1) 16%,transparent),transparent 70%),radial-gradient(800px 500px at 100% 100%,color-mix(in srgb,var(--h2) 16%,transparent),transparent 70%),#faf8ff;background-attachment:fixed;transition:background .4s}button{font:inherit;cursor:pointer}.he{font-family:Frank Ruhl Libre,David,serif;unicode-bidi:isolate}.top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:14px 24px;background:var(--hgrad);color:#fff;position:sticky;top:0;z-index:5;box-shadow:0 6px 24px color-mix(in srgb,var(--h2) 35%,transparent)}.left{display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{font-family:Frank Ruhl Libre,serif;font-weight:700;color:var(--h2);background:#fff;border-radius:12px;padding:2px 10px 4px;font-size:20px;box-shadow:0 3px 10px #00000026;transform:rotate(-4deg)}.brand-name{font-weight:800;font-size:19px;letter-spacing:.2px}.nav{display:flex;gap:6px;align-items:center}.icon{width:38px;height:38px;border-radius:50%;border:0;background:#fff3;font-size:22px;line-height:1;color:#fff;transition:background .15s,transform .15s}.icon:hover{background:#ffffff59;transform:scale(1.08)}.pill{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:7px 16px;font-weight:800;color:var(--ink);transition:background .15s}.pill:hover{background:var(--tint)}.top .pill{background:#fff3;border:0;color:#fff}.top .pill:hover{background:#ffffff59}.pill.wide{width:100%;margin-top:12px;border:2px dashed color-mix(in srgb,var(--h1) 40%,transparent);color:var(--h1);background:transparent}.title{text-align:center}.t-main{font-size:26px;font-weight:800;line-height:1.1;text-shadow:0 2px 8px rgba(0,0,0,.12)}.t-main .he{font-size:32px;font-weight:700}.t-sub{color:#ffffffd9;font-weight:700;font-size:15px}.t-sub .he{font-size:17px}.toggles{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.seg{display:inline-flex;background:#ffffff2e;border-radius:999px;padding:3px}.seg button,.seg label span{border:0;background:transparent;padding:6px 14px;border-radius:999px;font-weight:800;color:#ffffffd9;display:inline-block;cursor:pointer;transition:all .15s}.seg button.on{background:#fff;color:var(--h2);box-shadow:0 3px 10px #00000026}.seg input{display:none}.add{border:0;background:#fff;color:var(--h2);border-radius:999px;padding:9px 20px;font-weight:900;box-shadow:0 4px 14px #0000002e;transition:transform .15s}.add:hover{transform:translateY(-1px) scale(1.03)}dialog .add,.login-form .add{background:var(--hgrad);color:#fff}.layout{display:grid;grid-template-columns:1fr 340px;gap:22px;padding:22px 24px 40px;align-items:start}@media(max-width:1000px){.layout{grid-template-columns:1fr}}.cal{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.dow,.grid,.wgrid{direction:rtl}.dow div,.cell,.wcol{direction:ltr}.dow{display:grid;grid-template-columns:repeat(7,1fr);background:var(--tint)}.dow div{text-align:center;padding:11px 10px;font-size:12.5px;font-weight:900;color:var(--h1);text-transform:uppercase;letter-spacing:.8px}.dow div:last-child{color:#fff;background:linear-gradient(120deg,#f59e0b,#f97316)}.grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(120px,auto)}.cell{border-left:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px 8px 9px;cursor:pointer;transition:background .15s;min-width:0;outline:none;position:relative}.cell:nth-child(7n){border-left:0}.cell:hover{background:var(--tint)}.cell.shabbat{background:#fff8e8}.cell.yomtov{background:linear-gradient(160deg,#fff3d1,#ffe7d6)}.cell.outside{opacity:.4}.cell.selected{box-shadow:inset 0 0 0 3px var(--h1);border-radius:4px}.nums{display:flex;justify-content:space-between;align-items:center;gap:4px;margin-bottom:6px}.n-main{font-weight:900;font-size:17px}.n-main.he{font-size:21px;font-weight:700;color:var(--ink)}.n-sub{color:var(--muted);font-size:13px;font-weight:700}.n-sub.he{font-size:15px;color:color-mix(in srgb,var(--h1) 75%,#000)}.cell.today .n-main{background:var(--hgrad);color:#fff;border-radius:999px;padding:1px 9px;min-width:30px;text-align:center;box-shadow:0 3px 10px color-mix(in srgb,var(--h2) 45%,transparent)}.items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;direction:rtl;text-align:right}.it{font-size:12.5px;line-height:1.35;padding:2px 8px;border-radius:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right;font-weight:700}.it .he{font-size:14px}.it.chag{color:#fff;background:linear-gradient(120deg,#f59e0b,#f97316);box-shadow:0 2px 6px #f973164d}.it.minor{color:#9a3412;background:#ffedd5}.it.fast{color:#6d28d9;background:#ede9fe}.it.rc{color:#0f766e;background:#ccfbf1}.it.parsha{color:#4338ca;background:#e0e7ff}.it.chabad{color:#9f1239;background:#ffe4e6}.it.time{background:transparent;padding:0 4px;font-size:12px}.it.candles{color:#c2410c}.it.havdalah{color:#4f46e5}.it.bday{color:#fff;background:linear-gradient(120deg,#ec4899,#f97316);cursor:pointer;box-shadow:0 2px 6px #ec48994d}.it.yahr{color:#475569;background:#e2e8f0;cursor:pointer}.it.anniv{color:#fff;background:linear-gradient(120deg,#a855f7,#ec4899);cursor:pointer;box-shadow:0 2px 6px #a855f74d}.it.event{color:#fff;background:linear-gradient(120deg,#3b82f6,#6366f1);cursor:pointer;box-shadow:0 2px 6px #4f46e54d}.it.event b{font-weight:900;opacity:.9}.it.bday,.it.anniv,.it.event,.it.yahr{transition:transform .12s}.it.bday:hover,.it.anniv:hover,.it.event:hover,.it.yahr:hover{transform:scale(1.03)}.age{font-size:11px;opacity:.85;font-weight:800;margin-right:2px}.more{font-size:12px;color:var(--h1);font-weight:800;padding-right:6px}.empty{color:var(--muted);font-size:14px;padding:4px}.items.roomy{gap:6px}.items.roomy .it{white-space:normal;font-size:14px;padding:7px 12px;border-radius:10px}.items.roomy .it.time{padding:2px 4px;font-size:14px}.items.roomy .it .he{font-size:16px}.en{opacity:.75;font-weight:700}.items.roomy .en{display:block;font-size:12.5px}.wgrid{display:grid;grid-template-columns:repeat(7,1fr);min-height:60vh}@media(max-width:760px){.wgrid{grid-template-columns:1fr}}.wcol{border-left:1px solid var(--line);padding:10px 8px;cursor:pointer;min-width:0;outline:none;transition:background .15s}.wcol:hover{background:var(--tint)}.wcol:last-child{border-left:0}.wcol.shabbat{background:#fff8e8}.wcol.yomtov{background:linear-gradient(180deg,#fff3d1,#ffe7d6)}.wcol.selected{box-shadow:inset 0 0 0 3px var(--h1)}.whead{text-align:center;padding:8px 4px 10px;margin-bottom:10px;border-radius:12px;background:var(--tint)}.wcol.shabbat .whead{background:linear-gradient(120deg,#f59e0b,#f97316);color:#fff}.wcol.shabbat .wdow,.wcol.shabbat .whe{color:#fff}.wcol.today .whead{background:var(--hgrad);color:#fff}.wcol.today .wdow,.wcol.today .whe{color:#fff}.wdow{font-size:12px;font-weight:900;text-transform:uppercase;color:var(--h1);letter-spacing:.8px}.wdate{font-size:19px;font-weight:900}.whe{font-size:19px;color:color-mix(in srgb,var(--h1) 75%,#000)}.wcol .it{white-space:normal}.side{display:flex;flex-direction:column;gap:18px;position:sticky;top:100px}@media(max-width:1000px){.side{position:static}}.panel{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;position:relative;overflow:hidden}.panel:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--hgrad)}.panel h3{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.8px;color:var(--h1);font-weight:900}.dp-head{margin-bottom:14px}.dp-he{font-size:30px;font-weight:700;background:var(--hgrad);-webkit-background-clip:text;background-clip:text;color:transparent;width:fit-content}.dp-en{font-weight:800;color:var(--muted)}.dp-zmanim{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.dp-zmanim div{display:flex;flex-direction:column;align-items:center;padding:8px 6px;border-radius:12px;background:var(--tint);color:color-mix(in srgb,var(--h1) 75%,#000)}.dp-zmanim .he{font-size:15px}.dp-zmanim b{font-size:20px;font-weight:900;color:var(--ink)}.upcoming{list-style:none;margin:0;padding:0;max-height:46vh;overflow:auto}.upcoming li{padding:9px 8px;margin:0 -8px;border-radius:12px;cursor:pointer;transition:background .15s}.upcoming li:hover{background:var(--tint)}.u-date{display:flex;gap:8px;align-items:baseline;font-size:14px}.u-date .he{color:color-mix(in srgb,var(--h1) 75%,#000)}.u-when{margin-left:auto;font-size:11.5px;font-weight:800;color:var(--h1);background:var(--tint);padding:1px 8px;border-radius:999px}.u-things{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px;direction:rtl}.tag{font-size:12.5px;padding:2px 10px;border-radius:999px;font-weight:800}.tag .he{font-size:14px}.tag.chag{color:#fff;background:linear-gradient(120deg,#f59e0b,#f97316)}.tag.minor{color:#9a3412;background:#ffedd5}.tag.fast{color:#6d28d9;background:#ede9fe}.tag.rc{color:#0f766e;background:#ccfbf1}.tag.chabad{color:#9f1239;background:#ffe4e6}.tag.bday{color:#fff;background:linear-gradient(120deg,#ec4899,#f97316)}.tag.yahr{color:#475569;background:#e2e8f0}.tag.anniv{color:#fff;background:linear-gradient(120deg,#a855f7,#ec4899)}.tag.event{color:#fff;background:linear-gradient(120deg,#3b82f6,#6366f1)}.mode-note{font-size:13px;color:var(--muted);margin:0 4px}dialog{border:0;border-radius:22px;padding:0;box-shadow:0 24px 70px #28145a59;width:min(520px,94vw);background:var(--paper);color:var(--ink);overflow:hidden}dialog:before{content:"";display:block;height:6px;background:var(--hgrad)}dialog::backdrop{background:color-mix(in srgb,var(--h2) 25%,rgba(20,15,40,.35));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.editor,.login-form{padding:20px 24px 22px;display:flex;flex-direction:column;gap:12px}.editor h2,.login-form h2{margin:0;font-weight:900}.editor .seg{background:var(--tint)}.editor .seg label span{color:var(--muted)}.editor .seg input:checked+span{background:var(--hgrad);color:#fff;box-shadow:0 3px 10px #0000001f}.f{display:flex;flex-direction:column;gap:4px;font-weight:800;font-size:14px;flex:1}.f small{color:var(--muted);font-weight:600}input,select,textarea{font:inherit;border:2px solid var(--line);border-radius:12px;padding:8px 10px;background:#fff;color:var(--ink)}select{font-family:Frank Ruhl Libre,Nunito,serif;font-size:16px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--h1);box-shadow:0 0 0 4px var(--tint)}.row{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.kinds{align-self:flex-start}.editor .only-event{display:none}.editor.is-event .only-event{display:block}.editor.is-event .only-hebrew{display:none}.hint{margin:0 0 6px;font-size:13px;color:var(--muted)}.preview{font-size:22px;color:var(--h1);margin-top:6px;min-height:1.3em}.convert summary{cursor:pointer;font-size:13px;font-weight:800;color:var(--h1);margin-top:4px}.convert .row{margin-top:8px;align-items:center}.chk{font-size:14px;display:flex;gap:6px;align-items:center}.actions{display:flex;gap:8px;align-items:center;margin-top:6px}.spacer{flex:1}.danger{border:0;background:transparent;color:#e11d48;font-weight:900}.err{color:#e11d48;font-size:14px;margin:0}@media(max-width:760px){.top{display:flex;flex-wrap:wrap;padding:10px 12px;gap:8px 10px}.brand-name{display:none}.left{width:100%;justify-content:space-between}.toggles{justify-content:flex-start}.title{order:5;flex-basis:100%}.toggles{gap:6px}.seg button{padding:5px 10px}.layout{padding:12px}.grid{grid-auto-rows:minmax(66px,auto)}.cell{padding:4px 3px}.nums{flex-direction:column;align-items:center;gap:0}.dow div{padding:7px 2px;font-size:10px;text-align:center;letter-spacing:0}.cell .items{gap:2px}.cell .it{font-size:0;height:6px;padding:0;border-radius:3px;box-shadow:none}.cell .it.time,.cell .it.parsha,.cell .more{display:none}.cell .it.minor{background:#fdba74}.cell .it.fast{background:#a78bfa}.cell .it.rc{background:#2dd4bf}.cell .it.yahr{background:#94a3b8}.cell .it.chabad{background:#fb7185}.cell .it.anniv{background:#c084fc}}.tag bdi:last-child,.age bdi{white-space:nowrap}
