:root{
  --bg:#f6f2ea; --card:#ffffff; --ink:#25231f; --muted:#6d675e;
  --main:#1f6f4a; --mainink:#ffffff; --line:#e6e0d5; --warn:#b4451f;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-text-size-adjust:100%}
.wrap{max-width:560px;margin:0 auto;padding:22px 16px 44px}
h1{font-size:24px;margin:0 0 6px}
.sub{margin:0 0 18px;color:var(--muted);font-size:15px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin:0 0 14px}
.lab{display:block;font-weight:600;margin:0 0 8px}
.hint{margin:8px 0 0;color:var(--muted);font-size:13px}
.hint.bad{color:var(--warn)}
.script{margin:10px 0 12px;padding:12px;background:#f3f6f2;border-radius:10px;font-size:15px;line-height:1.7}
input{width:100%;min-height:50px;padding:12px 14px;font-size:17px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
input:focus{outline:2px solid #bcd8c8;border-color:#9dc4ae}
.row{display:flex;gap:10px;margin-top:10px}
.row input{flex:1}
.btn{min-height:50px;padding:12px 18px;font-size:17px;border-radius:12px;border:1px solid transparent;font-weight:600}
.btn.main{width:100%;background:var(--main);color:var(--mainink)}
.btn.ghost{background:#fff;border-color:var(--line);color:var(--ink)}
.btn:disabled{opacity:.45}
.recRow{display:flex;align-items:center;gap:12px}
.timer{font-variant-numeric:tabular-nums;color:var(--muted)}
.state{font-size:19px;font-weight:600;margin:6px 0 0}
.bar{height:8px;background:#ece7dd;border-radius:6px;overflow:hidden;margin:12px 0 0}
.bar i{display:block;height:100%;width:0;background:var(--main);transition:width .3s}
audio{width:100%;margin-top:12px}
.tip{min-height:22px;margin:4px 0 0;font-size:14px;color:var(--warn)}
.tip.ok{color:var(--main)}
