@font-face{font-family:Frank Ruhl Libre;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/frank-ruhl-libre-hebrew-wght-normal-DI6KQ-EX.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Frank Ruhl Libre;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/frank-ruhl-libre-latin-wght-normal-gL3h_YCz.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:italic;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-italic-ZB3Aladm.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--scale: 1;--bg: #f6f1e7;--surface: #fffdf8;--ink: #2b2620;--muted: #7a6f62;--line: #e2d8c6;--accent: #2f7d6d;--accent-ink: #ffffff;--gold: #c79a1e;--learning: #8fb9e8;--known: #2f7d6d;--new-card: #fff4d6;--slip: #e07a2f;--heb: "Frank Ruhl Libre", "Noto Serif Hebrew", "Taamey Frank CLM", "Times New Roman", serif;--ui: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #1d1b18;--surface: #282520;--ink: #f1ebe0;--muted: #a99d8c;--line: #3d3830;--accent: #4fb39d;--accent-ink: #10221d;--learning: #4d77a6;--known: #4fb39d;--new-card: #3a3322;--gold: #e2b84a}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ui)}body{min-height:100vh;-webkit-tap-highlight-color:transparent}#root{max-width:900px;margin:0 auto;padding:12px 16px 48px}h1,h2,h3{margin:.4em 0}button{font:inherit;color:inherit}.topbar{display:flex;justify-content:space-between;align-items:center;min-height:56px}.who{font-weight:800;font-size:1.15rem}.btn{border:2px solid transparent;border-radius:16px;padding:12px 20px;min-height:56px;cursor:pointer;font-weight:700;font-size:1.05rem;background:var(--surface);touch-action:manipulation}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.secondary{border-color:var(--accent);color:var(--accent)}.btn.ghost-btn{background:transparent;color:var(--muted)}.btn.small{min-height:40px;padding:6px 12px;font-size:.95rem}.btn.big{font-size:1.3rem;padding:16px 32px;min-width:220px}.btn.huge{display:flex;flex-direction:column;align-items:center;width:100%;font-size:1.6rem;padding:22px;border-radius:22px;margin:8px 0 12px}.btn.huge .sub{font-size:1rem;font-weight:600;opacity:.85}.btn.danger{color:#b33}.hold.holding{background:var(--line);transition:background 2s}.profiles{text-align:center;padding-top:4vh}.app-title{font-family:var(--heb);font-size:2.6rem}.profile-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:24px 0 40px}.profile-tile{width:150px;height:150px;border-radius:28px;border:4px solid;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer}.profile-tile .emoji{font-size:3.4rem}.profile-tile .name{font-weight:800;font-size:1.3rem}.week{display:flex;gap:8px;justify-content:center;margin-bottom:8px}.day{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);font-size:11px;display:grid;place-items:center}.day.on{background:var(--gold);border-color:var(--gold)}.masechta{font-family:var(--heb);text-align:center;font-size:1.8rem}.perek-map{display:flex;flex-direction:column;gap:10px}.perek-row{display:flex;align-items:center;gap:12px;background:var(--surface);border:2px solid var(--line);border-radius:18px;padding:10px 12px}.perek-row.complete{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold) inset}.perek-label{font-family:var(--heb);font-size:1.3rem;min-width:72px;font-weight:700}.circles{display:flex;flex-wrap:wrap;gap:10px}.circle{position:relative;width:52px;height:52px;border-radius:50%;border:3px solid var(--line);background:transparent;font-family:var(--heb);font-size:1.25rem;font-weight:700;cursor:pointer}.circle.learning{border-color:var(--learning);background:linear-gradient(to top,var(--learning) 45%,transparent 45%)}.circle.known,.circle.solid{border-color:var(--known);background:var(--known);color:var(--accent-ink)}.circle .star{position:absolute;top:-10px;left:-6px;color:var(--gold);font-size:.9rem;text-shadow:0 0 2px var(--bg)}.circle .link{position:absolute;right:-12px;top:50%;width:12px;height:4px;background:var(--gold)}.task-title{font-family:var(--heb);text-align:center;font-size:1.6rem}.step-label{text-align:center;color:var(--muted);font-weight:700;margin:4px 0 8px}.chain{--tile: 40px;--link: 26px;display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;margin:6px 0 0}.chain .hit{display:grid;place-items:center;min-height:48px;padding:0;border:0;background:transparent;font:inherit;color:inherit;border-radius:10px}button.hit{cursor:pointer}button.hit:focus-visible{outline:3px solid var(--gold);outline-offset:1px}.tile{position:relative;width:var(--tile)}.tile .face{box-sizing:border-box;display:grid;place-items:center;width:var(--tile);height:var(--tile);border-radius:11px;border:2px dashed var(--line);color:var(--muted);font-weight:800;font-size:1.1rem;background:var(--surface)}.tile.done .face{border:2px solid var(--accent);background:var(--accent);color:var(--accent-ink)}.tile.current .face{border:4px solid var(--gold);color:var(--ink);animation:breathe 1.6s ease-in-out infinite}.part-tile{--tile: 46px}.part-tile .face{border-radius:999px}.tile+.tile{margin-inline-start:6px}.tile.in-chain:after,.link.in-chain:after{content:"";position:absolute;left:-3px;right:-3px;bottom:0;height:4px;background:var(--gold)}.link{position:relative;width:var(--link)}.link.in-chain:after{left:0;right:0}.link .bar{display:block;width:100%;border-top:4px dotted var(--line)}.link.done .bar{border-top:6px solid var(--accent)}.link.current .bar{border-top:6px solid var(--gold);animation:breathe 1.6s ease-in-out infinite}.link.final.done .bar,.link.final.current .bar{border-top-width:9px}.link.done.just .bar{animation:snap .25s ease-out;transform-origin:right}.cap{width:30px}.cap .face{box-sizing:border-box;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:2px dashed var(--line);color:transparent;font-weight:900;font-size:.9rem}.cap.done .face{border:2px solid var(--accent);background:var(--accent);color:var(--accent-ink)}.cap.current .face{border:3px solid var(--gold);background:var(--gold);color:var(--accent-ink);animation:breathe 1.6s ease-in-out infinite}.cap.end .face{width:30px;height:30px}.cap.end{width:34px}.chain-count{text-align:center;font-weight:800;font-size:.95rem;color:var(--ink);margin:0 0 4px}@keyframes breathe{50%{transform:scale(1.12)}}@keyframes snap{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pop{50%{transform:scale(1.12)}}@media(max-width:400px){.chain{--tile: 33px;--link: 16px}.part-tile{--tile: 40px}.tile .face{font-size:1rem}.parts{gap:4px}.part:not(.current) .part-word{display:none}.part,button.part{min-width:40px;padding-inline:10px}}@media(prefers-reduced-motion:reduce){.tile.current .face,.link.current .bar,.link.done.just .bar,.cap.current .face,.part.just{animation:none}}.recite{display:flex;flex-direction:column;align-items:stretch;gap:14px}.prompt{text-align:center;font-size:1.25rem;font-weight:700}.cards{display:flex;flex-direction:column;gap:10px}.card{position:relative;font-family:var(--heb);font-size:calc(2.3rem * var(--scale));line-height:2.1;word-spacing:.2em;background:var(--surface);border:2px solid var(--line);border-radius:18px;padding:6px 20px;min-height:calc(2.3rem * var(--scale) * 2.1 + 16px)}.card-new{background:var(--new-card);border-color:var(--gold)}.card.cue-1{color:var(--muted)}.card.cue-4 .ghost{visibility:hidden}.card.cue-4{border-style:dashed}.card.peekable{cursor:pointer}.card.peeking{border-color:var(--slip)}.peek-hint{position:absolute;left:10px;top:6px;font-size:1rem;opacity:.4}.word{display:inline-block;margin-inline-end:.28em}.word.dots{color:var(--muted)}.word.tappable{border:none;background:none;padding:0 2px;font:inherit;cursor:pointer;border-radius:8px;line-height:inherit}.word.tappable:active,.word.tappable:hover{background:var(--line)}.word.tappable.selected{background:var(--gold);color:#2b2620;box-shadow:0 0 0 3px var(--gold)}.word.tappable:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.context{font-family:var(--heb);font-size:calc(1.4rem * var(--scale));color:var(--muted);text-align:center}.meaning{font-size:1.35rem;font-weight:600;line-height:1.5;color:var(--ink);text-align:start;background:var(--surface);border:2px solid var(--line);border-inline-start:5px solid var(--accent);border-radius:16px;padding:12px 16px}.peek-line{text-align:center;color:var(--muted);min-height:1.5em}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:8px}.btn-next{display:inline-flex;align-items:center;justify-content:center;gap:10px}.btn-next-arrow{flex:none}.word-panel{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:8px;background:var(--surface);border:2px solid var(--gold);border-radius:18px;padding:8px;min-height:132px}.word-panel.sticky{position:sticky;bottom:calc(8px + env(safe-area-inset-bottom));z-index:5;margin-top:16px;box-shadow:0 -4px 18px #00000024}.wp-nav{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;min-height:64px;border:2px solid var(--accent);border-radius:14px;background:var(--bg);color:var(--accent);font:inherit;font-weight:800;font-size:.95rem;cursor:pointer;touch-action:manipulation;padding:4px 8px}.wp-nav:disabled{opacity:.3;cursor:default}.wp-nav:not(:disabled):active{background:var(--accent);color:var(--accent-ink)}.wp-nav:focus-visible,.wp-close:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.wp-arrow{display:block;margin-bottom:2px}.wp-body{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-align:center}.wp-he{font-family:var(--heb);font-size:calc(2rem * var(--scale));line-height:1.4}.wp-en{font-size:1.5rem;font-weight:800;line-height:1.25;overflow-wrap:anywhere}.wp-note{color:var(--muted);font-size:1rem}.wp-count{color:var(--muted);font-size:.85rem;margin-top:2px}.wp-placeholder{color:var(--muted);font-size:1.05rem}.wp-close{position:absolute;top:-18px;left:50%;transform:translate(-50%);width:40px;height:40px;border-radius:50%;border:2px solid var(--gold);background:var(--surface);color:var(--ink);font-size:1rem;cursor:pointer;touch-action:manipulation}.mishnah-screen .word.tappable{scroll-margin-top:16px;scroll-margin-bottom:190px}.sheet-backdrop{position:fixed;inset:0;background:#0000004d;display:flex;align-items:flex-end;justify-content:center;z-index:10}.sheet{background:var(--surface);width:100%;max-width:600px;border-radius:24px 24px 0 0;padding:24px;text-align:center;display:flex;flex-direction:column;gap:10px}.parent-check.intro,.celebrate{text-align:center;padding-top:6vh;display:flex;flex-direction:column;align-items:center;gap:12px}.big-emoji{font-size:4rem}.pc-text{display:flex;flex-direction:column;gap:10px}.pc-card{font-family:var(--heb);font-size:calc(1.8rem * var(--scale));line-height:2;background:var(--surface);border-radius:16px;padding:8px 16px;border:2px solid var(--line)}.pc-label{font-size:1rem;color:var(--muted)}.word.slip{text-decoration:underline wavy var(--slip);color:var(--slip)}.actions.grade{position:sticky;bottom:0;background:var(--bg);padding:10px 0}.summary{text-align:center;font-size:1.15rem;max-width:640px;margin:6px auto}.toggles{display:flex;gap:18px;justify-content:center;margin:14px 0 4px;flex-wrap:wrap}.toggles label{display:flex;gap:6px;align-items:center;min-height:40px}.hint{color:var(--muted);text-align:center}.study{display:flex;flex-direction:column;gap:8px}.study-row .card{font-size:calc(1.9rem * var(--scale));min-height:0}.study-row .meaning{font-size:1.15rem;padding:8px 14px;margin-top:4px}.full-english{margin-top:18px;line-height:1.6;background:var(--surface);padding:16px;border-radius:16px}.credit{color:var(--muted);font-size:.85rem;margin-top:8px}.parent section{background:var(--surface);border-radius:18px;padding:14px 16px;margin:12px 0}.parent .hint{text-align:start}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0}.row.between{justify-content:space-between}.row.wrap .btn{min-width:40px}.child-card{border:3px solid;border-radius:14px;padding:8px 12px;margin:8px 0}.child-settings{display:flex;flex-direction:column;gap:10px;padding:8px 0}input[type=text],input:not([type]),input[type=number],select{font:inherit;padding:10px;border-radius:10px;border:2px solid var(--line);background:var(--bg);color:var(--ink)}.btn.learning{background:var(--learning)}.btn.known,.btn.solid{background:var(--known);color:var(--accent-ink)}@media(max-width:520px){.card{font-size:calc(1.8rem * var(--scale));padding:4px 12px}.circle{width:44px;height:44px;font-size:1.05rem}.perek-row{flex-direction:column;align-items:flex-start}.btn.big{min-width:0;width:100%}}.parts{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:4px 0}.part{display:inline-flex;flex-direction:column;align-items:stretch;gap:3px;font-size:.85rem;font-weight:700;padding:3px 10px;border-radius:999px;border:2px solid var(--line);color:var(--muted)}.part-name{white-space:nowrap;text-align:center}.part-bar{display:flex;direction:rtl;height:4px;border-radius:2px;background:var(--line);overflow:hidden}.part-bar i{display:block;background:var(--accent)}.part.done{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.part.done .part-bar{display:none}.part.current{border-color:var(--gold);border-width:3px;color:var(--ink)}.part.just{animation:pop .6s ease-out}.day.shabbos{border-style:dashed}.meaning.steinsaltz{font-weight:400;line-height:1.6}.meaning.steinsaltz b{color:var(--ink)}.meaning.steinsaltz .st-explain{color:var(--muted);font-size:.85em}.meaning .explain{display:block;margin-top:6px;font-size:.78em;font-weight:400;color:var(--muted)}.more-btn,.info-btn{font-weight:400;border:none;background:none;color:var(--accent);cursor:pointer;font-size:.9em;padding:4px 6px;min-height:32px}.info-btn{color:var(--muted);opacity:.7}.source-sheet{text-align:start}.source-sheet h3{margin-top:0}.source-list{color:var(--muted);font-size:.95rem;padding-inline-start:20px}a.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.seg{display:inline-flex;border:2px solid var(--line);border-radius:999px;overflow:hidden;align-self:center}.seg button{border:none;background:transparent;padding:8px 16px;min-height:40px;font-weight:700;color:var(--muted);cursor:pointer}.seg button.on{background:var(--accent);color:var(--accent-ink)}.full-st{margin-top:18px;line-height:1.7;background:var(--surface);padding:16px;border-radius:16px}.full-st .st-explain{color:var(--muted)}.full-st-wrap{margin-top:18px;display:flex;flex-direction:column;gap:10px}.full-st-btn{width:100%;scroll-margin-top:12px}.full-st-wrap .full-st{margin-top:0}.auth{text-align:center;padding-top:4vh}.auth-card{background:var(--surface);border-radius:22px;padding:18px 20px 22px;max-width:460px;margin:16px auto;display:flex;flex-direction:column;gap:10px}.auth-form{display:flex;flex-direction:column;gap:14px;align-items:stretch}.field{display:flex;flex-direction:column;gap:6px;text-align:start;font-weight:700}.field input{font:inherit;font-weight:400;padding:12px;border-radius:12px;border:2px solid var(--line);background:var(--bg);color:var(--ink);min-height:52px}.code-input{font-size:1.8rem!important;letter-spacing:.3em;text-align:center;font-family:ui-monospace,Menlo,monospace!important}.turnstile{min-height:65px;display:flex;justify-content:center}.error{color:#b33;font-weight:700}.notice{background:var(--new-card);border-radius:12px;padding:8px 12px}.dev-note{font-size:.9rem;color:var(--muted);border:1px dashed var(--line);border-radius:10px;padding:6px 10px}.link-btn{border:none;background:none;color:var(--accent);font-weight:700;cursor:pointer;padding:8px;min-height:40px;text-decoration:underline}.link-btn:disabled{color:var(--muted);cursor:default;text-decoration:none}.link-btn.strong{font-size:1.1rem}.auth-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.profiles{position:relative}.sync-dot{position:absolute;top:4px;right:4px;width:10px;height:10px;border-radius:50%;background:var(--known);opacity:.7}.sync-dot.inline{position:static;display:inline-block}.sync-dot.syncing{background:var(--gold)}.sync-dot.offline,.sync-dot.error{background:var(--muted)}.sync-dot.signedOut{background:#b33}.first-run{margin:24px 0 40px}.row.center{justify-content:center}.import-sheet h3{margin-top:0}.import-list{list-style:none;padding:0;text-align:start;display:flex;flex-direction:column;gap:8px}.import-list label{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-height:40px}.history{display:flex;flex-direction:column;gap:6px;padding:6px 0}.history h4{margin:8px 0 4px}.history ul{margin:0;padding-inline-start:20px}.history .hint{text-align:start}.bars{display:flex;gap:4px;align-items:flex-end;height:90px}.bar-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px}.bar{width:100%;min-height:2px;background:var(--gold);border-radius:4px 4px 0 0}.bar-col.shabbos .bar{background:transparent;border:2px dashed var(--gold);border-bottom:none}.bar-label{font-size:.7rem;color:var(--muted)}.activity .when{color:var(--muted);font-size:.9rem}.guest-option{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:6px;padding-top:12px;border-top:1px solid var(--line)}.guest-option .hint{margin:0;font-size:.9rem}.guest-bar{display:flex;justify-content:center}.guest-pill{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:4px 12px;min-height:32px;font-size:.85rem;font-weight:600;cursor:pointer}.guest-sheet p{margin:0}.auth-footer{margin:4px auto 16px}.auth-footer .link-btn,.credit-link{font-weight:400;font-size:.9rem;color:var(--muted)}.pricing-note{font-size:.85rem;margin:0}.licenses section p{margin:6px 0;line-height:1.5}.licenses a:not(.btn){color:var(--accent)}.break-setting{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.break-setting input[type=number]{width:5em}button.part{font:inherit;font-size:.85rem;font-weight:700;background:transparent;min-height:40px;padding:6px 14px;cursor:pointer;justify-content:center}button.part.done{background:var(--accent)}button.part:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.step-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 8px}.step-nav .step-label{margin:0;flex:1}.step-nav .btn{min-width:84px}.step-nav .btn.ghost-btn:not(:disabled){color:var(--ink);border-color:var(--line)}.update-bar{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);box-sizing:border-box;padding:8px 8px 8px 16px;background:var(--surface);color:var(--ink);border:2px solid var(--line);border-radius:999px;box-shadow:0 4px 16px #00000026;font-weight:700;white-space:nowrap}.update-bar .btn{min-height:0;padding:6px 16px;font-size:.95rem}
