:root { --bg:#fffdf7; --ink:#2b2118; --me:#dff0d8; --bot:#fff2cc; --line:#e8ddc8; }
* { box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
body { margin:0; font:18px/1.5 -apple-system,system-ui,sans-serif; color:var(--ink);
  background:var(--bg); padding-block:env(safe-area-inset-top) env(safe-area-inset-bottom); }
.screen { display:none; padding:16px; }
.screen.on { display:block; }
h1 { font-size:24px; text-align:center; margin:12px 0 20px; }

/* Nút to: bé 2 tuổi bấm bằng cả ngón, 88px là ngưỡng bấm không trượt. */
.big { display:flex; align-items:center; gap:16px; width:100%; min-height:88px;
  margin-bottom:12px; font-size:44px; border:2px solid var(--line); border-radius:16px;
  background:#fff; }
.big span { font-size:20px; }

#grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
#grid button { aspect-ratio:1; font-size:52px; border:2px solid var(--line);
  border-radius:16px; background:#fff; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:4px; }
#grid span { font-size:17px; }

#s-talk { display:none; height:100dvh; flex-direction:column; padding-bottom:8px; }
#s-talk.on { display:flex; }
header { display:flex; align-items:center; justify-content:space-between; font-size:20px; }
#back { font-size:24px; background:none; border:0; padding:8px 12px; }
#log { flex:1; overflow-y:auto; padding:8px 0; }
#log p { margin:6px 0; padding:10px 14px; border-radius:14px; max-width:85%; white-space:pre-wrap; }
#log .me { background:var(--me); margin-left:auto; }
#log .bot { background:var(--bot); }

#bar { display:flex; align-items:center; gap:10px; }
/* Mic 96px: đây là nút duy nhất bé nhỏ dùng được, phải to nhất màn hình. */
#mic { width:96px; height:96px; flex:none; border-radius:50%; font-size:40px;
  border:3px solid var(--line); background:#fff; }
#mic.live { background:#ffd9d4; border-color:#e06a5a; }
#f { display:flex; gap:8px; flex:1; }
#t { flex:1; min-width:0; font-size:17px; padding:12px; border:2px solid var(--line); border-radius:12px; }
#f button { padding:0 16px; font-size:17px; border:2px solid var(--line); border-radius:12px; background:#fff; }
#note { margin:6px 0 0; font-size:13px; color:#8a7b66; min-height:1.4em; }
