:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans CJK SC,sans-serif;background:#f5f5f2;color:#1d1d1f}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(42,88,84,.1),transparent 32rem),#f5f5f2}button,input{font:inherit}.page{width:min(760px,calc(100vw - 32px));margin:0 auto;padding:32px 0 56px}.page-header{margin-bottom:20px}.eyebrow,.step-count,.hint,.status{color:#666a70}.eyebrow{margin:0 0 8px;font-size:.9rem}.step-count{margin:8px 0 0;font-size:.9rem;text-align:right}.progress{height:8px;overflow:hidden;border-radius:999px;background:#deded8}.progress-bar{height:100%;border-radius:inherit;background:#2f6f68;transition:width .18s ease}.card{padding:32px;border:1px solid #dfded8;border-radius:12px;background:#ffffffeb;box-shadow:0 14px 36px #15191914}h1{margin:0 0 24px;font-size:clamp(1.45rem,4vw,2.1rem);line-height:1.35}label{display:grid;gap:8px;margin:18px 0}label span{font-weight:650}input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #c9c8c2;border-radius:8px;background:#fff}.instruction{font-size:1.2rem;line-height:1.8}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}button{min-height:46px;padding:0 18px;border:0;border-radius:8px;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.primary{color:#fff;background:#245c56}.danger{color:#fff;background:#b3261e}.error{min-height:1.4em;color:#b3261e}.recorder{padding:22px;border:1px solid #deded8;border-radius:12px;background:#fbfbf8}.waveform{display:flex;align-items:center;justify-content:center;height:112px;gap:5px;padding:12px;overflow:hidden}.waveform span{width:5px;height:14px;border-radius:999px;background:#d83b34;opacity:.28}.is-recording .waveform span{animation:pulse .88s ease-in-out infinite;animation-delay:calc(var(--i) * -55ms);opacity:.95}@keyframes pulse{0%,to{height:14px}50%{height:92px}}.timer{margin:6px 0;font-variant-numeric:tabular-nums;font-size:2rem;text-align:center}.status{margin:0;text-align:center}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:20px 0}.choice{display:flex;align-items:center;gap:10px;min-height:48px;margin:0;padding:10px 12px;border:1px solid #dfded8;border-radius:8px;background:#fbfbf8}.choice input{width:18px;min-height:18px}.other{margin-top:20px}@media(max-width:560px){.page{width:min(100vw - 20px,760px);padding-top:20px}.card{padding:22px}}
