/* Study desk: ink, paper and one gold rule. No page-wide zoom. */
.actions .save-copy{background:none;border:0;text-decoration:underline;text-underline-offset:3px;color:var(--muted);font-size:var(--font-meta)}@media(max-width:700px){.actions .save-copy{grid-column:1/-1;min-height:28px}}
:root{color-scheme:light;--ink:#142e43;--navy:#102c40;--gold:#b48a42;--paper:#f5f4ef;--muted:#5f6e78;--line:#dbe1e2;--green:#256650;--danger:#b52d43;--surface:#fff;--surface-soft:#fbfcfc;--surface-hover:#f0f3f4;--surface-week:#edf1f2;--surface-today:#fffaf0;--surface-shabbos:#f8f6f0;--surface-success:#eff7f3;--surface-checked:#f1f6f3;--control-border:#bfcdd5;--link:#285975;--learning-ink:#223f51;--success-ink:#4d6b5c;--warm-ink:#75571f;--focus:var(--gold);--font-meta:.857143rem;--font-label:.928571rem;--font-text:1rem;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:14px;font-synthesis:none}

*{box-sizing:border-box}body{margin:0;line-height:1.5}button,input,select,textarea{font:inherit;touch-action:manipulation}button{cursor:pointer;color:inherit;transition:background .16s,color .16s,border-color .16s}button:disabled{cursor:wait;opacity:.6}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,[contenteditable=true]{outline:3px solid var(--focus);outline-offset:3px}h1,h2,h3,p{margin:0}.hidden,[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:16px;z-index:200;background:var(--surface);padding:12px}.skip-link:focus{top:8px}
.hero{min-height:124px;background:var(--navy);color:white;border-bottom:3px solid var(--gold);padding:26px max(28px,calc((100vw - 1440px)/2));position:relative;display:flex;align-items:center;gap:18px;padding-inline-end:max(390px,calc((100vw - 1440px)/2 + 370px))}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(25px,2.4vw,34px);font-weight:500;line-height:1.15;letter-spacing:-.7px;text-wrap:balance}.hero-copy{font-size:var(--font-label);color:#c3d0d8;margin-top:8px;max-width:640px;line-height:1.55}.scroll-mark{flex:0 0 32px;height:40px;border:2px solid #d4b576;border-inline:5px solid #d4b576;border-radius:3px;position:relative}.scroll-mark:after{content:"";position:absolute;inset:10px 4px;background:repeating-linear-gradient(to bottom,#d4b576 0 1px,transparent 1px 6px);opacity:.7}.scroll-mark i,.scroll-mark b,.sparkles{display:none}
.language-switcher{position:absolute;right:max(28px,calc((100vw - 1440px)/2));top:25px;display:flex;direction:ltr;border:1px solid #587082;border-radius:5px;padding:3px;gap:2px}.language-switcher button{background:none;border:0;padding:5px 10px;border-radius:3px;color:#d7e1e8;font-weight:600;font-size:var(--font-meta);min-height:30px}.language-switcher [aria-pressed=true]{background:#e6d4ad;color:var(--navy)}.saved-drawer-toggle{position:absolute;top:25px;right:max(198px,calc((100vw - 1440px)/2 + 170px));z-index:5;display:flex;align-items:center;gap:8px;min-height:38px;padding:7px 12px;background:transparent;color:#e7edf1;border:1px solid #587082;border-radius:5px;font-weight:600;font-size:var(--font-meta);white-space:nowrap}.saved-drawer-toggle:hover,.saved-drawer-toggle[aria-expanded=true]{background:#244356}.saved-drawer-toggle b{font-size:var(--font-meta);padding:1px 6px;min-width:22px;background:#e6d4ad;color:var(--navy);border-radius:3px}.drawer-arrow{font-size:17px;line-height:1}
main{max-width:1496px;padding:0 28px 30px;margin:0 auto;min-width:0}.planner-tabs{display:flex;gap:6px;border-bottom:1px solid var(--control-border);margin-bottom:20px;padding-top:9px;overflow-x:auto;scrollbar-width:thin;scroll-padding-inline:12px}.tab{flex:1 0 auto;background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;padding:13px 10px 12px;white-space:nowrap;font-weight:600;font-size:var(--font-label);color:var(--muted)}.tab:hover{color:var(--ink);background:#edece5}.tab.active{color:var(--ink);border-bottom-color:var(--gold);background:#ebe8df}.tab-panel{min-width:0}
.planner-card{background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:6px;padding:20px 22px;margin-bottom:24px;min-width:0}.section-heading{margin-bottom:16px;display:flex;align-items:center;gap:14px}.section-heading>div{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.kicker{color:var(--warm-ink);font-size:var(--font-meta);font-weight:700;letter-spacing:1.3px;text-transform:uppercase}.section-heading h2{font-size:var(--font-text);font-weight:400;color:var(--muted)}.controls{display:grid;grid-template-columns:1.4fr .65fr .65fr 1fr 1.15fr;align-items:start;gap:12px 16px;min-width:0}.controls label{display:flex;flex-direction:column;gap:5px;min-width:0;max-width:100%;color:var(--muted);font-size:var(--font-label);font-weight:600;letter-spacing:.15px}.controls select,.controls input{box-sizing:border-box;display:block;inline-size:100%;min-inline-size:0;max-inline-size:100%;height:40px;min-height:40px;border:1px solid var(--control-border);border-radius:4px;color:var(--ink);background:var(--surface-soft);padding:7px 10px;font-size:var(--font-text);font-weight:500;line-height:24px;box-shadow:0 1px 1px #102c4004}.controls input[type=date]{appearance:none;-webkit-appearance:none;overflow:visible;text-align:start}.controls input[type=date]::-webkit-date-and-time-value{text-align:start;min-height:24px;margin:0}.controls input[type=date]::-webkit-datetime-edit{padding:0;display:inline-flex;line-height:24px}.controls input[type=date]::-webkit-calendar-picker-indicator{margin:0;padding:0;opacity:.6}.controls input:hover,.controls select:hover{border-color:#899da8}.controls input:focus,.controls select:focus{background:var(--surface)}
.cycle-toggle{grid-column:1/-1;justify-self:start;display:flex;gap:3px;padding:3px;margin:0 0 2px;border:1px solid var(--control-border);border-radius:4px;position:relative}.cycle-toggle legend{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.cycle-toggle button{border:0;border-radius:2px;background:none;padding:5px 12px;font-size:var(--font-meta);font-weight:600}.cycle-toggle button[aria-pressed=true]{background:var(--navy);color:white}.date-note{font-size:var(--font-meta);color:var(--warm-ink);font-weight:500;line-height:1.4;margin-top:1px;overflow-wrap:anywhere}.date-shortcut{border:0;padding:0;text-align:start;background:none;color:var(--link);font-size:var(--font-meta);font-weight:600;line-height:1.5;text-decoration:underline;text-underline-offset:3px;align-self:flex-start}.date-shortcut:hover{color:#102c40}.primary{border:1px solid var(--navy);border-radius:4px;padding:9px 16px;background:var(--navy);color:white;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;line-height:1.35}.primary:hover{background:#254b65}.primary span{font-size:18px;line-height:1;display:inline-block}.controls>.primary{grid-column:1/-1;justify-self:end;max-width:100%;margin-top:2px}.reset-default{grid-column:1/-1;justify-self:end;background:none;border:0;padding:2px;color:var(--muted);font-size:var(--font-meta);text-decoration:underline;text-underline-offset:3px}.error{color:var(--danger);font-size:var(--font-label);margin-top:8px}.error:empty{display:none}.daf-controls,.yerushalmi-controls,.nach-controls{grid-template-columns:1.4fr .6fr 1fr 1.1fr}.mishnah-controls{grid-template-columns:1.25fr .5fr .5fr 1.25fr .5fr .5fr}.mishnah-controls .mishnah-start-date-field,.mishnah-controls .mishnah-finish-date-field{grid-column:span 3}.halacha-controls{grid-template-columns:.7fr .7fr .7fr .7fr 1fr 1fr}
.results{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:22px;position:relative;scroll-margin-top:16px;min-width:0}.results-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.results-top>div:first-child{flex:1 1 440px;min-width:0}.editable-kicker{display:flex;align-items:center;gap:7px;min-width:0;margin-bottom:5px}.editable-kicker .kicker{font-size:var(--font-meta);letter-spacing:.15px;text-transform:none;color:var(--muted);font-weight:500;overflow-wrap:anywhere}.edit-title,.saved-title-edit{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border:1px solid transparent;background:#f2eee3;border-radius:4px;font-size:18px;line-height:1;transform:scaleX(-1)}.edit-title:hover,.saved-title-edit:hover{background:#e9dfc9}.edit-title.confirm-edit,.saved-title-edit.confirm-edit{transform:none!important}.results h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(22px,2.2vw,30px);line-height:1.3;letter-spacing:-.4px;overflow-wrap:anywhere;text-wrap:pretty}.subtitle{font-size:var(--font-meta);color:var(--muted);margin-top:6px;line-height:1.6}.actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-top:3px}.secondary,.ghost{border:1px solid var(--control-border);border-radius:4px;min-height:34px;display:inline-flex;gap:6px;align-items:center;justify-content:center;background:var(--surface);font-size:var(--font-meta);font-weight:600;padding:6px 10px;white-space:nowrap}.secondary:hover,.ghost:hover{background:var(--surface-hover);border-color:#8da3af}.save-schedule{background:#eae0c9;color:#513e20;border-color:#dfcfac}.save-schedule:hover{background:#e1d1b0}.action-icon{width:15px;height:15px;flex:none;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.stats{display:flex;flex-wrap:wrap;align-items:center;padding:13px 0;margin-top:18px;border-top:1px solid var(--line);gap:14px 26px}.stats article{display:flex;align-items:baseline;gap:7px;min-width:0}.stats strong{font-size:21px;font-weight:650;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.stats span{color:var(--muted);font-size:var(--font-meta);font-weight:400}.stats article:last-child{margin-inline-start:auto}.progress-track{height:3px;background:#e8edef;margin-bottom:19px;overflow:hidden}.progress-track i{display:block;background:var(--green);height:100%;transition:width .2s;width:0}.schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;align-items:start}.week{border:1px solid var(--line);border-radius:3px;overflow:hidden;min-width:0}.week-header{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface-week);color:var(--muted);padding:7px 10px;border-bottom:1px solid #d8e0e3;font-size:var(--font-meta);line-height:1.5}.week-header strong{color:var(--ink);text-transform:uppercase;font-size:var(--font-meta);letter-spacing:.9px}.day{display:grid;grid-template-columns:16px 99px minmax(0,1fr) 34px;align-items:center;gap:8px;min-height:37px;padding:7px 10px;border-bottom:1px solid #e9edef;cursor:pointer;position:relative;line-height:1.4}.day:last-child{border-bottom:0}.day:hover{background:var(--surface-hover)}.day input{appearance:none;-webkit-appearance:none;width:15px;height:15px;border:1.5px solid #93a5ae;border-radius:3px;margin:0;display:grid;place-content:center;cursor:pointer;background:var(--surface)}.day input:checked{background:var(--green);border-color:var(--green)}.day input:checked:before{content:"";width:7px;height:4px;border-left:1.5px solid white;border-bottom:1.5px solid white;transform:rotate(-45deg) translateY(-1px)}.day:has(input:checked){background:var(--surface-checked)}.day:has(input:checked) .range{color:var(--success-ink)}.date{font-size:var(--font-meta);font-weight:500;color:var(--muted);white-space:nowrap}.range{font-size:var(--font-text);font-weight:600;color:var(--learning-ink);overflow-wrap:anywhere}.count{font-size:var(--font-meta);font-variant-numeric:tabular-nums;text-align:end;color:var(--muted);font-weight:500}.shabbos{background:var(--surface-shabbos)}.shabbos .date{color:var(--warm-ink)}.day.today{box-shadow:inset 3px 0 var(--gold);background:var(--surface-today)}.day.today .date{color:var(--warm-ink);font-weight:700}.finish .range{color:var(--green)}.caught-up{background:var(--surface-success)}.catchup-badge{grid-column:2/-1;color:var(--green);font-size:var(--font-meta);font-weight:600;line-height:1.45;overflow-wrap:anywhere;white-space:normal;min-width:0}.finish-banner{display:flex;align-items:center;gap:12px;margin-top:22px;padding:14px 0 0;border-top:1px solid var(--line);color:#3e6355}.finish-banner>span{font-size:var(--font-text);color:var(--gold)}.finish-banner>span:last-child{display:none}.finish-banner div{display:flex;gap:10px;flex-wrap:wrap;align-items:baseline}.finish-banner strong{font-family:Georgia,serif;font-size:17px;font-weight:500}.finish-banner small{font-size:var(--font-meta);color:var(--muted)}.print-qr{display:none}
footer{max-width:1496px;margin:auto;padding:0 28px 28px;color:var(--muted);font-size:var(--font-meta);display:flex;gap:5px;justify-content:center;flex-wrap:wrap}.footer-link{border:0;background:none;text-decoration:underline;text-underline-offset:3px;color:var(--link);padding:0;font-size:inherit}.version{white-space:nowrap}
.saved-drawer{position:fixed;top:145px;inset-inline-start:18px;width:330px;max-width:calc(100vw - 36px);max-height:min(640px,calc(100dvh - 170px));padding:16px;background:var(--surface);border:1px solid var(--control-border);border-top:3px solid var(--gold);box-shadow:0 12px 48px #102c402b;border-radius:6px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;z-index:50;visibility:hidden;opacity:0;transform:translateX(-12px);transition:transform .2s,opacity .2s,visibility .2s}.saved-drawer.open{visibility:visible;opacity:1;transform:none}.saved-drawer-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;position:sticky;top:-16px;background:var(--surface);z-index:3;padding:10px 0;border-bottom:1px solid var(--line)}.saved-drawer-head h2{font-family:Georgia,serif;font-size:21px;font-weight:500}.saved-drawer-head button{border:1px solid var(--line);background:var(--surface);border-radius:4px;width:30px;height:30px;font-size:19px}.saved-empty{font-size:var(--font-label);color:var(--muted);padding:18px 0}.saved-list{display:flex;flex-direction:column;gap:10px;position:relative;min-height:10px;overflow-x:clip;overflow-y:visible}.saved-card{position:relative;border:1px solid var(--line);border-radius:4px;background:var(--surface);padding:12px;min-width:0;cursor:pointer;flex:none;user-select:none;touch-action:pan-y}.saved-card:hover{border-color:#a3b5bf;background:var(--surface-soft)}.saved-card-title-row{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}.saved-card h3{font-family:Georgia,serif;font-size:17px;font-weight:500;line-height:1.3;overflow-wrap:anywhere;min-width:0;flex:1}.saved-title-edit{width:26px;height:26px;flex-basis:26px}.saved-type{font-size:var(--font-meta);color:var(--warm-ink);letter-spacing:.5px;margin:5px 0 10px}.saved-range{font-size:var(--font-meta);font-weight:600;line-height:1.5;overflow-wrap:anywhere}.saved-dates{font-size:var(--font-meta);color:var(--muted);margin-top:4px}.saved-dates strong{display:none}.saved-card-actions{display:flex;align-items:center;margin-top:12px;min-height:28px}.saved-open{background:var(--navy);color:white;border:0;border-radius:3px;padding:5px 12px;font-size:var(--font-meta);font-weight:600;min-height:28px}.saved-remove{position:absolute;inset-inline-end:12px;bottom:12px;display:flex;align-items:center;justify-content:center;gap:0;border:0;background:var(--danger);color:white;border-radius:20px;min-width:26px;height:26px;padding:0 7px;transition:all .2s;direction:inherit}.delete-icon{position:relative;width:12px;height:12px;display:block;font-size:0;flex:none;transition:transform .2s}.delete-icon:after{content:"";position:absolute;left:0;right:0;top:5px;height:2px;background:var(--surface);border-radius:1px}.delete-confirm-label,.delete-cancel{font-size:var(--font-meta);line-height:20px}.saved-remove.confirming{gap:8px;padding:0 10px}.confirming .delete-icon{transform:rotate(90deg)}.delete-cancel:not(:empty){border-inline-start:1px solid #f6cdd4;padding-inline-start:8px}.saved-remove:not(.confirming) .delete-confirm-label,.saved-remove:not(.confirming) .delete-cancel{display:none}.reorderable{cursor:grab}.dragging{opacity:.65;cursor:grabbing;background:#f8f3e7!important;border-color:var(--gold);box-shadow:0 4px 15px #102c4014;z-index:2}.drop-before{border-top:2px solid var(--gold)}.drop-after{border-bottom:2px solid var(--gold)}.just-dropped{animation:land .6s ease-out}.save-fly{position:fixed;z-index:90;padding:9px 16px;background:var(--gold);color:var(--navy);border-radius:4px;pointer-events:none;transition:transform 1.2s cubic-bezier(.3,.1,.2,1),opacity 1.2s;font-size:var(--font-meta)}.saved-drawer.bump{animation:land .7s}.saved-drawer-backdrop{position:fixed;inset:0;background:#102c404d;backdrop-filter:blur(2px);z-index:40}.saved-drawer-backdrop[hidden]{display:none}[contenteditable=true]{background:#fff8e5;border-radius:3px;min-width:80px;white-space:pre-wrap;user-select:text;padding:3px}
.feedback-dialog{border:1px solid var(--control-border);border-top:3px solid var(--gold);border-radius:6px;padding:24px;color:var(--ink);width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 20px 100px #102c404d}.feedback-dialog::backdrop{background:#102c4066;backdrop-filter:blur(3px)}.feedback-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.feedback-heading h2{font-family:Georgia,serif;font-size:28px;font-weight:500;margin-top:4px}.feedback-close{border:0;background:#eef1f2;border-radius:3px;width:32px;height:32px;font-size:21px}.feedback-privacy{font-size:var(--font-label);color:var(--muted);margin:14px 0 18px}.feedback-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.feedback-fields label{display:flex;flex-direction:column;gap:5px;font-size:var(--font-meta);font-weight:600;min-width:0}.feedback-fields small{font-weight:400;color:var(--muted)}.feedback-fields input,.feedback-fields textarea{width:100%;border:1px solid var(--control-border);border-radius:4px;padding:9px;background:var(--surface-soft);color:var(--ink);min-height:40px;font-size:var(--font-text);resize:vertical}.feedback-message{grid-column:1/-1}.feedback-honeypot{position:absolute!important;left:-10000px;top:0}.feedback-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.feedback-status{margin-top:10px;font-size:var(--font-meta);color:var(--green)}.feedback-status.error{color:var(--danger)}
html[dir=rtl] .hero{direction:ltr;padding-left:max(28px,calc((100vw - 1440px)/2));padding-right:max(390px,calc((100vw - 1440px)/2 + 370px))}html[dir=rtl] .hero h1,html[dir=rtl] .hero-copy{direction:rtl;text-align:left}html[dir=rtl] .primary span{transform:scaleX(-1)}html[dir=rtl] .edit-title,html[dir=rtl] .saved-title-edit{transform:none}html[dir=rtl] .saved-drawer{transform:translateX(12px)}html[dir=rtl] .saved-drawer.open{transform:none}html[dir=rtl] .day.today{box-shadow:inset -3px 0 var(--gold)}html[dir=rtl] .kicker,html[dir=rtl] .week-header strong{letter-spacing:0}html[dir=rtl] .results h2,html[dir=rtl] .hero h1,html[dir=rtl] .saved-card h3{font-family:Arial,sans-serif;letter-spacing:0}
@keyframes land{0%{background:#e9ddbe;border-color:var(--gold);box-shadow:0 0 0 2px #b48a4240}100%{background:var(--surface);box-shadow:none}}
@media(min-width:1350px){.schedule{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.day{grid-template-columns:16px 99px minmax(0,1fr) 34px;gap:6px;padding-inline:9px}.date{font-size:var(--font-meta)}.range{font-size:var(--font-text)}}
@media(max-width:1100px){.hero,html[dir=rtl] .hero{padding:22px 24px;padding-right:375px;min-height:138px}.hero h1{max-width:560px}.hero-copy{max-width:510px}.language-switcher{right:24px}.saved-drawer-toggle{right:190px}.tab{font-size:var(--font-meta);padding-inline:9px}.halacha-controls{grid-template-columns:repeat(4,minmax(0,1fr))}.halacha-controls label:has(input[type=date]){grid-column:span 2}.mishnah-controls{grid-template-columns:1.4fr .65fr .65fr}.mishnah-controls .mishnah-start-date-field,.mishnah-controls .mishnah-finish-date-field{grid-column:span 1}.mishnah-controls .mishnah-start-date-field{grid-column:1/3}.controls{gap:12px}.results-top>div:first-child{flex-basis:100%}.actions{padding-top:1px}.stats{margin-top:15px}}
@media(max-width:700px){.hero,html[dir=rtl] .hero{padding:84px 18px 20px;min-height:0;gap:12px;align-items:flex-start;direction:inherit}.hero h1{font-size:27px;letter-spacing:-.5px;text-align:start!important}.hero-copy{font-size:var(--font-meta);line-height:1.6;margin-top:9px;white-space:normal;max-width:100%;text-align:start!important}.scroll-mark{flex-basis:25px;height:33px;margin-top:3px}.language-switcher{top:19px;right:16px}.language-switcher button{padding:5px 9px;font-size:var(--font-meta)}.saved-drawer-toggle{top:19px;left:16px;right:auto;min-height:38px;font-size:var(--font-meta);padding:6px 9px;gap:5px}.saved-drawer-toggle b{min-width:19px;padding:1px 4px}.drawer-arrow{font-size:15px}main{padding:0 12px 22px}.planner-tabs{margin-bottom:13px;padding-top:0;gap:4px;margin-inline:-12px;padding-inline:12px}.tab{font-size:var(--font-meta);padding:12px 10px;min-height:44px}.planner-card{padding:16px 14px;margin-bottom:15px;border-radius:4px}.section-heading{margin-bottom:14px}.section-heading>div{gap:3px;display:block}.section-heading h2{font-size:var(--font-meta);margin-top:4px}.kicker{font-size:var(--font-meta);letter-spacing:1px}.controls,.daf-controls,.yerushalmi-controls,.nach-controls,.mishnah-controls,.halacha-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.controls label{grid-column:1/-1;font-size:var(--font-label);gap:5px}.controls .compact-number-field{grid-column:span 1}.controls select,.controls input{font-size:16px;height:40px;min-height:40px;max-height:40px;padding:7px 9px;line-height:24px;border-radius:4px}.controls input[type=date]{height:40px;min-height:40px;line-height:24px}.controls input[type=date]::-webkit-date-and-time-value{min-height:24px;line-height:24px}.controls .mishnah-start-date-field,.controls .mishnah-finish-date-field,.halacha-controls label:has(input[type=date]){grid-column:1/-1}.cycle-toggle{margin-bottom:0}.cycle-toggle button{min-height:30px;font-size:var(--font-meta)}.date-note,.date-shortcut{font-size:var(--font-meta)}.date-shortcut{min-height:24px}.controls>.primary{justify-self:stretch;min-height:42px;font-size:var(--font-meta);padding:9px 10px;margin-top:0}.reset-default{font-size:var(--font-meta);min-height:28px}.results{padding:16px 12px;border-radius:4px}.results h2{font-size:24px;letter-spacing:-.3px}.editable-kicker .kicker{font-size:var(--font-meta)}.edit-title{min-width:28px;height:28px}.subtitle{font-size:var(--font-meta)}.results-top{gap:12px}.actions{gap:6px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.actions button{font-size:var(--font-meta);min-height:36px;padding:6px 7px;gap:5px}.actions .save-schedule{grid-column:1/-1;min-height:38px}.stats{gap:12px 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 0;margin-top:15px}.stats article{gap:7px}.stats article:last-child{margin-inline-start:0}.stats strong{font-size:20px}.stats span{font-size:var(--font-meta)}.schedule{grid-template-columns:minmax(0,1fr);gap:14px}.day{grid-template-columns:17px 91px minmax(0,1fr) 32px;gap:7px;padding:9px 8px;min-height:40px}.date{font-size:var(--font-meta)}.range{font-size:var(--font-text)}.day input{width:17px;height:17px}.catchup-badge{font-size:var(--font-meta)}.week-header{padding:7px 8px}.finish-banner{margin-top:16px}.finish-banner div{gap:3px}.finish-banner small{font-size:var(--font-meta)}.saved-drawer{top:74px;inset-inline-start:12px;width:340px;max-width:calc(100vw - 24px);max-height:min(650px,calc(100dvh - 90px));padding:14px}.saved-drawer-head{top:-14px}.saved-card{padding:12px}.saved-card h3{font-size:18px}.saved-open{min-height:32px}.saved-remove{width:30px;height:30px}.saved-remove.confirming{width:auto}.saved-title-edit{width:30px;height:30px;flex-basis:30px}.feedback-dialog{padding:20px}.feedback-fields{grid-template-columns:1fr}.feedback-fields input,.feedback-fields textarea{font-size:16px}footer{padding-inline:18px;font-size:var(--font-meta);text-align:center}}
@media(max-width:360px){.hero h1{font-size:24px}.scroll-mark{display:none}.saved-drawer-toggle{font-size:var(--font-meta);gap:4px;left:12px;padding:6px}.language-switcher{right:12px}.language-switcher button{font-size:var(--font-meta);padding:5px 7px}.day{grid-template-columns:17px 84px minmax(0,1fr) 30px;gap:5px}.date{font-size:var(--font-meta)}.range{font-size:var(--font-text)}.actions button{font-size:var(--font-meta)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.save-fly{display:none}}
.header-date{position:absolute;right:max(28px,calc((100vw - 1440px)/2));bottom:22px;color:#a6bbc8;font-size:var(--font-meta);direction:ltr}.planner-card{position:relative}.cycle-status{font-size:var(--font-meta);color:var(--muted);margin-top:10px}.cycle-status:empty{display:none}.jump-today{background:none;border:0;border-bottom:1px solid #b7c6ce;padding:2px 0;font-size:var(--font-meta);color:var(--link);margin-top:12px}.storage-warning{background:#fff1d4;border:1px solid #d8bb7f;border-radius:4px;padding:10px 14px;margin-top:15px}.review-day{background:#fafafa}.review-day .range{font-weight:400;color:var(--muted);font-style:italic}[contenteditable=plaintext-only]{background:#fff8e5;outline:2px solid var(--gold);border-radius:3px;min-width:80px;white-space:pre-wrap;user-select:text;padding:3px}
@media(min-width:701px){#planner-form .cycle-toggle{position:absolute;top:12px;inset-inline-end:22px}.section-heading{min-height:27px}#torah-panel .section-heading{padding-inline-end:170px}}
@media(max-width:700px){.header-date{display:none}.cycle-status{font-size:var(--font-meta)}.jump-today{min-height:32px}}
.form-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:2px}.form-actions .primary{font-size:var(--font-meta)}.form-actions .reset-default{font-size:var(--font-meta)}.form-actions .reset-default{order:-1}.saved-drawer{overflow-x:hidden}.saved-list{overflow:visible}.jump-today{float:inline-end}.results-top:after{content:"";display:table;clear:both}
@media(max-width:700px){.form-actions{flex-direction:column;align-items:stretch;gap:6px}.form-actions .primary{font-size:var(--font-meta)}.form-actions .reset-default{order:1;align-self:flex-end}}
@page{size:landscape;margin:10mm}
.today-dashboard{margin:18px 0 16px;border:1px solid var(--line);border-inline-start:3px solid var(--gold);background:var(--surface);border-radius:4px}.today-dashboard>summary{display:flex;align-items:baseline;gap:18px;padding:13px 16px;cursor:pointer;list-style:revert}.today-dashboard>summary strong{font:500 23px Georgia,serif}.today-dashboard>summary span{font-size:var(--font-label);color:var(--muted)}#today-assignments{padding:0 16px 8px}.today-entry{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,1.7fr) auto auto;align-items:center;gap:9px 18px;padding:11px 0;border-top:1px solid var(--line);font-size:var(--font-text)}.today-entry>div{min-width:0}.today-entry small{display:block;font-size:var(--font-meta);color:var(--muted)}.today-plan-title{border:0;padding:0;display:block;white-space:normal;text-align:start;background:none;font-weight:600;font-size:var(--font-text);min-height:24px}.today-assignment{display:flex;gap:9px;align-items:center}.today-assignment input{accent-color:var(--green);width:18px;height:18px;flex:none}.today-entry a{color:var(--link);font-size:var(--font-label);white-space:nowrap}.today-count{font-variant-numeric:tabular-nums;color:var(--muted)}.today-entry>button{grid-column:2/-1;justify-self:start}.today-empty{padding:8px 0 14px;font-size:var(--font-text);color:var(--muted)}.endpoint-controls{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:12px;border-top:1px solid var(--line)}.endpoint-controls label{grid-column:auto}.learning-options{grid-column:1/-1;justify-self:start;font-size:var(--font-text);white-space:normal;text-align:start}.day-tools{grid-column:2/-1;display:flex;gap:14px;align-items:center}.day-tools a,.day-tools button{font-size:var(--font-meta);color:var(--link);padding:1px 0;border:0;background:none;min-height:22px;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}.day-tools button:hover{background:none}.day input:indeterminate{background:#e0b555;border-color:#997d3a}.day input:indeterminate:before{content:'';width:8px;height:2px;background:var(--surface)}.feature-dialog{color:var(--ink);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:6px;width:min(720px,calc(100vw - 28px));padding:22px;max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 20px 90px #102c4040}.feature-dialog::backdrop{background:#102c4066}.feature-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:16px}.feature-heading h2{font:500 25px Georgia,serif}.feature-dialog p{font-size:15px;line-height:1.6;margin:12px 0}.feature-dialog label{display:flex;flex-direction:column;gap:7px;font-size:var(--font-text);min-width:0}.feature-dialog select,.feature-dialog input{box-sizing:border-box;min-width:0;max-width:100%;width:100%;height:40px;font:inherit;border:1px solid var(--control-border);border-radius:4px;padding:7px;background:var(--surface);color:var(--ink)}.feature-dialog>button{margin:12px 8px 0 0;font-size:var(--font-text);min-height:38px}.weight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.feature-dialog h3{font-size:16px;margin-top:20px}.days-off-row{display:grid;grid-template-columns:1fr 1fr 32px;gap:10px;margin-top:10px}.days-off-row .ghost{padding:0}.preview-list{padding:0 14px;border:1px solid var(--line);background:var(--surface-soft)}.preview-list p{font-size:var(--font-text);margin:7px 0}.sync-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0;font-size:var(--font-label)}.sync-bar a{color:var(--link)}.sync-bar button{font-size:var(--font-label)}.sync-bar .sync-state{color:var(--muted);flex:1}.sync-bar strong{font-weight:600}.sync-notice{color:var(--danger)}
@media(max-width:700px){.today-dashboard>summary{flex-direction:column;gap:4px;padding:12px}.today-dashboard>summary strong{font-size:22px}#today-assignments{padding-inline:12px}.today-entry{grid-template-columns:minmax(0,1fr) auto;gap:8px}.today-entry>div{grid-column:1/-1}.today-assignment{min-width:0}.today-entry>button{grid-column:1/-1}.today-entry a{grid-column:1/-1}.endpoint-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.endpoint-controls label:first-child{grid-column:1/-1}.endpoint-controls label:not(:first-child){grid-column:span 1}.feature-dialog{padding:17px}.weight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-dialog input,.feature-dialog select{font-size:16px}.actions>button[id$='catchup'],.actions>button[id$='follow-cycle']{grid-column:1/-1}.sync-bar{font-size:var(--font-label)}}
/* Keep room for account controls before the session request finishes. */
.sync-bar{min-height:54px}
/* Larger touch areas, with unchanged compact visual controls. */
.feature-status:empty{display:block;margin:0}
.feature-heading>button{min-width:40px;min-height:40px;flex:none;font-size:20px;padding:0}
.edit-title,.saved-title-edit,.day-tools a,.day-tools button{position:relative}
@media screen and (max-width:700px),screen and (pointer:coarse){
  .edit-title::after,.saved-title-edit::after{content:"";position:absolute;inset:-8px}
  .day-tools{gap:18px}
  .day-tools a,.day-tools button{min-height:32px;min-width:44px}
  .day-tools a::after,.day-tools button::after{content:"";position:absolute;inset:-6px 0}
  .actions button,.sync-bar button,.sync-bar a,.feature-dialog>button,.feature-heading>button,.days-off-row>button{min-height:44px}
  .sync-bar a{display:inline-flex;align-items:center}
  .feature-heading>button{min-width:44px}
  .days-off-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:8px}
}
@media print{.today-dashboard,.sync-bar,.day-tools{display:none!important}}
.kitzur-cycle-controls{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
.kitzur-cycle-controls label{min-width:0;grid-column:auto}
#kitzur-cycle-help{grid-column:1/-1;margin:0;max-width:90ch;color:var(--muted);font-size:var(--font-meta);line-height:1.6}
#kitzur-cycle-help a{color:var(--link);text-underline-offset:3px}
.official-kitzur{grid-template-columns:repeat(2,minmax(0,1fr))}
.official-kitzur>label:has(input[type=date]){grid-column:auto}
@media(max-width:700px){.kitzur-cycle-controls{grid-template-columns:minmax(0,1fr)}.kitzur-cycle-controls label,.official-kitzur>label:has(input[type=date]){grid-column:1/-1}}
@media print{.jump-today,.header-date,.storage-warning{display:none!important}.results-top{padding:0 31mm 0 0!important}}
@media print{html,body{background:white!important;color:#111;font-size:9px;width:auto;zoom:1!important}body{margin:0!important;padding:0!important}body>header,body>footer,.planner-tabs,.planner-card,.saved-drawer,.saved-drawer-toggle,.saved-drawer-backdrop,.save-fly,dialog,.actions,.edit-title,.saved-title-edit,.skip-link{display:none!important}main{max-width:none;width:100%;padding:0;margin:0}.tab-panel.hidden{display:none!important}.results{padding:0!important;border:0;border-radius:0;overflow:visible!important;position:relative}.results-top{display:block;min-height:30mm;padding-inline-end:31mm;margin-bottom:2mm;break-inside:avoid}.results-top>div:first-child{min-width:0}.results h2{font-size:20px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}.editable-kicker{margin-bottom:2mm}.editable-kicker .kicker{font-size:10px}.subtitle{font-size:9px;line-height:1.4}.print-qr{display:flex!important;position:absolute;top:0;right:0;width:26mm;height:30mm;align-items:center;flex-direction:column;gap:1mm;padding:0;background:var(--surface);overflow:visible;direction:ltr}.print-qr img{display:block;width:25mm;height:25mm;object-fit:contain;max-width:none}.print-qr span{font-size:7px;color:#102c40;white-space:nowrap}.stats{display:flex;gap:8mm;padding:2mm 0;margin:0;border-top:1px solid #ccc;break-inside:avoid}.stats strong{font-size:12px}.stats span{font-size:8px}.stats article:last-child{margin-inline-start:auto}.progress-track{height:1mm;margin-bottom:3mm}.schedule{display:block;columns:3;column-gap:4mm;column-fill:balance}.week{display:inline-block;vertical-align:top;width:100%;margin:0 0 3mm;border:1px solid #bbb;border-radius:0;overflow:visible!important;break-inside:avoid;page-break-inside:avoid}.week-header{padding:1mm 1.5mm;font-size:8px;border-bottom:1px solid #999;background:#eee!important;color:#333}.week-header strong{font-size:8px}.day{grid-template-columns:2.5mm 17mm minmax(0,1fr) 5mm;gap:1mm;padding:1mm 1.5mm;min-height:5.5mm;border-bottom:1px solid #ddd;overflow:visible!important;break-inside:avoid}.date{font-size:7px;white-space:normal;color:#444}.range{font-size:8px;line-height:1.25;color:#111}.count{font-size:7px;color:#444}.day input{width:2.5mm;height:2.5mm;border:.2mm solid #777;border-radius:.3mm}.day input:checked:before{width:1.6mm;height:1mm}.catchup-badge{font-size:7px;grid-column:1/-1;padding:0;white-space:normal!important;overflow:visible!important;line-height:1.3}.day.today{box-shadow:none}.finish-banner{padding:2mm 0 0;margin-top:2mm;break-inside:avoid}.finish-banner strong{font-size:12px}.finish-banner small{font-size:8px}.progress-track,.day input,.week-header{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
