:root{color:#172126;background:#f4f7f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{min-height:48px;border:0;border-radius:8px;font-weight:700;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}.panel{width:min(100%,640px);background:#fff;border:1px solid #dfe7e4;border-radius:8px;padding:28px;box-shadow:0 18px 48px #1f312d14}.eyebrow{margin:0 0 8px;color:#2a7369;font-size:.8rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1{margin:0;color:#111b1f;font-size:clamp(2rem,2.8rem,3rem);line-height:1.08;letter-spacing:0}.muted{margin:12px 0 0;color:#596a70}.privacy-box,.error-box{margin-top:20px;padding:14px 16px;border-radius:8px}.privacy-box{background:#eef7f1;border:1px solid #cfe5d6}.privacy-box p{margin:6px 0 0;color:#42575e}.error-box{background:#fff1ef;border:1px solid #f3c4bd;color:#9a2b1e;font-weight:700}.profile-form{display:grid;gap:16px;margin-top:24px}.profile-form label{display:grid;gap:7px;color:#42575e;font-size:.94rem;font-weight:700}input,select{width:100%;min-height:48px;border:1px solid #cfdad7;border-radius:8px;background:#fff;color:#172126;padding:0 14px}input:focus,select:focus{outline:3px solid rgba(42,115,105,.18);border-color:#2a7369}.primary-button{background:#166a5f;color:#fff}.secondary-button{background:#e8efed;color:#172126}.full-width{width:100%}.step-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:24px}.step-progress span{height:6px;border-radius:999px;background:#dfe7e4}.step-progress span.active{background:#166a5f}.profile-step{display:grid;gap:22px;margin-top:26px}.step-kicker{margin:0 0 8px;color:#2a7369;font-size:.88rem;font-weight:800}h2{margin:0;color:#111b1f;font-size:1.55rem;line-height:1.2;letter-spacing:0}.choice-list{display:grid;gap:12px}.choice-button{width:100%;min-height:58px;border:1px solid #cfdad7;background:#fff;color:#172126;text-align:left;padding:0 16px;font-size:1.02rem}.choice-button.selected{border-color:#166a5f;background:#eef7f1;color:#0f5048}.device-field{display:grid;gap:7px;color:#42575e;font-size:.94rem;font-weight:700}.profile-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}.profile-actions.single{grid-template-columns:1fr}.topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;color:#42575e;font-weight:800}.status{min-width:78px;padding:7px 10px;border-radius:999px;text-align:center;font-size:.86rem;color:#fff;background:#5f6e72}.status-recording{background:#c2412d}.status-recorded{background:#166a5f}.status-uploading{background:#7b5d12}.status-error{background:#a62e22}.prompt-box{display:grid;gap:10px;padding:26px 0;border-top:1px solid #e5ece9;border-bottom:1px solid #e5ece9}.prompt-box p:last-child{margin:0;color:#596a70;font-size:1.08rem;font-weight:700}.reading-guide{margin-top:18px;padding:16px;border:1px solid #d8e4df;border-radius:8px;background:#f7faf8}.reading-guide h2{font-size:1.08rem}.reading-guide ul{display:grid;gap:8px;margin:12px 0 0;padding-left:20px;color:#364c52}.reading-guide li{padding-left:2px}.meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.meta-grid div{border:1px solid #dfe7e4;border-radius:8px;padding:12px}.meta-grid span{display:block;color:#66797f;font-size:.82rem}.meta-grid strong{display:block;margin-top:4px;overflow-wrap:anywhere}.duration-hint{margin:14px 0 0;color:#40625d;font-weight:700}.duration-hint.warn{color:#9a5b12}.player{width:100%;margin-top:18px}.button-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.record-toggle{grid-column:1 / -1;min-height:58px;background:#166a5f;color:#fff;font-size:1.05rem}.record-toggle-stop{background:#c2412d}.done-panel{text-align:center}.done-panel .primary-button{width:min(100%,220px);margin-top:24px}@media(max-width:560px){.page{align-items:stretch;padding:12px}.panel{padding:22px 18px}h1{font-size:2.2rem}.button-grid,.meta-grid,.profile-actions{grid-template-columns:1fr}.topline{align-items:flex-start;flex-direction:column}}
