:root{color:#172026;background:#f6f7f4;font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit}.app-shell{width:min(100%,920px);min-height:100vh;margin:0 auto;padding:18px;display:grid;grid-template-rows:auto auto auto 1fr;gap:14px}.toolbar,.control-band{display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{margin:0 0 4px;color:#5d6b73;font-size:12px;letter-spacing:0}h1{margin:0;color:#172026;font-size:24px;line-height:1.15;letter-spacing:0}.status-pill{min-width:118px;padding:7px 10px;border:1px solid #c9d2cd;border-radius:8px;background:#fff;color:#314047;text-align:center;font-size:13px;white-space:nowrap}.status-ready,.status-speaking{border-color:#94b7a0;background:#edf6ef;color:#245136}.status-recording{border-color:#d69c9a;background:#fff0ef;color:#7d2f2b}.status-thinking,.status-checking{border-color:#d7bd74;background:#fff8df;color:#6b5111}.status-missing-key,.status-error{border-color:#c98f8f;background:#fff1f1;color:#7a2828}.control-band{min-height:72px;padding:12px;border:1px solid #d9ded9;border-radius:8px;background:#fff}.record-button,.text-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.record-button{min-width:154px;min-height:48px;padding:0 18px;background:#1f4f5f;color:#fff;font-weight:700}.record-button:hover:not(:disabled){background:#173f4c}.record-button.stop{background:#9f3e36}.record-button.stop:hover{background:#843129}.secondary-actions{display:flex;align-items:center;gap:8px}.icon-button{width:42px;height:42px;background:#eef2f1;border-color:#d3dcda;color:#24343b}.text-button{min-height:42px;padding:0 12px;background:#eef2f1;border-color:#d3dcda;color:#24343b}button:disabled{cursor:not-allowed;opacity:.48}.error-message{margin:0;padding:10px 12px;border:1px solid #c98f8f;border-radius:8px;background:#fff1f1;color:#7a2828;font-size:14px}.conversation{min-height:260px;border:1px solid #d9ded9;border-radius:8px;background:#fff;overflow:auto}.empty-state{margin:0;padding:28px 18px;color:#66747a}.turn{display:grid;gap:8px;padding:12px;border-bottom:1px solid #edf0ec}.turn:last-child{border-bottom:0}.message{display:grid;gap:4px}.message span{color:#607078;font-size:12px}.message p{margin:0;color:#172026;font-size:16px;line-height:1.55;word-break:break-word}.assistant-message p{color:#1f4f5f}@media (max-width: 560px){.app-shell{padding:12px}.toolbar,.control-band{align-items:stretch;flex-direction:column}.status-pill,.record-button,.text-button,.secondary-actions{width:100%}.icon-button{flex:0 0 42px}}
