:root{color-scheme:light dark;--brand-primary: #4f46e5;--brand-secondary: #1d4ed8;--surface: rgba(17, 24, 39, .82);--surface-light: rgba(255, 255, 255, .78);--border: rgba(255, 255, 255, .08);--text-primary: #f8fafc;--text-secondary: #cbd5f5;--text-muted: #94a3b8;--badge-bg: rgba(79, 70, 229, .14);--badge-text: #c7d2fe;--chat-user-bg: linear-gradient(135deg, #4f46e5, #22d3ee);--chat-assistant-bg: rgba(255, 255, 255, .06);--shadow-elevated: 0 20px 50px rgba(15, 23, 42, .45);--radius-lg: 22px;--radius-sm: 12px}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;font-family:Google Sans Text,Google Sans,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top,#0f172a,#020617 60%);color:var(--text-primary);scroll-behavior:smooth}#root{min-height:100dvh;padding:0}.app-shell{position:relative;min-height:100vh;width:100%;display:flex;align-items:flex-start;justify-content:center;padding:32px 16px}@supports (min-height: 100dvh){.app-shell{min-height:100dvh}}.app-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 10%,rgba(79,70,229,.6),transparent 55%),radial-gradient(circle at 80% 20%,rgba(236,72,153,.4),transparent 60%);filter:blur(80px);opacity:.7;pointer-events:none}.chat-wrapper{position:relative;z-index:1;width:min(960px,100%);min-height:min(92vh,900px);display:flex;flex-direction:column;border-radius:calc(var(--radius-lg) + 6px);border:1px solid var(--border);background:#0a0f1ce6;box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden}@supports (min-height: 92dvh){.chat-wrapper{min-height:min(92dvh,900px)}}.chat-header{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;padding:28px 32px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.chat-brand{display:flex;gap:16px;align-items:center}.chat-brand svg{width:40px;height:40px;color:var(--brand-primary)}.chat-brand-text{display:flex;flex-direction:column;gap:4px}.chat-brand-title{font-size:1.25rem;font-weight:600;letter-spacing:-.01em}.chat-brand-subtitle{font-size:.95rem;color:var(--text-muted)}.chat-header-actions{display:flex;align-items:center;gap:12px}.selector-group{display:inline-flex;padding:6px;background:#0f172aa6;border-radius:999px;border:1px solid rgba(255,255,255,.05);gap:6px}.selector-group button{border:none;padding:8px 18px;border-radius:999px;font-size:.9rem;font-weight:500;color:var(--text-muted);background:transparent;cursor:pointer;transition:all .2s ease}.selector-group button:hover:not(:disabled){color:var(--text-primary);background:#94a3ff1f}.selector-group button.active{color:#fff;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));box-shadow:0 10px 25px #4f46e559}.selector-group button.unavailable,.selector-group button:disabled,.selector-group button.disabled{opacity:.4;cursor:not-allowed}.chat-controls{padding:12px 32px 0;display:flex;flex-direction:column;gap:8px}.tool-selector{width:fit-content}.tool-disabled-banner{font-size:.85rem;color:var(--text-muted);padding-left:6px}.chat-body{flex:1;overflow:hidden;padding:8px 0}.chat-messages{height:100%;overflow-y:auto;padding:24px 32px;display:flex;flex-direction:column;gap:20px;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:10px}.chat-messages::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:999px}#anchor{height:1px;overflow-anchor:auto}.chat-footer{padding:12px 32px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;border-top:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,#0f172a00,#0f172a8c) #0a0c18b3}#chatStatus{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:500;color:var(--text-muted)}#chatStatus svg{width:18px;height:18px}.hidden{display:none!important}#inputArea{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:calc(var(--radius-lg) + 4px);border:1px solid rgba(255,255,255,.08);background:#0f172ae6}#messageInput{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:1rem;outline:none}#messageInput::placeholder{color:#94a3b899}#locationButton,#sendButton{width:44px;height:44px;border-radius:50%;border:none;display:grid;place-items:center;background:#94a3b81f;color:var(--text-secondary);transition:transform .18s ease,background .18s ease;cursor:pointer}#locationButton:hover,#sendButton:hover{transform:translateY(-1px);background:#4f46e545;color:#fff}#locationButton.active{background:#22c55e42;color:#bbf7d0}#locationButton.disabled,#sendButton.disabled{opacity:.4;cursor:not-allowed;transform:none}.rotating{animation:rotating 1s linear infinite}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.turn{display:flex;flex-direction:column;gap:12px;padding:18px 20px;border-radius:var(--radius-sm);max-width:92%;line-height:1.6;box-shadow:inset 0 1px #ffffff05}.turn .thinking{font-size:.9rem;color:#fffc}.turn .embedded-content{width:100%;border-radius:18px;border:1px solid rgba(148,163,184,.14);overflow:hidden;min-height:300px}.turn .generated-image{width:100%;border-radius:18px;border:1px solid rgba(148,163,184,.14);box-shadow:0 15px 30px #02061773}.role-user{align-self:flex-end;background:var(--chat-user-bg);color:#fff;border-top-right-radius:6px;transform:translate(12px)}.role-user details{display:none}.role-assistant{align-self:flex-start;background:var(--chat-assistant-bg);color:var(--text-secondary);border-top-left-radius:6px;border:1px solid rgba(255,255,255,.04)}.role-system-ask{align-self:center;background:#ffffff0f;color:var(--text-secondary);border:1px dashed rgba(255,255,255,.15)}.role-error{align-self:flex-start;background:#f871711f;color:#fecaca;border:1px solid rgba(252,165,165,.35)}.followup-suggestions{display:flex;flex-wrap:wrap;gap:10px}.followup-suggestion-btn{border:none;border-radius:999px;padding:8px 16px;background:#94a3ff2e;color:var(--badge-text);font-size:.85rem;cursor:pointer;transition:background .2s ease,transform .2s ease}.followup-suggestion-btn:hover{background:#4f46e566;transform:translateY(-1px)}#suggestions{display:grid;gap:12px;padding:12px 18px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.05);background:#0f172a99}.suggestions-header{display:flex;align-items:center;gap:10px;font-size:.95rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.suggestions-header svg{width:20px;height:20px;color:var(--brand-secondary)}.suggestion-btn{border:none;padding:14px 16px;border-radius:var(--radius-sm);background:#ffffff0a;color:var(--text-primary);text-align:left;font-size:.95rem;cursor:pointer;transition:border .2s ease,transform .2s ease,background .2s ease}.suggestion-btn:hover{background:#4f46e540;border-color:#4f46e566;transform:translateY(-1px)}.turn pre{background:#0f172acc;padding:18px;border-radius:16px;overflow-x:auto;border:1px solid rgba(255,255,255,.04)}.turn code{font-family:Inconsolata,Fira Code,Source Code Pro,monospace}@media (max-width: 900px){.chat-wrapper{min-height:calc(100vh - 40px)}.chat-header{padding:24px}.chat-controls,.chat-footer,.chat-messages{padding-left:12px;padding-right:12px}.selector-group{width:100%;justify-content:space-between}.selector-group button{flex:1}}@media (max-width: 640px){.chat-wrapper{width:100%;border-radius:22px;border:none;min-height:100vh;overflow:hidden;margin:0}#root{padding:0}.chat-header{flex-direction:column;align-items:flex-start}.chat-header-actions{width:100%}#inputArea{padding:10px 12px}#locationButton,#sendButton{width:40px;height:40px}}@media (max-width: 640px){.app-shell{padding:16px 8px;align-items:flex-start}.chat-body{padding-bottom:16px}}
