:root{--paper: #faf8f4;--paper-raised: #fffdfa;--ink: #26221d;--ink-soft: #5d564c;--ink-muted: #9a9187;--rule: #e9e2d6;--accent: #9a6b3f;--highlight: #f3e3c4;--shadow: 0 1px 2px rgb(60 45 25 / 5%), 0 12px 40px rgb(60 45 25 / 12%);--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Charter, "Bitstream Charter", Georgia, "Times New Roman", serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--paper: #15130f;--paper-raised: #1e1b16;--ink: #e7e0d3;--ink-soft: #b0a698;--ink-muted: #7d746a;--rule: #2c2822;--accent: #c9a06a;--highlight: #3a3020;--shadow: 0 1px 2px rgb(0 0 0 / 30%), 0 16px 48px rgb(0 0 0 / 55%)}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.app{height:100dvh;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(min(19rem,100%),1fr);overflow-x:auto;overscroll-behavior-x:contain}.column{display:flex;flex-direction:column;min-width:0;height:100dvh;container-type:inline-size}.column+.column{border-left:1px solid var(--rule)}.column__header{flex:none;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:2.25rem 1.5rem .9rem}.title{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:.25rem .7rem;border-radius:.5rem;cursor:pointer;color:inherit;font:inherit;display:flex;flex-direction:column;align-items:center;gap:.3rem;transition:background-color .16s ease}.title:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.title:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.title__ref{font-family:var(--serif);font-size:1.45rem;line-height:1.15;letter-spacing:-.005em;white-space:nowrap}.title__translation{font-family:var(--sans);font-size:.6rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted)}.controls{display:flex;align-items:center;gap:.1rem;opacity:0;transition:opacity .2s ease}.column:hover .controls,.column:focus-within .controls{opacity:1}@media(hover:none){.controls{opacity:1}}.controls button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;width:1.9rem;height:1.9rem;padding:0;display:grid;place-items:center;border-radius:50%;color:var(--ink-muted);cursor:pointer;transition:color .14s ease,background-color .14s ease}.controls button:hover:not(:disabled){color:var(--ink);background:color-mix(in srgb,var(--ink) 7%,transparent)}.controls button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.controls button:disabled{opacity:.25;cursor:default}.controls svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.column__body{flex:1;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--rule) transparent;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 1.5rem);mask-image:linear-gradient(to bottom,transparent 0,#000 1.5rem)}.chapter{max-width:33rem;margin:0 auto;padding:1.25rem 1.75rem 45vh;font-size:1.0625rem;line-height:1.78;color:var(--ink);text-wrap:pretty;transition:opacity .18s ease}@container (max-width: 30rem){.chapter{-webkit-hyphens:auto;hyphens:auto;padding-inline:1.25rem}}.chapter--stale{opacity:.45}.verse__number{font-family:var(--sans);font-size:.58em;font-weight:600;vertical-align:.62em;line-height:0;color:var(--ink-muted);margin-right:.22em;letter-spacing:0;-webkit-user-select:none;user-select:none}.verse--target{background:var(--highlight);border-radius:.25em;padding:.08em .25em;margin:0 -.05em;-webkit-box-decoration-break:clone;box-decoration-break:clone}.column__error{max-width:33rem;margin:2rem auto;padding:0 1.75rem;font-family:var(--sans);font-size:.9rem;color:var(--ink-muted)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;padding:max(12vh,3rem) 1rem 1rem;background:color-mix(in srgb,var(--paper) 55%,transparent);-webkit-backdrop-filter:blur(6px) saturate(1.1);backdrop-filter:blur(6px) saturate(1.1);animation:fade .14s ease;z-index:10}.palette{width:min(34rem,100%);align-self:flex-start;max-height:min(30rem,76vh);display:flex;flex-direction:column;background:var(--paper-raised);border:1px solid var(--rule);border-radius:.9rem;box-shadow:var(--shadow);overflow:hidden;animation:rise .16s cubic-bezier(.2,.7,.3,1)}.palette__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:1.05rem 1.25rem;font-family:var(--serif);font-size:1.2rem;color:var(--ink);outline:none}.palette__input::placeholder{color:var(--ink-muted)}.palette__results{list-style:none;margin:0;padding:.3rem;overflow-y:auto;border-top:1px solid var(--rule);scrollbar-width:thin;scrollbar-color:var(--rule) transparent}.result{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.5rem .95rem;border-radius:.5rem;cursor:pointer}.result--active{background:color-mix(in srgb,var(--accent) 13%,transparent)}.result__ref{font-family:var(--serif);font-size:1.02rem;white-space:nowrap}.result__translation{display:flex;align-items:baseline;gap:.5rem;min-width:0;font-family:var(--sans)}.result__abbr{font-size:.6rem;font-weight:600;letter-spacing:.12em;color:var(--accent)}.result__name{font-size:.72rem;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette__empty,.palette__hint{margin:0;padding:.75rem 1.25rem;border-top:1px solid var(--rule);font-family:var(--sans);font-size:.72rem;color:var(--ink-muted)}.palette__hint code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95em;padding:.1em .35em;border-radius:.25em;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink-soft)}.booting{height:100dvh;background:var(--paper)}.fatal{height:100dvh;display:grid;place-content:center;gap:.5rem;text-align:center;padding:2rem;font-family:var(--sans);font-size:.9rem}.fatal__detail{color:var(--ink-muted);font-size:.8rem}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(-.5rem)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
