.robot-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.mascot{width:72px;height:72px;flex:none}
.mascot.talk #mouth{animation:talk .5s infinite alternate}
@keyframes talk{from{d:path("M46 76 Q60 84 74 76")}to{d:path("M46 74 Q60 92 74 74")}}
.log{max-height:48vh;min-height:140px;overflow:auto;padding:8px;border:1px solid var(--line,#d5dde6);border-radius:12px;background:var(--bg-soft,rgba(31,111,120,.06))}
.msg{margin:6px 0;padding:8px 12px;border-radius:14px;max-width:88%;line-height:1.5;white-space:pre-wrap}
.msg.bot{background:#fff;color:#12343a;border:1px solid #cfe3e5}
.msg.me{background:#1f6f78;color:#fff;margin-left:auto}
.msg.bot a{color:#0d5560;font-weight:600}
.choices{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.choices .btn{min-height:44px}
.timerbox{margin:8px 0;padding:8px 12px;border-radius:10px;background:#fff7e0;color:#4a3a00;font-size:1.1rem}
.timerbox span:first-child{font-weight:700;font-size:1.4rem;font-variant-numeric:tabular-nums}
.textform{margin-top:8px}
.textform .row{display:flex;gap:8px}
.textform input{flex:1;min-height:44px}
.msg.risk{border:2px solid #b3261e;background:#fff0ee;color:#4a0d09}
@media (prefers-color-scheme:dark){.msg.bot{background:#1d2a2c;color:#e6f0f1;border-color:#2b4a4e}.msg.risk{background:#3a1512;color:#ffd9d4}.timerbox{background:#3b3216;color:#ffe9a8}}
@media (prefers-reduced-motion:reduce){.mascot.talk #mouth{animation:none}}
