/* UI.SH design rules, adapted to the existing Hebrew reader and user fonts. */
:root{--control-radius:6px;--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:4px}.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:4px;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:8px 8px 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:5px;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:4px}
: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:8px;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:8px;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:8px;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;white-space:normal;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:6px;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:4.5px;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:6px;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:5px;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:8px;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:5px;padding:12px;margin:8px 0 16px}.issue-dialog button{min-height:44px;padding:8px 16px;background:var(--soft);border-radius:5px;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:6px}.flow-options button{flex:1;padding:12px 4px;min-height:60px;font-size:.875rem;border-radius:4px}.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%;height:1px;margin:0;overflow:hidden;font:12px var(--ui-font);color:var(--quiet);text-align:center}.flow-loader[data-loading=true]{height:34px;padding-top:8px}.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:4px;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}}
.reader-actions [data-download-state] .central-icon{color:currentColor;transform-origin:center}
.reader-actions button[aria-busy=true]{opacity:1}
@media(prefers-reduced-motion:no-preference){
 .reader-actions [data-download-state=working] .central-icon{animation:download-working 700ms linear infinite}
 .reader-actions [data-download-state=success] .central-icon{animation:download-success 220ms var(--ease-out)}
 .reader-actions [data-download-state=idle] .central-icon{animation:download-idle 160ms var(--ease-out)}
}
@keyframes download-working{to{transform:rotate(1turn)}}
@keyframes download-success{from{opacity:0;transform:scale(.72)}60%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}
@keyframes download-idle{from{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}
.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:4px;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:4px;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=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:4px;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:5px;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],.resume-sheet[data-theme=light],.resume-full[data-theme=light]{color-scheme:light;--paper:#fff;--ink:#242321;--quiet:#77736d;--accent:#8e4147;--line:#e7e4df;--selected:#f1ede7;--comment:#686868}
#reader[data-theme=dark],.turn-measure[data-theme=dark],.resume-sheet[data-theme=dark],.resume-full[data-theme=dark]{color-scheme:dark;--paper:#151515;--canvas:#101010;--ink:#e7e4df;--quiet:#aaa59e;--accent:#d89498;--line:#303030;--selected:#292725;--comment:#bdbdbd}
#reader[data-theme=cream],.turn-measure[data-theme=cream],.resume-sheet[data-theme=cream],.resume-full[data-theme=cream]{color-scheme:light;--paper:#f7f0df;--canvas:#eee6d4;--ink:#362f25;--quiet:#766b5c;--accent:#785635;--line:#ded3bf;--selected:#e9ddc6;--comment:#785635}
#reader[data-theme=paper],.turn-measure[data-theme=paper],.resume-sheet[data-theme=paper],.resume-full[data-theme=paper]{color-scheme:light;--paper:#e9d9b9;--canvas:#dfccaa;--ink:#352c21;--quiet:#6d5d48;--accent:#704923;--line:#cebb99;--selected:#d9c5a0;--comment:#704923}
#reader[data-theme=gray],.turn-measure[data-theme=gray],.resume-sheet[data-theme=gray],.resume-full[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{--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:40px 24px 14px}
.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:620px;padding:20px 32px 64px}
.library-tools{margin:12px 0 28px}
.library-search{position:relative;flex:1;margin:0;display:block}
.library-search input{width:100%;max-width:none;height:46px;padding:10px 15px;border:1px solid var(--rule);border-radius:5.5px;background:var(--soft);font:15px "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-page .resume-reading{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:176px;margin:0 0 28px;padding:28px 30px;border:1px solid var(--rule);border-radius:8px;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 34px/1.2 VilnaPFT,serif;color:var(--ink)}
.resume-preview{display:block;width:180px;height:132px;flex:none;position:relative;pointer-events:none;user-select:none}
.resume-sheet{display:block;position:absolute;top:0;inset-inline-end:0;width:168px;min-height:260px;padding:15px;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:7px/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}
@media(max-width:720px){.library-main{padding:18px 24px 56px}.library-header{padding-top:30px}.library-tools{margin:8px 0 24px}.library-page .resume-reading{min-height:168px;padding:22px;gap:8px}.resume-title{font-size:30px}.resume-preview{width:130px;height:128px}.resume-sheet{width:150px;padding:12px;font-size:6px;min-height:250px;top:8px;inset-inline-end:-20px}.resume-copy{flex:none}}
@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{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:8px;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:6px;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:4.5px;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)}
 .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:-5px;border:2px solid var(--accent);border-radius:7px;opacity:0;pointer-events:none;transition:opacity 125ms var(--ease-out)}
.theme-options button[aria-pressed=true]>span::after,.theme-options button:focus-visible>span::after{opacity:1}
.theme-options button:focus-visible{outline:0}
.theme-options[data-theme-input=keyboard] button>span::after{transition:none}
#appearance .theme-options>button:hover:not(:disabled){background:transparent}
@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}}
@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:4px;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:4px;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:4px}
@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:4px;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:4px;font-size:14px;transition:none;color:var(--ink)}
 .sidebar .reader-actions button:hover{background:var(--soft)}
 .sidebar #print-page{padding-inline-start:36px}
 .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:8px;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:4px 4px 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:4px;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:5px;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:4px;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(250px,calc(100vw - 32px));max-height:248px;overflow:auto;padding:6px;border:1px solid var(--rule);border-radius:5px;background:var(--paper);color:var(--ink);box-shadow:0 10px 30px #0002;scrollbar-width:thin;direction:rtl}
.font-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:42px;padding:6px 9px;border-radius:6px;text-align:right;font:19px var(--choice-font),serif;color:var(--ink);transition:background 120ms var(--ease-out),box-shadow 120ms var(--ease-out)}
.font-option[aria-selected=true]{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 32%,transparent)}
.font-option:hover{background:color-mix(in srgb,var(--ink) 6%,var(--paper))}
.font-option[aria-selected=true]:hover{background:transparent}
.font-option:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
#appearance .font-settings{padding-inline:0}
#appearance .theme-options button{padding:0;border-radius:6px}
#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:5px}
.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:6px;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(.96)}
#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,.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)}
/* Keep running titles fixed while the reading-size control changes body text. */
:is(#reader,.turn-measure) .flow-heading{font-family:var(--gemara-font,VilnaPFT),serif;font-size:28px;font-weight:400;border:0;padding:0;margin:0 0 1em}
:is(#reader,.turn-measure) .curl-amud>.flow-heading{font-size:24px}
: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:24px}: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:63.6px}
.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:54px}}

/* 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}
:root[data-ui-language=en] #appearance :is(.modes,.flow-options,.alignment-options){direction:ltr}
:root[data-ui-language=he] #appearance :is(.modes,.flow-options,.alignment-options){direction:rtl}
#appearance .language-options{direction:ltr!important}

/* A compact mode choice uses the same selected surface as the settings panel. */
[data-sonner-toast]:has(.mode-toast){width:min(360px,calc(100vw - 32px));padding:8px!important;background:#222220!important;color:#faf9f6!important;border:0!important;border-radius:4px!important;box-shadow:none!important}
.mode-toast{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;font:400 13px/1.25 var(--ui-font)}
.mode-toast-label{padding-inline-start:4px;white-space:nowrap}.mode-toast-options{display:flex;direction:inherit;gap:2px;padding:3px;border-radius:7px;background:#ffffff14}
.mode-toast-options button{min-height:30px;padding:0 10px;border-radius:4px;color:#d5d3ce;font:inherit;white-space:nowrap}
.mode-toast-options button[aria-pressed=true]{background:#faf9f6;color:#222220}.mode-toast-options button:hover{background:#ffffff1f}
.mode-toast-options button[aria-pressed=true]:hover{background:#faf9f6}
@media(max-width:420px){.mode-toast{align-items:stretch;flex-direction:column;gap:7px}.mode-toast-label{padding:2px 3px 0}.mode-toast-options button{flex:1}}

/* The curl can leave the flat sheet. The edge block shows tractate progress. */
body[data-flow=turns] #reader,body[data-flow=turns] #text:not(.turn-failed),body[data-flow=turns] .turn-book,body[data-flow=turns] .turn-book .stf__parent,body[data-flow=turns] .turn-book .stf__wrapper,body[data-flow=turns] .turn-book .stf__block{overflow:visible!important;clip-path:none!important}
.turn-book{position:relative;z-index:2}
.turn-page-stack{position:absolute;inset:0;z-index:0;pointer-events:none}
.turn-page-stack::before,.turn-page-stack::after{content:'';position:absolute;z-index:2}
.turn-page-stack::before{top:0;bottom:calc(-1 * var(--stack-drop,0px));left:calc(-1 * var(--stack-depth,0px));width:var(--stack-depth,0px);background:
 repeating-linear-gradient(to bottom,transparent 0 1.2px,rgba(89,39,29,.2) 1.2px 1.65px),
 url('/painted-page-edge.svg') center/100% 100% no-repeat,
 #b94f40;box-shadow:-2px 1px 3px rgba(45,26,18,.14)}
.turn-page-stack::after{right:0;bottom:calc(-1 * var(--stack-drop,0px));left:calc(-1 * var(--stack-depth,0px));height:var(--stack-drop,0px);background:
 repeating-linear-gradient(to bottom,transparent 0 1.2px,rgba(89,39,29,.2) 1.2px 1.65px),
 url('/painted-page-edge.svg') center/100% 100% no-repeat,
 #b94f40;box-shadow:0 2px 3px rgba(45,26,18,.12)}
.turn-stack-sheet{position:absolute;inset:0;z-index:1;display:block;background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 13%,transparent);box-shadow:-1px 1px 0 color-mix(in srgb,var(--ink) 5%,transparent)}
@media(prefers-reduced-motion:no-preference){.turn-stack-sheet{transition:transform 180ms var(--ease-out)}}

/* Page controls sit beside the sheet and never consume reading height. */
body[data-flow=turns] #reader{position:relative}
body[data-flow=turns] .turn-controls{position:absolute;top:var(--turn-control-top,0);left:50%;z-index:12;width:var(--turn-control-width,100%);height:var(--turn-control-height,100%);min-height:0;margin:0;transform:translateX(-50%);pointer-events:none;background:transparent}
body[data-flow=turns] .turn-controls button{position:absolute;top:50%;display:grid;width:44px;height:44px;padding:0;place-items:center;transform:translateY(-50%);pointer-events:auto;background:color-mix(in srgb,var(--app-paper) 88%,transparent);border:1px solid color-mix(in srgb,var(--app-ink) 10%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body[data-flow=turns] .turn-controls button:first-child{right:-58px}
body[data-flow=turns] .turn-controls button:last-child{left:-58px}
body[data-flow=turns] .turn-controls button:disabled{opacity:.25}
body[data-flow=turns] .turn-progress{position:absolute;top:10px;left:50%;padding:3px 6px;transform:translateX(-50%);background:var(--app-paper);color:var(--app-quiet)}
body[data-flow=turns] .toolbar{height:62px;min-height:62px;flex-wrap:nowrap;padding-bottom:12px}
@media(max-width:960px){body[data-flow=turns] .turn-controls button:first-child{right:8px}body[data-flow=turns] .turn-controls button:last-child{left:8px}}

/* A lifted corner appears when page turning is selected. It is also a button. */
.turn-curl-hint{position:absolute;bottom:0;z-index:10;width:58px;height:58px;padding:0;border:0;border-radius:0;background:transparent;overflow:visible;user-select:none;-webkit-user-select:none;touch-action:manipulation;cursor:pointer}
.turn-curl-hint.next{left:0}.turn-curl-hint.previous{right:0;transform:scaleX(-1)}
.turn-curl-hint::before{content:'';position:absolute;inset:auto auto 0 0;width:50px;height:50px;background:linear-gradient(45deg,color-mix(in srgb,var(--paper) 84%,var(--vilna-accent)) 0 44%,color-mix(in srgb,var(--ink) 18%,var(--paper)) 47%,var(--paper) 51% 100%);clip-path:polygon(0 0,0 100%,100% 100%);filter:drop-shadow(3px -3px 4px color-mix(in srgb,var(--ink) 28%,transparent));transform-origin:bottom left}
.turn-curl-hint.is-leaving{opacity:0;pointer-events:none}
@media(prefers-reduced-motion:no-preference){.turn-curl-hint::before{animation:turn-curl-hint 700ms var(--ease-out) 180ms 2 alternate}.turn-curl-hint.is-leaving{transition:opacity 180ms var(--ease-out)}}
@keyframes turn-curl-hint{to{transform:translate(6px,-6px) rotate(-4deg)}}
@media(max-width:720px){body[data-flow=turns] .turn-controls button{width:48px;height:48px;background:color-mix(in srgb,var(--app-paper) 82%,transparent)}.turn-curl-hint{width:64px;height:64px}.turn-curl-hint::before{width:56px;height:56px}}
@media(prefers-reduced-motion:reduce){.turn-curl-hint::before{transform:translate(3px,-3px)}}

/* Keep long mobile daf headings clear, and give every new daf a visible pause. */
@media(max-width:720px){
 body[data-flow=continuous] #reader .flow-heading{font-size:21px;margin-bottom:32px}
 body[data-flow=continuous] #reader .flow-heading .heading-control{gap:.55ch;padding-inline:2.5ch}
 body[data-flow=continuous] #reader .flow-daf+.flow-daf{margin-top:64px;padding-top:36px}
}

/* A siyum belongs after the text, on the selected document surface. */
.tractate-completion{width:min(100%,760px);margin:80px auto 32px;font-family:var(--gemara-font,VilnaPFT),serif}
.siyum-card{padding:clamp(30px,6vw,64px);border:1px solid var(--rule);border-radius:8px;background:color-mix(in srgb,var(--ink) 3%,var(--paper));box-shadow:0 18px 60px color-mix(in srgb,var(--ink) 7%,transparent)}
.siyum-mark{display:block;margin:0 auto 18px;color:var(--accent);font-size:11px;text-align:center}
.siyum-title{margin:0 0 1.4em;font:700 clamp(30px,4vw,42px)/1.25 var(--gemara-font,VilnaPFT),serif;text-align:center;text-wrap:balance}
.siyum-text{font-size:clamp(20px,2.2vw,25px);line-height:1.85;text-align:justify;text-align-last:right}
.siyum-text p{margin:0 0 1.35em}.siyum-text p:last-child{margin-bottom:0}
.next-tractate-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px;padding:24px 28px;border:1px solid var(--rule);border-radius:7px;background:var(--soft);color:var(--ink)}
.next-tractate-label{font:14px "Google Sans",sans-serif;color:var(--quiet)}
.next-tractate-card strong{font:400 32px/1.2 var(--gemara-font,VilnaPFT),serif}
@media(hover:hover){.next-tractate-card:hover{background:var(--selected)}}
@media(max-width:720px){.tractate-completion{margin-top:64px}.siyum-card{padding:30px 24px;border-radius:7px}.siyum-title{font-size:30px}.siyum-text{font-size:20px;line-height:1.78}.next-tractate-card{padding:20px}.next-tractate-card strong{font-size:28px}}
@media(prefers-reduced-motion:reduce){.next-tractate-card{transition:none}}

/* English changes interface direction. Hebrew books and document text stay RTL. */
#appearance[data-panel=appearance][dir=ltr]{text-align:left}
#appearance[data-panel=appearance][dir=ltr] .desktop-dialog-close{right:16px;left:auto}
#appearance[data-panel=appearance][dir=ltr] .font-setting-row,
#appearance[data-panel=appearance][dir=ltr] .size-caption{direction:ltr}
.font-picker-name,.font-option{direction:ltr;unicode-bidi:isolate;text-align:left}
.font-popover{direction:ltr;text-align:left}
:root[data-ui-language=en] .library-page{direction:ltr;text-align:left}
:root[data-ui-language=en] .library-search input{direction:ltr;text-align:left}
:root[data-ui-language=en] .tractate-list,
:root[data-ui-language=en] .tractate-title,
:root[data-ui-language=en] .tractate-contents,
:root[data-ui-language=en] .resume-title,
:root[data-ui-language=en] .resume-sheet{direction:rtl}
:root[data-ui-language=en] .tractate-list,
:root[data-ui-language=en] .tractate-contents{ text-align:right }
:root[data-ui-language=en] .resume-reading{direction:ltr;text-align:left}
:root[data-ui-language=en] [data-sonner-toast]{direction:ltr;text-align:left}
:root[data-ui-language=en] .sidebar,
:root[data-ui-language=en] #reader{direction:rtl}
:root[data-ui-language=en] #appearance[data-panel=appearance] button.has-icon,
:root[data-ui-language=en] .sidebar .reader-actions button.has-icon{direction:ltr}
:root[data-ui-language=en] #appearance[data-panel=appearance] button.has-icon>.central-icon,
:root[data-ui-language=en] .sidebar .reader-actions button.has-icon>.central-icon{order:-1}

/* Page fitting uses the selected size, shrinking only the amud that needs it. */
body[data-flow=turns] #appearance .size-row{display:grid}
body[data-flow=turns] #reader{position:relative}
.turn-loading{position:absolute;inset:0;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--paper);z-index:30;color:var(--ink);pointer-events:none}
.turn-loading .loading-mark{display:block;width:48px;height:62px;animation:book-loading 1.2s ease-in-out infinite}
.turn-loading-label{font:13px var(--ui-font);color:var(--quiet)}
@keyframes book-loading{50%{opacity:.45;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.turn-loading .loading-mark{animation:none}}
@media(min-width:1320px){body[data-flow=turns] .layout #reader{max-width:1400px;width:100%;padding-inline:44px}body[data-flow=turns][data-page-width=page] #text{max-width:none}}
.book-crease{position:absolute;top:0;bottom:0;left:50%;width:38px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#00000004 20%,#00000020 48%,#00000030 50%,#00000012 54%,transparent);pointer-events:none;z-index:4}
.facing-book .turn-sheet{background:var(--paper)}
#text[data-facing=true] .curl-amud>.flow-heading{font-size:20px}
.turn-measure .curl-amud>.flow-heading{font-size:20px}
:is(#reader,.turn-measure) .curl-amud>.flow-heading{font-size:20px}

/* Folios stay on the outer margin of each facing sheet. */
#reader .facing-book .turn-sheet[data-book-side=left] .running-daf{left:0;right:auto}
#reader .facing-book .turn-sheet[data-book-side=right] .running-daf{right:0;left:auto}

html{scrollbar-gutter:stable}
.facing-stack{width:50%;bottom:0;right:auto}
.facing-stack.left{left:0}
.facing-stack.right{left:50%;transform:scaleX(-1)}
body[data-flow=turns] #text{flex-shrink:0;min-height:var(--turn-height)}

/* Compact font choices; the section title stays quieter than its field label. */
.font-popover{width:min(210px,calc(100vw - 32px));max-height:212px;padding:4px;border-radius:4px;box-shadow:0 1px 3px #0000000a,0 4px 12px #0000000f}
.font-option{min-height:34px;padding:5px 8px;font-size:16px;line-height:1.35;border-radius:4px}
#appearance .font-setting-label{font-size:14px;font-weight:500;color:var(--ink)}
#appearance .setting-section:has(.font-settings)>h3{font-size:11px;color:var(--quiet);margin-bottom:4px}
#appearance .font-picker{font-size:17px;min-height:36px;padding:5px 8px}
#appearance .font-setting-row{min-height:44px}
#appearance .font-settings>[hidden]{display:none!important}

body[data-flow=turns] #appearance :is(.pageless-setting,.desktop-width-setting){display:none}
body[data-flow=turns] .combined-text,.turn-measure .combined-text{text-align:justify!important;text-align-last:right!important}
.font-picker-name,.font-option{direction:rtl;text-align:right}

.site-language-picker{display:inline-flex;direction:ltr;gap:2px;padding:3px;border:1px solid var(--rule,#ded3bf);border-radius:7px;font:12px "Google Sans",sans-serif}
.site-language-picker button{min-height:36px;padding:0 11px;border-radius:4px;color:var(--quiet,#766b5c)}
.site-language-picker button[aria-pressed=true]{background:var(--selected,#e9ddc6);color:var(--ink,#362f25)}
.library-header{flex-direction:column;gap:18px}

.book-crease[hidden]{display:none}

.library-header>.site-language-picker{align-self:center;width:max-content}

/* Keep the outer selection ring inside the scrolling settings surface. */
#appearance .theme-options{padding:7px;overflow:visible}

/* The resume card is a miniature of the saved document, not a generic cover. */
.resume-sheet{font-family:var(--gemara-font,VilnaPFT),serif;line-height:1.8;text-align-last:right;padding:16px 14px;background:var(--paper);color:var(--ink)}
.resume-sheet .preview-heading{position:relative;display:block;border:0;padding:0 10px;margin:0 0 12px;font:400 7px/1.2 var(--gemara-font,VilnaPFT),serif;text-align:center}
.preview-heading-titles{display:flex;justify-content:center;gap:5px;white-space:nowrap}
.preview-daf{position:absolute;left:0;top:0}
.resume-sheet .preview-rashi{font-family:Rashi,serif;color:var(--comment)}
.preview-rashi .preview-gemara{font-family:var(--gemara-font,VilnaPFT),serif;color:var(--ink)}
.resume-sheet .preview-paragraph{margin-bottom:.85em}
.preview-trigger{text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ink) 28%,transparent);text-underline-offset:1px}
.preview-marker,.preview-chapter-opening{font-size:1.2em;font-weight:700}
.preview-hadran{display:block;text-align:center;font-weight:700;margin:1em 0}
.preview-opening{display:grid;place-items:center;position:relative;width:88px;height:44px;margin:0 auto 8px;font-size:15px;font-weight:700}
.preview-opening::before{content:'';position:absolute;inset:0;background:var(--ink);mask:url('/vilna-opening-frame.png') center/100% 100% no-repeat}
@media(max-width:720px){.resume-sheet .preview-heading{font-size:6px; margin-bottom:10px}.preview-heading-titles{gap:3px}}

/* Inline commentary must not rebalance lines before the opened passage. */
#text .hidden .combined-text{text-wrap:wrap}
/* Hebrew folios keep their physical side in pageless reading too. */
body[data-flow=continuous] #reader .flow-heading .heading-control[data-amud=a]>.running-daf{left:0;right:auto}
body[data-flow=continuous] #reader .flow-heading .heading-control[data-amud=b]>.running-daf{right:0;left:auto}

/* A fixed reading viewport keeps the book still while its next spread loads. */
body[data-flow=turns] .layout{max-width:none}
body[data-flow=turns] .layout #reader{width:100%;max-width:none;height:100dvh;padding:28px 60px 36px;display:flex;flex-direction:column;justify-content:center;align-items:center}
body[data-flow=turns] #reader #status{position:absolute;bottom:5px;left:0;right:0;text-align:center;padding:0;margin:0;pointer-events:none}
body[data-flow=turns] #reader #text{width:100%;max-width:calc((100dvh - 64px)*.707);margin:0;overflow-anchor:none}
@media(min-width:1100px){body[data-flow=turns] #reader #text{max-width:calc((100dvh - 64px)*1.414)}}
@media(max-width:720px){body[data-flow=turns] .layout #reader{height:calc(100dvh - 62px);padding:24px 22px 32px}body[data-flow=turns] #reader #text{max-width:calc((100dvh - 118px)*.707)}body[data-flow=turns] #reader>.reader-actions{display:none}}

/* Shared polish for controls. Document text and page drags remain static. */
:is(.reader-actions,.sidebar-actions,.sidebar-tools,#appearance,.issue-dialog,.mode-toast-options) button:not(.rashi-trigger):not([data-vaul-handle]){transition:scale 120ms ease-out,background-color 120ms ease-out,color 120ms ease-out}
:is(.reader-actions,.sidebar-actions,.sidebar-tools,#appearance,.issue-dialog,.mode-toast-options) button:active:not(:disabled):not([data-static]):not([data-vaul-handle]){scale:.96;opacity:1}
#appearance .size-adjuster>button:active:not(:disabled){transform:none}
.resume-sheet{border-color:transparent;outline:1px solid oklch(0 0 0 / .1);outline-offset:-1px}
.resume-sheet:is([data-theme=gray],[data-theme=dark]){outline-color:oklch(1 0 0 / .1)}
:root[data-theme=dark] .font-popover{box-shadow:none}
#appearance.desktop-appearance.motion-dialog,.issue-dialog.motion-dialog{animation:none;opacity:0;transform:translateY(4px);transition:opacity 140ms ease-out,transform 140ms ease-out}
#appearance.desktop-appearance.motion-dialog[data-motion=open],.issue-dialog.motion-dialog[data-motion=open]{opacity:1;transform:translateY(0);transition-duration:180ms}
.motion-dialog::backdrop{transition:background-color 140ms ease-out}
.motion-dialog[data-motion=closed]::backdrop{background-color:transparent}
.issue-dialog textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.download-icon-stack{display:inline-grid;position:relative;width:var(--ui-icon-size,16px);height:var(--ui-icon-size,16px);flex:none}
.download-icon-layer{grid-area:1/1;display:flex;opacity:0;scale:.25;filter:blur(4px);transition:opacity 300ms cubic-bezier(.2,0,0,1),scale 300ms cubic-bezier(.2,0,0,1),filter 300ms cubic-bezier(.2,0,0,1)}
.download-icon-layer[data-visible=true]{opacity:1;scale:1;filter:blur(0)}
.reader-actions [data-download-state] .download-icon-layer .central-icon{animation:none}
.reader-actions [data-download-state=working] .download-icon-layer[data-download-icon=retry] .central-icon{animation:download-working 700ms linear infinite}
[data-sonner-toast]{direction:ltr;text-align:left}
[data-sonner-toast]:not(:has(.mode-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;transition:transform 180ms var(--ease-out),opacity 180ms var(--ease-out)!important}
[data-sonner-toast] [data-description]{color:#d5d3ce!important}
[data-sonner-toast] [data-button]{background:#faf9f6!important;color:#222220!important;border-radius:4px;box-shadow:none}
@media(prefers-reduced-motion:reduce){
 .motion-dialog,.download-icon-layer,[data-sonner-toast]:not(:has(.mode-toast)){transition:none!important}
 .reader-actions [data-download-state=working] .download-icon-layer .central-icon{animation:none}
 :is(.reader-actions,.sidebar-actions,.sidebar-tools,#appearance,.issue-dialog,.mode-toast-options) button:active{scale:1!important}
}

[data-sonner-toast].keyboard-toast{transition:none!important}

.unplaced-comments{margin-block:2em 1em;padding-block-start:1em;border-block-start:1px solid currentColor;color:#a32929;text-align:right;font-family:var(--rashi-font,Rashi)}
[data-theme="dark"] .unplaced-comments,[data-theme="gray"] .unplaced-comments{color:#ff9999}
.unplaced-heading{font-family:GoogleSans,sans-serif;font-size:13px;font-weight:500;margin:0 0 1em;text-align:start}
.unplaced-comment{margin:0 0 .7em;line-height:1.55}
.unplaced-setting{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}
.unplaced-setting input{width:18px;height:18px;accent-color:#873c39}

.unplaced-comment[role=button]{cursor:help;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);text-underline-offset:4px}
.placement-explanation{position:fixed;inset:auto;margin:0;box-sizing:border-box;max-height:min(420px,75dvh);overflow:auto;padding:16px;border:1px solid #555;border-radius:6px;background:#202020;color:#f4f4f4;font:13px/1.5 GoogleSans,sans-serif;direction:ltr;text-align:left;box-shadow:none}
.placement-explanation p{margin:8px 0}.placement-explanation small{color:#ccc}.placement-explanation blockquote{margin:10px 0;padding:8px;background:#303030;font:19px/1.5 VilnaPFT,serif}.placement-explanation mark{background:#734024;color:white}.placement-explanation summary{cursor:pointer}.placement-source{font:19px/1.5 VilnaPFT,serif}
@media print{.placement-explanation{display:none!important}.unplaced-comment[role=button]{text-decoration:none}}

.placement-close{float:right;background:none;color:#ccc;border:0;font:inherit;cursor:pointer;padding:0 0 8px 12px}

/* Compact corners and the existing Vilna opening ornament. */
:root[data-ui-language=en] .library-page .resume-reading,.library-page .resume-reading{direction:rtl;text-align:right}
.resume-copy{min-width:0;flex:1}.resume-eyebrow{direction:ltr;text-align:right}
.library-header .library-name{position:relative;display:grid;place-items:center;width:300px;height:150px;box-sizing:border-box;padding:24px 30px;font:700 62px/1 VilnaPFT,serif;font-synthesis:none;color:var(--ink)}
.library-name::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(min-width:721px){.sidebar{border-left:1px solid color-mix(in srgb,var(--ink) 16%,var(--paper));border-right:0}}
@media(max-width:720px){.library-header .library-name{width:260px;height:130px;font-size:54px}.resume-title{font-size:32px}}
/* Placement details stay directly below their commentary, with no hover popup. */
.placement-explanation{position:static;inset:auto;width:auto;max-height:none;margin:10px 0 20px;padding:14px 16px;border:1px solid var(--rule);background:var(--soft);color:var(--ink);border-radius:4px;overflow:visible}
.placement-explanation[hidden]{display:none}.placement-explanation small{color:var(--quiet)}.placement-explanation blockquote{background:var(--paper);color:var(--ink)}.placement-explanation mark{background:color-mix(in srgb,var(--vilna-accent) 22%,var(--paper));color:var(--ink)}
.unplaced-comment[role=button]{cursor:pointer}.unplaced-comment[aria-expanded=true]{text-decoration-style:solid}
.curl-amud:has(.placement-explanation:not([hidden])){overflow-y:auto!important}
.unplaced-item{position:relative;padding-left:62px;min-height:40px;margin-bottom:.7em}.unplaced-item .unplaced-comment{margin-bottom:0}.placement-copy{position:absolute;left:0;top:0;min-width:52px;min-height:36px;padding:6px;border:1px solid currentColor;border-radius:3px;font:500 12px/1.2 "Google Sans",sans-serif;color:inherit;direction:ltr;transition:background 140ms,opacity 140ms}.placement-copy:hover:not(:disabled){background:color-mix(in srgb,currentColor 8%,transparent)}.unplaced-item .placement-explanation{margin-left:-62px}
@media print{.placement-copy{display:none!important}.unplaced-item{padding-left:0;min-height:0}}
@media(prefers-reduced-motion:reduce){.placement-copy{transition:none}}
.unplaced-comment .unplaced-opening{font-family:var(--gemara-font,VilnaPFT),serif;font-weight:400;font-size:inherit;white-space:normal}.unplaced-opening-label{display:inline-block;font:400 12px/1.5 "Google Sans",sans-serif;text-decoration:none;margin-bottom:4px}
.mobile-daf-navigation{display:none}
@media(max-width:720px){
 body:not(.library-page) .toolbar #current-daf{display:none!important}
 .mobile-daf-navigation{display:flex;flex:1;min-width:0;justify-content:center;gap:8px;direction:rtl;padding-inline:8px}
 .mobile-nav-picker{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;max-width:65%;padding:6px 9px;border:1px solid var(--rule,#ddd5c2);border-radius:4px;background:transparent;color:inherit;font:21px VilnaPFT,serif}
 .mobile-nav-picker bdi{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-nav-picker .central-icon{width:13px;height:13px;flex:none}
 .mobile-nav-menu{position:fixed;inset:auto 12px auto auto;margin:0;width:min(320px,calc(100vw - 24px));max-height:60dvh;padding:8px;border:1px solid #d5ccba;border-radius:5px;background:#f7f1df;color:#292720;box-shadow:0 8px 25px #00000012}
 .mobile-nav-menu input{box-sizing:border-box;width:100%;font:14px 'Google Sans',sans-serif;padding:10px;border:1px solid #d5ccba;border-radius:3px;background:transparent;color:inherit}
 .mobile-nav-options{max-height:48dvh;overflow:auto;overscroll-behavior:contain;padding-top:6px}.mobile-nav-options button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:8px 12px;border:0;border-radius:3px;background:transparent;color:inherit;font:23px VilnaPFT,serif}.mobile-nav-options button[hidden]{display:none}.mobile-nav-options button[aria-selected=true]{background:#843d36;color:white}.mobile-nav-options button:hover:not([aria-selected=true]){background:#00000008}
 .mobile-nav-menu :focus-visible{outline:2px solid #843d36;outline-offset:1px}
}
@media(prefers-color-scheme:dark){.mobile-nav-menu{background:#202020;color:#eee;border-color:#444}.mobile-nav-menu input{border-color:#555}.mobile-nav-options button:hover:not([aria-selected=true]){background:#ffffff12}}
.mobile-actions-button{display:none}
/* Anchor the menu to its trigger, independent of document direction. */
.mobile-actions-menu{position:fixed;inset:var(--actions-top,60px) auto auto var(--actions-left,12px);margin:0;width:min(240px,calc(100vw - 24px));padding:6px;border:0;border-radius:8px;background:#fffdf6;color:#292720;box-shadow:0 0 0 1px #29272014,0 8px 24px #29272012;transform-origin:top left;direction:ltr;color-scheme:light}
.mobile-actions-menu .reader-actions{display:flex!important;flex-direction:column;margin:0!important;gap:0;direction:ltr}
.mobile-actions-menu .reader-actions button{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;min-height:48px;padding:12px;border:0;background:transparent;border-radius:3px;font:400 1rem/1.5 "Google Sans",sans-serif;color:inherit;text-align:left}
.mobile-actions-menu .reader-actions button:last-child{border-top:1px solid #2927200d;border-radius:0 0 3px 3px;margin-top:4px}
.mobile-actions-menu .reader-actions button:hover{background:#29272008}.mobile-actions-menu .reader-actions button:active{background:#29272012;scale:1}
.mobile-actions-menu .central-icon{order:-1;width:16px;height:16px;flex:none}.mobile-actions-menu .central-icon [stroke]{stroke-width:1.75}
@media(max-width:720px){.toolbar .mobile-actions-button{display:flex;align-items:center;justify-content:center;flex:none;min-width:48px;min-height:48px;padding:0;border:0;border-radius:4px;background:transparent;color:inherit;font:26px/1 sans-serif}.toolbar .mobile-actions-button[aria-expanded=true]{background:#2927200a}.mobile-daf-navigation{padding-inline:2px;gap:4px}.mobile-nav-picker{padding-inline:6px}.toolbar{gap:4px}}
@media(prefers-color-scheme:dark){.mobile-actions-menu{background:#252525;color:#eee;box-shadow:none;border:1px solid #ffffff1a;color-scheme:dark}.mobile-actions-menu .reader-actions button:last-child{border-color:#ffffff12}.mobile-actions-menu .reader-actions button:hover{background:#ffffff0a}.mobile-actions-menu .reader-actions button:active{background:#ffffff14}}
@media(prefers-reduced-motion:no-preference){.mobile-actions-menu:popover-open{animation:mobile-actions-enter 140ms ease-out}@keyframes mobile-actions-enter{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}}
@media(max-width:720px){.desktop-navigation-setting{display:none!important}}

/* Mobile controls retain readable type and separate touch targets. */
@media(max-width:720px){
 #reader-toasts [data-sonner-toaster][data-x-position=center]{left:16px;right:16px;width:auto;transform:none}
 #reader-toasts [data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:100%;max-width:100%;box-sizing:border-box}
 #reader-toasts [data-sonner-toast]:not(:has(.mode-toast)){font-size:16px!important;padding:14px!important}
 #reader-toasts [data-sonner-toast]:has(.mode-toast){padding:10px!important}
 .mode-toast{flex-direction:column;align-items:stretch;gap:10px;font-size:16px;line-height:1.4}
 .mode-toast-label{white-space:normal}
 .mode-toast-options button{flex:1;min-height:48px}
 [data-sonner-toast] [data-button]{min-height:48px}
 .library-search input,.mobile-nav-menu input,.tractate-picker-search{font-size:16px;min-height:48px}
 .mobile-nav-picker,.mobile-nav-options button,.font-option{min-height:48px}
 .mobile-actions-menu .reader-actions{background:transparent}
 #appearance .setting-section h3,#appearance .font-setting-label,#appearance .size-caption,
 #appearance .modes button,#appearance .flow-options button{font-size:16px}
 #appearance .font-picker{min-height:48px}
 #appearance .size-adjuster{grid-template-columns:48px minmax(32px,1fr) 48px;gap:0}
 #appearance .size-adjuster>button{width:48px;min-width:48px;height:48px;min-height:48px}
 #appearance input[type=checkbox]{width:20px;height:20px}
 #appearance .setting-section{min-width:0}
}
/* Proposal status belongs to the appendix, never the Gemara text. */
.unplaced-comment.has-proposal{color:#3275b6}.proposal-label{display:block;font:500 13px/1.5 'Google Sans',sans-serif;text-align:start;margin-top:6px;text-decoration:none}.reader-proposals{color:var(--ink,#292720);margin-bottom:20px}.reader-proposals details{margin-block:12px}.reader-proposals a{display:inline-block;padding-block:10px;font:500 14px/1.5 'Google Sans',sans-serif;color:inherit}.proposal-reading{font-family:var(--gemara-font,VilnaPFT),serif;font-size:var(--size,24px);line-height:1.7;color:var(--ink,#292720);padding:14px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:4px;text-align:right}.proposal-rashi{font-family:var(--rashi-font,Rashi),serif;color:var(--comment,#745839)}[data-theme="dark"] .unplaced-comment.has-proposal,[data-theme="gray"] .unplaced-comment.has-proposal{color:#8bbbed}[data-theme="dark"] .reader-proposals,[data-theme="gray"] .reader-proposals,[data-theme="dark"] .proposal-reading,[data-theme="gray"] .proposal-reading{color:#e3e3e3}[data-theme="dark"] .proposal-rashi,[data-theme="gray"] .proposal-rashi{color:#d4b58f}@media print{.proposal-label,.reader-proposals{display:none!important}}
.proposal-anchor{text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:#3275b6;text-decoration-thickness:1px;text-underline-offset:5px;cursor:pointer}.proposal-anchor:focus-visible{outline:2px solid #3275b6;outline-offset:3px}.unplaced-passage-anchor{text-decoration-line:underline;text-decoration-style:dotted;text-decoration-color:#a32929;text-decoration-thickness:1px;text-underline-offset:8px;cursor:pointer}.unplaced-passage-anchor:focus-visible{outline:2px solid #a32929;outline-offset:3px}[data-theme="dark"] .proposal-anchor,[data-theme="gray"] .proposal-anchor{text-decoration-color:#8bbbed}[data-theme="dark"] .unplaced-passage-anchor,[data-theme="gray"] .unplaced-passage-anchor{text-decoration-color:#ff9999}@media print{.unplaced-passage-anchor,.proposal-anchor{text-decoration:none!important}}
/* Keep the comparison visible after the first click. Metadata comes last. */
.placement-explanation{padding:16px;background:transparent}.placement-explanation>small,.proposal-option>small{display:block;font:500 12px/1.5 'Google Sans',sans-serif;color:var(--quiet);margin-bottom:6px}.placement-explanation .placement-source,.proposal-reading{font-size:22px;line-height:1.6}.proposal-reading{border:0;border-radius:0;padding:0;margin:6px 0 12px}.proposal-option+.proposal-option{border-top:1px solid var(--rule);margin-top:16px;padding-top:16px}.placement-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;font:400 12px/1.4 'Google Sans',sans-serif;color:var(--quiet)}.placement-tags>span{padding:3px 7px;border:1px solid var(--rule);border-radius:3px}.reader-proposals .placement-tags a{padding:3px 5px;font:inherit}.placement-context{margin-top:12px;font-size:12px}.proposal-label{font-size:12px}.reader-proposals{margin-bottom:18px}.unplaced-item:has(.has-proposal)>.placement-copy{color:#3275b6}[data-theme="dark"] .unplaced-item:has(.has-proposal)>.placement-copy,[data-theme="gray"] .unplaced-item:has(.has-proposal)>.placement-copy{color:#8bbbed}
/* Read the evidence in source order, then compare the proposed result. */
.unplaced-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;padding-left:0;min-width:0;margin-block:24px;direction:rtl}
.unplaced-item>.unplaced-comment{grid-column:1/-1;grid-row:2;min-width:0}
.unplaced-item>.placement-copy{position:static;grid-column:2;grid-row:1;min-height:32px;height:32px;padding:4px 10px;border-color:color-mix(in srgb,currentColor 24%,transparent);align-self:center}
.unplaced-item>.proposal-label{grid-column:1;grid-row:1;align-self:center;justify-self:start;margin:0;font:500 13px/1.4 'Google Sans',sans-serif;color:#3275b6;text-decoration:none}
.unplaced-item>.placement-explanation{grid-column:1/-1;grid-row:3;margin:0;padding:20px;direction:rtl;text-align:right;border-color:color-mix(in srgb,var(--ink) 14%,transparent);background:transparent;box-shadow:none;min-width:0}
.placement-explanation>small{margin-top:18px;text-align:right}.placement-explanation>small:first-child{margin-top:0}
.placement-explanation .placement-source{margin:6px 0 20px;text-align:right;color:var(--ink);font-family:var(--gemara-font,VilnaPFT),serif;font-size:24px;line-height:1.65}
.placement-explanation .proposal-source-match{background:color-mix(in srgb,#3275b6 10%,transparent);color:inherit;border:0;border-bottom:1px solid #3275b6;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding-block:2px}
.reader-proposals{margin:20px 0 0}.proposal-result-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font:500 13px/1.5 'Google Sans',sans-serif;color:var(--quiet);margin-bottom:10px}
.proposal-visibility{display:flex;align-items:center;gap:8px;cursor:pointer;min-height:32px;direction:rtl;font-weight:400}
.proposal-visibility input{width:16px;height:16px;flex-shrink:0;accent-color:#3275b6;margin:0}
.proposal-reading,.proposal-original{padding:14px 16px;border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);border-radius:3px;font:24px/1.65 var(--gemara-font,VilnaPFT),serif;color:var(--ink);text-align:right;margin:0}
.proposal-result-span{text-decoration:underline;text-decoration-color:color-mix(in srgb,#3275b6 55%,transparent);text-underline-offset:6px;text-decoration-thickness:1px}
.proposal-option:has(input:not(:checked)) .proposal-result-span{text-decoration:none}
.placement-explanation:has(.proposal-source-control:not(:checked)) > [data-searched-passage] .proposal-source-match{background:transparent;border-bottom-color:transparent}
.placement-explanation .placement-tags{justify-content:flex-start;direction:rtl;font-size:12px;margin-top:12px}.placement-tags>span{direction:ltr}.placement-context{text-align:right;direction:rtl}.placement-context p{direction:ltr;text-align:right}.reader-proposals .placement-tags a{direction:ltr}
[data-theme="dark"] .proposal-label,[data-theme="gray"] .proposal-label{color:#8bbbed}
@media(max-width:720px){.unplaced-item>.placement-copy{min-height:48px;height:48px}.unplaced-item>.placement-explanation{padding:16px}.proposal-visibility{min-height:48px;font-size:16px}.proposal-visibility input{width:20px;height:20px}.proposal-result-heading,.placement-explanation>small,.unplaced-item>.proposal-label{font-size:16px}.proposal-reading,.proposal-original{padding:12px}.placement-explanation .placement-tags{font-size:14px}}
@media print{.unplaced-item{display:block}.unplaced-item>.proposal-label{display:none}}
.unplaced-item>.placement-copy{display:none}
.placement-actions{display:flex;justify-content:flex-start;margin-top:16px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}
.placement-actions>.placement-copy{position:static;display:inline-block;min-width:60px;height:32px;min-height:32px;padding:4px 10px;color:var(--ink);border-color:color-mix(in srgb,var(--ink) 20%,transparent);font:400 13px/1.4 'Google Sans',sans-serif}
@media(max-width:720px){.placement-actions>.placement-copy{height:48px;min-height:48px;font-size:16px}}
.inline-suggestions-setting{margin-top:12px;padding-top:12px;border-top:1px solid var(--rule)}.inline-suggestions-setting small{display:block;color:var(--quiet);font-size:12px}
.experimental-inline{color:#3275b6;text-decoration:underline dotted;text-underline-offset:5px;cursor:pointer}.experimental-inline .proposal-rashi{color:#3275b6}.experimental-inline:focus-visible{outline:2px solid currentColor;outline-offset:2px}
[data-theme="dark"] .experimental-inline,[data-theme="gray"] .experimental-inline,[data-theme="dark"] .experimental-inline .proposal-rashi,[data-theme="gray"] .experimental-inline .proposal-rashi{color:#8bbbed}
.unplaced-comment[data-shown-inline=true]::after{content:'Shown inline · experimental';display:block;font:400 13px/1.5 'Google Sans',sans-serif;margin-top:6px}
.inline-suggestions-setting:has(input:disabled){opacity:.5}

.proposal-option:has(input:not(:checked)) .proposal-source-match{background:transparent;border-bottom-color:transparent}

/* Full-width saved-daf preview. Scoped to the homepage. */
.library-page .resume-reading.resume-full{display:block;direction:ltr;text-align:left;padding:0;min-height:0;background:var(--paper);border:1px solid var(--rule);border-radius:6px;isolation:isolate}
.resume-full .resume-label{padding:22px 28px 0;color:var(--quiet);font-size:13px}
.resume-full-window{position:relative;height:350px;overflow:hidden;--preview-paper:var(--paper)}
.resume-full-window[data-theme=light]{--preview-paper:#fff}.resume-full-window[data-theme=cream]{--preview-paper:#f7f0df}.resume-full-window[data-theme=paper]{--preview-paper:#e9d9b9}.resume-full-window[data-theme=gray]{--preview-paper:#404040}.resume-full-window[data-theme=dark]{--preview-paper:#151515}
.resume-full .resume-sheet{position:static;width:100%;height:auto;min-height:100%;padding:24px 28px;font-size:18px;line-height:1.8;border:0;outline:0;box-shadow:none;transform:none!important;transition:none;overflow:visible}
.resume-full .resume-sheet .preview-heading{position:relative;display:flex;justify-content:center;align-items:baseline;gap:1.6ch;padding:0 2ch;margin:0 0 24px;font:400 19px/1.25 var(--gemara-font,VilnaPFT),serif;text-align:center;border:0}
.resume-full .preview-heading>span{font:inherit;white-space:nowrap}
.resume-full .preview-heading>.running-daf{position:absolute;left:0;top:0}
.resume-full .preview-heading[data-amud=b]>.running-daf{left:auto;right:0}
.resume-full .preview-paragraph{display:block;margin-bottom:.85em}
.resume-full .preview-opening{width:180px;height:90px;font-size:31.8px;margin:.25em auto .7em;line-height:1.3;padding:14px}
.resume-progressive-blur{position:absolute;inset:auto 0 0;height:170px;pointer-events:none}
.resume-progressive-blur i{position:absolute;inset:0;backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));mask-image:linear-gradient(transparent var(--start),black var(--solid));-webkit-mask-image:linear-gradient(transparent var(--start),black var(--solid))}
.resume-fade{position:absolute;inset:0;background:linear-gradient(transparent 10%,var(--preview-paper) 100%)}
.resume-action{position:absolute;bottom:22px;left:0;right:0;display:flex;justify-content:center;z-index:1;direction:ltr}
.resume-continue{display:inline-flex;align-items:center;justify-content:center;min-width:126px;min-height:44px;padding:10px 25px;border-radius:5px;background:var(--ink);color:var(--paper);font-size:14px;font-weight:500;text-decoration:none;box-shadow:0 1px 3px #0002;transition:transform 180ms ease-out}
.resume-continue:hover{transform:translateY(-2px)}.resume-continue:active{transform:scale(.98)}.resume-continue:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.resume-unavailable{padding:28px;font:30px VilnaPFT;text-align:right}
@media(max-width:720px){.library-page .resume-reading.resume-full{padding:0;min-height:0}.resume-full .resume-label{padding:20px 20px 0}.resume-full .resume-sheet{padding:22px 20px;font-size:16px}.resume-full .resume-sheet .preview-heading{font-size:16px;gap:.55ch;padding-inline:2.5ch;margin-bottom:24px}.resume-full-window{height:350px}.resume-full .preview-opening{width:140px;height:70px;font-size:27px;padding:11px}}
@media(prefers-reduced-motion:reduce){.resume-continue{transition:none}}
@media(prefers-reduced-transparency:reduce){.resume-progressive-blur i{backdrop-filter:none;-webkit-backdrop-filter:none}.resume-fade{background:linear-gradient(transparent,var(--preview-paper) 80%)}}
.library-page .resume-reading.resume-full[hidden]{display:none}
.resume-full .resume-label{text-align:left}

/* A larger framed wordmark above one narrow homepage column. */
.library-page .library-header{padding-top:40px;padding-bottom:24px}
.library-page .library-header .library-name{width:336px;height:168px;font-size:70px;color:var(--vilna-accent)}
.library-page .library-name::before{background:var(--ink)}
.library-page .library-main{max-width:508px;margin-inline:auto;padding-inline:24px}
@media(max-width:720px){.library-page .library-header{padding-top:28px;padding-inline:24px}.library-page .library-header .library-name{width:min(300px,calc(100vw - 48px));height:150px;font-size:62px}}

/* The visible frame and all content share the exact same column. */
.library-page{--home-width:min(440px,calc(100vw - 48px))}
.library-page .library-header,.library-page .library-main{width:var(--home-width);max-width:none;margin-inline:auto;padding-inline:0}
.library-page .library-header .library-brand{width:100%}
.library-page .library-header .library-name{width:100%;height:auto;aspect-ratio:2/1;font-size:clamp(60px,17vw,86px);padding:24px}
/* Exclude the existing frame image's transparent border from its visible width. */
.library-page .library-name::before{inset:auto;left:-4.284%;top:-2.421%;width:108.568%;height:107.385%}
.library-page .resume-reading.resume-full{border-radius:2px}
.library-page .library-search input{border-radius:2px}
.resume-full .resume-sheet{line-height:1.48}
.resume-full .preview-paragraph{margin-bottom:.6em}
.resume-full .preview-rashi{font-size:.9em}
.resume-full .resume-action{left:16px;right:16px;bottom:16px}
.resume-full .resume-continue{width:100%;border-radius:2px}
.resume-full .resume-progressive-blur{height:155px}
.resume-full .resume-fade{background:linear-gradient(transparent 45%,var(--preview-paper) 100%)}

/* Fade the softened text into paper before it reaches the action. */
.resume-full .resume-fade{background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--preview-paper) 25%,transparent) 30%,color-mix(in srgb,var(--preview-paper) 75%,transparent) 65%,var(--preview-paper) 90%)}
/* Optical centering for the Hebrew font's visible glyphs. The frame stays fixed. */
.library-page .library-header .library-name{padding-top:36px;padding-bottom:12px}

/* Compact tractate navigation, matching the reader's picker and daf controls. */
.library-page .tractate>summary{min-height:44px;padding:9px 10px;gap:10px;border-radius:3px}
.library-page .tractate-list .tractate-title{font:22px/1.2 VilnaPFT,serif}
.library-page .tractate>summary:hover,.library-page .tractate[open]>summary{background:var(--soft)}
.library-page .tractate>summary .central-icon{width:16px;height:16px;color:var(--quiet)}
.library-page .library-perek{padding:14px 0}
.library-page .library-perek h2{gap:4px;margin-bottom:12px}
.library-page .perek-title{font-size:22px}
.library-page .daf-choice{min-height:36px;font:21px/1.2 VilnaPFT,serif;border-radius:3px;background:transparent}
.library-page .daf-choice:hover{background:var(--soft)}
@media(pointer:coarse){.library-page .daf-choice{min-height:44px}}

/* Review markers color the underline, never the reading text. */
#reader .proposal-anchor,#reader .unplaced-passage-anchor,#reader .experimental-inline{color:var(--ink);text-decoration-color:#3275b6}
#reader .unplaced-passage-anchor{text-decoration-color:#a32929}
#reader .experimental-inline .proposal-rashi{color:var(--comment)}
#reader:is([data-theme=dark],[data-theme=gray]) .proposal-anchor,#reader:is([data-theme=dark],[data-theme=gray]) .experimental-inline{text-decoration-color:#8bbbed}
#reader:is([data-theme=dark],[data-theme=gray]) .unplaced-passage-anchor{text-decoration-color:#ff9999}
#reader .unplaced-comment,#reader .unplaced-comment.has-proposal{color:var(--comment);text-decoration-color:#a32929}
#reader .unplaced-comment.has-proposal{text-decoration-color:#3275b6}
#reader .unplaced-comment .unplaced-opening{color:var(--ink)}
#reader:is([data-theme=dark],[data-theme=gray]) .unplaced-comment{text-decoration-color:#ff9999}
#reader:is([data-theme=dark],[data-theme=gray]) .unplaced-comment.has-proposal{text-decoration-color:#8bbbed}

/* Fade above every blur layer into the homepage, not the saved paper theme. */
.resume-full .resume-progressive-blur{height:190px}
.resume-full .resume-progressive-blur i{z-index:0}
.resume-full .resume-fade{z-index:1;background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--home-fade) 45%,transparent) 25%,color-mix(in srgb,var(--home-fade) 85%,transparent) 55%,var(--home-fade) 78%)}

/* Let the saved page fade directly into the homepage without an outline. */
.library-page .resume-reading.resume-full{border:0;outline:0;box-shadow:none}

/* Temporarily unavailable. Retain markup for restoration. */
.desktop-navigation-setting{display:none!important}

@media(min-width:721px){
 .layout{grid-template-columns:244px minmax(0,1fr)}
 .sidebar{gap:12px;padding:18px 16px 14px}
 .sidebar-tractate{padding-bottom:10px}
 .sidebar-tractate #tractate-select{font-size:26px;padding-block:5px;min-height:38px}
 .sidebar .explorer-perek>summary{gap:3px 8px;padding:11px 6px}
 .sidebar .explorer-perek-name{font-size:20px}
 .sidebar .explorer-daf-grid{gap:3px;padding-bottom:10px}
 .sidebar .page-link{min-height:32px;font-size:20px}
 .sidebar .reader-actions{gap:0}
 .sidebar .reader-actions button{min-height:32px;height:32px;font-size:13px;padding-block:4px}
 .sidebar-actions{padding-top:8px}
}
@media(pointer:coarse) and (min-width:721px){.sidebar .page-link,.sidebar .reader-actions button,.sidebar-tractate #tractate-select{min-height:44px;height:auto}}

/* Chapters are static headings. All dafim stay exposed in the scroll pane. */
.explorer-perek>.explorer-heading{display:flex;flex-direction:column;gap:3px;margin:0;padding:12px 6px 8px;text-align:right;font-weight:400}
.sidebar .explorer-perek>.explorer-heading .explorer-perek-number{font:11px 'Google Sans';color:var(--quiet)}
.sidebar .explorer-perek>.explorer-heading .explorer-perek-name{font:19px/1.2 VilnaPFT}
.sidebar .explorer-daf-grid{gap:2px;padding:0 2px 8px}
@media(min-width:721px) and (pointer:fine){.sidebar .page-link{min-height:28px;padding:3px;font-size:19px}}

.explorer-perek>.explorer-heading{flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px}
.explorer-heading .explorer-perek-number{white-space:nowrap}

/* Reader review cards inherit the current paper, never an outer app theme. */
#reader .placement-explanation{padding:12px 16px;color:var(--ink);background:transparent}
#reader .reader-proposals,#reader .proposal-reading{color:var(--ink)}
#reader .proposal-rashi{color:var(--comment)}
#reader .placement-actions{margin:0 0 12px;padding:0 0 8px;border-top:0;border-bottom:1px solid color-mix(in srgb,var(--ink) 15%,transparent);align-items:center;gap:14px;flex-wrap:wrap;font:13px/1.4 'Google Sans',sans-serif;color:var(--ink)}
#reader .placement-actions a{color:inherit}
#reader .placement-actions .proposal-visibility{margin-inline-start:auto;direction:ltr;font-size:13px;min-height:32px}
#reader .placement-explanation .placement-source{margin:4px 0 12px;font-size:22px;line-height:1.5}
#reader .reader-proposals{margin:10px 0 0}
#reader .proposal-option{padding:10px 0;margin:0;border-top:1px solid color-mix(in srgb,var(--ink) 15%,transparent)}
#reader .proposal-result-heading{justify-content:flex-start;flex-wrap:wrap;gap:4px 12px;margin:0 0 6px;color:var(--quiet);font-size:12px}
#reader .proposal-result-heading>span{font-weight:600;color:var(--ink)}
#reader .proposal-result-heading a{color:var(--quiet);text-decoration:underline;text-underline-offset:3px}
#reader .proposal-reading{border:0;border-radius:0;padding:0;font-size:22px;line-height:1.5}
#reader .placement-explanation .proposal-source-match{background:transparent;border-bottom:2px solid #3275b6;color:inherit}
#reader .matches-hidden .proposal-result-span{text-decoration:none}
#reader .matches-hidden .proposal-source-match{border-bottom-color:transparent;background:transparent}
#reader .placement-explanation>.placement-tags{display:inline-flex;margin:4px 0 0;font-size:11px}
#reader .placement-explanation>.placement-tags>span{border:0;padding:0;color:var(--quiet)}
#reader .placement-context{margin-top:6px;font:12px/1.5 'Google Sans',sans-serif;color:var(--quiet)}
#reader .placement-context>div{margin-top:8px}
@media(max-width:720px){
 #reader .placement-explanation{padding:10px 12px}
 #reader .placement-explanation .placement-source,#reader .proposal-reading{font-size:20px;line-height:1.5}
 #reader .placement-actions .proposal-visibility{min-height:44px}
 #reader .placement-actions>.placement-copy{min-height:44px;height:44px;font-size:14px}
 #reader .proposal-result-heading{font-size:12px}
}
#reader .unplaced-item>.proposal-label{color:var(--quiet)}
#reader a.rashi-reference{color:inherit;background:color-mix(in srgb,var(--comment) 12%,transparent);padding:1px 4px;border-radius:3px;text-decoration:none;box-decoration-break:clone;-webkit-box-decoration-break:clone;cursor:pointer}
#reader a.rashi-reference:hover{background:color-mix(in srgb,var(--comment) 23%,transparent)}
#reader a.rashi-reference:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
#reader .reference-target{color:inherit;background:color-mix(in srgb,var(--ink) 16%,transparent);border-radius:3px;padding-inline:3px}
.reference-trail{position:fixed;z-index:1000;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:6px;background:var(--app-paper);color:var(--app-ink);border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:6px;box-shadow:0 4px 20px #0002;font:14px/1.4 'Google Sans',sans-serif}
.reference-trail[hidden]{display:none}.reference-trail button,.reference-trail summary{padding:8px 10px;min-height:40px;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;white-space:nowrap;border-radius:3px}.reference-back{display:flex;align-items:center;gap:8px}.reference-back svg{width:18px;height:18px}.reference-trail button:hover,.reference-trail summary:hover{background:color-mix(in srgb,currentColor 8%,transparent)}.reference-trail button:focus-visible,.reference-trail summary:focus-visible{outline:2px solid currentColor;outline-offset:1px}.reference-trail details{position:relative}.reference-stops{position:absolute;bottom:calc(100% + 14px);right:0;background:var(--app-paper);border:1px solid color-mix(in srgb,currentColor 20%,transparent);padding:4px;max-height:40vh;overflow:auto;box-shadow:0 4px 20px #0002;min-width:180px}.reference-stops button{display:block;width:100%;text-align:right}.reference-loading{position:fixed;inset:0;z-index:1100;background:var(--app-paper);color:var(--app-ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;font:14px 'Google Sans',sans-serif}.reference-loading .loading-mark{width:46px;height:64px}
@media(max-width:720px){.reference-trail button,.reference-trail summary{min-height:44px}.reference-trail{font-size:13px;gap:0}}
body:has(.reference-trail:not([hidden])) [data-sonner-toaster]{bottom:90px!important}

/* The home wordmark uses the standard Rashi face, fitted to its frame. */
.library-page .library-header .library-name{font-family:Rashi,serif;font-weight:400;font-size:clamp(76px,23vw,112px);padding:20px 28px 12px;line-height:1}
