:root{
  --gold1:#ffd54a;         /* brighter gold */
  --gold2:#c58a10;
  --bg:#0b0f14;            /* deeper slate blue-black */
  --card:#0f1623;          /* rich card surface */
  --line:#1c2534;          /* subtle borders */
  --text:#e7eaf0;          /* primary text */
  --muted:#a7b1c2;         /* secondary text */
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --radius:16px;
}

*{box-sizing:border-box}
html,body{height:100%}
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
:focus-visible{
  outline:2px solid var(--gold1);
  outline-offset:2px;
  border-radius:8px;
}
a,button{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation; /* reduce double-tap zoom */
}

.header{
  position:sticky; top:0; z-index:9;
  background:linear-gradient(135deg,var(--gold1),var(--gold2));
  color:#111; padding:14px 16px;
  font-weight:800; text-align:center;
  box-shadow:0 4px 20px rgba(0,0,0,.25);
}
.container{max-width:600px;margin:0 auto;padding:16px}

.card{
  background:linear-gradient(180deg,rgba(17,24,38,.85),rgba(17,24,38,.92));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:16px; margin:12px 0;
  backdrop-filter:blur(8px) saturate(120%);
}

.btn{
  display:block; width:100%; text-align:center;
  background:linear-gradient(135deg,var(--gold1),var(--gold2));
  color:#111; border:0; border-radius:12px;
  padding:14px 16px; font-weight:800; cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease;
  box-shadow:0 6px 18px rgba(255,215,0,.25);
}
.btn:hover{ transform:translateY(-1px); }
.btn:active{ transform:translateY(0) scale(.98); }
.btn.secondary{
  background:#1f2937; color:#e5e7eb;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
}
.btn.ghost{ background:transparent; border:1px solid var(--line); color:var(--text) }

.input,select,textarea{
  width:100%;
  padding:14px 14px;
  background:#0e1522;
  color:var(--text);
  border:1px solid var(--line);
  border-radius:10px;
  font-size:16px; /* iOS focus zoom fix */
  transition:border-color .15s ease, box-shadow .15s ease;
}
.input:focus,select:focus,textarea:focus{
  border-color:var(--gold1);
  box-shadow:0 0 0 3px rgba(255,215,0,.18);
}

.row{display:flex;gap:10px;align-items:center}
.badge{
  display:inline-block; padding:6px 10px; border-radius:999px;
  background:#1b2433; color:#cbd5e1; border:1px solid #2a3446
}
.small{font-size:12px;opacity:.85}

.pill{
  display:flex; align-items:center; gap:8px;
  padding:10px 12px; border-radius:999px;
  background:#0f1623; border:1px solid #223;
}
.pill.speaking{
  box-shadow:0 0 0 3px rgba(255,217,0,.35) inset, 0 0 12px rgba(255,217,0,.15);
}

.grid{display:grid;gap:10px}
.g2{grid-template-columns:1fr 1fr}

.footer-note{opacity:.7;text-align:center;font-size:12px;margin-top:6px}
.sticky-bottom{position:sticky;bottom:0;background:transparent;padding:6px}
.copy{word-break:break-all;background:#0f1623;border:1px dashed #334;padding:10px;border-radius:10px}

/* Mobile polish */
@media (max-width:420px){
  .container{padding:12px}
  .g2{grid-template-columns:1fr}
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001s !important;
    animation-iteration-count:1 !important;
    transition-duration:.001s !important;
    scroll-behavior:auto !important;
  }
}
