.stf__parent{position:relative;display:block;box-sizing:border-box;transform:translateZ(0);-ms-touch-action:pan-y;touch-action:pan-y}.stf__wrapper{position:relative;width:100%;box-sizing:border-box}.stf__parent canvas{position:absolute;width:100%;height:100%;left:0;top:0}.stf__block{position:absolute;width:100%;height:100%;box-sizing:border-box;perspective:2000px}.stf__item{display:none;position:absolute;transform-style:preserve-3d}.stf__outerShadow,.stf__innerShadow,.stf__hardShadow,.stf__hardInnerShadow{position:absolute;left:0;top:0}.stf__wrapper.--rtl{transform:scaleX(-1)}.stf__wrapper.--rtl .stf__item>*{transform:scaleX(-1)}.fv-root{display:flex;flex-direction:column;align-items:center;gap:var(--fv-gap, 12px);width:100%}.fv-stage{display:flex;align-items:flex-start;justify-content:center;gap:var(--fv-gap, 12px);width:100%;outline:none}.fv-flow-hidden{position:fixed;top:0;left:0;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.fv-flow-frame{display:block;border:0;background:transparent}.fv-page-mount{position:absolute;inset:0;overflow:hidden}.fv-page-mount img{display:block;width:100%;height:100%;object-fit:contain}.fv-page-frame{display:block;border:0;background:transparent}.fv-panel[hidden]{display:none}.fv-panel{flex:0 0 auto;display:flex;flex-direction:column;width:176px;max-height:100%;border-radius:var(--fv-radius, 8px);background:var(--fv-panel-bg, #f3f5f8);color:var(--fv-panel-fg, #1b2733);overflow:hidden}.fv-panel-tabs{display:flex;flex:0 0 auto}.fv-panel-tab{flex:1;padding:8px 6px;border:0;border-bottom:2px solid transparent;background:none;color:inherit;font:600 13px/1 system-ui,-apple-system,Segoe UI,sans-serif;cursor:pointer}.fv-panel-tab[aria-selected=true]{border-bottom-color:var(--fv-bar-bg, #1976d2)}.fv-panel-list{position:relative;flex:1 1 auto;overflow-y:auto;padding:6px}.fv-panel-line{display:block;width:100%;padding:6px 8px;border:0;border-radius:5px;background:none;color:inherit;font:13px/1.35 system-ui,-apple-system,Segoe UI,sans-serif;text-align:start;cursor:pointer}.fv-panel-line:hover:not(:disabled),.fv-panel-line:focus-visible{background:#00000012}.fv-panel-line:disabled{cursor:default;opacity:.75}.fv-thumb{display:block;width:100%;margin-bottom:8px;padding:4px;border:2px solid transparent;border-radius:6px;background:none;color:inherit;font:12px/1 system-ui,-apple-system,Segoe UI,sans-serif;cursor:pointer}.fv-thumb-img{display:block;width:100%;aspect-ratio:var(--fv-thumb-ratio, 1 / 1.414);object-fit:contain;background:#0000000f;border-radius:3px;box-shadow:0 1px 4px #0000003d}.fv-thumb-number{display:block;padding-top:4px}.fv-thumb-here{background:var(--fv-thumb-here-bg, rgba(25, 118, 210, .08))}.fv-thumb-marker{position:absolute;left:6px;right:6px;top:0;border:2px solid var(--fv-bar-bg, #1976d2);border-radius:6px;pointer-events:none}.fv-thumb-marker-live{transition:transform .28s cubic-bezier(.4,0,.2,1),height .28s cubic-bezier(.4,0,.2,1)}@media(prefers-reduced-motion:reduce){.fv-thumb-marker-live{transition:none}}.fv-stage:focus-visible{outline:2px solid var(--fv-bar-bg, #1976d2);outline-offset:4px}.fv-book{margin:0 auto;touch-action:pan-y}.fv-zoomed .fv-stage{cursor:grab;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.fv-panning{cursor:grabbing}.fv-page{background:var(--fv-page-bg, #ffffff);overflow:hidden}.fv-page[data-density=hard]{background:var(--fv-cover-bg, #f3f5f8)}.fv-page-inner{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.fv-page-inner{background-repeat:no-repeat;background-position:center;background-size:100% 100%}.fv-text-layer{--total-scale-factor: calc(var(--scale-factor, 1) * var(--device-pixel-ratio, 1));--min-font-size: 1;--text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv: calc(1 / var(--min-font-size));position:absolute;inset:0;overflow:clip;text-align:initial;opacity:1;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.fv-text-layer :is(span,br){position:absolute;color:transparent;white-space:pre;cursor:text;transform-origin:0% 0%}.fv-text-layer>:not(.markedContent),.fv-text-layer .markedContent span:not(.markedContent){z-index:1;--font-height: 0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x: 1;--rotate: 0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.fv-text-layer .markedContent{display:contents}.fv-text-layer ::selection{background:#1976d259}.fv-page-canvas{display:block;width:100%;height:100%;object-fit:contain}.fv-page-number{position:absolute;font:600 14px/1 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--fv-page-fg, #9aa4b1)}.fv-rendered .fv-page-number{display:none}.stf__parent{margin:0 auto}.fv-toolbar{position:relative;z-index:2;display:flex;align-items:center;gap:2px;height:var(--fv-bar-height, 44px);padding:0 6px;border-radius:var(--fv-radius, 8px);background:var(--fv-bar-bg, #1976d2);color:var(--fv-bar-fg, #ffffff);font:500 14px/1 system-ui,-apple-system,Segoe UI,sans-serif}.fv-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer}.fv-btn:hover,.fv-btn:focus-visible{background:var(--fv-bar-hover, rgba(255, 255, 255, .22))}.fv-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.fv-btn-first svg,.fv-btn-prev svg,.fv-btn-next svg,.fv-btn-last svg{fill:currentColor;stroke:none}.fv-toast{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;max-width:min(92vw,460px);padding:8px 12px;border-radius:var(--fv-radius, 8px);background:var(--fv-bar-bg, #1976d2);color:var(--fv-bar-fg, #ffffff);font-size:13px;white-space:nowrap;box-shadow:0 4px 14px #0000003d}.fv-toast-link{width:20em;max-width:52vw;padding:3px 6px;border:0;border-radius:4px;background:#ffffffeb;color:#223;font:inherit}.fv-btn-done svg{stroke-width:2.4}.fv-btn-done{background:#ffffff57}.fv-btn-share svg,.fv-text-layer span.fv-hit{background:#ffd60073;border-radius:2px}.fv-search{width:9em;height:26px;padding:0 8px;border:0;border-radius:5px;background:var(--fv-field-bg, rgba(255, 255, 255, .94));color:var(--fv-field-fg, #1b2733);font:inherit}.fv-search-count{padding:0 4px;font-size:12px;white-space:nowrap}.fv-toolbar-spacer{width:10px}.fv-toolbar-pages{display:inline-flex;align-items:center;gap:5px;padding:0 6px}.fv-page-input{width:3.2em;height:26px;padding:0 4px;border:0;border-radius:5px;background:var(--fv-field-bg, rgba(255, 255, 255, .94));color:var(--fv-field-fg, #1b2733);font:inherit;text-align:center}.fv-page-total{white-space:nowrap}.fv-root:fullscreen,.fv-root.fv-fullscreen{justify-content:center;padding:var(--fv-gap, 12px);background:#2b3138}.fv-lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#14181cd1}.fv-lightbox-stage{width:100%;max-width:1600px}.fv-lightbox-close{position:absolute;top:14px;right:16px;width:40px;height:40px;padding:0;border:0;border-radius:8px;background:#ffffff24;color:#fff;cursor:pointer}.fv-lightbox-close:hover,.fv-lightbox-close:focus-visible{background:#ffffff47}.fv-lightbox-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.fv-hotspots{position:absolute;inset:0;z-index:3}.fv-hotspot{position:absolute;display:block;margin:0;padding:0;border:0;background:transparent;border-radius:var(--fv-hotspot-radius, 2px);cursor:pointer;box-shadow:inset 0 0 0 2px transparent;transition:background-color .15s ease,box-shadow .15s ease}.fv-hotspot:hover,.fv-hotspot:focus-visible{background:var(--fv-hotspot-fill, rgb(59 130 246 / .18));box-shadow:inset 0 0 0 2px var(--fv-hotspot-line, rgb(59 130 246 / .9));outline:none}.fv-root.fv-hotspots-shown .fv-hotspot{background:var(--fv-hotspot-fill, rgb(59 130 246 / .18));box-shadow:inset 0 0 0 2px var(--fv-hotspot-line, rgb(59 130 246 / .9))}:root{--brand: #1f3f8f;--brand-ink: #fff;--bg: #f4f2ec;--fg: #1b1b1b;--muted: #6b6b6b;--card: #fff;--line: #d9d6cc;--err: #b42318;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #1c1c1e;--fg: #f2f2f2;--muted: #a0a0a0;--card: #2a2a2d;--line: #3d3d42;--brand: #4f74d9;--err: #ff6b5e;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Apple SD Gothic Neo,Malgun Gothic,sans-serif}body.noscroll{overflow:hidden}button{font:inherit;cursor:pointer}.top{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--line)}.now{font-size:18px;font-weight:700;min-width:0}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{min-height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--fg);font-weight:600}.actions .find{background:var(--brand);color:var(--brand-ink);border-color:transparent}@media(max-width:480px){.top{padding:8px 12px}.actions{width:100%}.actions button{flex:1 1 auto;padding:0 8px;font-size:15px;white-space:nowrap}.actions button.icon{flex:0 0 44px;padding:0;font-size:18px}}#stage{padding:12px 16px 24px}dialog{border:0;border-radius:16px;padding:0;width:min(360px,calc(100vw - 32px));background:var(--card);color:var(--fg);box-shadow:0 20px 60px #0000004d}dialog::backdrop{background:#00000073}dialog form{padding:20px;display:grid;grid-template-columns:minmax(0,1fr);gap:14px}dialog h2{margin:0;font-size:20px}.seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden}.seg label{position:relative}.seg input{position:absolute;opacity:0;inset:0}.seg span{display:block;text-align:center;padding:12px 0;font-weight:600}.seg input:checked+span{background:var(--brand);color:var(--brand-ink)}.seg input:focus-visible+span{outline:3px solid var(--brand);outline-offset:-3px}.numrow{display:flex;align-items:center;gap:8px}#num{flex:1;min-width:0;font-size:32px;font-weight:700;text-align:center;padding:10px;border:2px solid var(--line);border-radius:12px;background:var(--bg);color:var(--fg)}#num:focus{outline:none;border-color:var(--brand)}#num[aria-invalid=true]{border-color:var(--err)}.jang{font-size:22px;font-weight:700}.hint{margin:-6px 0 0;font-size:14px;color:var(--muted)}.hint.err{color:var(--err);font-weight:600}.recent{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.recent:empty{display:none}.recent .cap{font-size:13px;color:var(--muted);margin-right:2px}.chip{border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:999px;padding:6px 12px;min-height:36px}.btns{display:grid;grid-template-columns:1fr 2fr;gap:8px}.btns button{min-height:48px;border-radius:12px;font-weight:700}.primary{background:var(--brand);color:var(--brand-ink);border:0}.ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}.ghost.light{color:#fff;border-color:#ffffff80;min-height:36px;padding:0 12px;border-radius:8px}.savebox{padding:20px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.savebox h2{margin:0;font-size:20px}.savebox p{margin:0;line-height:1.5}.savebox progress{width:100%;height:14px}.btns button[disabled]{opacity:.5}.scroller{position:fixed;inset:0;z-index:50;background:#fff;display:flex;flex-direction:column}.scroller[hidden]{display:none}.sbar-top{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--brand);color:#fff;font-weight:700}.verse{font-weight:700;white-space:nowrap}.verse select{font:inherit;font-weight:700;border-radius:6px;border:0;padding:2px 4px}.sbody{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.sbody canvas{display:block}.spad{height:40vh}.sbar{display:flex;align-items:center;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--brand);color:#fff}.sbar>button{flex:none;width:56px;height:56px;border:0;border-radius:50%;background:#fff;color:var(--brand);font-size:22px;font-weight:700}.ctl{flex:1;min-width:0}.tempo{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-weight:700}.tempo label{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.tempo input,.tempo select{font:inherit;width:3.2em;padding:4px;border:0;border-radius:6px;text-align:center}.tempo select{width:auto}.tinfo{font-size:14px;margin-top:4px;opacity:.95}
