:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17211c;background:#eef2ef;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,textarea{font:inherit}.chat-shell{height:100vh;min-height:0;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#eef2eff0,#e2e8e4f0),#eef2ef}.chat-panel{width:min(920px,100%);height:100%;min-height:0;display:grid;grid-template-rows:auto 1fr auto auto auto;overflow:hidden;border:1px solid #cfd8d2;border-radius:8px;background:#fbfcfb;box-shadow:0 18px 48px #1b262024}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #dbe3de;background:#fff}.chat-header h1{margin:0;font-size:20px;line-height:1.2;font-weight:700;letter-spacing:0}.chat-header p{margin:4px 0 0;color:#5d6b63;font-size:14px}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.ghost-button{min-width:72px;height:38px;border:1px solid #bdc8c1;border-radius:8px;color:#24342b;background:#fff;cursor:pointer}.ghost-button:disabled{color:#8d9992;cursor:not-allowed;background:#f4f6f5}.message-list{overflow-y:auto;padding:22px 20px;display:flex;flex-direction:column;gap:12px}.message-row{display:flex;width:100%;content-visibility:auto;contain-intrinsic-size:auto 80px}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.message-stack{display:flex;flex-direction:column;gap:8px;max-width:min(72%,620px)}.message-row.user .message-stack{align-items:flex-end}.message-row.assistant .message-stack{align-items:flex-start}.message-bubble-line{display:flex;align-items:flex-start;max-width:100%}.message-row.assistant .message-bubble-line{gap:8px}.message-row.assistant-follow-up{margin-top:-4px}.message-row.assistant-follow-up .message-bubble{border-color:#b9cec3;background:#f7faf8}.message-bubble{width:fit-content;max-width:100%;min-width:0;padding:12px 14px;border-radius:8px;line-height:1.58;font-size:15px;white-space:normal;overflow-wrap:anywhere}.message-row.user .message-bubble{color:#fff;background:#206b5f;white-space:pre-wrap}.message-row.assistant .message-bubble{max-width:calc(100% - 32px);color:#1c2a22;background:#eef4f0;border:1px solid #d8e3dd}.message-stream-indicator-slot{display:flex;flex:0 0 24px;width:24px;min-height:18px;padding-top:14px;align-items:center;justify-content:center}.message-stream-indicator{width:18px;height:18px;flex:0 0 18px;border:2px solid #c9d8d1;border-top-color:#1f7a68;border-radius:50%;animation:message-stream-spin .8s linear infinite}@keyframes message-stream-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.message-stream-indicator{animation:none}}.message-bubble.queued,.message-bubble.streaming{border-color:#b9cec3}.message-bubble.failed{color:#7a231b;background:#fff0ed;border-color:#f1c7bf}.message-bubble.cancelled{color:#536159;background:#f1f4f2;border-color:#d5ddd8}.suggested-question-list{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}.suggested-question-button{max-width:100%;min-height:36px;padding:8px 10px;border:1px solid #afc3b9;border-radius:8px;color:#17483e;background:#fff;cursor:pointer;font-size:13px;line-height:1.4;text-align:left;overflow-wrap:anywhere}.suggested-question-button:hover:not(:disabled){border-color:#1f7a68;background:#f2f7f4}.suggested-question-button:focus-visible{outline:3px solid rgba(31,122,104,.18);outline-offset:2px}.suggested-question-button:disabled{color:#7f8c85;border-color:#d4ddd8;background:#f4f6f5;cursor:not-allowed}.message-markdown{max-width:100%}.message-markdown>:first-child{margin-top:0}.message-markdown>:last-child{margin-bottom:0}.message-markdown p{margin:0 0 10px}.message-markdown ul,.message-markdown ol{margin:8px 0 10px;padding-left:1.25rem}.message-markdown li{margin:2px 0;padding-left:2px}.message-markdown li>p{margin:0}.message-markdown strong{font-weight:700}.message-markdown a{color:#176b5e;text-decoration:underline;text-underline-offset:2px}.message-markdown code{padding:1px 4px;border-radius:4px;color:#173a32;background:#dfe9e4;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92em}.message-markdown pre{max-width:100%;margin:10px 0;padding:10px;overflow-x:auto;border:1px solid #cfd8d2;border-radius:8px;background:#f7faf8}.message-markdown pre code{padding:0;border-radius:0;background:transparent;white-space:pre}.message-markdown blockquote{margin:10px 0;padding:2px 0 2px 10px;border-left:3px solid #9fb6ac;color:#43544a}.message-markdown-table-wrap{max-width:100%;margin:10px 0;overflow-x:auto}.message-markdown table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.94em}.message-markdown th,.message-markdown td{padding:7px 8px;border:1px solid #cfd8d2;text-align:left;vertical-align:top}.message-markdown th{font-weight:700;background:#e6efea}.error-banner{margin:0 20px 12px;padding:10px 12px;border:1px solid #e6b7af;border-radius:8px;color:#7a231b;background:#fff5f2;font-size:14px}.chat-input-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:16px 20px 18px;border-top:1px solid #dbe3de;background:#fff}.chat-input-row textarea{width:100%;min-height:44px;max-height:132px;resize:vertical;border:1px solid #c6d0ca;border-radius:8px;padding:11px 12px;color:#17211c;background:#fbfcfb;outline:none}.chat-input-row textarea:focus{border-color:#1f7a68;box-shadow:0 0 0 3px #1f7a681f}.chat-input-row textarea:disabled{color:#8d9992;background:#f4f6f5}.chat-input-row button{min-width:82px;height:44px;border:0;border-radius:8px;color:#fff;background:#1f7a68;cursor:pointer}.chat-input-row button:disabled{background:#9aa8a1;cursor:not-allowed}.chat-input-row .stop-generation-button{min-width:44px;width:44px;padding:0;background:#6d3934}.chat-input-row .stop-generation-button:hover{background:#572e2a}.policy-links{display:flex;justify-content:center;gap:16px;padding:10px 16px 14px;border-top:1px solid #edf2ef;background:#fff;color:#5d6b63;font-size:13px}.policy-links a{color:inherit;text-decoration:none}.policy-links a:hover{color:#1f7a68}@media (max-width: 680px){.chat-shell{padding:0}.chat-panel{height:100vh;min-height:0;border-width:0;border-radius:0}.chat-header{padding:14px;align-items:flex-start;flex-direction:column}.header-actions{width:100%;justify-content:flex-start}.message-list{padding:16px 14px}.message-stack{max-width:88%}.message-bubble{font-size:14px}.chat-input-row{grid-template-columns:1fr;padding:12px 14px 14px}.chat-input-row button{width:100%}}
