:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg-start: #fff7f5;--bg-end: #ffeee9;--page-text: #2a1210;--card-bg: rgba(255, 255, 255, .92);--card-border: rgba(220, 100, 70, .18);--card-shadow: 0 24px 60px rgba(180, 50, 20, .1);--header-border: rgba(220, 100, 70, .15);--muted: #9a6458;--status-bg: #fff0ec;--status-text: #c94a2a;--assistant-bg: #ffffff;--assistant-text: #2a1210;--assistant-border: rgba(220, 100, 70, .18);--user-bg: linear-gradient(135deg, #e8502a 0%, #c43a18 100%);--user-text: #ffffff;--footer-bg: rgba(255, 255, 255, .8);--input-bg: #ffffff;--input-border: rgba(220, 100, 70, .22);--input-text: #2a1210;--button-bg: linear-gradient(135deg, #e8502a 0%, #c43a18 100%);--button-text: #ffffff;--error-bg: rgba(239, 68, 68, .1);--error-text: #b42318;--toggle-bg: rgba(255, 255, 255, .7);--toggle-border: rgba(220, 100, 70, .22);--brand-accent: #e8502a}:root[data-theme=dark]{--bg-start: #1a0c09;--bg-end: #241008;--page-text: #f5e8e4;--card-bg: rgba(36, 16, 8, .92);--card-border: rgba(220, 100, 70, .18);--card-shadow: 0 24px 60px rgba(0, 0, 0, .4);--header-border: rgba(220, 100, 70, .15);--muted: #c49080;--status-bg: rgba(232, 80, 42, .18);--status-text: #f4a080;--assistant-bg: rgba(50, 22, 12, .95);--assistant-text: #f5e8e4;--assistant-border: rgba(220, 100, 70, .18);--user-bg: linear-gradient(135deg, #e8502a 0%, #c43a18 100%);--user-text: #ffffff;--footer-bg: rgba(26, 12, 9, .8);--input-bg: rgba(26, 12, 9, .95);--input-border: rgba(220, 100, 70, .22);--input-text: #f5e8e4;--button-bg: linear-gradient(135deg, #e8502a 0%, #c43a18 100%);--button-text: #ffffff;--error-bg: rgba(239, 68, 68, .14);--error-text: #fca5a5;--toggle-bg: rgba(50, 22, 12, .82);--toggle-border: rgba(220, 100, 70, .22);--brand-accent: #e8502a}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--page-text);background:linear-gradient(180deg,var(--bg-start) 0%,var(--bg-end) 100%)}button,textarea{font:inherit}.app-shell{min-height:100vh;display:flex;align-items:stretch;justify-content:center;padding:20px}.chat-card{width:min(960px,100%);min-height:calc(100vh - 40px);display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--card-border);border-radius:28px;overflow:hidden;box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border-bottom:1px solid var(--header-border)}.chat-header h1{margin:0;font-size:22px;letter-spacing:-.02em}.chat-header p{margin:6px 0 0;color:var(--muted);font-size:14px}.header-actions{display:flex;align-items:center;gap:10px}.theme-toggle{border:1px solid var(--toggle-border);background:var(--toggle-bg);color:var(--page-text);padding:9px 14px;border-radius:999px;cursor:pointer}.status-pill{padding:8px 12px;border-radius:999px;background:var(--status-bg);color:var(--status-text);font-size:13px}.chat-body{flex:1;padding:24px;overflow:auto;display:flex;flex-direction:column;gap:14px}.empty-state{margin:auto;color:var(--muted);text-align:center}.bubble-row{display:flex}.bubble-row.user{justify-content:flex-end}.bubble-row.assistant{justify-content:flex-start}.bubble{max-width:min(80%,720px);padding:14px 16px;border-radius:22px}.bubble.user{background:var(--user-bg);color:var(--user-text);border-bottom-right-radius:8px;box-shadow:0 10px 24px #2563eb2e}.bubble.assistant{background:var(--assistant-bg);color:var(--assistant-text);border:1px solid var(--assistant-border);border-bottom-left-radius:8px}.bubble-role{font-size:12px;opacity:.72;margin-bottom:6px}.bubble-text{white-space:pre-wrap;word-break:break-word;line-height:1.55}.chat-footer{padding:18px 20px 20px;border-top:1px solid var(--header-border);background:var(--footer-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.meta-line{margin-bottom:10px;color:var(--muted);font-size:12px}.error-banner{margin-bottom:12px;padding:10px 12px;border-radius:14px;background:var(--error-bg);color:var(--error-text);font-size:14px;white-space:pre-wrap;word-break:break-word}.composer{display:flex;gap:12px;align-items:flex-end}.composer textarea{flex:1;resize:none;border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);border-radius:18px;padding:14px 16px;outline:none}.composer textarea::placeholder{color:var(--muted)}.composer button{border:none;border-radius:16px;padding:14px 20px;background:var(--button-bg);color:var(--button-text);font-weight:600;cursor:pointer;box-shadow:0 12px 28px #2563eb38}.composer button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.bubble-text a{color:#2563eb;text-decoration:underline;text-underline-offset:2px;word-break:break-all;cursor:pointer}.bubble-text span{white-space:pre-wrap}.bubble-text a:hover{color:#1d4ed8}@media(max-width:640px){.app-shell{padding:0}.chat-card{min-height:100vh;border-radius:0;border-left:none;border-right:none}.chat-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%;justify-content:space-between}.chat-header,.chat-body,.chat-footer{padding-left:14px;padding-right:14px}.composer{flex-direction:column}.composer button{width:100%}.bubble{max-width:90%}}.header-brand{display:flex;align-items:center;gap:14px}.brand-logo{font-size:36px;line-height:1;filter:drop-shadow(0 2px 6px rgba(232,80,42,.3))}.chat-header h1{margin:0;font-size:20px;letter-spacing:-.02em;background:linear-gradient(135deg,#e8502a,#c43a18);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.chat-header p{margin:5px 0 0;color:var(--muted);font-size:13px}.welcome-icon{font-size:56px;margin-bottom:12px}.welcome-title{font-size:18px;font-weight:600;color:var(--page-text);margin-bottom:6px}.welcome-sub{font-size:14px;color:var(--muted)}.empty-state{margin:auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.bubble.assistant{box-shadow:0 2px 12px #e8502a0f}.bubble.user{box-shadow:0 10px 24px #c83c1438}.footer-brand{margin-top:10px;text-align:center;font-size:11px;color:var(--muted);letter-spacing:.04em}.composer button{white-space:nowrap;transition:opacity .15s,box-shadow .15s}.composer button:not(:disabled):hover{box-shadow:0 14px 32px #c83c1452}
