:root{--ivory:#fbf8f3;--paper:#fff;--navy:#1f3a5f;--navy-hover:#294a73;--gold:#c8a96a;--gold-soft:#f3ead8;--gold-ink:#9a7b3c;--ink:#1d2330;--muted:#8b7d6b;--soft:#5b5446;--line:#ece4d6;--line-strong:#ddd2bf;--bg:var(--ivory);--panel:var(--paper);--sunken:#f7f3ec;--text:var(--ink);--dim:#9a8d78;--accent:var(--navy);--ok:#16a34a;--ok-ink:#15803d;--warn:#e0a21a;--warn-ink:#a16207;--err:#dc2626;--err-strong:#c0392b;--radius:14px;--shadow:0 6px 18px #503c1412;--sans:"Noto Sans KR", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "Segoe UI", sans-serif;--serif:"Noto Serif KR", "AppleMyungjo", "Nanum Myeongjo", "Batang", Georgia, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--text);font:16px/1.6 var(--sans);margin:0}h1,h2,h3,p{margin:0}.emblem{border:1.5px solid var(--gold);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.emblem i{background:var(--gold);width:2.5px;height:16px;display:block;position:relative}.emblem i:after{content:"";background:var(--gold);width:12.5px;height:2.5px;position:absolute;top:4px;left:-5px}button{background:var(--accent);color:#fff;min-height:48px;font:inherit;cursor:pointer;border:0;border-radius:10px;padding:0 16px;font-size:16px;font-weight:600}button:disabled{opacity:.45;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.secondary{color:var(--text);background:#f1ebe0}button.secondary:not(:disabled):hover{background:#e8dfcf}button[data-on=true]{color:#1a1200;background:#f5b82e}button.link{min-height:48px;color:var(--soft);text-underline-offset:3px;background:0 0;padding:0 8px;font-size:14px;font-weight:500;text-decoration:underline}button.link:not(:disabled):hover{color:var(--text)}.icon-button{width:48px;min-width:48px;color:var(--text);background:#f1ebe0;padding:0;font-size:20px;line-height:1}.icon-button:not(:disabled):hover{background:#e8dfcf}select,input[type=password],input[type=date],input[type=text]{border:1px solid var(--line-strong);background:var(--paper);min-height:48px;color:var(--text);font:inherit;border-radius:10px;max-width:100%;padding:0 12px;font-size:16px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grow{flex:240px;min-width:0}.full{width:100%}.hint{color:var(--soft);font-size:14px;line-height:1.5}.hint[data-kind=error]{color:var(--err)}.dim{color:var(--dim);font-variant-numeric:tabular-nums;font-size:13px}.en{color:var(--dim);font-size:13px;font-weight:400;display:block}.status{align-items:center;gap:8px;min-width:0;font-weight:600;display:inline-flex}.status .dot{background:var(--dim);border-radius:50%;flex:none;width:12px;height:12px}.status[data-tone=off]{color:var(--muted)}.status[data-tone=ready] .dot{box-shadow:inset 0 0 0 2px var(--ok);background:0 0}.status[data-tone=live] .dot,.status[data-state=live] .dot{background:var(--ok);box-shadow:0 0 0 4px #dcfce7}.status[data-tone=live],.status[data-state=live]{color:var(--ok-ink)}.status[data-tone=warn] .dot,.status[data-state=connecting] .dot,.status[data-state=reconnecting] .dot{background:var(--warn)}.status[data-tone=warn],.status[data-state=connecting],.status[data-state=reconnecting]{color:var(--warn-ink)}.status[data-tone=err] .dot{background:var(--err)}.status[data-tone=err]{color:var(--err)}.log{max-height:240px;margin:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.7;list-style:none;overflow-y:auto}.log li{border-bottom:1px solid var(--line);word-break:break-all;padding:4px 0}.log li:last-child{border-bottom:0}.log li[data-kind=error]{color:var(--err)}.log li[data-kind=ok]{color:var(--ok-ink)}.topbar{z-index:10;border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:16px;padding:8px max(16px,50% - 440px);display:flex;position:sticky;top:0;box-shadow:0 2px 10px #503c140d}.brandmark{align-items:center;gap:10px;display:inline-flex}.brandmark .emblem{width:30px;height:30px}.logo{font-family:var(--serif);color:var(--navy);letter-spacing:.01em;white-space:nowrap;font-size:18px;font-weight:700}.topbar .status{font-size:17px}.spacer{flex:1}#settings-toggle{font-size:24px}.viewers{color:var(--soft);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px}.op-main{flex-direction:column;gap:16px;max-width:880px;margin:0 auto;padding:16px;display:flex}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);flex-direction:column;gap:16px;padding:24px;display:flex}.card h2{color:var(--navy);font-size:18px;font-weight:700}.card h3{color:var(--muted);font-size:14px;font-weight:600}.card .lead{font-size:16px}.notice{border-radius:var(--radius);color:#7a5a14;background:#fdf6e3;border:1px solid #ecd9a8;align-items:center;gap:8px;padding:0 8px 0 16px;font-size:15px;display:flex}.notice span{flex:1;padding:12px 0}.device-summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-height:56px;box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:0 8px 0 24px;display:flex}.device-names{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--soft);flex:280px;font-size:15px;overflow:hidden}.device-names .sep{color:var(--gold);margin:0 8px}.badge-warn{border:1px solid var(--err);color:var(--err);white-space:nowrap;background:#fef2f2;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.mini-level{align-items:center;gap:8px;display:inline-flex}.mini-meter{background:var(--sunken);border:1px solid var(--line);border-radius:4px;width:80px;height:8px;overflow:hidden}.mini-bar{background:var(--ok);width:0%;height:100%;transition:width 80ms linear;display:block}.mini-bar[data-zone=silent]{background:var(--dim)}.mini-bar[data-zone=clip]{background:var(--err)}.mini-word{white-space:nowrap;font-size:13px;font-weight:600}.mini-word[data-zone=ok]{color:var(--ok-ink)}.mini-word[data-zone=silent]{color:var(--warn-ink)}.mini-word[data-zone=clip]{color:var(--err)}dialog.setup{border:1px solid var(--line);background:var(--panel);width:min(640px,100% - 32px);max-height:calc(100dvh - 48px);color:var(--text);border-radius:20px;padding:0;box-shadow:0 18px 48px #1d23302e}dialog.setup::backdrop{background:#1d233073}.setup-body{flex-direction:column;gap:24px;padding:24px 24px 0;display:flex}.setup-head{flex-direction:column;gap:4px;display:flex}.setup-head h2{color:var(--navy);font-size:20px;font-weight:700}.setup-notice{color:#7a5a14;background:#fdf6e3;border:1px solid #ecd9a8;border-radius:10px;padding:12px 16px;font-size:15px;font-weight:600}.setup-section{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:20px;display:flex}.setup-section h3{color:var(--navy);font-size:16px;font-weight:700}.setup-section input{flex:240px}.qr-row{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.qr-row img{border:1.5px solid var(--gold);background:#fff;border-radius:12px;width:144px;height:144px;padding:8px}.qr-meta{flex-direction:column;flex:240px;gap:8px;display:flex}.setup-foot{border-top:1px solid var(--line);background:var(--panel);margin:0 -24px;padding:16px 24px 24px;position:sticky;bottom:0}.done-button{border-radius:var(--radius);width:100%;height:56px;font-size:18px}.done-button:not(:disabled):hover{background:var(--navy-hover)}.url-line{align-items:center;gap:8px;min-width:0;display:flex}.qr-url{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;overflow:hidden}.copy-url{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#fff;border-radius:8px;flex:none;padding:4px 10px;font-size:12px;font-weight:600}.meter{border:1px solid var(--line);background:var(--sunken);border-radius:12px;height:24px;overflow:hidden}.meter-bar{background:var(--ok);width:0%;height:100%;transition:width 80ms linear}.meter-bar[data-zone=clip]{background:var(--err)}.meter-bar[data-zone=silent]{background:var(--dim)}.meter-line{justify-content:space-between;align-items:baseline;gap:16px;margin-top:-8px;display:flex}#meter-status{font-size:17px;font-weight:600}#meter-status[data-zone=ok]{color:var(--ok-ink)}#meter-status[data-zone=silent]{color:var(--warn-ink)}#meter-status[data-zone=clip]{color:var(--err)}#meter-status[data-zone=off]{color:var(--soft);font-size:15px;font-weight:500}#meter-readout{white-space:nowrap}.warn-line{color:var(--err);font-size:15px;font-weight:600}.card.go{gap:8px}.go-button,.stop-button{border-radius:var(--radius);width:100%;height:64px;font-size:22px;font-weight:700}.go-button{background:var(--navy);box-shadow:0 6px 16px #1f3a5f3d}.go-button:not(:disabled):hover{background:var(--navy-hover)}.go-button:disabled{box-shadow:none}.stop-button{background:var(--err-strong);flex:1}.stop-button:hover{background:#a93226}.live-row{align-items:center;gap:16px;display:flex}.elapsed{text-align:center;min-width:96px;color:var(--navy);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.go-foot{justify-content:space-between;align-items:center;gap:16px;display:flex}.captions{grid-template-columns:1fr 1.25fr;gap:16px;display:grid}@media not (min-width:720px){.captions{grid-template-columns:1fr}}.caption-col{flex-direction:column;gap:8px;min-width:0;display:flex}.caption-list{border:1px solid var(--line);background:var(--sunken);border-radius:12px;height:300px;padding:16px;overflow-y:auto}.caption-list.output{border-left:4px solid var(--gold)}.caption-list:empty:before{content:attr(data-empty);color:var(--dim);font-size:14px}.caption-line{opacity:.7;margin:0 0 8px;line-height:1.55}.caption-line[data-final=true]{opacity:1}.caption-line[data-kind=input]{color:var(--soft);font-size:15px}.caption-line[data-kind=output]{color:var(--navy);font-size:19px}.details{gap:16px;padding:0 24px}.details[open]{padding-bottom:24px}.details summary{min-height:56px;color:var(--soft);cursor:pointer;align-items:center;font-weight:600;list-style:none;display:flex}.details summary::-webkit-details-marker{display:none}.details summary:after{content:"▸";color:var(--gold);margin-left:8px}.details[open] summary:after{content:"▾"}.stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;display:grid}.stats>div{border:1px solid var(--line);background:var(--sunken);border-radius:10px;min-width:0;padding:8px 12px}.stats .k{color:var(--muted);font-size:12px;display:block}.stats .v{font-variant-numeric:tabular-nums;word-break:break-all;font-size:14px;display:block}.stats .v[data-warn=true]{color:var(--warn-ink)}.record-row{flex-wrap:wrap;align-items:center;gap:4px 16px;display:flex}.switch{cursor:pointer;min-height:40px;color:var(--text);align-items:center;gap:10px;font-size:16px;font-weight:600;display:inline-flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch-track{background:var(--line-strong);border-radius:999px;flex:none;width:44px;height:26px;transition:background .12s;position:relative}.switch-track:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .12s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #1d233040}.switch input:checked+.switch-track{background:var(--err-strong)}.switch input:checked+.switch-track:after{transform:translate(18px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--navy);outline-offset:2px}.switch:has(input:disabled){cursor:not-allowed;color:var(--dim)}.switch input:disabled+.switch-track{opacity:.5}.sermon-info{border:1px solid var(--line);background:var(--sunken);border-radius:12px;padding:0 16px}.sermon-info[open]{padding-bottom:16px}.sermon-info summary{min-height:44px;color:var(--soft);cursor:pointer;align-items:center;font-size:15px;font-weight:600;list-style:none;display:flex}.sermon-info summary::-webkit-details-marker{display:none}.sermon-info summary:after{content:"▸";color:var(--gold);margin-left:8px}.sermon-info[open] summary:after{content:"▾"}.sermon-fields{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.sermon-fields label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.sermon-fields input{width:100%;min-width:0}.go .go-button{margin-top:8px}.rec-badge{border:1px solid var(--err);color:var(--err);white-space:nowrap;background:#fef2f2;border-radius:999px;align-items:center;padding:2px 10px;font-size:14px;font-weight:700;display:inline-flex}.archive-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.archive-head .hint{flex:1}.archive-head button{min-height:40px;font-size:14px}.archive-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.archive-item{border:1px solid var(--line);background:var(--sunken);border-radius:12px;flex-direction:column;gap:10px;padding:12px 16px;display:flex}.archive-title{color:var(--navy);overflow-wrap:anywhere;font-weight:700}.archive-sub{color:var(--soft);font-variant-numeric:tabular-nums;margin-top:2px;font-size:13px;display:block}.archive-tag{background:var(--gold-soft);color:var(--gold-ink);border-radius:999px;margin-left:8px;padding:1px 8px;font-size:12px;font-weight:600}.archive-actions{flex-wrap:wrap;gap:6px;display:flex}.archive-actions button{min-height:34px;padding:4px 12px;font-size:13px}.archive-actions .archive-edit-btn{margin-left:auto}.archive-tag[data-tone=error]{color:var(--err);background:#fef2f2}.archive-unlock{flex-wrap:wrap;align-items:flex-end;gap:10px 12px;padding:4px 0 8px;display:flex}.archive-code-field{color:var(--muted);flex-direction:column;flex:220px;gap:4px;font-size:13px;font-weight:600;display:flex}.archive-code-field input{width:100%}.archive-unlock button[type=submit]{min-height:48px}.archive-remember{min-height:48px;color:var(--soft);cursor:pointer;align-items:center;gap:6px;font-size:14px;display:inline-flex}.archive-unlock .archive-edit-msg{flex-basis:100%;margin:0}.archive-edit{border-top:1px dashed var(--line);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;padding-top:12px;display:grid}.archive-edit label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.archive-edit input{width:100%;min-width:0}.archive-edit-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.archive-edit-actions button{min-height:36px;padding:4px 14px;font-size:14px}.archive-edit-msg{color:var(--err);font-size:13px}.login-main{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:calc(100dvh - 64px);padding:32px 16px 64px;display:flex}.login-card{width:min(400px,100%);padding:32px 24px 24px}.login-head{flex-direction:column;gap:8px;display:flex}.login-title{font-family:var(--serif);color:var(--navy);font-size:24px;font-weight:700}.login-card input[type=password]{width:100%}.login-error{color:var(--err);margin-top:-8px;font-size:15px;font-weight:600}.check{min-height:32px;color:var(--soft);cursor:pointer;align-items:center;gap:8px;font-size:15px;display:inline-flex}.check input{width:20px;height:20px;accent-color:var(--navy);margin:0}.login-button{border-radius:var(--radius);width:100%;height:56px;font-size:18px}.login-button:not(:disabled):hover{background:var(--navy-hover)}.login-busy{align-items:center}.login-busy-text{color:var(--soft);font-size:17px}.back-link{color:var(--muted);font-size:14px;text-decoration:none}.back-link:hover{color:var(--text);text-underline-offset:3px;text-decoration:underline}.logout-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:8px;display:flex}.logout-confirm{color:var(--err-strong);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.danger-button{background:var(--err-strong);min-height:40px;font-size:14px}.notice #notice-action{min-height:40px;font-size:14px}body.viewer,body.home{--v-bg:var(--ivory);--v-card:var(--paper);--v-inset:var(--ivory);--v-ink:var(--ink);--v-title:var(--navy);--v-sub:#3d4a5c;--v-muted:var(--muted);--v-foot:#b9ab93;--v-now:var(--navy);--v-past:#b3a896;--v-ko:#a39680;--v-chip:var(--paper);--v-chip-line:var(--line);--v-chip-on:var(--navy);--v-chip-on-ink:#fff;--v-num:var(--gold-soft);--v-num-ink:var(--gold-ink);--v-cta:var(--navy);--v-cta-ink:#fff;--v-cta-sub:#d9c9a6;--v-dock:var(--paper);--v-dock-ink:var(--soft);--v-on:var(--navy);--v-on-ink:#fff;--v-dot-ring:#dcfce7;--v-shadow:0 6px 18px #503c1412;--v-fresh:#c8a96a38;--v-line:var(--line);--v-rule-gold:#c8a96a8c;--v-feat:#ffffff8c;--v-top:#fbf8f3e6;--v-eyebrow:#b08d4a;--v-nav:#4a4337;--v-glow:#c8a96a33;background:var(--v-bg);color:var(--v-ink)}body.viewer{--cap-scale:1;--cap-now:22px;--cap-past:17px;--cap-ko:12.5px;height:100dvh;padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex;overflow:hidden}body.viewer[data-text-size=large]{--cap-scale:1.25}body.viewer[data-text-size=xlarge]{--cap-scale:1.5}@media (prefers-color-scheme:dark){body.viewer,body.home{--v-bg:#121418;--v-card:#1b1e24;--v-inset:#16191e;--v-ink:#e9e3d6;--v-title:#f5efe3;--v-sub:#bdb5a6;--v-muted:#8f8779;--v-foot:#5f5a51;--v-now:#f5efe3;--v-past:#6f6a60;--v-ko:#827a6d;--v-chip:#1b1e24;--v-chip-line:#2c3038;--v-chip-on:var(--gold);--v-chip-on-ink:#121418;--v-num:#2a2519;--v-num-ink:var(--gold);--v-cta:var(--gold);--v-cta-ink:#121418;--v-cta-sub:#4a3c1f;--v-dock:#1b1e24;--v-dock-ink:#bdb5a6;--v-on:var(--gold);--v-on-ink:#121418;--v-dot-ring:#14361f;--v-shadow:none;--v-fresh:#c8a96a29;--v-line:#2c3038;--v-rule-gold:#c8a96a59;--v-feat:#171a1f;--v-top:#121418e6;--v-eyebrow:var(--gold);--v-nav:#bdb5a6;--v-glow:#c8a96a1a;--accent:var(--gold);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}.banner{padding:12px max(16px,50% - 480px);padding-top:max(12px, env(safe-area-inset-top));border-bottom:1px solid var(--err);color:#8a1f1a;background:#fdecec;font-size:15px;line-height:1.5}@media (prefers-color-scheme:dark){body.viewer .banner{color:#ffd9d6;background:#f0625a29}}body.viewer[data-started=false]{height:auto;min-height:100dvh;padding-bottom:0;display:block;overflow:visible}.landing{--wrap-pad:22px;overflow-x:clip}.landing .wrap{width:100%;max-width:640px;padding-inline:var(--wrap-pad);margin:0 auto}.landing-first{min-height:100vh;flex-direction:column;min-height:100svh;display:flex}.site-top{z-index:1;padding-top:env(safe-area-inset-top);position:relative}.site-top-inner{justify-content:space-between;align-items:center;gap:16px;padding-top:18px;display:flex}.landing .brand{align-items:center;gap:10px;display:flex}.brand-name{font-family:var(--serif);color:var(--v-title);font-size:15px;font-weight:700;line-height:1.2;display:block}.brand-words small{color:var(--v-muted);margin-top:5px;font-size:10.5px;line-height:1.3;display:block}.site-nav{display:none}.landing .hero{flex-direction:column;flex:1;padding-top:26px;padding-bottom:18px;display:flex;position:relative}.hero-copy{flex-direction:column;flex:1;display:flex}.landing .hero h1{font-family:var(--serif);letter-spacing:-.01em;color:var(--v-title);margin:12px 0 0;font-size:32px;font-weight:700;line-height:1.15}.landing .hero .sub{color:var(--v-sub);margin:10px 0 0;font-size:15px;line-height:1.45}.landing .hero .ko{color:var(--v-muted);margin:6px 0 0;font-size:12.5px;line-height:1.45}.langs{flex-wrap:wrap;gap:7px;margin:16px 0 20px;display:flex}.chip{border:1px solid var(--v-chip-line);background:var(--v-chip);color:var(--v-muted);border-radius:99px;padding:6px 11px;font-size:12px;font-weight:600;line-height:1.4}.chip.on{background:var(--v-chip-on);border-color:var(--v-chip-on);color:var(--v-chip-on-ink)}.archive-open{color:var(--accent,inherit);font-size:13.5px;font-weight:600}.archive-page-title{margin:0;font-size:20px}.archive-group{flex-direction:column;gap:6px;margin-top:10px;display:flex}.archive-group-label{color:var(--muted);font-size:12.5px;font-weight:700}.archive-pending{color:var(--muted);font-size:13px}.mode-pick{flex-wrap:wrap;gap:7px;margin:0 0 14px;display:flex}.mode-pick a.chip{text-decoration:none}.ready{background:var(--v-card);border:1px solid var(--v-chip-line);border-radius:var(--radius);margin-top:auto;overflow:hidden}.ready[data-live=true]{border-color:#bfe6cd}.ready-head{border-bottom:1px solid var(--v-chip-line);padding:13px 15px 12px}.ready[data-live=true] .ready-head{background:#f4fbf6;border-bottom-color:#dcf0e4}.ready-badge{letter-spacing:.12em;color:var(--v-muted);align-items:center;gap:6px;font-size:10px;font-weight:700;display:inline-flex}.ready-badge i{background:currentColor;border-radius:50%;width:6px;height:6px}.ready[data-live=true] .ready-badge{color:var(--ok-ink)}.ready-title{font-family:var(--serif);color:var(--v-title);margin:6px 0 0;font-size:16px;font-weight:600;line-height:1.3}.ready[data-live=true] .ready-title{color:var(--ok-ink)}.ready-note{color:var(--v-muted);margin:4px 0 0;font-size:11px;line-height:1.4}.ready-steps{flex-direction:column;gap:10px;margin:0;padding:12px 15px 14px;list-style:none;display:flex}.ready[data-live=true] .ready-steps{opacity:.62}.ready-steps li{align-items:center;gap:11px;display:flex}.ready-steps i{background:var(--v-num);width:22px;height:22px;color:var(--v-num-ink);border-radius:50%;flex:none;place-items:center;font-size:11px;font-style:normal;font-weight:700;display:grid}.ready-steps span{color:var(--v-sub);font-size:12px;line-height:1.35}.ready-steps em{color:var(--v-muted);font-size:10px;font-style:normal;display:block}@media (prefers-color-scheme:dark){body.viewer .ready[data-live=true]{border-color:#2f5b42}body.viewer .ready[data-live=true] .ready-head{background:#16251c;border-bottom-color:#2f5b42}body.viewer .ready[data-live=true] .ready-badge,body.viewer .ready[data-live=true] .ready-title{color:#6ed49b}}.cta-row{flex-direction:column;margin-top:auto;padding-top:24px;display:flex}.cta{background:var(--v-cta);width:100%;min-height:0;color:var(--v-cta-ink);border-radius:18px;margin:0;padding:17px 0 15px;font-size:19px;font-weight:700;line-height:1.3;display:block;box-shadow:0 6px 16px #1f3a5f47}.cta small{color:var(--v-cta-sub);margin-top:3px;font-size:12px;font-weight:500;display:block}.cta:disabled{opacity:.7}@media not (min-width:900px){.wide-only{display:none}}.hero-visual{display:none}.landing .band{padding:44px 0;position:relative}.landing .band:before{content:"";background:linear-gradient(90deg, transparent, var(--v-line) 12%, var(--v-rule-gold) 50%, var(--v-line) 88%, transparent);height:1px;position:absolute;top:0;left:0;right:0}.landing .band h2{font-family:var(--serif);color:var(--v-title);font-size:26px;font-weight:700;line-height:1.25}.landing .band .lead{color:var(--v-muted);margin:6px 0 22px;font-size:14px;line-height:1.5}.steps{gap:12px;margin:0;padding:0;list-style:none;display:grid}.step{background:var(--v-card);box-shadow:var(--v-shadow);border-radius:18px;grid-template-columns:34px 1fr;align-content:start;column-gap:14px;padding:18px;display:grid}.step .n{background:var(--v-num);width:34px;height:34px;color:var(--v-num-ink);border-radius:50%;grid-row:span 3;place-items:center;font-size:15px;font-weight:700;display:grid}.step h3{color:var(--v-title);margin-top:5px;font-size:16.5px;font-weight:700;line-height:1.35}.step p{color:var(--v-sub);margin-top:4px;font-size:14px;line-height:1.55}.landing .step .k,.landing .feat .k{color:var(--v-muted);margin-top:6px;font-size:12.5px;line-height:1.5}.feats{gap:12px;display:grid}.feat{border:1px solid var(--v-line);background:var(--v-feat);border-radius:18px;grid-template-columns:28px 1fr;align-content:start;column-gap:12px;padding:16px 18px;display:grid}.feat .ic{text-align:center;color:var(--v-title);grid-row:span 3;font-size:20px;line-height:1.3}.feat h3{color:var(--v-title);font-size:15px;font-weight:700;line-height:1.35}.feat p{color:var(--v-sub);margin-top:3px;font-size:13.5px;line-height:1.55}.site-footer.landing-footer{margin-top:0}@media (min-width:600px){.feats{grid-template-columns:1fr 1fr}}.made-by{color:var(--v-foot,#b3a896);text-align:center;letter-spacing:.02em;align-self:center;margin:0;padding:12px 16px 14px;font-size:10.5px}.yedo{letter-spacing:0;color:#b08d4a;vertical-align:-.08em;margin-left:.12em;font-family:Great Vibes,Snell Roundhand,Apple Chancery,cursive;font-size:1.55em;font-style:normal;font-weight:400;line-height:1}body.home{min-height:100dvh}.home-page{flex-direction:column;min-height:100svh;display:flex}.home-main{flex:1;padding-top:30px;padding-bottom:36px}.home-intro h1{font-family:var(--serif);letter-spacing:-.01em;color:var(--v-title);font-size:26px;font-weight:700;line-height:1.4}.home-intro .home-sub{color:var(--v-sub);margin-top:10px;font-size:14px;line-height:1.6}.home-churches{margin-top:34px}.home-churches h2{border-bottom:1px solid var(--v-rule-gold);font-family:var(--serif);letter-spacing:.06em;color:var(--v-eyebrow);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding-bottom:10px;font-size:13px;font-weight:700;display:flex}.home-churches h2 span{font-family:var(--sans);letter-spacing:.02em;color:var(--v-muted);font-size:11.5px;font-weight:400}.church-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.church-list a{border:1px solid var(--v-line);border-radius:var(--radius);background:var(--v-card);min-height:76px;box-shadow:var(--v-shadow);color:inherit;grid-template-columns:1fr auto;align-items:center;gap:2px 14px;padding:16px 18px;text-decoration:none;transition:border-color .12s,transform .12s;display:grid}.church-name,.church-en,.church-meta{grid-column:1}.church-name{font-family:var(--serif);color:var(--v-title);font-size:17px;font-weight:700;line-height:1.35}.church-en{color:var(--v-muted);font-size:12px;line-height:1.45}.church-meta{color:var(--v-sub);flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin-top:8px;font-size:11.5px;display:flex}.church-slug{color:var(--v-muted)}.church-go{color:var(--gold);grid-area:1/2/-1;font-size:20px;line-height:1}.church-list a:hover,.church-list a:focus-visible{border-color:var(--gold)}.church-list a:active{transform:scale(.995)}@media (prefers-reduced-motion:reduce){.church-list a{transition:none}.church-list a:active{transform:none}}.home-note{color:var(--v-muted);margin-top:16px;font-size:13px;line-height:1.6}.home-note span{display:block}.home-note-en{color:var(--v-foot);font-size:12px}@media (min-width:600px){.church-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (min-width:900px){.landing .wrap.home-main{max-width:calc(860px + 2 * var(--wrap-pad));padding-top:56px;padding-bottom:64px}.home-intro h1{font-size:36px}.home-intro .home-sub{font-size:15.5px}}.live{width:100%;max-width:560px;min-height:0;padding-top:env(safe-area-inset-top);flex-direction:column;flex:1;margin:0 auto;display:flex}.live-bar{align-items:center;gap:8px;padding:14px 18px 12px;display:flex}body.viewer .live-bar .status{color:var(--v-title);gap:8px}.live-bar .status .dot{background:var(--v-past);width:9px;height:9px}body.viewer .live-bar .status[data-state=live] .dot{background:var(--ok);box-shadow:0 0 0 4px var(--v-dot-ring)}body.viewer .live-bar .status[data-state=connecting] .dot,body.viewer .live-bar .status[data-state=reconnecting] .dot{background:var(--warn)}.status-words{flex-wrap:wrap;align-items:baseline;column-gap:6px;line-height:1.3;display:flex}.status-words b{font-size:14px;font-weight:700}.status-words .ko{color:var(--v-muted);font-size:11.5px;font-weight:400}.live-bar .church{font-family:var(--serif);color:var(--v-muted);margin-left:auto;font-size:11px;font-weight:600}.sheet{background:var(--v-card);min-height:0;box-shadow:var(--v-shadow);border-radius:22px;flex-direction:column;flex:1;margin:0 12px;display:flex;position:relative;overflow:hidden}.caption-log{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;min-height:0;padding:18px;display:flex;overflow-y:auto}.caption-log:not(:empty):before{content:"";flex:auto}.caption-log:empty{justify-content:center}.caption-log:empty:before{content:attr(data-empty);white-space:pre-line;text-align:center;color:var(--v-muted);font-size:15px;line-height:1.6}.caption{word-break:break-word;border-radius:6px;margin:0 0 14px}.caption:last-child{margin-bottom:0}.caption[data-kind=output]{font-size:calc(var(--cap-past) * var(--cap-scale));color:var(--v-past);border-left:4px solid #0000;padding-left:12px;line-height:1.5}.caption[data-kind=output].now{border-left-color:var(--gold);font-size:calc(var(--cap-now) * var(--cap-scale));color:var(--v-now);font-weight:700;line-height:1.38}.caption[data-kind=input]{font-size:calc(var(--cap-ko) * var(--cap-scale));color:var(--v-ko);margin-bottom:8px;padding-left:16px;line-height:1.45}.caption-log[data-origin=off] .caption[data-kind=input]{display:none}@keyframes caption-fresh{0%{background:var(--v-fresh)}to{background:0 0}}.caption.fresh{animation:1.4s ease-out caption-fresh}@media (prefers-reduced-motion:reduce){.caption.fresh{animation:none}}.jump{background:var(--v-on);min-height:40px;color:var(--v-on-ink);white-space:nowrap;border-radius:999px;padding:0 16px;font-size:14px;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000002e}.play-info{color:var(--warn-ink);text-align:center;font-variant-numeric:tabular-nums;margin:8px 16px 0;font-size:12px;line-height:1.4}@media (prefers-color-scheme:dark){body.viewer .play-info{color:var(--warn)}}.dock{justify-content:space-around;padding:12px 14px 16px;display:flex}.dock-button{background:var(--v-dock);width:min(80px,21vw);min-height:52px;color:var(--v-dock-ink);border-radius:14px;flex-direction:column;align-items:center;gap:3px;padding:9px 0 8px;font-size:11.5px;font-weight:500;line-height:1.2;display:flex;box-shadow:0 2px 6px #503c1414}.dock-button i{font-size:17px;font-style:normal;line-height:1.2}.dock .dock-button[data-on=true]{background:var(--v-on);color:var(--v-on-ink)}@media (prefers-color-scheme:dark){.dock-button{box-shadow:none}}@media (min-width:900px){.landing{--wrap-pad:48px}.landing .wrap{max-width:calc(1200px + 2 * var(--wrap-pad))}.landing-first{min-height:0}.site-top{border-bottom:1px solid var(--v-line);background:var(--v-top)}.site-top-inner{padding-block:18px}.landing .brand{gap:12px}.brand-name{font-size:18px}.brand-words small{font-size:11px}.site-nav{align-items:center;gap:28px;font-size:14px;display:flex}.site-nav a{color:var(--v-nav);text-decoration:none}.site-nav a:hover{color:var(--v-title)}.site-nav .pill{border:1px solid var(--v-line);background:var(--v-card);color:var(--v-title);border-radius:999px;padding:8px 16px;font-weight:700}.landing .hero{flex:none;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:40px;padding-top:72px;padding-bottom:80px;display:grid}.landing .hero:before{content:"";background:radial-gradient(closest-side, var(--v-glow), transparent);pointer-events:none;width:720px;height:720px;position:absolute;top:-160px;right:-120px}.hero-copy{display:block;position:relative}.landing .hero h1{margin-top:18px;font-size:clamp(38px,4.2vw,60px);line-height:1.08}.landing .hero .sub{max-width:34em;margin-top:14px;font-size:19px}.landing .hero .ko{font-size:15px}.langs{gap:8px;margin:26px 0 30px}.chip{padding:7px 13px;font-size:13px}.ready{margin-top:0;margin-bottom:30px}.cta-row{flex-direction:row;align-items:center;gap:18px;margin-top:0;padding-top:0}.cta{border-radius:16px;width:auto;padding:18px 34px 16px;font-size:19px;display:inline-block}.hero-visual{height:560px;display:block;position:relative}.art-phone{background:var(--v-bg);border:10px solid #111;border-radius:38px;width:270px;height:540px;position:absolute;top:0;left:10px;overflow:hidden;box-shadow:0 22px 50px #1f3a5f40}.art-bar{color:var(--v-title);align-items:center;gap:7px;padding:22px 16px 10px;font-size:13px;font-weight:700;line-height:1.2;display:flex}.art-dot{background:var(--ok);border-radius:50%;width:8px;height:8px}.art-church{font-family:var(--serif);color:var(--v-muted);margin-left:auto;font-size:10px;font-weight:600}.art-sheet{background:var(--v-card);box-shadow:var(--v-shadow);border-radius:18px;flex-direction:column;justify-content:flex-end;gap:12px;padding:14px;display:flex;position:absolute;inset:54px 10px 64px}.art-motto{margin:auto 0;padding:4px 0}.art-motto-ko{color:var(--v-ko);word-break:keep-all;overflow-wrap:break-word;margin:0 0 8px;padding-left:16px;font-size:12.5px;line-height:1.45}.art-motto-en{border-left:3px solid var(--gold);color:var(--v-now);margin:0;padding-left:9px;font-size:17px;font-weight:700;line-height:1.38}.art-motto-ref{color:var(--gold-ink);letter-spacing:.02em;margin:12px 0 0;padding-left:12px;font-size:11px}.art-cap{color:var(--v-past);border-left:3px solid #0000;padding-left:9px;font-size:14px;line-height:1.45}.art-cap.now{border-left-color:var(--gold);color:var(--v-now);font-size:17px;font-weight:700;line-height:1.38}.art-dock{justify-content:space-around;padding:0 10px;display:flex;position:absolute;bottom:12px;left:0;right:0}.art-dock i{background:var(--v-dock);width:52px;height:38px;color:var(--v-dock-ink);border-radius:11px;place-items:center;font-size:14px;font-style:normal;display:grid;box-shadow:0 2px 6px #503c1414}.qr-card{border:1px solid var(--gold);background:var(--v-card);text-align:center;border-radius:20px;width:250px;padding:20px;position:absolute;bottom:24px;right:10px;box-shadow:0 14px 34px #503c141f}.qr-title{color:var(--v-title);font-size:15px;font-weight:700;line-height:1.35}.qr-title small{color:var(--v-muted);margin:3px 0 12px;font-size:12px;font-weight:400;display:block}.qr-card img{background:#fff;border-radius:8px;width:160px;height:160px;margin:0 auto;display:block}.landing .band{padding:64px 0}.landing .band h2{font-size:32px}.landing .band .lead{margin-bottom:32px;font-size:15px}.steps{grid-template-columns:repeat(3,1fr);gap:22px}.step{border-radius:20px;padding:26px;display:block}.step .n{width:36px;height:36px;margin-bottom:14px}.step h3{margin-top:0;font-size:18px}.step p{font-size:14.5px;line-height:1.6}.landing .step .k{font-size:13px}.feats{grid-template-columns:repeat(4,1fr);gap:18px}.feat{padding:22px;display:block}.feat .ic{text-align:left;font-size:22px;display:block}.feat h3{margin-top:10px;font-size:15.5px}.site-footer.landing-footer{padding:22px max(48px, calc((100% - 1200px) / 2)) calc(22px + env(safe-area-inset-bottom));justify-content:space-between;font-size:13px}.site-footer.landing-footer nav{gap:22px}body.viewer{--cap-now:34px;--cap-past:24px;--cap-ko:17px}.live{max-width:960px;padding:24px 24px 0}.live-bar{padding:4px 8px 16px}.live-bar .status .dot{width:12px;height:12px}.status-words{column-gap:10px}.status-words b{font-size:18px}.status-words .ko{font-size:14px}.live-bar .church{font-size:15px}.sheet{border-radius:28px;margin:0}.caption-log{padding:36px 48px}.caption{margin-bottom:20px}.caption[data-kind=output]{border-left-width:5px;padding-left:20px}.caption[data-kind=input]{margin-bottom:10px;padding-left:25px}.caption-log:empty:before{font-size:20px}.play-info{font-size:13px}.dock{justify-content:center;gap:16px;padding:20px 0 28px}.dock-button{width:116px;min-height:64px;padding:12px 0 10px;font-size:13px}.dock-button i{font-size:21px}}@media (min-width:900px) and (not (min-width:1120px)){.art-phone{display:none}.hero-visual{justify-content:center;height:auto;display:flex}.qr-card{position:static}}@media (prefers-color-scheme:dark){.art-phone{border-color:#000;box-shadow:0 0 0 1px #2c3038,0 22px 50px #00000073}.qr-card,.art-dock i{box-shadow:none}}.site-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--v-line,var(--line,#ece4d6));color:var(--v-foot,#9a8f7e);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;margin-top:8px;font-size:11.5px;display:flex}.site-footer nav{gap:14px;display:flex}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{color:var(--v-muted,#6b6254);text-decoration:underline}a.brandmark,a.brand{color:inherit;cursor:pointer;border-radius:10px;text-decoration:none;transition:opacity .12s}.live-bar button.church{min-height:0;line-height:inherit;background:0 0;border-radius:8px;padding:2px 4px;transition:opacity .12s}a.brandmark:hover,a.brand:hover,.live-bar button.church:hover{opacity:.7}@media (prefers-reduced-motion:reduce){a.brandmark,a.brand,.live-bar button.church{transition:none}}
