/* Presto on-device dictation — download card, ready chip, Settings pane, "Always" toast */
#dictCard{border:1px solid rgba(216,184,99,.45);background:rgba(233,197,131,.07);
  border-radius:var(--tg-r-xl,14px);padding:16px 18px;margin:0 0 12px;}
#dictCard h3{margin:0 0 6px;font-size:13.5px;color:var(--tg-text,#E9EFF1);}
#dictCard p{margin:0 0 12px;font-size:12px;line-height:1.55;color:var(--tg-dim,#8DA0A9);}
#dictCard b{color:var(--tg-gold-dark,#D8B863);font-weight:600;}
.dictbar{height:6px;border-radius:999px;background:rgba(141,160,169,.18);overflow:hidden;}
.dictbar i{display:block;height:100%;width:0;border-radius:999px;
  background:linear-gradient(90deg,#F0D07E,#D0A95E);transition:width .3s ease-out;}
.dictpct{margin-top:7px;font-family:var(--mono,ui-monospace),monospace;font-size:11px;color:var(--tg-dim,#8DA0A9);}
.dictstop{margin-top:10px;appearance:none;font:inherit;font-size:12px;padding:5px 12px;border-radius:999px;border:1px solid rgba(141,160,169,.45);background:transparent;color:var(--tg-dim,#8DA0A9);cursor:pointer;}
.dictstop:hover{border-color:var(--tg-gold-dark,#D8B863);color:var(--tg-gold-dark,#D8B863);}
.dict-chip{display:inline-flex;align-items:center;margin-left:6px;padding:2px 8px;border-radius:999px;
  border:1px solid rgba(105,205,169,.45);color:#69CDA9;font-size:10px;font-weight:500;
  letter-spacing:.04em;white-space:nowrap;cursor:default;}

/* Settings → Dictation */
#pane-dictation .dictrow{display:flex;align-items:flex-start;gap:9px;margin:10px 0 2px;font-size:12.5px;color:var(--tg-text,#E9EFF1);cursor:pointer;}
#pane-dictation .dictrow input{margin-top:3px;accent-color:#D8B863;}
#pane-dictation .dicthint{margin:6px 0 2px;font-size:11.5px;color:var(--tg-dim,#8DA0A9);}
.dictpersonal{border:1px solid rgba(141,160,169,.22);border-radius:10px;padding:8px 10px;margin:4px 0 8px;min-height:34px;}
.dictprow{display:grid;grid-template-columns:1fr auto 1fr auto;gap:8px;align-items:center;padding:5px 0;border-top:1px solid rgba(141,160,169,.12);font-size:12.5px;}
.dictprow:first-child{border-top:0;}
.dictprow .from{color:var(--tg-dim,#8DA0A9);font-family:var(--mono,ui-monospace),monospace;font-size:12px;}
.dictprow .arr{color:#D8B863;}
.dictprow .to{color:var(--tg-text,#E9EFF1);font-weight:600;}
.dictdel{background:none;border:0;color:var(--tg-dim,#8DA0A9);font-size:15px;cursor:pointer;padding:0 4px;}
.dictdel:hover{color:#E9EFF1;}
.dictaddrow input{flex:1 1 140px;min-width:0;}
.dictlogrow{grid-template-columns:auto auto 1fr auto;}
.dictlogrow .to{font-weight:500;color:var(--tg-text,#E9EFF1);}
.dictlogrow .hint{font-size:11px;}

/* "Always write it this way?" — one tap, then it's remembered */
#dictAlways{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:60;
  display:flex;align-items:center;gap:10px;padding:10px 12px 10px 14px;border-radius:12px;
  background:#0f2230;border:1px solid rgba(216,184,99,.55);box-shadow:0 10px 30px rgba(0,0,0,.35);
  color:var(--tg-text,#E9EFF1);font-size:12.5px;max-width:min(92vw,560px);}
#dictAlways b{color:#F0D07E;font-weight:600;}
#dictAlways button{border-radius:8px;border:1px solid rgba(216,184,99,.6);background:rgba(216,184,99,.12);
  color:#F0D07E;font-weight:600;font-size:12px;padding:6px 11px;cursor:pointer;}
#dictAlways button:hover{background:rgba(216,184,99,.22);}
#dictAlways #dictAlwaysNo{border-color:transparent;background:none;color:var(--tg-dim,#8DA0A9);font-size:16px;padding:2px 6px;}
@media (prefers-reduced-motion:reduce){.dictbar i{transition:none;}}

/* previous attempt notice (after a phone killed the page mid-load) */
/* (the "last set-up didn't finish" notice that used to sit above the shorthand box is gone —
   the facts live in Settings → Dictation → Dictation log, and in the diagnostics text) */

/* ── Listening (2026-09-24): a still border and a small pill; only the pill's dot follows the
   voice. No waveform, no pulsing border, no level-driven movement on the box at any time.
   Resting: #24415B. Listening: one 200 ms change to gold #C6A15B at 60%, then still.
   Release/stop: the pill fades in 200 ms and the border returns to #24415B. ─────────────── */
.shwrap .wavebar{display:none !important;}
#shorthand, #shorthand2{border-color:#24415B; transition:border-color .2s ease;}
#shorthand:focus, #shorthand2:focus{border-color:#24415B; box-shadow:inset 0 1px 3px rgba(0,0,0,.25), 0 0 0 3px rgba(198,161,91,.10);} /* typing keeps the app's soft ring; the border itself only changes for listening */
.shwrap.listening > textarea{animation:none !important; border-color:rgba(198,161,91,.6) !important; box-shadow:inset 0 1px 3px rgba(0,0,0,.25) !important;}
.shwrap{margin-top:8px;} /* room for the pill, which sits on the box's top edge so it never covers the text */
.dictpill{position:absolute; top:-11px; right:12px; z-index:4; display:inline-flex; align-items:center; gap:6px; padding:4px 9px 4px 8px; border-radius:999px;
  background:rgba(11,30,45,.9); border:1px solid rgba(198,161,91,.35); font-family:var(--sans,'IBM Plex Sans',system-ui,sans-serif); font-size:11px; font-weight:600; line-height:1;
  letter-spacing:.12em; text-transform:uppercase; color:#C6A15B; opacity:0; transition:opacity .2s ease; pointer-events:none;}
.dictpill.on{opacity:1;}
.dictpill i{display:block; width:6px; height:6px; border-radius:50%; background:#C6A15B; opacity:.4;} /* opacity 40→100% with the speech level, smoothed over 300 ms in script */
@media (prefers-reduced-motion:reduce){
  .dictpill i{opacity:1 !important;}          /* static at 100% while listening */
  .dictpill, #shorthand, #shorthand2{transition:none;}
}
/* The note under the box ("Dictation uses your browser's speech service…") described the browser's
   speech service, which the web app no longer uses: dictation runs on this computer. Removed at the
   founder's request (2026-09-30) — keep it minimal. */
#dictnote{display:none !important;}
