.diff-manuscript{margin:0 0 var(--space-4);min-height:calc(3 * 1.75 * var(--type-4));max-width:60ch;animation:settle .22s ease-out both}.d-correct{color:var(--correct)}.d-miss{color:var(--miss)}.d-mark{white-space:nowrap}.d-struck{text-decoration:line-through;text-decoration-thickness:1.5px}.d-caret{font-family:var(--grotesque);font-size:.7em;vertical-align:.15em;margin-right:.05em}.d-seam{color:var(--rule);font-family:var(--grotesque);padding:0 .15em;vertical-align:.1em}.diff-readout{border-top:1px solid var(--rule-faint);padding-top:var(--space-2);animation:settle .2s ease-out .18s both}.diff-accuracy{font-size:var(--type-figure);font-weight:500;line-height:1;letter-spacing:-.02em;color:var(--text);margin-bottom:var(--space-1)}.diff-extras{margin-top:var(--space-half);font-size:var(--type-1);letter-spacing:.02em;color:var(--miss)}.diff-measure{margin-top:var(--space-half);font-size:var(--type-micro);letter-spacing:.02em;color:var(--text-quiet)}@media (prefers-reduced-motion: reduce){.diff-manuscript,.diff-readout{animation:none;opacity:1;transform:none}}.build-meta{margin-bottom:0}.build-text{margin:0}.build-meta+.aside{margin-top:var(--space-1)}.build-meta+.build-text{margin-top:var(--space-2)}.aside+.build-text{margin-top:var(--space-3)}.build-folio{white-space:nowrap}.build-readout{margin-top:var(--space-4);border-top:1px solid var(--rule-faint);padding-top:var(--space-2);animation:settle .2s ease-out .18s both}.build-unit{color:var(--text-quiet)}.aside.build-retry{margin-top:var(--space-3);color:var(--text)}@media (prefers-reduced-motion: reduce){.build-readout{animation:none;opacity:1;transform:none}}.build-done{margin:var(--space-3) 0 0;color:var(--text)}.build-blank{box-sizing:content-box;border:0;border-bottom:1px solid var(--rule);background:transparent;font-family:var(--serif);font-size:inherit;line-height:1;vertical-align:baseline;color:var(--text);padding:0 .1em;margin:0 .05em calc(-.25em - 1px)}.build-score{margin-top:0;font-size:var(--type-5);letter-spacing:-.02em;color:var(--text)}.build-blank:focus{outline:none;border-bottom-color:var(--text);box-shadow:0 1px 0 var(--text)}.seg-meta{margin-bottom:var(--space-half)}.seg-hint{margin:0 0 var(--space-2)}.seg-reset{margin-top:var(--space-3)}.seg-reset-note{margin:0 0 var(--space-1)}.seg-reserve{min-height:var(--space-6)}.seg{display:flex;flex-wrap:wrap;align-items:baseline;gap:1rem 4px;margin:0}.seg-word{white-space:pre}.seg-gap{position:relative;border:0;background:transparent;font-size:inherit;padding:0 .28em;margin:0;cursor:pointer;align-self:stretch;line-height:inherit;color:var(--miss)}.seg-gap:after{content:"";position:absolute;top:-8px;right:-5px;bottom:-8px;left:-5px}.seg-gap:before{content:"";position:absolute;top:.35em;bottom:.35em;left:50%;width:1px;transform:translate(-50%);background:var(--rule)}.seg-gap.on:before,.seg-gap:hover:before{display:none}.seg-gap .seg-mark{font-family:var(--grotesque);font-size:.7em;opacity:0}.seg-gap.on .seg-mark{opacity:1}.seg-gap:hover .seg-mark{opacity:.4}.seg-gap.on:hover .seg-mark{opacity:1}.seg-gap:focus-visible{outline:2px solid var(--text);outline-offset:1px;border-radius:2px}.seg-break{flex-basis:100%;height:.15rem}.seg-notes{margin:var(--space-2) 0 var(--space-2);padding:0;list-style:none;color:var(--text-quiet)}.seg-notes .seg-note-at{display:block;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--text)}.seg-notes li{margin-bottom:var(--space-half);padding-left:var(--space-2);text-indent:calc(-1 * var(--space-2))}.seg-notes li:before{content:"– ";color:var(--rule)}.heat-key-block{margin:0 0 var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--rule-faint)}.heat-key{list-style:none;padding:0}.heat-key li{display:flex;align-items:baseline;gap:.4em}.heat-key li+li{margin-top:var(--space-half)}.heat-key .heat-dot{font-size:1.6em;line-height:1}.heat-verse{margin:0 0 var(--space-4)}.heat-verse+.heat-verse{border-top:1px solid var(--rule-faint);padding-top:var(--space-3)}.heat-ref{margin:0 0 var(--space-half);font-size:var(--type-3)}.heat-text{margin:0 0 var(--space-1);line-height:1.9}.heat-mark{white-space:nowrap;padding:0 .12em}.heat-dot{font-family:var(--grotesque);font-size:1.15em;vertical-align:.05em}.heat-interval{font-family:var(--mono);font-size:.62em;color:var(--text-quiet);vertical-align:.35em;padding-left:.1em}.heat-unmeasured{color:var(--rule)}.heat-fragile{color:var(--miss)}.heat-holding{color:var(--text)}.heat-solid{color:var(--correct)}.heat-key,.heat-summary{margin:0;font-size:var(--type-1);letter-spacing:.02em;color:var(--text-quiet)}.heat-noseams{margin:0;color:var(--text-quiet)}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2")}@font-face{font-family:"IBM Plex Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/ibm-plex-serif-latin-400-normal-BIGslYFI.woff2) format("woff2")}:root{color-scheme:light dark;--ink: #16181a;--stock: #e8e9e6;--rule: #6f7370;--rule-faint: #c3c5c1;--correct: #2f5d4f;--miss: #5a1f2e;--tap: rgb(22 24 26 / 14%);--ground: var(--stock);--text: var(--ink);--text-quiet: color-mix(in srgb, var(--text) 65%, var(--ground));--type-1: 13px;--type-2: 15px;--type-3: 17px;--type-4: 19px;--type-5: 21px;--type-figure: 40px;--type-input-floor: 16px;--type-micro: 11px;--type-label: 12px;--space-half: 4px;--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--space-6: 48px;--serif: "IBM Plex Serif", "Iowan Old Style", "Palatino Linotype", Palatino, Charter, Georgia, serif;--grotesque: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--mono: "IBM Plex Mono", "SF Mono", ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme: dark){:root{--ground: var(--ink);--text: var(--stock);--rule: #6e726b;--rule-faint: #40443f;--correct: #7ea88c;--miss: #e8b3a8;--tap: rgb(232 233 230 / 18%)}}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}html{overscroll-behavior-y:none;-webkit-text-size-adjust:100%}@supports (font: -apple-system-body){html{font:-apple-system-body;font-family:var(--grotesque)}:root{--type-1: calc(13 / 17 * 1rem);--type-2: calc(15 / 17 * 1rem);--type-3: 1rem ;--type-4: calc(19 / 17 * 1rem);--type-5: calc(21 / 17 * 1rem);--type-figure: calc(40 / 17 * 1rem);--type-micro: calc(11 / 17 * 1rem);--type-label: calc(12 / 17 * 1rem)}}body{background:var(--ground);color:var(--text);font-family:var(--grotesque);font-size:var(--type-2);line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:var(--tap)}button,a,summary{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.t-verse{font-family:var(--serif);font-size:var(--type-4);line-height:1.75}.t-ui{font-family:var(--grotesque);font-size:var(--type-1);line-height:1.4;letter-spacing:.01em}.t-data{font-family:var(--mono);font-variant-numeric:tabular-nums}button{font-family:var(--grotesque);color:var(--text);cursor:pointer}input,select,textarea{font-family:var(--grotesque);color:var(--text);background:transparent}a{color:inherit}.hairline{border:0;border-top:1px solid var(--rule-faint);margin:var(--space-3) 0}@keyframes settle{0%{opacity:0;transform:translateY(.18rem)}to{opacity:1;transform:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.screen{max-width:640px;margin:0 auto;padding:max(var(--space-3),env(safe-area-inset-top)) max(var(--space-3),env(safe-area-inset-right)) calc(max(var(--space-3),env(safe-area-inset-bottom)) + var(--keyboard-inset, 0px)) max(var(--space-3),env(safe-area-inset-left))}.topbar{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2);row-gap:var(--space-1);margin-bottom:var(--space-3)}.topbar h1{font-family:var(--mono);font-size:var(--type-3);font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:0;margin:0}.reading{font-size:var(--type-label);letter-spacing:.08em;text-transform:uppercase;color:var(--text-quiet)}.aside{color:var(--text-quiet);margin:var(--space-2) 0 0}.actions{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-3)}.link-btn{background:none;border:0;padding:13px 10px;margin:-9px -10px;min-width:44px;font-size:var(--type-1);line-height:1.4;text-decoration:underline;text-underline-offset:3px}.link-btn:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:2px}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px;border:1px solid var(--text);background:transparent;border-radius:2px;padding:var(--space-1) var(--space-3);font-family:var(--mono);font-size:var(--type-1);line-height:1.4;letter-spacing:.02em}.btn-primary{background:var(--text);color:var(--ground)}.btn:disabled{opacity:.4;cursor:default}.destructive{color:var(--miss)}.btn.destructive{border-color:var(--miss)}.btn:focus-visible{outline:2px solid var(--text);outline-offset:3px}.btn-primary:focus-visible{outline-color:var(--miss)}.field{display:block;margin-bottom:var(--space-2)}.field>label,.field>.field-label{display:block;font-family:var(--mono);font-size:var(--type-label);letter-spacing:.02em;color:var(--text-quiet);margin-bottom:var(--space-1)}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid var(--rule);padding:var(--space-1) 0;font-size:max(1rem,16px);min-height:44px;border-radius:0}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--text)}.field textarea{resize:vertical;min-height:calc(6 * var(--space-2))}.row-inline{display:flex;flex-wrap:wrap;gap:var(--space-2)}.row-inline>.field{flex:1 1 5rem}.form-reference{margin:var(--space-1) 0 0;font-size:var(--type-3)}.field-error{margin:var(--space-1) 0 0;color:var(--miss)}.form-submit{margin-top:var(--space-2)}.confirm-lede{margin-top:0}.confirm-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-1);font-size:var(--type-3)}.confirm-actions{margin-top:var(--space-3)}.proof{margin:var(--space-3) 0 var(--space-2)}.proof .hairline{margin:0 0 var(--space-2)}.proof .t-verse{margin:0}.segmented{display:inline-flex;border:1px solid var(--rule);border-radius:2px;overflow:hidden}.segmented button{display:inline-flex;align-items:center;min-height:44px;border:0;background:transparent;padding:var(--space-1) var(--space-2);font-family:var(--mono);font-size:var(--type-1);letter-spacing:.04em;border-right:1px solid var(--rule)}.segmented button:focus-visible{outline:2px solid var(--text);outline-offset:-4px}.segmented button:last-child{border-right:0}.segmented button[aria-pressed=true]{background:var(--text);color:var(--ground)}.segmented button[aria-pressed=true]:focus-visible{outline-color:var(--miss)}.book-group{margin-bottom:var(--space-3)}.book-group>summary{display:flex;align-items:center;gap:var(--space-1);min-height:44px;cursor:pointer;list-style:none}.book-group>summary::-webkit-details-marker{display:none}.book-group>summary:before{content:"+" / "";font-family:var(--mono);font-size:var(--type-label);color:var(--text-quiet)}.book-group[open]>summary:before{content:"−" / ""}.book-group>summary:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:2px}.book-group>summary>h2{margin:0;font-weight:inherit}.verse-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2);width:100%;text-align:left;text-decoration:none;background:none;border:0;border-bottom:1px solid var(--rule-faint);padding:var(--space-2) 0}.verse-row:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:2px}.route-root:focus{outline:none}.verse-row .ref{font-family:var(--mono);font-size:var(--type-3);font-variant-numeric:tabular-nums}.notice{border:1px solid var(--rule);border-radius:2px;padding:var(--space-2);margin-bottom:var(--space-2);font-size:var(--type-1)}.notice>p{margin:0 0 var(--space-1)}.notice>p:last-child{margin-bottom:0}.notice .hairline{margin:0 0 var(--space-1)}.notice-failed{color:var(--miss);white-space:pre-line}.notice-still-true{color:var(--text)}.empty-state{padding:var(--space-4) 0}.empty,.statement{margin:0;font-size:var(--type-3);color:var(--text)}.empty-detail{margin:var(--space-1) 0 0;color:var(--text-quiet)}.empty-state .actions{margin-top:var(--space-3)}.empty-state.first-run{padding-top:var(--space-2)}.first-run .empty{font-size:var(--type-5)}.first-run section>.reading{margin:0}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:0 var(--space-1);margin:var(--space-1) 0 var(--space-3)}.book-grid a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-1);font-family:var(--mono);font-size:var(--type-1);line-height:1.4;color:var(--text);text-decoration:none}.book-grid a:hover{text-decoration:underline;text-underline-offset:3px}.book-grid a:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:2px}.log-consent{margin-top:0}.log-lines{margin:var(--space-2) 0 0;border-top:1px solid var(--rule-faint);padding-top:var(--space-2);font-size:var(--type-1);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.import-result{margin:var(--space-2) 0 0;animation:settle .22s ease-out both}.backup-note{margin:0 0 var(--space-2)}.build-line{margin-top:var(--space-4);border-top:1px solid var(--rule-faint);padding-top:var(--space-2)}.build-line p{margin:0;text-transform:none}.build-line .actions{margin-top:var(--space-1)}.diff-consequence{margin:var(--space-3) 0 0;color:var(--miss)}.result-foot{animation:settle .2s ease-out .36s both}.result-foot .aside{margin-top:var(--space-1)}.diff-key .d-caret{font-size:1em;vertical-align:0;margin-right:.15em}.session-close{border-top:1px solid var(--rule-faint);padding-top:var(--space-2);animation:settle .22s ease-out both}.session-close .close-figures{margin:0;font-size:var(--type-3)}.drill-gone-block,.term-result{animation:settle .22s ease-out both}.term-citation{animation:settle .2s ease-out .18s both}.proof{animation:settle .22s ease-out both}@media (prefers-reduced-motion: reduce){.result-foot,.session-close,.drill-gone-block,.term-result,.term-citation,.proof,.import-result{animation:none;opacity:1;transform:none}}.card-exit{margin-top:var(--space-4)}.drill-cue{margin:0 0 max(var(--space-6),2.5em)}.drill-cue-spent{margin-bottom:max(var(--space-3),1.25em);color:var(--text-quiet)}.drill-proof .diff-manuscript{min-height:calc(2 * 1.75 * var(--type-4))}.field .recital-input{min-height:max(calc(9 * var(--space-2)),9em)}.field .drill-input{min-height:calc(5 * var(--space-2))}.drill-gone{color:var(--text)}.term-cue{margin:0 0 var(--space-6)}.term-cue.term-entry{margin-bottom:var(--space-3)}.term-cue p{margin:0}.term-lemma{font-size:var(--type-5)}.term-cue .term-said{margin-top:var(--space-1)}.term-said{font-size:var(--type-1)}.term-said .reading{margin-right:var(--space-1)}.gloss-diff{margin:0 0 var(--space-2)}.g-matched{color:var(--correct)}.g-missed{color:var(--text-quiet);font-style:italic}.term-foot{margin:0 0 var(--space-4)}.gloss-source{margin:0}.gloss-key{margin:var(--space-1) 0 0}.term-home{margin-top:var(--space-4)}.term-home p{margin:0}.term-home .reading{margin-top:var(--space-1)}.terms-state{margin:0 0 var(--space-1)}.term-list{margin:var(--space-6) 0 0}.term-list>.reading{margin:0 0 var(--space-1)}.term-list>.aside{margin:var(--space-1) 0 var(--space-2)}.term-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);row-gap:var(--space-1);min-height:48px}.term-row+.term-row{border-top:1px solid var(--rule-faint)}.term-row .term-kjv{flex:1;min-width:14ch;color:var(--text-quiet)}.error-still-true{margin:0}.error-detail{margin:var(--space-4) 0 0;color:var(--miss);font-size:var(--type-1);overflow-wrap:anywhere}.error-escapes{margin-top:var(--space-4)}.detail-status{margin:0 0 var(--space-2)}hr.detail-rule{margin:0 0 var(--space-3)}.detail-study,.verse-actions{margin-top:var(--space-4)}.btn-block{display:block;width:100%;padding:var(--space-2) var(--space-2);text-align:center}.btn-block+.btn-block{margin-top:var(--space-1)}.queue-count{margin:0 0 var(--space-1)}.queue-first{margin:0;font-size:var(--type-3)}.queue .aside{margin-top:var(--space-1)}.queue .aside.queue-floor{margin-top:var(--space-3)}.queue>p+.btn-block{margin-top:var(--space-3)}.queue>.queue-floor+.btn-block{margin-top:var(--space-1)}.queue-band{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--rule-faint)}.queue-band:empty{margin-top:0;padding-top:0;border-top:0}.empty-state+.queue-band{margin-top:0}.queue+.queue{margin-top:var(--space-4)}.session-progress{font-size:var(--type-label);letter-spacing:.04em;color:var(--text-quiet);margin:0}.update-bar{position:fixed;left:0;right:0;bottom:0;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) var(--space-3);padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom));border-top:1px solid var(--rule);background:var(--ground);font-size:var(--type-1)}.update-bar button{min-height:44px;min-width:44px;padding:var(--space-half) var(--space-1);margin:calc(-1 * var(--space-1)) 0}.update-bar button:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:2px}.about-head{border-bottom:1px solid var(--rule-faint);padding-bottom:var(--space-3)}.about-head p{max-width:62ch}.about-section{margin-top:var(--space-4)}.about-section h2{margin:0 0 var(--space-1)}.about-section p{margin:0 0 var(--space-2);max-width:62ch}.about-section p:last-child{margin-bottom:0}.hairline.kept-rule{margin:var(--space-4) 0 0}.kept-ledger{margin:0;display:flex;flex-direction:column;gap:var(--space-1)}.kept-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2)}.kept-row .reading{min-width:0}.kept-figure{margin-left:auto;font-size:var(--type-3);white-space:nowrap}.kept-ledger+.aside{margin-top:var(--space-2)}
