:root{--paper: #faf7f0;--paper-deep: #f3efe5;--ink: #2b2820;--ink-soft: #6e6858;--hairline: rgba(43, 40, 32, .14);--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}.app{min-height:100vh;display:flex;flex-direction:column}:root{--chrome-h: 4.1rem;--panel-w: 18rem}.masthead{position:fixed;top:0;left:0;right:0;z-index:30;background:var(--paper);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--chrome-h);padding:0 1.6rem}.app{padding-top:var(--chrome-h)}.masthead>:first-child{justify-self:start}.masthead>:last-child{justify-self:end}.wordmark{font-family:var(--serif);font-style:italic;font-size:1.25rem;letter-spacing:.02em;color:var(--ink-soft);justify-self:center}.mast-actions{display:inline-flex;align-items:center;gap:.55rem}.text-warning{background:#f6e8c8;border-top:1px solid rgba(140,110,40,.25);border-bottom:1px solid rgba(140,110,40,.25);color:#5d4a1a;font:500 .85rem/1.5 var(--sans);padding:.6rem 1.6rem}.side-toolbar{width:var(--panel-w);position:fixed;left:0;top:var(--chrome-h);bottom:0;overflow-y:auto;z-index:20;background:var(--paper);padding:1.3rem 1.1rem 2rem 1.5rem;border-right:1px solid var(--hairline)}.toolbar.vertical{border-bottom:none;padding:0}.toolbar.vertical .row{flex-direction:column;align-items:stretch;gap:.4rem;padding:0 0 1.4rem}.toolbar.vertical .row-label{width:auto;margin-bottom:.15rem}.toolbar.vertical .pill{display:flex}.toolbar.vertical .pill-main{flex:1;justify-content:flex-start;text-align:left}.toolbar.vertical .pill.add{text-align:left}.toolbar.vertical .inline-form{flex-direction:column;align-items:stretch}.toolbar.vertical .inline-form input{width:auto}.toolbar.vertical .swatches{flex-wrap:wrap}.psalm-nav{position:relative;display:flex;align-items:center;gap:.25rem}.nav-arrow{font:400 1.25rem var(--serif);color:var(--ink-soft);background:none;border:none;border-radius:50%;width:2rem;height:2rem;line-height:1;cursor:pointer}.nav-arrow:hover:not(:disabled){color:var(--ink);background:#2b28200f}.nav-arrow:disabled{opacity:.25;cursor:default}.nav-current{font:600 .9rem var(--sans);color:var(--ink);background:none;border:1px solid var(--hairline);border-radius:999px;padding:.35rem 1rem;cursor:pointer;white-space:nowrap}.nav-current.nav-chapter{min-width:3.6rem}.nav-current:hover{border-color:var(--ink-soft)}.nav-caret{font-size:.7em;color:var(--ink-soft);margin-left:.2rem}.psalm-grid{position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%);z-index:30;background:var(--paper);border:1px solid var(--hairline);border-radius:.9rem;box-shadow:0 12px 32px #2b28202e;padding:.7rem;display:grid;grid-template-columns:repeat(10,2.15rem);gap:.15rem;max-height:21rem;overflow-y:auto}.grid-cell{font:500 .78rem var(--sans);color:var(--ink);background:none;border:none;border-radius:.45rem;padding:.35rem 0;cursor:pointer;font-variant-numeric:tabular-nums}.grid-cell:hover{background:#2b282012}.grid-cell.current{background:var(--ink);color:var(--paper)}.book-grid{grid-template-columns:repeat(3,8.6rem);max-height:24rem}.book-cell{text-align:left;padding:.35rem .6rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-cell.open{background:#2b28201a}.tool-seg{display:flex}.tool-seg .seg-btn{flex:1 1 0;min-width:0;padding-left:.2rem;padding-right:.2rem;text-align:center}.book-cell.current.open{background:var(--ink)}.book-chapters{display:grid;grid-template-columns:repeat(10,1fr);gap:.1rem;margin:.3rem 0 .5rem;padding:.35rem .3rem;background:#2b28200a;border-radius:.6rem}.book-chapters .grid-cell{font-size:.74rem;padding:.28rem 0}.stats-toggle{font:600 .78rem var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);background:none;border:1px solid var(--hairline);border-radius:999px;padding:.35rem .9rem;cursor:pointer}.stats-toggle.on,.stats-toggle:hover{color:var(--ink);border-color:var(--ink-soft)}.toolbar{padding:.4rem 1.6rem .9rem;border-bottom:1px solid var(--hairline)}.row{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;padding:.3rem 0}.row-label{font:600 .7rem var(--sans);text-transform:uppercase;letter-spacing:.09em;color:var(--ink-soft);width:6.2rem;flex-shrink:0}.pill{display:inline-flex;align-items:center;border:1.5px solid var(--hairline);border-radius:999px;background:transparent;font:500 .88rem var(--sans);color:var(--ink);overflow:hidden}.pill-main{display:inline-flex;align-items:center;gap:.4rem;border:none;background:none;font:inherit;color:inherit;padding:.34rem .45rem .34rem .85rem;cursor:pointer}.pill-x{border:none;background:none;color:inherit;opacity:0;font-size:.95rem;line-height:1;padding:.34rem .6rem .34rem .1rem;cursor:pointer;transition:opacity .12s}.pill:hover .pill-x{opacity:.55}.pill-x:hover{opacity:1}.study-pill.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.hl-pill.selected{color:var(--ink);box-shadow:0 1px 3px #2b28202e}.pill.add{border-style:dashed;color:var(--ink-soft);padding:.34rem .85rem;cursor:pointer}.pill.add:hover{color:var(--ink);border-color:var(--ink-soft)}.dot{width:.72rem;height:.72rem;border-radius:50%;display:inline-block;flex-shrink:0}.dot-btn{border:none;background:none;padding:.34rem 0 .34rem .7rem;display:inline-flex;align-items:center;cursor:pointer;flex-shrink:0}.dot-btn:hover .dot{transform:scale(1.35)}.dot-btn .dot{transition:transform .1s;box-shadow:0 0 0 1.5px #2b28202e}.hl-pill.selected .dot{box-shadow:0 0 0 2px #ffffffd9}.hl-pill .pill-main{padding-left:.45rem}.carryover-pill{padding:.34rem .85rem;cursor:pointer;font:500 .85rem var(--sans);color:var(--ink-soft)}.carryover-pill.on{background:var(--paper-deep);border-color:var(--ink-soft);color:var(--ink)}.hl-pill.is-hidden{opacity:.38}.hl-pill.is-hidden .pill-main{text-decoration:line-through;text-decoration-thickness:1px}.inline-form{display:inline-flex;align-items:center;gap:.4rem}.inline-form input{font:500 .88rem var(--sans);color:var(--ink);background:#fff;border:1.5px solid var(--ink-soft);border-radius:999px;padding:.32rem .85rem;outline:none;width:13rem}.mini{font:600 .78rem var(--sans);border:none;border-radius:999px;background:var(--ink);color:var(--paper);padding:.4rem .9rem;cursor:pointer}.swatches{display:inline-flex;gap:.3rem}.swatch{width:1.25rem;height:1.25rem;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.swatch.picked{border-color:var(--ink)}.swatch.custom{position:relative;display:inline-flex;align-items:center;justify-content:center;border:1px dashed var(--ink-soft);background:transparent;overflow:hidden}.swatch.custom.picked{border:2px solid var(--ink)}.swatch.custom .plus{font:600 .85rem var(--sans);color:var(--ink-soft);line-height:1;pointer-events:none}.swatch.custom input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:none}.body{display:flex;flex:1;min-height:0}.scripture{flex:1;max-width:var(--col-max, 44rem);margin:0 auto;padding:2.5rem 2rem 5rem;font-family:var(--serif);font-size:1.28rem;line-height:2.05;user-select:none;-webkit-user-select:none}.scripture{--grid: calc(2.624rem * var(--leading-scale, 1))}.scripture .verse{line-height:var(--grid);font-size:calc(1.28rem * var(--type-scale, 1));font-size:round(calc(1.28rem * var(--type-scale, 1)),1px)}.scripture.inking{touch-action:none}.row-label.with-toggle{display:flex;justify-content:space-between;align-items:baseline}.section-toggle{border:none;background:none;font:600 .62rem var(--sans);color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;padding:0}.section-toggle:hover{color:var(--ink)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:1.7rem}.setting-row.stacked{flex-direction:column;align-items:stretch;gap:.3rem}.setting-label{font:500 .8rem var(--sans);color:var(--ink);white-space:nowrap}.setting-seg{display:flex}.setting-row:not(.stacked)>.setting-seg{flex:1}.setting-seg .seg-btn{flex:1 1 0;min-width:0;padding-left:.2rem;padding-right:.2rem;text-align:center}.switch{flex:none;width:2.15rem;height:1.25rem;border-radius:999px;border:1px solid var(--hairline);background:var(--paper-deep);position:relative;cursor:pointer;padding:0;transition:background-color .12s,border-color .12s}.switch .knob{position:absolute;top:2px;left:2px;width:calc(1.25rem - 6px);height:calc(1.25rem - 6px);border-radius:50%;background:var(--ink-soft);transition:left .12s,background-color .12s}.switch.on{background:var(--ink);border-color:var(--ink)}.switch.on .knob{left:calc(100% - 1.25rem + 4px);background:var(--paper)}.slider-row{flex-basis:100%;display:flex;align-items:center;gap:.55rem;max-width:15rem}.slider-label{font:600 .72rem var(--sans);color:var(--ink-soft);white-space:nowrap;flex:none;width:4.9rem}.slider-row input[type=range]{flex:1;accent-color:var(--ink)}.cursor-swatches{display:inline-flex;gap:.3rem}.cursor-swatch{border:1px solid var(--hairline);background:var(--paper);border-radius:.5rem;padding:.3rem .45rem;cursor:pointer;line-height:0}.cursor-swatch:hover{background:var(--paper-deep)}.cursor-swatch.picked{border-color:var(--ink);background:var(--paper-deep)}.cursor-swatch img{width:15px;height:22.5px;display:block}.scripture.inking .chapter-head,.scripture.inking .translation-toggle,.scripture.inking .hint{cursor:default}.scripture.stroking .hl{transition:none}.scripture.selecting{user-select:text;-webkit-user-select:text}.scripture.selecting .verse ::selection,.scripture.selecting .verse::selection{background:#2b28202e}.chapter-head{position:relative}.chapter-head-row{display:flex;align-items:center;justify-content:center;gap:.6rem}.psalm-title{font-family:var(--serif);font-weight:400;font-size:2rem;line-height:1.25;letter-spacing:.12em;text-transform:uppercase;text-align:center;margin:0}.head-part{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;background:none;border:none;border-bottom:2px dotted transparent;padding:0 .04em;cursor:pointer}.head-part:hover{border-bottom-color:#2b282059}.head-arrow{opacity:.12;transition:opacity .14s}.chapter-head:hover .head-arrow:not(:disabled){opacity:.6}.head-arrow:hover:not(:disabled){opacity:1!important}.head-pop{position:absolute;top:calc(100% + .6rem);left:50%;transform:translate(-50%);z-index:30;background:var(--paper);border:1px solid var(--hairline);border-radius:.9rem;box-shadow:0 12px 32px #2b28202e;padding:.9rem 1rem;font-family:var(--sans);text-align:left}.book-pop{max-height:26rem;overflow-y:auto;width:max-content}.book-search{width:100%;font:500 .85rem var(--sans);color:var(--ink);background:var(--paper-deep);border:1px solid var(--hairline);border-radius:.55rem;padding:.45rem .7rem;margin-bottom:.85rem;outline:none;box-sizing:border-box}.book-search:focus{border-color:var(--ink)}.book-search::placeholder{color:var(--ink-soft)}.testament+.testament{margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--hairline)}.testament-label{font:600 .68rem var(--sans);text-transform:uppercase;letter-spacing:.09em;color:var(--ink-soft);margin-bottom:.4rem}.book-columns{display:grid;grid-auto-flow:column;grid-auto-columns:8.4rem;column-gap:.4rem}.translation-toggle{display:flex;justify-content:center;align-items:center;height:2.2rem;margin:.35rem 0 1.9rem}.verse{margin:0 0 .55em;text-indent:1.4em}.vnum{font:600 .62em var(--sans);font-size:round(.62em,1px);color:var(--ink-soft);margin-right:.55em;vertical-align:.45em}.hl{border-radius:.32em;padding:.14em .08em;margin:-.14em -.08em;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:background-color 90ms}.hint{text-align:center;font:italic 400 1rem var(--serif);color:var(--ink-soft);margin-top:3rem}.scripture[lang=he] .verse{font-family:"SBL Hebrew","Ezra SIL","Times New Roman",var(--serif);font-size:calc(1.5rem * var(--type-scale, 1));font-size:round(calc(1.5rem * var(--type-scale, 1)),1px)}.scripture[dir=rtl] .verse{text-align:right}.scripture[dir=rtl] .vnum{margin-right:0;margin-left:.55em}.ink-host{position:relative}.ink-fill{position:absolute;z-index:-1;border-radius:.32em}.ink-fill.sq-l{border-top-left-radius:0;border-bottom-left-radius:0}.ink-fill.sq-r{border-top-right-radius:0;border-bottom-right-radius:0}.hl-part{padding-left:0;padding-right:0;margin-left:0;margin-right:0}.hl-sq-l{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0;padding-left:0}.hl-sq-r{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0;padding-right:0}.verse-flow{text-indent:1.4em}.section-head{font:700 calc(1.28rem * var(--type-scale, 1)) var(--serif);font-size:round(calc(1.28rem * var(--type-scale, 1)),1px);color:var(--ink);margin:0;padding-top:var(--grid);line-height:var(--grid)}.section-head+.section-head{padding-top:0}.translation-toggle+.section-head{padding-top:0}.scripture.justified .verse{text-align:justify}.stats{width:var(--panel-w);position:fixed;right:0;top:var(--chrome-h);bottom:0;z-index:20;border-left:1px solid var(--hairline);background:var(--paper-deep);padding:1.6rem 1.5rem 2rem;font-family:var(--sans);overflow-y:auto}.stats h2{font:600 .8rem var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin:0 0 .3rem}.stats-sub{font-size:.9rem;color:var(--ink);margin:0 0 1.2rem}.denom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.4rem .6rem;margin-bottom:1rem}.denom-label{font-size:.8rem;color:var(--ink-soft)}.seg{display:inline-flex;border:1px solid var(--hairline);border-radius:999px;overflow:hidden}.seg-btn{font:600 .75rem var(--sans);border:none;background:none;color:var(--ink-soft);padding:.3rem .65rem;cursor:pointer;white-space:nowrap}.seg-btn.on{background:var(--ink);color:var(--paper)}.stat-row{margin-bottom:1.1rem}.stat-head{display:flex;align-items:center;gap:.45rem;margin-bottom:.35rem}.stat-name{font-weight:600;font-size:.92rem;flex:1}.stat-pct{font-weight:600;font-size:.92rem;font-variant-numeric:tabular-nums}.bar-track{height:.55rem;border-radius:999px;background:#2b282014;overflow:hidden}.bar-fill{height:100%;border-radius:999px;transition:width .2s ease}.stat-detail{font-size:.78rem;color:var(--ink-soft);margin-top:.3rem;font-variant-numeric:tabular-nums}.stats-empty{font-size:.88rem;color:var(--ink-soft);font-style:italic}.stats-total{margin-top:1.6rem;padding-top:1rem;border-top:1px solid var(--hairline);font-size:.8rem;color:var(--ink-soft)}@media(max-width:900px){.stats{box-shadow:-8px 0 24px #2b28201f}}
