/* UI.SH design rules, adapted to the existing Hebrew reader and user fonts. */
:root{--control-radius:12px;--control-padding:4px;--rule:color-mix(in srgb,var(--ink) 11%,transparent);--surface:color-mix(in srgb,var(--paper) 97%,white);--soft:color-mix(in srgb,var(--ink) 5%,var(--paper));-webkit-font-smoothing:antialiased}
body{background:var(--paper)}.layout{isolation:isolate;max-width:1440px;grid-template-columns:216px minmax(0,1fr)}.toolbar{padding:0 40px;height:76px;border-bottom:1px solid var(--rule)}.identity{min-width:0}.identity strong{font-size:1rem;font-weight:600}.identity span:not(.book-icon){font-size:.75rem;color:var(--quiet)}.appearance-open{height:36px;min-height:36px;padding:0 12px;gap:12px;background:var(--soft);border-radius:var(--control-radius);font-size:.8125rem}.appearance-glyph{letter-spacing:0;font-size:1.4rem;margin:0}.sidebar{top:76px;height:calc(100dvh - 76px);padding:36px 20px 24px;border-left:1px solid var(--rule)}.sidebar-heading{font-size:.6875rem;color:var(--quiet);margin:0}.sidebar-current{font-family:var(--gemara-font,VilnaPFT),serif;font-size:1.875rem;margin:8px 0 24px;color:var(--ink)}#pages{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.page-link{font-size:.8125rem;justify-content:center;min-height:36px;padding:8px 4px;font-weight:400;border-radius:8px}.page-link[aria-current=page]{font-weight:400;background:var(--soft);color:var(--ink);box-shadow:inset 0 0 0 1px var(--rule)}.page-link[aria-current=page]:after{display:none}.source-link{font-size:.75rem;padding:20px 0 0}.page-top{position:relative;display:block;text-align:center;padding-bottom:28px;margin-bottom:0;border-bottom:1px solid var(--rule)}.chapter-label{font-size:.75rem;margin:0 0 18px;color:var(--quiet)}h1{font-size:3.5rem;font-weight:400;line-height:1.2;letter-spacing:-.025em;text-wrap:balance}.reading-location{font-family:var(--gemara-font,VilnaPFT),serif;font-size:1.5rem;margin:12px 0 0;color:var(--quiet)}.page-controls{justify-content:center;margin-top:24px;gap:12px}.page-controls button{width:36px;height:36px;border-radius:50%;background:var(--soft)}.page-controls select{background:transparent;border-radius:8px;padding:8px 12px;font-size:.8125rem}.reading-key{padding:16px 0;margin-bottom:28px;gap:14px}.mode-note{font-size:.75rem;color:var(--quiet)}main,body:has(.separate) main{padding:46px 64px 64px;width:min(100%,960px)}body:has(.separate) main{width:min(100%,1160px)}#text{line-height:1.85}.segment{margin-bottom:.85em}.combined-text,.gemara-text{text-wrap:pretty}.inline-rashi:hover{background:transparent}.rashi-trigger{transition:none}.page-bottom{border-color:var(--rule);font-size:.8125rem;padding-top:20px}.page-bottom button{min-height:36px}.mobile-navigation{display:none}button{transition:none}button:active:not(:disabled){opacity:.75}.size-row output{font-variant-numeric:tabular-nums}
#appearance.vaul-appearance{background:var(--surface);border:0;box-shadow:0 0 0 1px var(--rule),0 20px 70px #0002;padding:16px 24px calc(28px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;width:min(460px,100%)}.drawer-handle{background:var(--quiet)!important;opacity:.35}.appearance-heading{margin-bottom:24px}.appearance-heading h2{font-size:1.125rem;font-weight:600}.appearance-heading button{width:32px;height:32px;background:var(--soft)}.setting-section h3{font-size:.75rem;color:var(--quiet);font-weight:500;margin-bottom:12px}#appearance .modes{padding:var(--control-padding);border-radius:var(--control-radius);background:var(--soft);gap:4px}#appearance .modes button{min-height:60px;border-radius:calc(var(--control-radius) - var(--control-padding));padding:10px 2px;font-size:.875rem;font-weight:500}#appearance .modes button small{display:block;font-size:.625rem;font-weight:400;padding-top:6px;color:var(--quiet)}#appearance .modes button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--rule),0 1px 3px #00000008}.size-row{border-color:var(--rule);margin-top:24px;padding:10px 0}.size-row button{min-height:36px;height:36px;width:72px}.theme-options{gap:12px}.theme-options button{color:var(--quiet);font-size:.6875rem}.theme-options button>span{height:64px;border:1px solid #00000012;border-radius:10px;font-family:var(--gemara-font,VilnaPFT),serif}.theme-options button[aria-pressed=true]>span{outline:2px solid var(--accent);outline-offset:3px}.theme-options button[data-reader-theme=light]{--swatch:#fff;--swatch-ink:#20252e}.theme-options button[data-reader-theme=cream]{--swatch:#f7f0df;--swatch-ink:#362f25}.theme-options button[data-reader-theme=paper]{--swatch:#e9d9b9;--swatch-ink:#352c21}.theme-options button[data-reader-theme=gray]{--swatch:#42413e;--swatch-ink:#e6e1d7}.theme-options button[data-reader-theme=dark]{--swatch:#161a20;--swatch-ink:#e0e4ea}#appearance .font-settings{padding:0;background:transparent}#appearance .font-settings label{min-height:54px;font-size:.8125rem}#appearance .font-settings label+label{border-color:var(--rule)}#appearance .font-settings select{max-width:68%;padding:8px;background:var(--soft);border-radius:8px}
:root[data-theme=dark] #appearance,:root[data-theme=gray] #appearance,:root[data-theme=dark] .appearance-open,:root[data-theme=gray] .appearance-open,:root[data-theme=dark] #appearance .modes button,:root[data-theme=gray] #appearance .modes button{box-shadow:none;border:1px solid var(--rule)}
@media(max-width:1050px){.layout{grid-template-columns:180px minmax(0,1fr)}main,body:has(.separate) main{padding:36px}.toolbar{padding-inline:24px}}
@media(max-width:720px){.layout{display:block}.toolbar{height:62px;border:0;padding:12px 24px;background:transparent}.identity{display:flex;align-items:center;gap:8px}.identity strong{font-size:.875rem}.identity span:not(.book-icon){font-size:.6875rem}.appearance-open{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));left:20px;min-height:48px;height:48px;width:56px;justify-content:center;border-radius:18px;background:var(--surface);border:0;box-shadow:0 0 0 1px var(--rule),0 5px 20px #0000000c}.appearance-glyph{font-size:1.5rem}.appearance-open>span:last-child{display:none}main,body:has(.separate) main{padding:20px 24px 110px}.page-top{padding-bottom:20px}.chapter-label{font-size:.6875rem;margin-bottom:16px}h1{font-size:2.75rem}.reading-location{font-size:1.375rem;margin-top:10px}.page-controls{margin-top:20px;gap:18px}.page-controls select{font-size:1rem;padding:8px}.reading-key{padding:14px 0;gap:12px;margin-bottom:18px}.mode-note{font-size:.6875rem;max-width:175px}.reading-key>span:first-child,.rashi-sample{font-size:1.125rem}#text{font-size:var(--size);line-height:1.8}.mobile-navigation{display:block;position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));right:20px;z-index:21}.mobile-navigation summary{list-style:none;cursor:pointer;height:48px;display:flex;align-items:center;padding:0 18px;font-size:.875rem;background:var(--surface);border-radius:18px;box-shadow:0 0 0 1px var(--rule),0 5px 20px #0000000c}.mobile-navigation summary::-webkit-details-marker{display:none}.mobile-navigation[open] summary{background:var(--soft)}.mobile-navigation-panel{position:absolute;bottom:64px;right:0;width:min(340px,calc(100vw - 40px));padding:20px;background:var(--surface);border-radius:20px;box-shadow:0 0 0 1px var(--rule),0 16px 50px #0002}.mobile-navigation-title{font-size:1rem;margin:0 0 16px}#mobile-pages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:42dvh;overflow:auto;padding:4px}.mobile-navigation-panel .page-link{min-height:44px;font-size:.8125rem}.mobile-navigation-panel>a{display:block;font-size:.75rem;color:var(--quiet);padding-top:18px}#appearance.vaul-appearance{width:100%;padding-inline:22px}.theme-options{gap:10px}.theme-options button>span{height:58px}#appearance .font-settings select{font-size:1rem}#appearance .font-settings label{font-size:.875rem}#appearance .modes button{font-size:.875rem}#appearance .modes button small{font-size:.625rem}.page-bottom{font-size:.75rem}}
@media(pointer:coarse){.page-controls button,.appearance-heading button,.size-row button{position:relative}.page-controls button:before,.appearance-heading button:before,.size-row button:before{content:'';position:absolute;inset:50% auto auto 50%;width:max(100%,48px);height:max(100%,48px);transform:translate(-50%,-50%)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* DH remains part of the Gemara line, with no button box or added label. */
#text .rashi-trigger{appearance:none;-webkit-appearance:none;display:inline;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;font:inherit;line-height:inherit;text-align:inherit;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-decoration-color:var(--comment);text-underline-offset:.2em;cursor:pointer}
#text .rashi-trigger[aria-expanded=true]{background:transparent;text-decoration-style:solid;text-decoration-color:var(--accent)}
#text .rashi-trigger:active{opacity:1;text-decoration-color:var(--ink)}
#text .rashi-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(hover:hover) and (pointer:fine){#text .rashi-trigger:hover{background:transparent;text-decoration-style:solid;text-decoration-color:var(--accent)}}
.library-loading>.toolbar,.library-loading>.layout,.library-loading>.mobile-navigation{display:none}.identity #book-title[hidden]{display:none}.library-home{font-size:.75rem;color:var(--quiet);padding-inline-end:16px;border-inline-end:1px solid var(--rule)}#tractate-select{font-family:inherit;font-size:1rem;font-weight:500;border:0;background:transparent;padding:4px 0;min-height:32px;max-width:180px;cursor:pointer;color:var(--ink)}.identity span#chapter-name{display:block}.daf-choice,.page-link,.page-controls select{unicode-bidi:isolate;direction:rtl}.library-header{max-width:1080px;margin:auto;padding:28px 32px;display:flex;justify-content:space-between;font-size:.875rem}.library-header>a:first-child{color:var(--ink);font-weight:500}.library-header>a:last-child{color:var(--quiet)}.library-main{max-width:840px;width:100%;padding:64px 32px 100px}.library-intro{text-align:center;margin-bottom:56px}.library-intro>p:first-child{font-size:.75rem;color:var(--quiet);margin:0 0 20px}.library-intro h1{font-size:4rem;margin:0}.library-intro>p:last-child{font-family:var(--gemara-font,VilnaPFT),serif;font-size:1.5rem;color:var(--quiet);margin:16px 0 0}.library-search{display:flex;align-items:center;justify-content:space-between;gap:24px}.library-search label{font-size:1rem;font-weight:500}.library-search input{min-width:0;max-width:260px;padding:12px 14px;border:1px solid var(--rule);border-radius:12px;background:transparent;font:inherit;color:var(--ink)}.library-coverage{color:var(--quiet);font-size:.8125rem;line-height:1.6;margin:16px 0 24px}.tractate{border-top:1px solid var(--rule)}.tractate:last-child{border-bottom:1px solid var(--rule)}.tractate summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:26px 4px;list-style:none;gap:16px}.tractate summary::-webkit-details-marker{display:none}.tractate-title{font-family:var(--gemara-font,VilnaPFT),serif;font-size:2.25rem}.tractate-count{font-size:.75rem;color:var(--quiet)}.tractate summary:after{content:'+';font-size:1.25rem;color:var(--quiet)}.tractate[open] summary:after{content:'−'}.tractate-count{margin-inline-start:auto}.chapter-choice{padding:0 4px 28px}.chapter-choice h2{font-size:.875rem;font-weight:500;margin:0 0 18px;color:var(--quiet)}.daf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:8px}.daf-choice{display:grid;place-items:center;min-height:44px;border-radius:9px;background:var(--soft);color:var(--ink);font-family:var(--gemara-font,VilnaPFT),serif;font-size:1.375rem}.daf-choice:hover{background:var(--selected)}.resume-reading{display:block;text-align:center;padding:16px;background:var(--soft);border-radius:12px;margin-bottom:36px;font-size:.875rem}.resume-reading[hidden]{display:none}#library-status{font-size:.875rem;color:var(--quiet)}
@media(max-width:720px){.library-header{padding:24px}.library-main{padding:36px 24px 80px}.library-intro{margin-bottom:40px}.library-intro h1{font-size:3.25rem}.library-search{align-items:stretch;flex-direction:column;gap:12px}.library-search input{width:100%;max-width:none;font-size:1rem}.library-coverage{font-size:.875rem}.tractate-title{font-size:2rem}.tractate summary{padding-block:22px}.library-home{font-size:.8125rem;padding-inline-end:12px}#tractate-select{font-size:1rem}.identity{gap:12px}.daf-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.tractate[hidden],.coverage-note[hidden]{display:none}.reader-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.reader-actions button{padding:8px 12px;min-height:44px;font-size:.8125rem;border:1px solid var(--rule);border-radius:10px;color:var(--quiet)}.reader-actions button:disabled{opacity:.5}.coverage-note{color:var(--quiet);font-size:.8125rem;line-height:1.6;margin:0 0 16px}.issue-dialog{width:min(440px,calc(100% - 40px));border:1px solid var(--rule);border-radius:20px;padding:24px;background:var(--paper);color:var(--ink)}.issue-dialog::backdrop{background:#0005}.issue-dialog h2{font-size:1.2rem}.issue-dialog p{font-size:.875rem;line-height:1.7}.issue-dialog textarea{box-sizing:border-box;width:100%;font:inherit;color:inherit;background:var(--soft);border:1px solid var(--rule);border-radius:10px;padding:12px;margin:8px 0 16px}.issue-dialog button{min-height:44px;padding:8px 16px;background:var(--soft);border-radius:10px;margin-inline-end:8px}.sidebar nav{overflow:auto}.library-main .tractate-list{content-visibility:auto}@media(prefers-reduced-motion:no-preference){.theme-options button>span{transition:outline-color 125ms ease}.mobile-navigation[open] .mobile-navigation-panel{animation:open-pages 180ms ease-out;transform-origin:bottom right}@keyframes open-pages{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}}
/* Running head follows the compact chapter, perek, tractate and daf of a printed Gemara. */
#reader .page-top{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:baseline;gap:clamp(12px,2.2vw,28px);font-family:var(--gemara-font,VilnaPFT),serif;font-size:clamp(26px,3vw,38px);font-weight:700;line-height:1.15;letter-spacing:0;text-align:center;margin:0 0 24px;padding:0 0 10px;border-bottom:1px solid var(--ink);text-wrap:balance}
.running-chapter,.running-perek,.running-tractate,.running-daf{font:inherit;color:var(--ink);margin:0;min-width:0}.running-daf{font-size:.85em;white-space:nowrap}.running-perek{font-size:.8em}.running-tractate{text-align:center}.page-top.without-perek{grid-template-columns:1fr auto}.without-perek .running-chapter,.without-perek .running-perek{display:none}
#reader>.page-controls{margin:0 0 12px;gap:12px}#reader>.reading-key{padding:0;margin:0 0 24px}#reader>.reader-actions{margin:32px 0 0}
@media(max-width:720px){#reader .page-top{font-size:clamp(22px,6vw,30px);gap:10px;margin-bottom:20px;padding-bottom:8px}#reader>.page-controls{margin-bottom:12px}#reader>.reading-key{margin-bottom:24px}.running-perek{font-size:.78em}}
.flow-options{display:flex;gap:4px;padding:4px;background:var(--soft);border-radius:12px}.flow-options button{flex:1;padding:12px 4px;min-height:60px;font-size:.875rem;border-radius:8px}.flow-options small{display:block;font-size:.625rem;color:var(--quiet);margin-top:6px}.flow-options [aria-pressed=true]{background:var(--surface);box-shadow:0 0 0 1px var(--rule)}
.flow-loader{display:block;width:100%;min-height:48px;margin:12px 0;font:14px "Google Sans";color:var(--quiet);border-block:1px solid var(--rule)}.flow-loader[hidden],.turn-controls[hidden]{display:none}.flow-daf{content-visibility:auto;contain-intrinsic-size:auto 1800px}.flow-daf+.flow-daf{margin-top:64px}.flow-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-family:var(--gemara-font,VilnaPFT),serif;font-size:1.15em;line-height:1.2;border-bottom:1px solid var(--ink);padding:0 0 12px;margin:0 0 24px;text-wrap:balance}.flow-heading span:last-child{white-space:nowrap;font-size:.85em}.flow-heading span:nth-child(2){font-size:.8em}
body[data-flow=continuous] #reader>.page-top,body[data-flow=continuous] #reader>.coverage-note,body[data-flow=continuous] .page-bottom{display:none}
.turn-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:8px;min-height:48px;font:13px "Google Sans"}.turn-controls button{height:44px;width:44px;border-radius:50%;background:var(--soft);font-size:22px}.turn-progress{font-variant-numeric:tabular-nums;white-space:nowrap}
.turn-content{font-family:var(--gemara-font,VilnaPFT),serif;font-size:var(--size);line-height:1.8;color:var(--ink);overflow-wrap:break-word;text-align:justify;direction:rtl;width:calc(100% - 32px);height:calc(100% - 32px);margin:16px;overflow:hidden}.turn-content .segment{margin:0 0 .85em}.turn-content .segment:last-child{margin-bottom:0}.turn-content .segment:empty{display:none}.turn-content.separate .segment,.turn-content .separate .segment{display:block;border:0;padding:0}.turn-content .rashi-column{margin-top:12px;padding-inline-start:12px;border-inline-start:1px solid var(--rule)}.turn-content .inline-rashi{font-size:1em}.turn-measure{position:fixed;top:0;left:-20000px;visibility:hidden;pointer-events:none;margin:0;contain:layout style}.turn-sheet{background:var(--paper);overflow:hidden}.turn-book{direction:ltr;touch-action:pan-y}.turn-book .stf__parent{touch-action:pan-y}.turn-sheet .rashi-trigger{touch-action:manipulation}.turn-book .stf__item{box-shadow:0 0 0 1px var(--rule)}
body[data-flow=turns] #reader{padding-top:16px;padding-bottom:0}body[data-flow=turns] #reader>.reading-key,body[data-flow=turns] #reader>.reader-actions,body[data-flow=turns] .page-bottom{display:none}body[data-flow=turns] #reader>.page-top{margin-bottom:12px;font-size:28px}body[data-flow=turns] #text{height:var(--turn-height);overflow:hidden;position:relative;max-width:100%}body[data-flow=turns] #text.turn-failed{overflow:auto}body[data-flow=turns] #text[aria-busy=true]:empty::before{content:'מכין את הדפים…';font:14px "Google Sans";color:var(--quiet)}.turn-quick-actions{display:none}body[data-flow=turns] .turn-quick-actions{display:flex;gap:8px;margin-top:20px}.turn-quick-actions button{min-height:44px;padding:8px;border:1px solid var(--rule);border-radius:8px;font-size:13px}
@media(max-width:720px){body[data-flow=turns] #reader{padding:8px 16px 0}body[data-flow=turns] #reader>.page-top{font-size:22px;margin-bottom:8px}body[data-flow=turns] #reader>.page-controls{margin-bottom:8px}.turn-controls{gap:6px}.turn-controls button{width:36px;height:44px}.turn-progress{font-size:12px}.flow-heading{gap:10px;font-size:.9em}.flow-daf+.flow-daf{margin-top:48px}}
@media(prefers-reduced-motion:reduce){.turn-book{scroll-behavior:auto}}
.flow-daf{content-visibility:visible;contain-intrinsic-size:none}body[data-flow=continuous] #text{overflow-anchor:none}
/* Mobile page-turn controls belong to the app toolbar, outside the printed page. */
@media(max-width:720px){body[data-flow=turns] .toolbar{height:auto;min-height:62px;flex-wrap:wrap;gap:4px;padding-bottom:4px}body[data-flow=turns] .toolbar .turn-controls:not([hidden]){flex-basis:100%;margin:0;min-height:44px;gap:18px}body[data-flow=turns] #reader>.page-controls{display:none}.toolbar .turn-controls button{width:44px;height:44px;background:transparent}.toolbar .turn-progress{font-size:12px;color:var(--quiet)}}
/* The explorer follows the masechet's chapter structure. */
#pages,#mobile-pages{display:block}.explorer-perek{border-bottom:1px solid var(--rule)}.explorer-perek>summary{display:flex;flex-direction:column;position:relative;gap:4px;min-height:52px;padding:14px 0 14px 24px;list-style:none;cursor:pointer;text-align:start}.explorer-perek>summary::-webkit-details-marker{display:none}.explorer-perek>summary::after{content:'+';position:absolute;inset-inline-end:4px;top:18px;font:16px "Google Sans";color:var(--quiet)}.explorer-perek[open]>summary::after{content:'−'}.explorer-perek-name{font-family:var(--gemara-font,VilnaPFT),serif;font-size:22px;line-height:1.2;color:var(--ink)}.explorer-perek-number{font:11px "Google Sans";color:var(--quiet)}.explorer-daf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 0 16px}.explorer-perek>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chapter-choice .explorer-daf-grid{grid-template-columns:repeat(auto-fill,minmax(58px,1fr))}.chapter-choice .explorer-perek>summary{padding-block:18px}.chapter-choice .explorer-perek>summary::after{margin:0}.chapter-choice .explorer-perek-name{font-size:26px}.chapter-choice .explorer-perek-number{font-size:12px}
@media(max-width:720px){#mobile-pages{padding:4px;max-height:48dvh}.mobile-navigation-panel .explorer-daf-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.mobile-navigation-panel .explorer-perek-name{font-size:24px}.mobile-navigation-panel .explorer-perek>summary{min-height:60px;padding-block:14px}}
.explorer-perek>summary{position:sticky;top:0;z-index:1;background:var(--paper)}.mobile-navigation-panel .explorer-perek>summary{height:auto;border-radius:0;box-shadow:none;background:var(--surface)}
.vilna-mark{display:inline-block;flex:none;background:currentColor;-webkit-mask:url('/vilna-gate.png') center/contain no-repeat;mask:url('/vilna-gate.png') center/contain no-repeat}.brand-mark{width:30px;height:34px;color:var(--ink)}.library-brand,.library-home{display:inline-flex;align-items:center;gap:10px}.app-loading{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:var(--paper);color:var(--ink);opacity:0;animation:loading-appear 160ms ease-out 120ms forwards}.loading-mark{width:96px;height:112px;animation:loading-breathe 1800ms ease-in-out infinite}.loading-label{font-family:var(--gemara-font,VilnaPFT),serif;font-size:22px;color:var(--quiet)}.is-booting{overflow:hidden}.startup-error{padding:24px;font:16px/1.6 "Google Sans"}.startup-error button{padding:10px;text-decoration:underline}
@keyframes loading-appear{to{opacity:1}}@keyframes loading-breathe{0%,100%{opacity:.5}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.app-loading{opacity:1;animation:none}.loading-mark{animation:none}}
@media(max-width:720px){.brand-mark{width:24px;height:28px}.library-home{gap:7px}}
.inline-rashi .inline-gemara{font-family:var(--gemara-font,VilnaPFT),serif;color:var(--ink);font-style:normal}
.central-icon{width:20px;height:20px;flex:none;vertical-align:middle;pointer-events:none}.has-icon{display:inline-flex;align-items:center;justify-content:center;gap:8px}.modes .has-icon,.flow-options .has-icon{display:block}.modes .central-icon,.flow-options .central-icon{display:block;margin:0 auto 8px}.theme-options .central-icon{position:absolute;top:8px;right:8px;width:15px;height:15px}.theme-options button{position:relative}.appearance-open .central-icon{width:23px;height:23px}.reader-actions button{min-height:44px}.turn-quick-actions .central-icon{width:18px;height:18px}#reader-toasts{position:relative;z-index:10000}[data-sonner-toast]{direction:rtl;text-align:right}[data-sonner-toast] [data-description]{color:var(--quiet)!important}[data-sonner-toast] button{min-height:36px}[data-sonner-toast] [data-icon]{margin-inline:0 10px}
@media(prefers-reduced-motion:reduce){[data-sonner-toaster],[data-sonner-toast]{animation:none!important;transition:none!important}}
.theme-options .has-icon{display:block}.theme-options .central-icon{top:8px;right:8px}.theme-options button>span{display:grid;place-items:center}
summary.has-central-icon::after{display:none!important}summary.has-central-icon>.central-icon{margin-inline-start:8px;width:16px;height:16px}details[open]>summary.has-central-icon>.central-icon{transform:rotate(180deg)}#mobile-navigation>summary>.central-icon{margin-inline-start:10px}
.toast-loading-icon{display:flex;animation:toast-spin 1.1s linear infinite}@keyframes toast-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.toast-loading-icon{animation:none}}
:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
#appearance .animated-segments{position:relative;isolation:isolate}#appearance .animated-segments>button{position:relative;z-index:1;background:transparent;box-shadow:none;border-color:transparent}#appearance .animated-segments>button[aria-pressed=true]{background:transparent;box-shadow:none}#appearance .animated-segments>button:hover:not(:disabled){background:transparent;color:var(--ink)}.segment-indicator{position:absolute;left:0;pointer-events:none;background:var(--surface);border-radius:8px;box-shadow:0 0 0 1px var(--rule),0 1px 3px #00000008;z-index:0}.segments-ready>.segment-indicator{transition:transform 220ms var(--ease-in-out)}[data-segment-input=keyboard]>.segment-indicator{transition:none}.drawer-controls{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.drawer-handle{flex-shrink:0;cursor:grab}.drawer-handle:active{cursor:grabbing}#appearance.vaul-appearance{display:flex;flex-direction:column}.drawer-overlay[data-state=closed]{animation-timing-function:var(--ease-out)}
@media(prefers-reduced-motion:reduce){.segments-ready>.segment-indicator{transition:none}}
#reader .page-top{display:block}.heading-control{position:relative;display:grid;width:100%;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) auto;gap:clamp(10px,2vw,24px);align-items:baseline;padding:4px 0 12px;font:inherit;text-align:center;line-height:inherit;color:inherit;border-radius:4px}.heading-control>.central-icon{position:absolute;bottom:-7px;left:calc(50% - 8px);width:16px;height:16px;background:var(--paper);color:var(--quiet)}.heading-control:hover:not(:disabled){background:transparent}.heading-control:focus-visible{outline-offset:8px}.without-perek .heading-control{grid-template-columns:1fr auto}.flow-heading{display:block}.flow-heading .heading-control{font:inherit}.toolbar .identity>.book-icon{display:none}.navigation-pane>h2{font:600 18px "Google Sans";margin:0 0 24px}.navigation-pane #tractate-select{width:100%;max-width:none;background:var(--soft);border-radius:8px;padding:10px 12px}.navigation-pane #chapter-name{display:none}.navigation-pane .page-controls{margin:16px 0 24px}.navigation-pane #mobile-pages{display:block;max-height:none;overflow:visible;padding:0}.navigation-pane .explorer-daf-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.navigation-pane .page-link{min-height:44px}.navigation-pane .explorer-perek>summary{position:static;padding-block:16px}.toolbar .library-home{border:0;padding:0}
.navigation-pane #mobile-pages{max-height:48dvh;overflow-y:auto;overscroll-behavior:contain}

/* A curled sheet is always a complete amud, fitted independently of scroll size. */
body[data-flow=turns] .size-row{display:none}
.turn-content{line-height:1.5}
.turn-content .flow-content,.turn-content .combined-text{font-size:inherit;line-height:inherit}
.turn-progress:empty{display:none}

/* Keep interface copy outside the reading text. */
.reading-key.sr-only{display:none}
.library-home,#appearance-open{min-width:44px;min-height:44px}
.reader-actions button,.turn-quick-actions button{width:44px;height:44px;padding:10px}
.library-main{padding-top:32px}
.library-search{margin-top:24px}

/* Apply to paragraphs only, including offscreen curl measurements. */
.combined-text{text-align:justify;text-align-last:right;text-justify:inter-word}
:root[data-alignment=justify-center] .combined-text{text-align-last:center}
:root[data-alignment=right] .combined-text{text-align:right;text-align-last:right}
.alignment-setting{display:flex;align-items:center;justify-content:space-between;gap:16px}
.alignment-setting label{font-size:13px;color:var(--quiet)}
.alignment-setting select{min-height:44px;max-width:75%;border:0;border-radius:8px;padding:8px 12px;background:var(--soft);font-size:14px}

/* The complete printed page turns together. Allow the curl beyond its flat bounds. */
body[data-flow=turns] #reader>.page-top,body[data-flow=turns] #reader>#missing-rashi{display:none}
body[data-flow=turns] #text:not(.turn-failed){overflow:visible;clip-path:inset(-24px);isolation:isolate}
.curl-amud>.flow-heading{font-size:clamp(17px,4vw,25px);line-height:1.2;margin:0 0 18px;padding-bottom:10px}
.curl-amud>.coverage-note{font:11px/1.4 "Google Sans",sans-serif;margin:0 0 12px}
.turn-content{padding-bottom:4px}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* Reading position stays in the app bar; each amud starts at a printed divider. */
.current-daf{display:none!important}
body[data-flow=continuous] .toolbar .current-daf{display:inline-flex!important;flex-direction:row-reverse;gap:8px;min-height:44px;padding:6px 12px;border-radius:10px;font:23px/1.2 var(--gemara-font,VilnaPFT),serif;white-space:nowrap}
.current-daf>.central-icon{width:14px;height:14px;color:var(--quiet)}
body[data-flow=continuous] .toolbar .identity{min-width:44px}
body[data-flow=continuous] .flow-daf+.flow-daf{margin-top:48px;padding-top:28px;border-top:1px solid var(--rule)}
body[data-flow=continuous] .flow-daf>.flow-heading .heading-control>span:last-of-type{padding:4px 9px;background:var(--soft);border-radius:6px;font-size:1.15em;white-space:nowrap}
@media(max-width:720px){body[data-flow=continuous] .toolbar .current-daf{font-size:21px;padding-inline:8px}body[data-flow=continuous] .toolbar{justify-content:space-between}}
body[data-flow=continuous] .toolbar{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--rule)}
body[data-flow=continuous] .toolbar .current-daf{position:absolute;left:50%;transform:translateX(-50%);max-width:calc(100% - 140px)}
body[data-flow=continuous] .current-daf bdi{overflow:hidden;text-overflow:ellipsis}
/* Red lettering sampled from the Vilna title-page reference. */
:root{--vilna-red:#8e4147;--vilna-accent:var(--vilna-red)}
:root[data-theme=dark],:root[data-theme=gray]{--vilna-accent:#da969c}
.brand-mark,.loading-mark{color:var(--vilna-accent)}
.page-link[aria-current=page]::after{background:var(--vilna-accent)}
#appearance .modes button[aria-pressed=true]>.central-icon,#appearance .flow-options button[aria-pressed=true]>.central-icon{color:var(--vilna-accent)}
.resume-reading{border-inline-start:2px solid var(--vilna-accent)}
.tractate[open]>summary>.central-icon{color:var(--vilna-accent)}

/* Outer-margin folio: recto on the left, verso on the right in a Hebrew book. */
.heading-control>.running-chapter,.heading-control>.running-tractate{font-weight:700}
.heading-control>.running-perek,.heading-control>.running-daf{font-weight:400}
.heading-control[data-amud=b]{grid-template-columns:auto minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr)}
.heading-control[data-amud=b]>.running-daf{grid-column:1;grid-row:1}
.heading-control[data-amud=b]>.running-chapter{grid-column:2;grid-row:1}
.heading-control[data-amud=b]>.running-perek{grid-column:3;grid-row:1}
.heading-control[data-amud=b]>.running-tractate{grid-column:4;grid-row:1}
/* Color swatches and reading choices explain themselves without pictograms. */
#appearance .modes button,#appearance .flow-options button{min-height:44px;padding:12px 8px}
#appearance .size-row button{display:inline-flex;align-items:baseline;justify-content:center;gap:6px;font-family:var(--gemara-font,VilnaPFT),serif;font-size:24px}
#appearance .size-row button span{font:14px "Google Sans",sans-serif}

/* App typography and theme are independent of document preferences. */
:root{--gemara-font:VilnaPFT;--rashi-font:Rashi}

#reader[data-theme=light],.turn-measure[data-theme=light]{color-scheme:light;--paper:#fff;--ink:#242321;--quiet:#77736d;--accent:#8e4147;--line:#e7e4df;--selected:#f1ede7;--comment:#6a5340}
#reader[data-theme=dark],.turn-measure[data-theme=dark]{color-scheme:dark;--paper:#151515;--canvas:#101010;--ink:#e7e4df;--quiet:#aaa59e;--accent:#d89498;--line:#303030;--selected:#292725;--comment:#c4ad91}
#reader[data-theme=cream],.turn-measure[data-theme=cream]{color-scheme:light;--paper:#f7f0df;--canvas:#eee6d4;--ink:#362f25;--quiet:#766b5c;--accent:#785635;--line:#ded3bf;--selected:#e9ddc6;--comment:#69533d}
#reader[data-theme=paper],.turn-measure[data-theme=paper]{color-scheme:light;--paper:#e9d9b9;--canvas:#dfccaa;--ink:#352c21;--quiet:#6d5d48;--accent:#704923;--line:#cebb99;--selected:#d9c5a0;--comment:#65482d}
#reader[data-theme=gray],.turn-measure[data-theme=gray]{color-scheme:dark;--paper:#404040;--canvas:#353535;--ink:#e6e6e6;--quiet:#b8b8b8;--accent:#ededed;--line:#595959;--selected:#505050;--comment:#c6c6c6}
body[data-reader-theme=light]{--reader-paper:#fff}body[data-reader-theme=cream]{--reader-paper:#f7f0df}body[data-reader-theme=paper]{--reader-paper:#e9d9b9}body[data-reader-theme=gray]{--reader-paper:#404040}body[data-reader-theme=dark]{--reader-paper:#151515}
#reader,.turn-measure{--rule:color-mix(in srgb,var(--ink) 11%,transparent);--surface:color-mix(in srgb,var(--paper) 97%,white);--soft:color-mix(in srgb,var(--ink) 5%,var(--paper));background:var(--paper);color:var(--ink)}
.turn-book,.turn-book .stf__parent{touch-action:none}
:root{--app-paper:#f7f0df;--app-ink:#362f25;--app-quiet:#766b5c;--app-selected:#e9ddc6}
:root[data-theme=dark]{--app-paper:#151515;--app-ink:#e7e4df;--app-quiet:#aaa59e;--app-selected:#292725}
.reader-actions,.turn-controls,.page-bottom,.flow-loader{--paper:var(--app-paper);--ink:var(--app-ink);--quiet:var(--app-quiet);--selected:var(--app-selected);--soft:color-mix(in srgb,var(--app-ink) 5%,var(--app-paper));color:var(--app-ink);background:var(--app-paper);--gemara-font:VilnaPFT;--rashi-font:Rashi}
/* Library: calm chrome, a real page preview, and one disclosure per masechet. */
.library-header{justify-content:center;padding:48px 24px 24px}
.library-header .library-brand{flex-direction:column;gap:12px;font:25px VilnaPFT,serif;color:var(--ink)}
.library-header .brand-mark{width:38px;height:46px}
.library-main{max-width:980px;padding:28px 40px 64px}
.library-tools{display:flex;align-items:center;gap:20px;margin:40px 0 36px}
.library-search{position:relative;flex:1;margin:0;display:block}
.library-search input{width:100%;max-width:none;height:52px;padding:12px 18px;border:1px solid var(--rule);border-radius:14px;background:var(--soft);font:16px "Google Sans",sans-serif;outline:none;box-shadow:none;transition:border-color 150ms,box-shadow 150ms}
.library-search input:focus{border-color:var(--vilna-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--vilna-accent) 12%,transparent)}
.library-search input::placeholder{color:var(--quiet);opacity:.8}
::selection{background:color-mix(in srgb,#8e4147 24%,#f7f0df);color:#362f25}
.library-views{display:flex;padding:4px;background:var(--soft);border-radius:12px;gap:4px}
.library-views button{min-height:44px;padding:8px 14px;border-radius:9px;font:13px "Google Sans",sans-serif;color:var(--quiet)}
.library-views button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 1px 4px #0000000a}
.library-page .resume-reading{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:220px;margin:0;padding:36px 40px;border:1px solid var(--rule);border-radius:22px;background:var(--soft);overflow:hidden;text-align:right;isolation:isolate}
.library-page .resume-reading[hidden]{display:none}
.resume-copy{display:flex;flex-direction:column;gap:12px;z-index:1}
.resume-eyebrow{font:13px "Google Sans",sans-serif;color:var(--quiet)}
.resume-title{font:400 40px/1.2 VilnaPFT,serif;color:var(--ink)}
.resume-preview{display:block;width:240px;height:180px;flex:none;position:relative;pointer-events:none;user-select:none}
.resume-sheet{display:block;position:absolute;top:0;inset-inline-end:0;width:220px;min-height:320px;padding:20px;background:var(--paper);color:var(--ink);border:1px solid var(--rule);box-shadow:0 6px 22px #00000012;transform:rotate(-7deg);transform-origin:50% 90%;font:8px/1.5 VilnaPFT,serif;text-align:justify;transition:transform 220ms cubic-bezier(.23,1,.32,1)}
.preview-heading{display:block;text-align:center;border-bottom:1px solid var(--ink);padding-bottom:8px;margin-bottom:10px;font-size:13px;font-weight:700}
.preview-paragraph{display:block;margin-bottom:6px}.preview-rashi{font-family:Rashi,serif;color:var(--quiet)}
@media(hover:hover){.resume-reading:hover .resume-sheet{transform:rotate(-3deg) translateY(-4px)}}
.library-footer{padding-top:64px;text-align:center;font-size:13px}.library-footer a{color:var(--quiet)}
.library-perek{padding:24px 0;border-top:1px solid var(--rule)}
.library-perek h2{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0 0 18px;text-align:right}
.perek-ordinal{font:12px "Google Sans",sans-serif;color:var(--quiet)}
.perek-title{font:26px/1.2 VilnaPFT,serif;color:var(--ink)}
.tractate-contents .chapter-choice{padding:0 4px 12px}
.tractate>summary .central-icon{transition:transform 220ms cubic-bezier(.23,1,.32,1)}
.tractate[open]>summary .central-icon{transform:rotate(180deg)}
.tractate>summary::after{display:none}
.tractate-list[data-view=grid]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px}
.tractate-list[data-view=grid]>.tractate{border:1px solid var(--rule);border-radius:16px;background:var(--soft);padding:0 20px}
.tractate-list[data-view=grid]>.tractate[open]{grid-column:1/-1;background:transparent}
.tractate-list[data-view=grid]>.tractate>summary{min-height:100px}
.tractate-list[data-view=grid] .tractate-title{font-size:30px}
@media(max-width:720px){.library-main{padding:24px 24px 56px}.library-header{padding-top:32px}.library-tools{margin:28px 0 30px;gap:10px;flex-wrap:wrap}.library-search{flex-basis:100%}.library-views{margin-inline-start:auto}.library-page .resume-reading{min-height:184px;padding:24px;gap:8px}.resume-title{font-size:30px}.resume-preview{width:130px;height:136px}.resume-sheet{width:150px;padding:12px;font-size:6px;min-height:250px;top:12px;inset-inline-end:-16px}.resume-copy{flex:none}.tractate-list[data-view=grid]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tractate-list[data-view=grid]>.tractate{padding:0 14px}.tractate-list[data-view=grid] .tractate-title{font-size:27px}}
@media(prefers-reduced-motion:reduce){.resume-sheet,.tractate>summary .central-icon,.library-search input{transition:none}}
.resume-sheet{height:320px;overflow:hidden}
@media(max-width:720px){.resume-sheet{height:250px}}

/* The document paints its own surface; the surrounding reader stays app-colored. */
#reader{background:transparent}
#reader>#text{background:var(--paper)}
body[data-flow=continuous] .layout{background:var(--reader-paper,var(--app-paper))}
body[data-flow=continuous] .sidebar{background:var(--app-paper)}
body[data-flow=continuous] #reader,body[data-flow=continuous] #reader>#text{background:transparent}
:root{--app-color-scheme:light}:root[data-theme=dark]{--app-color-scheme:dark}
.reader-actions,.turn-controls,.page-bottom,.flow-loader{color-scheme:var(--app-color-scheme);--accent:var(--app-ink);--line:color-mix(in srgb,var(--app-ink) 11%,transparent);--canvas:var(--app-paper)}
.turn-book[data-mirrored=true]{transform:scaleX(-1)}
.turn-book[data-mirrored=true] .turn-content{transform:scaleX(-1)}

/* Desktop navigation holds all app actions; the printed head stays quiet. */
.flow-options button.has-icon{display:flex;flex-direction:column;align-items:center;gap:8px}
.flow-options .central-icon{width:26px;height:26px;margin:0}
.print-document{display:none}
#appearance.desktop-appearance{position:fixed;inset:0;margin:auto;width:min(460px,calc(100vw - 48px));max-height:calc(100dvh - 64px);border-radius:24px;padding:28px;animation:settings-in 180ms ease-out}
.desktop-dialog-close{position:absolute;left:16px;top:16px;width:36px;height:36px;border-radius:50%;font:24px "Google Sans";color:var(--quiet);background:var(--soft)}
@keyframes settings-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media(min-width:721px){
 body:not(.library-page)>.toolbar{display:none}
 .sidebar{top:0;height:100dvh;width:272px;padding:24px 20px;display:flex;flex-direction:column;gap:20px;overflow:hidden;border-inline-end:1px solid var(--rule)}
 .layout{padding-top:0}.layout #reader{margin-right:272px;width:calc(100% - 272px);padding:36px clamp(24px,5vw,80px) 48px}
 .sidebar-tools{display:flex;align-items:center;justify-content:space-between;flex:none}
 .sidebar-tools .appearance-open{position:static;box-shadow:none;border:0;background:var(--soft);padding:10px;min-width:44px}
 .sidebar-tools .library-home{border:0;padding:4px}
 .sidebar-tractate #tractate-select{display:block;width:100%;max-width:none;border:1px solid var(--rule);border-radius:12px;background:var(--soft);padding:12px;font:28px VilnaPFT,serif;color:var(--ink)}
 .sidebar-current{display:none}.sidebar #pages{min-height:0;flex:1;overflow:auto;padding:0 4px;scrollbar-width:thin}
 .sidebar .explorer-daf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:10px 0 20px}
 .sidebar .page-link{display:grid;place-items:center;min-height:42px;padding:6px;border:1px solid transparent;border-radius:9px;font:22px/1 VilnaPFT,serif;color:var(--ink);transition:background 140ms,border-color 140ms}
 .sidebar .page-link:hover{background:var(--soft);border-color:var(--rule)}
 .sidebar .page-link[aria-current=page]{background:var(--selected);border-color:var(--vilna-accent);color:var(--ink)}
 .sidebar .explorer-perek>summary{position:static;padding:14px 0;gap:6px}
 .sidebar .explorer-perek-name{font:24px VilnaPFT,serif}.sidebar .explorer-perek-number{font:12px "Google Sans";color:var(--quiet)}
 .sidebar-actions{order:3;border-top:1px solid var(--rule);padding-top:14px}.sidebar .source-link{order:4;margin:0;font-size:12px}
 .sidebar .reader-actions{display:grid;grid-template-columns:1fr 1fr;margin:0;gap:6px;background:transparent}
 .sidebar .reader-actions button{display:flex;align-items:center;justify-content:flex-start;gap:8px;border:0;padding:10px 8px;font:13px "Google Sans";color:var(--ink)}
 .sidebar #report-issue{font-size:11px;color:var(--quiet)}
 .heading-control:not(button){cursor:default;grid-template-columns:repeat(3,minmax(0,1fr));position:relative;padding-inline:32px}
 .heading-control:not(button) .running-daf{position:absolute;inset-inline-start:0;top:4px}
 .heading-control:not(button)[data-amud=a] .running-daf{inset-inline-start:auto;inset-inline-end:0}
 .heading-control:not(button)>.central-icon{display:none}
 body[data-flow=continuous] #text{padding:28px}
}
@media(max-width:720px){.sidebar-tools,.sidebar-tractate,.sidebar-actions{display:none}body[data-flow=turns] #reader>.reader-actions{display:flex;justify-content:center;margin:12px 0 24px}.reader-actions button{font-size:12px}}
@media(prefers-reduced-motion:reduce){#appearance.desktop-appearance{animation:none}.sidebar .page-link{transition:none}}

/* Motion stays on controls. Reading text and page changes remain immediate. */
.theme-options button>span{position:relative;outline:0!important}
.theme-options button>span::after{content:'';position:absolute;inset:2px;border:2px solid var(--accent);border-radius:9px;opacity:0;pointer-events:none;transition:opacity 125ms var(--ease-out)}
.theme-options button[aria-pressed=true]>span::after{opacity:1}
.theme-options[data-theme-input=keyboard] button>span::after{transition:none}
#appearance .theme-options>button:hover:not(:disabled){background:transparent}
.library-views.animated-segments{position:relative;isolation:isolate}
.library-views.animated-segments>button{position:relative;z-index:1;background:transparent;box-shadow:none}
.library-views .segment-indicator{background:var(--paper);border-radius:9px;box-shadow:0 1px 4px #0000000a}
.library-views.segments-ready>.segment-indicator{transition:transform 220ms var(--ease-in-out)}
.library-views[data-segment-input=keyboard]>.segment-indicator{transition:none}
@media(prefers-reduced-motion:reduce){.theme-options button>span::after{transition:opacity 100ms linear!important}.theme-options[data-theme-input=keyboard] button>span::after{transition:none!important}.library-views .segment-indicator{transition:none!important}}
@media print{
 @page{size:A4;margin:15mm}
 body>*:not(#print-document){display:none!important}
 #print-document{display:block!important;background:white;color:black;font:10.5pt/1.48 var(--gemara-font),serif;text-align:justify;--ink:#111;--paper:white;--comment:#111}
 #print-document .inline-rashi{font-family:var(--rashi-font),serif;color:#333}
 #print-document .heading-control{grid-template-columns:repeat(3,minmax(0,1fr));font-size:20pt}
 #print-document .central-icon{display:none}#print-document .segment{margin-bottom:.48em}#print-document .combined-text{text-align:justify;text-align-last:right}
}
/* Shared sidebar rhythm: compact tools, open navigation, quiet action rows. */
@media(min-width:721px){
 .layout{display:grid;grid-template-columns:272px minmax(0,1fr);max-width:none;isolation:isolate}
 .layout #reader{width:100%;min-width:0;margin:0;padding:32px clamp(24px,4vw,64px) 48px}
 .sidebar{gap:20px;padding:24px 20px 18px;border-left:1px solid var(--rule);border-inline-end:0}
 .sidebar-tools{min-height:36px}.sidebar-tools .brand-mark{width:25px;height:32px}
 .sidebar-tools .appearance-open{min-height:36px;height:36px;min-width:36px;padding:6px;border-radius:8px;background:transparent}
 .sidebar-tools .appearance-open:hover{background:var(--soft)}
 .sidebar-tractate{position:relative;border-bottom:1px solid var(--rule);padding-bottom:16px}
 .sidebar-tractate #tractate-select{appearance:none;border:0;background:transparent;border-radius:8px;padding:8px 4px 8px 28px;font-size:30px;min-height:44px}
 .sidebar-tractate::after{content:'⌄';position:absolute;left:8px;top:13px;pointer-events:none;color:var(--quiet);font:16px "Google Sans"}
 .sidebar-tractate #tractate-select:hover{background:var(--soft)}
 .sidebar #pages{padding:0 4px;scrollbar-color:color-mix(in srgb,var(--ink) 18%,transparent) transparent;scroll-padding-block:16px}
 .sidebar .explorer-perek{position:relative;border:0}
 .sidebar .explorer-perek::after{content:'';position:absolute;inset:auto 0 0;height:1px;background:var(--rule);opacity:1;pointer-events:none}
 .sidebar .explorer-perek>summary{display:grid;grid-template-columns:1fr 20px;gap:5px 10px;padding:16px 6px;text-align:right;border-radius:8px}
@media(hover:hover) and (pointer:fine){
  .sidebar .explorer-perek::after{transition:opacity 140ms var(--ease-out)}
  .sidebar .explorer-perek:has(>summary:hover)::after,
  .sidebar .explorer-perek:has(+.explorer-perek>summary:hover)::after{opacity:0}
  .sidebar .explorer-perek>summary:hover{background:var(--soft)}
}
@media(prefers-reduced-motion:reduce){
  .sidebar .explorer-perek::after{transition:none}
}
 .sidebar .explorer-perek-number{grid-row:1;grid-column:1;font:12px "Google Sans";color:var(--quiet)}
 .sidebar .explorer-perek-name{grid-row:2;grid-column:1;font:22px VilnaPFT,serif}
 .sidebar .explorer-perek>summary>.central-icon{grid-row:1/3;grid-column:2;width:16px;height:16px;align-self:center;margin:0;color:var(--quiet)}
 .sidebar .explorer-daf-grid{gap:4px;padding:0 4px 16px}
 .sidebar .page-link{min-height:36px;border:0;font:21px VilnaPFT,serif;border-radius:8px;transition:none}
 .sidebar .page-link[aria-current=page]{background:#8e4147;color:#fff;border:0;box-shadow:none;text-decoration:none}
 .sidebar .reader-actions{display:flex;flex-direction:column;gap:2px}
 .sidebar .reader-actions button{width:100%;min-height:36px;height:36px;padding:6px 8px 6px 12px;border-radius:8px;font-size:14px;transition:none;color:var(--ink)}
 .sidebar .reader-actions button:hover{background:var(--soft)}
 .sidebar #print-page{padding-inline-start:36px}
 .sidebar #report-issue{min-height:28px;height:28px;font-size:12px;color:var(--quiet)}
 .sidebar-actions{padding-top:12px}.sidebar .source-link{font-size:12px;padding:0 8px}
 .sidebar button:focus-visible,.sidebar a:focus-visible,.sidebar select:focus-visible{outline:2px solid var(--vilna-accent);outline-offset:2px}
}
@media(min-width:721px){body[data-flow=continuous] .flow-daf>.flow-heading .heading-control>.running-daf{padding:0;background:transparent;border-radius:0;font-size:.85em}}
@media(pointer:coarse) and (min-width:721px){.sidebar .page-link,.sidebar .reader-actions button,.sidebar-tools .appearance-open{min-height:48px;height:auto}}

.tractate-picker{display:none}
.tractate-popover{position:fixed;inset:var(--picker-top) var(--picker-right) auto auto;margin:0;width:min(300px,calc(100vw - 32px));padding:8px;border:1px solid var(--rule);border-radius:16px;background:var(--paper);color:var(--ink);box-shadow:0 16px 48px #00000018;overflow:hidden;direction:rtl}
.tractate-picker-search{width:100%;height:40px;padding:8px 12px;border:0;border-bottom:1px solid var(--rule);border-radius:8px 8px 0 0;background:transparent;color:var(--ink);font:14px "Google Sans";outline:none}
.tractate-picker-search:focus-visible{box-shadow:inset 0 -2px var(--vilna-accent)}
.tractate-picker-list{max-height:min(420px,calc(100dvh - var(--picker-top) - 90px));min-height:0;overflow:auto;padding:6px 0;scrollbar-width:thin;scrollbar-color:var(--rule) transparent}
.tractate-option{display:block;width:100%;min-height:38px;padding:7px 12px;border-radius:8px;text-align:right;font:22px VilnaPFT,serif;transition:none}
.tractate-option[hidden]{display:none}.tractate-option[aria-selected=true]{background:var(--soft);color:var(--vilna-accent)}
.tractate-option .central-icon{float:left;margin-top:4px}
.tractate-option:hover,.tractate-option:focus-visible{background:var(--selected);outline:none}
.tractate-picker-empty{font:14px "Google Sans";color:var(--quiet);padding:12px}
:root[data-theme=dark] .tractate-popover{box-shadow:none}
@media(min-width:721px){.sidebar-tractate #tractate-select{display:none}.sidebar-tractate::after{display:none}.tractate-picker{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;gap:12px;padding:8px;border-radius:10px;font:30px VilnaPFT,serif;transition:none}.tractate-picker:hover,.tractate-picker[aria-expanded=true]{background:var(--soft)}.tractate-picker>.central-icon{width:20px;height:20px;color:var(--quiet);flex:none}.tractate-picker-label{min-width:0}}
@media(prefers-reduced-motion:no-preference){.tractate-popover:popover-open{animation:settings-in 150ms ease-out}}

/* One outlined Central icon family at one compact size. */
.central-icon,.appearance-open .central-icon,.flow-options .central-icon,.sidebar .central-icon,.tractate-picker>.central-icon,.turn-quick-actions .central-icon{width:16px;height:16px;flex-shrink:0}
@media(min-width:721px){.sidebar #print-page{padding-inline-start:8px}}

@media(min-width:721px){body[data-flow=continuous] .flow-daf>.flow-heading .heading-control>.running-daf:last-of-type{padding:0;background:transparent;border-radius:0;font-size:.85em}}
/* Appearance controls preview document fonts; interface text uses Google Sans. */
:root{--ui-font:'Google Sans',sans-serif}
body,input,select,textarea{font-family:var(--ui-font)}
#appearance button:not(.font-picker):not(.font-option){font-family:var(--ui-font)}
.font-setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.font-setting-row+.font-setting-row{border-top:1px solid var(--rule)}
.font-setting-label{font:14px var(--ui-font);color:var(--quiet);flex:none}
.font-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;max-width:78%;min-height:44px;padding:8px 10px;border-radius:8px;background:transparent;font:23px var(--choice-font),serif;color:var(--ink)}
.font-picker-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-picker .central-icon{flex:none;color:var(--quiet)}
.font-popover{position:fixed;inset:var(--font-menu-top) var(--font-menu-right) auto auto;margin:0;width:min(310px,calc(100vw - 32px));max-height:320px;overflow:auto;padding:8px;border:1px solid var(--rule);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:0 16px 48px #0002;scrollbar-width:thin;direction:rtl}
.font-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:8px 12px;border-radius:8px;text-align:right;font:24px var(--choice-font),serif;color:var(--ink);transition:none}
.font-option[aria-selected=true]{background:var(--soft);color:var(--vilna-accent)}
.font-option:focus-visible{outline:2px solid var(--vilna-accent);outline-offset:-2px}
#appearance .font-settings{padding-inline:0}
#appearance .theme-options button{padding:0;border-radius:12px}
#appearance .theme-options button>.theme-preview{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;height:72px;margin:0;padding:8px;line-height:1}
.theme-preview .theme-gemara{font:26px/1 var(--preview-gemara-font,VilnaPFT),serif}
.theme-preview .theme-rashi{font:26px/1 var(--preview-rashi-font,Rashi),serif}
.alignment-options{display:flex;gap:4px;padding:4px;background:var(--soft);border-radius:10px}
.alignment-option{display:grid;place-items:center;width:40px;height:36px;border-radius:7px}
.alignment-option[aria-pressed=true]{background:var(--paper);color:var(--vilna-accent);box-shadow:0 1px 3px #0001}
.alignment-options .segment-indicator{border-radius:7px}
#appearance .size-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;align-items:center;margin-top:22px;padding:12px 14px;border:0;border-radius:12px;background:var(--soft)}
.size-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;font:13px var(--ui-font);color:var(--ink)}
.size-label{white-space:nowrap}
.size-caption output{display:grid;place-items:center;min-width:30px;height:26px;padding-inline:5px;border:1px solid var(--rule);border-radius:6px;background:var(--surface);color:var(--quiet);font:12px var(--ui-font);font-variant-numeric:tabular-nums}
.size-adjuster{direction:ltr;display:grid;grid-template-columns:28px minmax(0,1fr) 28px;gap:8px;align-items:center;min-width:0}
#appearance .size-adjuster>button{width:28px;min-width:28px;height:28px;min-height:28px;padding:0;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--quiet)}
#appearance .size-adjuster>button:hover:not(:disabled){background:var(--surface);color:var(--ink)}
#appearance .size-adjuster>button:active:not(:disabled){transform:scale(.94)}
#appearance .size-adjuster>button:disabled{opacity:.28}
.size-step{font:18px/1 var(--ui-font);transform:translateY(-1px)}
.size-slider{width:100%;height:20px;margin:0;accent-color:#8e4147;cursor:pointer;direction:ltr}
.size-slider:disabled{opacity:.35;cursor:default}
:root[data-theme=dark] .font-popover{box-shadow:none}
@media(max-width:720px){.font-setting-label{font-size:16px}.alignment-option{width:44px;height:44px}#appearance .size-row{grid-template-columns:92px minmax(0,1fr);gap:12px}.size-caption{font-size:14px}.size-caption output{font-size:13px}}
.size-slider{appearance:none;-webkit-appearance:none;background:transparent;height:24px}
.size-slider::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,#8e4147 var(--size-progress),var(--rule) var(--size-progress))}
.size-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#8e4147;border:2px solid var(--paper);box-shadow:0 0 0 1px #8e4147;margin-top:-6px}
.size-slider::-moz-range-track{height:4px;background:var(--rule);border-radius:2px}.size-slider::-moz-range-progress{height:4px;background:#8e4147}.size-slider::-moz-range-thumb{width:14px;height:14px;border:2px solid var(--paper);border-radius:50%;background:#8e4147}
.size-slider:focus-visible{outline:2px solid var(--vilna-accent);outline-offset:4px;border-radius:4px}
#appearance.desktop-appearance .setting-section{margin-top:16px}
#appearance.desktop-appearance .appearance-heading{margin-bottom:16px}
#appearance.desktop-appearance .font-setting-row{min-height:54px}
/* Interface defaults are scoped away from the document typography. */
:root{--ui-type-size:13px;--ui-small-weight:400;--ui-small-grade:17.5;--ui-nav-size:23px;--ui-tractate-size:35px;--ui-icon-size:16px;--ui-icon-stroke:1.75}
:is(.sidebar,.toolbar,#appearance,.font-popover,.tractate-popover,.library-page,.reader-actions,.turn-controls) .central-icon{width:var(--ui-icon-size);height:var(--ui-icon-size)}
:is(.sidebar,.toolbar,#appearance,.font-popover,.tractate-popover,.library-page,.reader-actions,.turn-controls) .central-icon [stroke]{stroke-width:var(--ui-icon-stroke)}
.sidebar .reader-actions button,.font-setting-label,.size-caption,.size-caption output,.alignment-setting label,.tractate-picker-search,.library-views button,.resume-eyebrow,.library-footer,#appearance .setting-section h3,#appearance .modes button,#appearance .flow-options button{font-size:var(--ui-type-size);font-weight:var(--ui-small-weight);font-variation-settings:"GRAD" var(--ui-small-grade)}
.sidebar .page-link,.sidebar .explorer-perek-name{font-size:var(--ui-nav-size)}
.tractate-picker,.tractate-list .tractate-title{font-size:var(--ui-tractate-size)}
[data-sonner-toaster]{font-family:var(--ui-font)}
/* Vilna running title: one regular face and size, centered title, outer daf. */
:is(#reader,.turn-measure) .flow-heading{font-family:var(--gemara-font,VilnaPFT),serif;font-size:1.5em;font-weight:400;border:0;padding:0;margin:0 0 1em}
:is(#reader,.turn-measure) .flow-heading .heading-control,#print-document .heading-control{display:flex;justify-content:center;align-items:baseline;gap:1.6ch;padding:0 2ch;position:relative;font:inherit;line-height:1.25}
:is(#reader,.turn-measure) .flow-heading .heading-control>span,#print-document .heading-control>span{font:inherit;font-weight:400;grid-area:auto;padding:0;background:transparent;border:0;border-radius:0}
:is(#reader,.turn-measure) .flow-heading .heading-control>.running-daf,#print-document .heading-control>.running-daf{position:absolute;inset:auto;left:0;top:0;font:inherit;padding:0;background:transparent}
:is(#reader,.turn-measure) .heading-control>.central-icon{display:none}
:is(#reader,.turn-measure) .mishnah-text,#print-document .mishnah-text{font-weight:400}
.hadran{display:block;margin:2.15em auto 1.8em;font-size:1.14em;font-weight:700;line-height:1.35;text-align:center!important;text-align-last:center!important}
.tractate-ending{margin-block:2.5em 2.8em;font-size:1.18em}
.commentary-notice{max-width:52em;margin:0 0 1.35em;padding-inline-start:12px;border-inline-start:2px solid var(--vilna-accent);font:12px/1.55 "Google Sans",sans-serif;color:var(--quiet)}
.commentary-author{display:inline-flex;align-items:center;gap:5px;margin-inline:3px 7px;vertical-align:.18em;font:600 10px/1 "Google Sans",sans-serif;white-space:nowrap;color:var(--quiet)}
.commentary-author::before,.commentary-transition-author::before{content:'';display:inline-block;width:10px;height:2px;background:var(--vilna-accent)}
.commentary-transition{display:flex;flex-direction:column;align-items:center;gap:.55em;width:100%;margin:2.1em auto 1.7em;text-align:center!important;text-align-last:center!important;color:var(--ink)}
.commentary-transition::before{content:'✦';font:12px/1 Georgia,serif;color:var(--vilna-accent)}
.commentary-transition-text{font-family:var(--gemara-font,VilnaPFT),serif;font-size:.78em;font-weight:700;line-height:1.45}
.commentary-transition-author{display:inline-flex;align-items:center;gap:6px;font:600 10px/1 "Google Sans",sans-serif;color:var(--quiet)}
.commentary-page-range{display:block}.commentary-page-range+.commentary-page-range{margin-top:10px}
.commentary-range-label,.tractate-commentary-status{display:inline-flex;align-items:center;gap:6px;font:600 10px/1.2 "Google Sans",sans-serif;color:var(--quiet)}
.commentary-range-label{margin:0 2px 8px}.commentary-range-label::before{content:'';width:9px;height:2px;background:var(--vilna-accent)}
.tractate-commentary-status{margin-inline-start:auto;padding:5px 7px;border:1px solid var(--rule);border-radius:5px}
@media print{#print-document .commentary-notice{color:#444;border-color:#8e4147}#print-document .commentary-author,#print-document .commentary-transition-author{font-family:"Google Sans",sans-serif;color:#444}#print-document .commentary-transition{break-inside:avoid}}
.chapter-opening{display:inline-block;margin-inline-end:.48em;font-size:1.16em;font-weight:700;line-height:1}
.tractate-opening{display:table;width:max-content;max-width:100%;margin:.2em auto .55em;padding:.1em .5em;border:5px double currentColor;outline:1px solid currentColor;outline-offset:3px;font-family:inherit;font-size:2.4em;font-weight:700;line-height:1.3;text-align:center}
#text .opening-trigger{display:block;width:100%;text-align:center;text-decoration:none}
#text .rashi-trigger[aria-expanded=false]{text-decoration-line:underline;text-decoration-style:dotted;text-decoration-color:color-mix(in srgb,var(--ink) 45%,transparent);text-underline-offset:.18em}
#text .rashi-trigger[aria-expanded=true]{text-decoration-line:underline;text-decoration-style:solid;text-decoration-thickness:2px;text-decoration-color:var(--accent);text-underline-offset:.18em}
#text .opening-trigger[aria-expanded=true] .tractate-opening{border-color:var(--accent)}
@media(max-width:720px){:is(#reader,.turn-measure) .flow-heading{font-size:1.18em}:is(#reader,.turn-measure) .flow-heading .heading-control{gap:.7ch;padding-inline:1.4ch}}

#print-document .flow-heading{font-family:var(--gemara-font,VilnaPFT),serif;font-size:1.5em;font-weight:400;border:0}
@media(min-width:721px){
 body[data-page-width=page] .layout #reader{max-width:860px;justify-self:center;padding-inline:32px}
 body[data-page-width=page][data-flow=turns] #text{max-width:calc((100dvh - 130px)*.707);margin-inline:auto}
}
@media(max-width:720px){.desktop-width-setting{display:none}}

/* Blank corners belong to page turning; the text remains selectable. */
.turn-content:not(.turn-measure){width:calc(100% - 72px);height:calc(100% - 72px);margin:36px}
.turn-corner{position:absolute;width:36px;height:96px;z-index:8;user-select:none;-webkit-user-select:none;touch-action:none;cursor:grab}
.turn-corner.top-left{top:0;left:0}.turn-corner.top-right{top:0;right:0}
.turn-corner.bottom-left{bottom:0;left:0}.turn-corner.bottom-right{bottom:0;right:0}
.is-turn-dragging,.is-turn-dragging *{user-select:none!important;-webkit-user-select:none!important;cursor:grabbing!important}

/* Generated Vilna ornament is an alpha mask, so paper and ink stay theme-aware. */
.tractate-opening{position:relative;box-sizing:border-box;display:grid;width:360px;height:180px;max-width:90vw;margin:.25em auto .7em;padding:28px;border:0;outline:0;place-items:center;font-size:2.65em}
.tractate-opening::before{content:'';position:absolute;inset:0;background:currentColor;mask:url('/vilna-opening-frame.png') center/100% 100% no-repeat;-webkit-mask:url('/vilna-opening-frame.png') center/100% 100% no-repeat;pointer-events:none}
@media(max-width:720px){.tractate-opening{width:280px;height:140px;padding:22px;font-size:2.25em}}

/* Download status stays compact and high contrast on every paper theme. */
[data-sonner-toast].download-toast{background:#222220!important;color:#faf9f6!important;border:0!important;border-radius:6px!important;box-shadow:none!important;padding:10px 14px!important;gap:10px;font:400 13px/1.4 var(--ui-font)!important;font-variation-settings:"GRAD" 17.5;transition:transform 180ms var(--ease-out),opacity 180ms var(--ease-out)!important}
[data-sonner-toast].download-toast>*{transition:opacity 120ms var(--ease-out)}
[data-sonner-toast].download-toast [data-icon]{margin:0;width:16px;height:16px}
[data-sonner-toast].download-toast .central-icon{width:16px;height:16px}
[data-sonner-toast].download-toast [data-description]{color:#d5d3ce!important}
[data-sonner-toast].download-toast [data-button]{background:#faf9f6!important;color:#222220!important;border-radius:4px;box-shadow:none;min-height:28px;height:28px;padding:0 10px;font:inherit}
[data-sonner-toast].download-toast.keyboard-toast{transition:none!important}
@media(prefers-reduced-motion:reduce){[data-sonner-toast].download-toast{transform:none!important;transition:opacity 100ms var(--ease-out)!important}[data-sonner-toast].download-toast.keyboard-toast{transition:none!important}}

/* Reader themes avoid blue casts. Grey uses neutral RGB values. */
.theme-options button[data-reader-theme=light]{--swatch:#fff;--swatch-ink:#242321}
.theme-options button[data-reader-theme=gray]{--swatch:#404040;--swatch-ink:#e6e6e6}
.theme-options button[data-reader-theme=dark]{--swatch:#151515;--swatch-ink:#e7e4df}
/* Compact icon and label rows for every appearance segmented control. */
#appearance .modes button.has-icon,#appearance .flow-options button.has-icon{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px}
#appearance .modes .central-icon,#appearance .flow-options .central-icon{display:block;width:16px;height:16px;margin:0}
#appearance .beta-badge{display:inline-flex;align-items:center;margin-inline-start:2px;padding:2px 5px;border-radius:4px;background:color-mix(in srgb,var(--vilna-accent) 13%,transparent);color:var(--vilna-accent);font:600 9px/1 var(--ui-font);text-transform:uppercase}
#appearance .language-options button{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px}
#appearance .language-glyph{display:grid;place-items:center;min-width:20px;height:18px;border:1px solid currentColor;border-radius:4px;font:600 9px/1 var(--ui-font);letter-spacing:-.02em}
