:root{
  --theme:#0ea5e9;
  --accent:#22c55e;
  --bg:#07111f;
  --surface:rgba(12,24,42,.92);
  --surface-2:rgba(15,32,55,.95);
  --border:rgba(255,255,255,.10);
  --text:#eaf3ff;
  --muted:#97aac3;
  --danger:#ef4444;
  --shadow:0 22px 70px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;background:
radial-gradient(circle at top, rgba(14,165,233,.18), transparent 30%),
radial-gradient(circle at bottom right, rgba(34,197,94,.12), transparent 25%),
var(--bg);color:var(--text);min-height:100%}
body{min-height:100dvh}
button,input,select,textarea{font:inherit}
.hidden{display:none!important}
.app-shell{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:16px}
.hero-card{
  width:min(100%, 480px);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid var(--border);
  border-radius:28px;
  box-shadow:var(--shadow);
  padding:18px;
  backdrop-filter:blur(12px)
}
.topbar{display:flex;gap:12px;justify-content:space-between;align-items:center}
.brand{display:flex;gap:12px;align-items:center;min-width:0}
.logo-badge{
  min-width:66px;height:66px;border-radius:20px;
  background:linear-gradient(135deg,var(--theme),var(--accent));
  display:flex;align-items:center;justify-content:center;font-weight:700;color:#06121e;padding:8px;text-align:center
}
h1{font-size:1.18rem;margin:0 0 4px;line-height:1.15}
.sub{margin:0;color:var(--muted);font-size:.92rem}
.status-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:18px}
.status-pill{
  width:fit-content;padding:10px 14px;border-radius:999px;background:rgba(239,68,68,.12);
  color:#fecaca;border:1px solid rgba(239,68,68,.3);font-weight:700
}
.status-pill.online{background:rgba(34,197,94,.12);color:#bbf7d0;border-color:rgba(34,197,94,.3)}
.small-card,.log-card,.field{
  background:var(--surface);border:1px solid var(--border);border-radius:22px
}
.small-card{padding:14px}
.small-card span,.field span,.note{color:var(--muted)}
.small-card strong{display:block;margin-top:6px;font-size:.94rem;word-break:break-all}
.mic-section{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center;margin-top:16px}
.mic-btn{
  height:92px;width:92px;border:none;border-radius:28px;background:linear-gradient(135deg,var(--theme),var(--accent));
  color:#04121c;font-size:2rem;font-weight:700;box-shadow:0 16px 40px rgba(14,165,233,.22)
}
.mic-btn.active{transform:scale(.98);box-shadow:0 0 0 5px rgba(34,197,94,.16),0 16px 40px rgba(34,197,94,.28)}
.meter-wrap{padding:14px 16px;background:var(--surface-2);border:1px solid var(--border);border-radius:24px}
.meter-labels{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:10px}
.meter{height:16px;border-radius:999px;background:#0b1626;overflow:hidden;border:1px solid var(--border)}
.meter > div{height:100%;width:0;background:linear-gradient(90deg,var(--theme),var(--accent));transition:width .08s linear}
.controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.field{padding:12px;display:flex;flex-direction:column;gap:8px}
.field select,.field input[type=range]{
  width:100%;background:#081322;color:var(--text);border:1px solid var(--border);border-radius:14px;padding:12px
}
.range-field{grid-column:1/-1}
.action-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.primary-btn,.danger-btn,.ghost-btn{
  border:none;border-radius:18px;padding:14px 16px;font-weight:700
}
.primary-btn{background:linear-gradient(135deg,var(--theme),var(--accent));color:#04121c}
.danger-btn{background:linear-gradient(135deg,#ef4444,#f97316);color:white}
.ghost-btn{background:rgba(255,255,255,.06);color:var(--text);border:1px solid var(--border)}
.log-card{margin-top:16px;padding:14px}
.log-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
#logBox{
  margin:0;white-space:pre-wrap;word-break:break-word;
  background:#07101d;border-radius:16px;padding:12px;color:#c8ddf7;
  min-height:130px;max-height:240px;overflow:auto;border:1px solid var(--border)
}
.note{font-size:.9rem;line-height:1.45;margin:16px 4px 4px}

@media (max-width:420px){
  .app-shell{padding:10px}
  .hero-card{padding:14px;border-radius:22px}
  .mic-section{grid-template-columns:78px 1fr}
  .mic-btn{height:78px;width:78px;border-radius:24px}
  .controls-grid,.action-row{grid-template-columns:1fr}
  h1{font-size:1.02rem}
}
@media (max-width:340px){
  .topbar,.brand,.meter-labels,.log-head{display:block}
  .ghost-btn{margin-top:10px;width:100%}
  .logo-badge{margin-bottom:10px}
}
