/* masa capture — mirrors site tokens (site/assets/css/tokens.css) */
:root{
  --bg:#EFE9DE;--surface:#E6E0D2;--sunk:#E0D9C8;--line:#D6CFBE;--ink:#22342E;
  --ink-soft:#5C6B62;--terra:#D8663F;--cta:#BE5330;--cta-h:#A8441F;--amber:#E0A24C;
  --teal:#4E6B60;--linen:#F3EDE0;--r-md:12px;--r-lg:16px;--gap:16px;--lh-body:1.6;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--bg);color:var(--ink);line-height:var(--lh-body);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
.app{max-width:520px;margin:0 auto;padding:20px var(--gap) 40px;display:grid;gap:var(--gap)}
.brand{text-align:center;padding-top:8px}
.brand-mark{
  display:inline-block;font-weight:800;letter-spacing:.02em;color:var(--linen);
  background:var(--terra);border-radius:var(--r-md);padding:2px 12px;font-size:1.1rem;
}
h1{font-size:1.5rem;margin:.5em 0 .2em}
.sub{color:var(--ink-soft);margin:0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--gap)}
.card-primary{border:2px solid var(--teal);background:var(--linen)}
.card-primary[hidden]{display:none}
.card-primary .btn-send{display:block;text-align:center;text-decoration:none}
h2{font-size:1.05rem;margin:0 0 .35em}
.hint{color:var(--ink-soft);font-size:.9rem;margin:0 0 12px}

.btn{
  font:inherit;font-weight:700;border:none;border-radius:var(--r-md);
  padding:12px 18px;cursor:pointer;color:var(--linen);background:var(--teal);
}
.btn:focus-visible{outline:3px solid var(--cta);outline-offset:2px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}

.rec-row{display:flex;align-items:center;gap:12px}
.btn-rec{background:var(--cta);display:inline-flex;align-items:center;gap:10px}
.btn-rec:hover{background:var(--cta-h)}
.btn-rec[aria-pressed="true"]{background:var(--ink)}
.rec-dot{width:12px;height:12px;border-radius:50%;background:var(--linen)}
.btn-rec[aria-pressed="true"] .rec-dot{background:var(--terra);animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){
  .btn-rec[aria-pressed="true"] .rec-dot{animation:none;outline:2px solid var(--terra);outline-offset:2px}
}
.rec-time{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-weight:700}
.rec-wave{width:100%;height:56px;margin-top:12px;background:var(--sunk);border-radius:var(--r-md)}
.rec-wave[hidden]{display:none}

.rec-preview{margin-top:12px;display:grid;gap:8px}
.rec-preview[hidden]{display:none}
.player{display:flex;align-items:center;gap:12px}
.btn-play{
  flex:none;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--teal);color:var(--linen);font-size:1rem;display:grid;place-items:center;
}
.btn-play:hover{background:var(--cta-h)}
.btn-play:focus-visible{outline:3px solid var(--cta);outline-offset:2px}
.seek{flex:1;min-width:0;margin:0;accent-color:var(--cta);cursor:pointer;height:8px}
.seek:focus-visible{outline:3px solid var(--cta);outline-offset:4px;border-radius:999px}

.fld{display:grid;gap:6px;font-weight:700;font-size:.9rem}
.fld input,.fld textarea{
  font:inherit;font-weight:400;color:var(--ink);background:var(--linen);
  border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px;width:100%;
}
.fld input:focus-visible,.fld textarea:focus-visible{outline:3px solid var(--cta);outline-offset:1px}
/* file input: style the NATIVE button (::file-selector-button — no JS, a11y intact,
   browser auto-translates the label text). Matches .btn / design language. */
.fld input[type=file]{padding:8px;font-weight:400;color:var(--ink-soft);cursor:pointer}
.fld input[type=file]::file-selector-button{
  font:inherit;font-weight:700;color:var(--linen);background:var(--teal);
  border:none;border-radius:var(--r-md);padding:10px 16px;margin-right:12px;cursor:pointer;
}
.fld input[type=file]::file-selector-button:hover{background:var(--cta-h)}
.file-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.file-list li{
  display:flex;justify-content:space-between;align-items:center;gap:8px;
  background:var(--sunk);border-radius:var(--r-md);padding:8px 12px;font-size:.9rem;
}
.file-list .rm{background:none;border:none;color:var(--cta);font:inherit;font-weight:700;cursor:pointer;padding:4px}
.file-list .rm:focus-visible{outline:3px solid var(--cta);outline-offset:2px}

.send-row{display:grid;gap:8px}
.btn-send{background:var(--cta);font-size:1.05rem;padding:14px}
.btn-send:hover:not([disabled]){background:var(--cta-h)}
.status{margin:0;min-height:1.4em;font-weight:700}
.status.ok{color:var(--teal)}
.status.err{color:var(--cta)}
.foot{color:var(--ink-soft);font-size:.8rem;text-align:center}
