:root,[data-theme=light]{--bg: #f5f4fa;--bg2: #ffffff;--text: #1c1c2e;--text2: #9295a6;--accent: #6c5ce7;--accent2: #a29bfe;--accent-bg: rgba(108,92,231,.15);--green: #00b894;--red: #ff6b6b;--line: #ededf2;--input: #f1f0f6;--card-shadow: 0 1px 3px rgba(28,28,46,.04), 0 6px 16px rgba(28,28,46,.03);--r: 14px}[data-theme=dark]{--bg: #0a0a14;--bg2: #1e1e30;--text: #d8d8e4;--text2: #5c5e72;--accent: #8b84e6;--accent2: #5f53c4;--accent-bg: rgba(139,132,230,.14);--green: #3cc9a3;--red: #e05a5a;--line: #24243a;--input: #1e1e30;--card-shadow: 0 1px 3px rgba(0,0,0,.2), 0 6px 16px rgba(0,0,0,.15)}:root{--verse-font: inherit}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,Pretendard,Noto Sans KR,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}html{overflow-x:hidden}button{font-family:inherit;color:inherit}.app{min-height:100vh}.app-header{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0)}.header-inner{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;max-width:800px;margin:0 auto}.header-left{display:flex;align-items:baseline;gap:7px}.logo{font-size:21px;font-weight:800;letter-spacing:-1px;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.logo-sub{font-size:12px;color:var(--text2);font-weight:500}.top-nav{display:flex;align-items:center;gap:4px}.top-nav-btn{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;color:var(--text2);text-decoration:none;transition:all .15s}.top-nav-btn:active{transform:scale(.92)}.top-nav-btn.active{color:var(--accent);background:var(--accent-bg)}.main-content{max-width:800px;margin:0 auto;padding:16px 16px 200px;width:100%}.card{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--card-shadow)}.btn{border:none;border-radius:12px;padding:12px 16px;font-size:15px;font-weight:600;cursor:pointer;background:var(--input);color:var(--text)}.btn:active{transform:scale(.97)}.btn.primary{background:var(--accent);color:#fff}.btn.ghost{background:transparent;border:1.5px solid var(--line)}.btn.danger{background:transparent;color:var(--red);border:1.5px solid var(--red)}.btn:disabled{opacity:.4;cursor:default}.field-label{font-size:13px;font-weight:600;color:var(--text2);margin:0 0 6px 2px}.input,.textarea,.select{width:100%;background:var(--input);border:1.5px solid transparent;border-radius:12px;padding:12px 14px;font-size:15px;color:var(--text);font-family:inherit;outline:none}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent)}.textarea{resize:vertical;min-height:160px;line-height:1.7}.section-title{font-size:13px;font-weight:700;color:var(--text2);margin:4px 2px 10px}.empty-state{text-align:center;color:var(--text2);padding:48px 20px}.mode-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:16px}.mode-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 10px;background:none;border:none;cursor:pointer;color:var(--text2);font-size:12px;font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s}.mode-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.set-bar{display:flex;gap:8px;align-items:center;margin-bottom:12px}.set-bar .select{flex:1}.set-title{position:relative;flex:0 1 auto;min-width:0;display:flex;align-items:baseline;gap:6px;padding:4px 2px}.set-title-text{font-family:var(--verse-font);font-size:27px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.set-title .set-chevron{align-self:center;flex-shrink:0;color:var(--accent);background:var(--accent-bg);width:24px;height:24px;padding:5px;border-radius:50%}.set-title-hidden{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;border:none;background:none;cursor:pointer;font-size:16px}.set-ref{font-size:14px;font-weight:600;color:var(--text2);white-space:nowrap}.set-bar .push-right{margin-left:auto}.set-right{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0}.set-meta{font-size:12px;color:var(--text2);margin:2px 0 0 2px}.verse-stage{min-height:52vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px 8px;user-select:none;-webkit-user-select:none}.verse-label{position:absolute;bottom:100%;left:0;right:0;margin-bottom:8px;font-size:12px;font-weight:700;color:var(--text2);letter-spacing:1px}.verse-index{font-size:13px;font-weight:700;color:var(--accent);letter-spacing:1px}.verse-big{position:relative;font-size:clamp(24px,7vw,40px);font-weight:700;line-height:1.5;word-break:keep-all;color:var(--text);font-family:var(--verse-font)}.verse-ref{font-size:14px;color:var(--text2)}.verse-flow{line-height:2;word-break:keep-all;padding:6px 2px;font-family:var(--verse-font);user-select:none;-webkit-user-select:none}.verse-seg{cursor:pointer;border-radius:6px;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background .2s}.verse-seg.active{background:var(--accent-bg)}[data-theme=dark] .verse-seg.active{background:#8b84e652}.vfirst{color:var(--red);font-weight:800}.word{-webkit-touch-callout:none}.hl{box-shadow:0 0 0 2px transparent;border-radius:4px;padding:0 1px;transition:box-shadow .5s ease;-webkit-box-decoration-break:clone;box-decoration-break:clone}.hl.show{box-shadow:0 0 0 2px var(--red)}.flash-word{transition:filter .25s ease;-webkit-user-select:none;user-select:none}.flash-blank{filter:blur(10px);transition:filter .4s ease}.wordreveal-stage{min-height:50vh;display:flex;flex-direction:column;gap:26px;justify-content:center;padding:20px 6px;user-select:none;-webkit-user-select:none}.wr-block{text-align:center}.wr-label{font-size:12px;font-weight:700;color:var(--text2);margin-bottom:8px;letter-spacing:1px}.wr-current{font-size:clamp(20px,5.5vw,30px);font-weight:700;line-height:1.6;word-break:keep-all;color:var(--text);min-height:1.6em;font-family:var(--verse-font)}.wr-w{color:transparent;transition:color .55s ease}.wr-w.on{color:var(--text)}.wr-oneword{min-height:1.4em;display:flex;align-items:center;justify-content:center}.wr-word-big{font-size:clamp(44px,14vw,88px);font-weight:800;color:var(--accent);word-break:keep-all;animation:slideWord .4s ease both;font-family:var(--verse-font);cursor:pointer}.wr-dim{color:var(--text2);font-size:clamp(28px,9vw,48px)}@keyframes slideWord{0%{opacity:0;transform:translateY(.4em) scale(.9);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.wr-hint{text-align:center;font-size:12px;color:var(--text2)}.playbar{position:fixed;left:0;right:0;bottom:0;z-index:90;max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:14px;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0));background:var(--bg2);border-radius:18px 18px 0 0;box-shadow:0 -4px 20px #00000012}.play-row{display:flex;align-items:stretch;gap:10px}.pbig{flex:1;height:62px;border-radius:18px;border:none;cursor:pointer;background:var(--input);color:var(--text);display:flex;align-items:center;justify-content:center;transition:transform .1s}.pbig:active{transform:scale(.96)}.pbig.main{flex:1.6;border-radius:20px;background:var(--accent);color:#fff;box-shadow:0 8px 22px var(--accent-bg)}.repeat-btn{position:relative;flex-shrink:0;width:40px;height:40px;border-radius:11px;border:none;cursor:pointer;background:var(--input);color:var(--text2);display:flex;align-items:center;justify-content:center;transition:all .15s}.repeat-btn:active{transform:scale(.92)}.repeat-btn.active{background:var(--accent-bg);color:var(--accent)}.repeat-one{position:absolute;right:5px;bottom:4px;font-size:9px;font-weight:800;line-height:1;color:currentColor}.ls-progress{position:fixed;z-index:95;top:calc(12px + env(safe-area-inset-top,0));right:calc(8px + env(safe-area-inset-right,0));width:50px;height:50px}.ls-progress svg{display:block}.ls-progress-num{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--text2)}@media(orientation:landscape)and (pointer:coarse){.app-header,.set-bar,.mode-tabs,.playbar,.wr-label,.wr-hint,.verse-index,.verse-ref,.verse-label{display:none}.main-content{padding:10px 20px}.verse-stage,.wordreveal-stage{min-height:calc(100vh - 24px);padding:8px 6px;gap:16px}.verse-flow{line-height:1.8}}.font-ctrl{display:flex;gap:6px}.font-btn{background:var(--input);border:none;border-radius:9px;width:38px;height:38px;font-size:14px;font-weight:700;color:var(--text);cursor:pointer}.font-btn:disabled{opacity:.4}.set-list{display:flex;flex-direction:column;gap:10px}.set-item{display:flex;align-items:center;gap:12px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:var(--card-shadow)}.set-item-main{flex:1;min-width:0;cursor:pointer}.set-item-title{font-weight:700;font-size:15px}.set-item-sub{font-size:12px;color:var(--text2);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.set-item-actions{display:flex;gap:6px}.mini-btn{background:var(--input);border:none;border-radius:9px;padding:8px 10px;font-size:13px;color:var(--text);cursor:pointer}.mini-btn.danger{color:var(--red)}.settings-group{margin-bottom:22px}.guide-item{padding-left:13px;text-indent:-13px;word-break:keep-all;margin-bottom:4px}.font-preview{font-size:19px;font-weight:600;line-height:1.6;padding:14px;border-radius:12px;background:var(--input);word-break:keep-all;text-align:center;color:var(--text);font-family:var(--verse-font)}.recent-list{display:flex;flex-direction:column;gap:8px}.recent-item{display:flex;align-items:center;gap:8px;background:var(--input);border:1.5px solid transparent;border-radius:12px;padding:4px 6px 4px 4px}.recent-item.active{border-color:var(--accent)}.recent-pick{flex:1;min-width:0;text-align:left;background:none;border:none;padding:8px 10px;font-size:14px;font-weight:600;color:var(--text);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-item.active .recent-pick{color:var(--accent)}.recent-del{flex-shrink:0;width:30px;height:30px;border:none;border-radius:8px;background:transparent;color:var(--text2);font-size:18px;cursor:pointer}.color-row{display:flex;gap:12px;flex-wrap:wrap}.color-dot{width:36px;height:36px;border-radius:50%;border:2px solid transparent;cursor:pointer}.color-dot.active{border-color:var(--text);box-shadow:0 0 0 2px var(--bg2),0 0 0 4px var(--text)}.color-dot-custom{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:0;background:conic-gradient(from 0deg,#ff6b6b,#feca57,#1dd1a1,#54a0ff,#5f27cd,#ff9ff3,#ff6b6b)}.color-dot-custom input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;border:none;padding:0;cursor:pointer}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 2px}.toggle-row .lbl{font-weight:600}.note{font-size:12px;color:var(--text2);line-height:1.6}.badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px}.badge.on{background:var(--accent-bg);color:var(--accent)}.badge.off{background:var(--input);color:var(--text2)}.voice-list{display:flex;flex-direction:column;gap:8px}.voice-opt{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:12px;background:var(--input);border:1.5px solid transparent;cursor:pointer;font-weight:600}.voice-opt.active{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.cue-help{margin-bottom:10px;line-height:1.5}.cue-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.mark-btn{flex:1;min-width:180px}.cue-list{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}.cue-row{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:10px;background:var(--input);border:1.5px solid transparent}.cue-row.next{border-color:var(--accent)}.cue-row.done{background:var(--accent-bg)}.cue-row{position:relative;transition:background .15s,border-color .15s}.cue-row.playing{border-color:var(--accent);background:var(--accent-bg);box-shadow:inset 3px 0 0 var(--accent)}.cue-row.playing .cue-num{background:var(--accent);color:#fff;border-radius:999px}.cue-num{flex:0 0 22px;font-weight:700;color:var(--text2);font-size:13px;text-align:center;line-height:20px;height:20px}.cue-body{flex:1 1 auto;min-width:0;display:grid;grid-template-columns:60px 1fr;align-items:center;gap:8px;cursor:pointer}.cue-time{font-variant-numeric:tabular-nums;font-weight:700;font-size:13px;color:var(--accent)}.cue-row:not(.done) .cue-time{color:var(--text2);font-weight:500}.cue-text{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cue-adj{flex:0 0 auto;display:flex;gap:5px}.adj-btn{border:1.5px solid var(--line);background:var(--bg2);color:var(--text);border-radius:8px;padding:5px 8px;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;line-height:1}.adj-btn:active{transform:scale(.94)}.adj-btn:disabled{opacity:.35;cursor:default}.cue-status{margin-top:10px}.audio-badge{margin-left:6px;color:var(--accent);font-size:13px}
