@charset "UTF-8";
:root{--paper:#f5f3ec;--ink:#303c33;--green:#C04F15;--muted:#828777;--line:#e6e7dd;--white:#fdfcf8;--serif:Georgia,'Batang','바탕',serif;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Malgun Gothic',sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #C04F15;outline-offset:4px}[hidden]{display:none!important}.shell{max-width:650px;margin:auto;padding:0 28px;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dfdfd2}.brand{display:flex;gap:8px;align-items:center;text-decoration:none;font-size:22px;font-weight:650;letter-spacing:-1px}.brand span{font-family:var(--serif);font-weight:400;font-size:25px;margin-left:-7px}.brand svg{width:34px;height:34px;stroke:var(--green);fill:none;stroke-width:1.3}.text-button{border:0;background:none;padding:8px;color:var(--green);font-size:12px}.hero{position:relative;padding:42px 0 32px}.eyebrow{font-size:9px;letter-spacing:2.1px;color:var(--green);font-weight:600;display:flex;align-items:center;gap:8px}.eyebrow>span{width:5px;height:5px;background:#9c9e79;border-radius:50%}h1{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.55;letter-spacing:-1.5px;margin:22px 0 13px}.hero p{color:#7b8173;font-size:13px;line-height:1.9;margin:0}.hero-art{position:absolute;width:165px;height:190px;right:-6px;top:53px;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none}.halo{position:absolute;width:143px;height:143px;border:1px solid #dddfd0;border-radius:50%;top:3px}.hero-art svg{position:relative;width:145px;height:145px;fill:none;stroke:#919f7d;stroke-width:1.1}.hero-art>span{font-family:var(--serif);font-size:9px;letter-spacing:2px;color:#92977f;margin-top:13px}.step-heading{display:flex;align-items:center;gap:10px;margin:24px 0 13px}.step-number{font-family:var(--serif);font-size:12px;color:#8e967c}h2{font-size:15px;font-weight:600;letter-spacing:-.5px;margin:0}.card{background:var(--white);border:1px solid #e9e8df;border-radius:18px;padding:22px;box-shadow:0 3px 10px #414d3603}.prayer-card{padding-bottom:14px}textarea{display:block;background:none;border:0;resize:vertical;min-height:80px;width:100%;font-size:18px;line-height:1.6;letter-spacing:-.5px;color:var(--ink);font-family:var(--serif);outline:none}textarea::placeholder{color:#b2b1a4}.input-footer{border-top:1px solid #eeeee5;display:flex;justify-content:space-between;gap:10px;padding-top:12px;font-size:10px;color:#969b8a}.input-footer b{color:var(--green);font-weight:500}.record-top{display:flex;gap:13px;align-items:center}.mic-symbol{background:#faeee7;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.mic-symbol svg{width:20px;height:20px;stroke:var(--green);fill:none;stroke-width:1.4}.record-top strong{font-size:13px;font-weight:500}.record-top p{font-size:11px;line-height:1.6;color:var(--muted);margin:5px 0 0}.record-actions{display:flex;gap:9px;margin-top:20px}.outline-button,.small-button{border:1px solid #e9c8b7;background:transparent;color:var(--green);border-radius:10px;padding:14px 12px;font-size:13px;min-height:46px}.record-actions>.outline-button{flex:1}.small-button{width:48px;font-size:22px;line-height:1}.record-foot{display:flex;align-items:center;justify-content:space-between;margin-top:11px;color:#9b9e8f;font-size:10px;min-height:22px}.record-foot .text-button{padding:5px}.setting-label{display:flex;justify-content:space-between;font-size:13px;margin-bottom:12px}.setting-label output{color:var(--green);font-size:12px;font-variant-numeric:tabular-nums}input[type=range]{display:block;width:100%;height:22px;accent-color:var(--green);margin:0;cursor:pointer}.range-labels{display:flex;justify-content:space-between;font-size:9px;color:#a1a492;margin-top:4px}.divider{height:1px;background:#eeeee5;margin:20px 0}.hint{font-size:10px;color:#919781;line-height:1.8;margin-bottom:0}.primary-button{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--green);border:1px solid var(--green);color:#fffdf5;min-height:56px;padding:16px 20px;border-radius:12px;font-size:14px;letter-spacing:-.2px;width:100%;text-decoration:none}.primary-button:active{background:#9f3f10}.primary-button:disabled{background:var(--green);border-color:var(--green);opacity:.6}#prepare{justify-content:space-between;margin-top:27px}.center-hint{text-align:center;font-size:10px;color:#8c927d;line-height:1.8;margin:12px 0 0}footer{display:flex;gap:9px;justify-content:center;align-items:flex-start;margin:29px 0 23px;color:#8d947e;font-size:10px;line-height:1.7}footer svg{width:13px;height:15px;stroke:currentColor;fill:none;stroke-width:1.4;flex-shrink:0;margin-top:2px}footer small{font-size:9px;opacity:.85}.bottom-note{border-top:1px solid #e0e1d6;text-align:center;color:#a0a58f;font-family:var(--serif);font-size:11px;letter-spacing:.5px;padding:21px 0 26px}#listening{text-align:center;padding-top:40px}#listening .eyebrow{justify-content:center}#listening h1{font-size:24px;margin:19px 0}#listen-prayer{font-family:var(--serif);font-size:25px;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere;margin:18px 5px 30px}.prayer-orbit{width:260px;height:260px;position:relative;margin:0 auto 23px}.prayer-orbit>svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:none;stroke-width:2}.orbit-track{stroke:#eed9ce}#orbit-progress{stroke:var(--green);stroke-width:3;stroke-linecap:round;stroke-dasharray:816.815;stroke-dashoffset:816.815;transition:stroke-dashoffset .3s linear}.orbit-content{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px}.orbit-content b{font-family:var(--serif);font-size:78px;font-weight:400;line-height:1.1;font-variant-numeric:tabular-nums}.orbit-content>span:last-child{font-size:12px;color:var(--muted)}.leaf{font-size:30px;color:#C04F15;margin-bottom:5px}#listen-status{font-size:13px;color:var(--green);min-height:20px}.time-line{font-size:11px;color:#919781;font-variant-numeric:tabular-nums;margin:15px 0 30px}.stop-button{display:block;margin:14px auto;font-size:12px;min-height:44px}.download-link{display:block;font-size:11px;text-underline-offset:4px;color:var(--green);margin:18px 0}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}#recording-live{font-size:12px;display:flex;align-items:center;gap:7px;margin:20px 0;color:#8c6556}.red-dot{width:7px;height:7px;background:#b46f60;border-radius:50%;animation:pulse 1s infinite}.wave{margin-left:auto;display:flex;gap:3px;align-items:center;height:24px}.wave i{width:3px;background:var(--green);height:10px;animation:wave .9s infinite alternate}.wave i:nth-child(3n){animation-delay:-.3s;height:22px}.wave i:nth-child(3n+1){animation-delay:-.6s;height:15px}@keyframes wave{to{transform:scaleY(.35)}}@keyframes pulse{50%{opacity:.3}}dialog{border:1px solid var(--line);background:var(--paper);border-radius:22px;padding:28px;max-width:420px;width:calc(100% - 36px);color:var(--ink);max-height:85dvh;overflow:auto}dialog::backdrop{background:#28332177;backdrop-filter:blur(4px)}dialog h2{font-size:23px;font-family:var(--serif);font-weight:400;margin:19px 0}dialog h3{font-size:13px;margin-top:24px}dialog p,dialog li{font-size:12px;color:#777e6b;line-height:1.9}dialog ol{padding-left:20px}dialog li{margin-bottom:8px}button.dialog-close:not(.primary-button){position:absolute;right:14px;top:10px;border:0;background:none;color:var(--green);font-size:30px}.notice-actions{display:flex;gap:10px;margin-top:22px}.notice-actions button{flex:1}#preparing{position:fixed;inset:0;background:#f5f3eced;backdrop-filter:blur(7px);display:grid;place-items:center;z-index:5}.preparing-card{text-align:center;width:min(350px,90%)}.preparing-card h2{font-family:var(--serif);font-size:24px;font-weight:400;margin:28px 0 14px}.preparing-card p{color:var(--muted);font-size:12px}.preparing-card small{display:block;font-size:10px;color:#899177;margin-top:17px}.spinner{display:block;width:38px;height:38px;border:2px solid #eed9ce;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}progress{accent-color:var(--green);width:75%;height:5px;margin-top:16px}@media(min-width:600px){.shell{max-width:650px;padding:0 48px}.hero h1{font-size:35px}.hero-art{right:9px;top:46px;width:180px}.hero{padding-bottom:45px}.step-heading{margin-top:27px}}@media(max-width:440px){.shell{padding-left:22px;padding-right:22px}header{height:84px}.hero{padding-top:33px}h1{font-size:27px}.hero-art{width:105px;right:-5px;top:51px}.hero-art svg{width:103px;height:103px}.halo{width:105px;height:105px;top:14px}.hero-art>span{font-size:7px;letter-spacing:1px}.eyebrow{font-size:8px;letter-spacing:1.4px}.hero p{font-size:11px}.card{padding:18px}h2{font-size:14px}.input-footer{font-size:9px}.record-foot{font-size:9px}.record-top strong{font-size:12px}}@media(max-width:350px){.hero-art{display:none}h1{font-size:26px}.input-footer{font-size:8px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.duration-card{margin-top:18px;background:#faeee7;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:7px}.duration-card>span{font-size:12px;color:var(--green)}.duration-card output{font:28px var(--serif);font-variant-numeric:tabular-nums;color:var(--ink)}.duration-card small{font-size:10px;line-height:1.6;color:var(--muted)}

/* Readable controls and instructions, including narrow phone screens. */
body{font-size:16px;line-height:1.6}
.step-heading{align-items:flex-start;gap:10px;line-height:1.55}
.step-number{font-family:inherit;font-size:15px;font-weight:700;white-space:nowrap;flex-shrink:0;color:var(--green);padding-top:1px}
h2{font-size:18px;line-height:1.55}
textarea{font-size:21px;line-height:1.7;min-height:150px}
.input-footer{font-size:14px;line-height:1.6}
.input-footer b{font-weight:650}
.record-top strong{font-size:16px;font-weight:600}
.record-top p{font-size:14px;line-height:1.7}
.record-actions>.outline-button{font-size:15px;line-height:1.6;padding:14px 10px;min-width:0;overflow-wrap:anywhere}
.record-foot,.record-foot .text-button{font-size:13px}

.setting-label{font-size:16px;font-weight:550}
.setting-label output{font-size:15px}
.range-labels{font-size:12px}
.duration-card>span{font-size:16px;font-weight:600}
.duration-card output{font-size:32px;line-height:1.3}
.duration-card small,.hint,.center-hint{font-size:13px;line-height:1.8}
.primary-button{font-size:17px;min-height:58px;font-weight:600}
.text-button{font-size:14px}
.hero p{font-size:16px;line-height:1.8}
.hero h1{word-break:keep-all;max-width:none}
#listen-status{font-size:16px;line-height:1.7;min-height:28px}
.time-line{font-size:15px}.orbit-content>span:last-child{font-size:16px}
.download-link,.stop-button{font-size:14px}
footer{font-size:13px}footer small{font-size:12px}.bottom-note{font-size:13px}
dialog p,dialog li{font-size:15px}dialog h3{font-size:16px}
@media(max-width:440px){
 .step-number{font-size:14px}.step-heading h2{font-size:17px}
 .input-footer{font-size:13px}.record-top strong{font-size:15px}
 .hero p{font-size:14px}.record-foot{font-size:13px}
 .hero-art{display:none}
}
@media(max-width:599px){.hero-art{display:none}.hero h1{max-width:none}}


#start-hint:empty{display:none}

#listen-space{font-size:16px;line-height:1.6;margin:0;color:var(--green)}
#listening #listen-title{margin-top:0}

header{gap:10px}#help-open{max-width:150px;flex-shrink:1;text-align:right;line-height:1.5}
@media(max-width:440px){#help-open{max-width:108px;font-size:12px;padding-left:0;padding-right:0}}

/* Keep the install guidance and its arrow on the same line. */
#help-open{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;max-width:none;flex-shrink:0}
@media(max-width:360px){header{gap:6px}.brand{font-size:18px;gap:4px}.brand svg{width:25px;height:25px}#help-open{font-size:11px;gap:2px}}
@media(max-width:310px){.brand{font-size:16px}.brand svg{width:23px;height:23px}#help-open{font-size:10px}}

.hero h1,#prayer,#listen-prayer,.step-number{color:var(--green)}
#prayer::placeholder{color:#b6b6b0;opacity:1}

.orbit-content b,.duration-card output{color:var(--green)}
