:root{--accent: #0b57d0;--accent-strong: color-mix(in oklab, var(--accent) 82%, black);--accent-soft: color-mix(in oklab, var(--accent) 12%, var(--bg));--accent-softer: color-mix(in oklab, var(--accent) 6%, var(--bg));--accent-glow: color-mix(in oklab, var(--accent) 28%, transparent);--accent-2: color-mix(in oklab, var(--accent) 55%, #8b5cf6);--bg: #ffffff;--bg-elevated: #ffffff;--sidebar-bg: #f7f7f8;--fg: #1f2328;--fg-soft: #3b4148;--muted: #6b7280;--line: #e6e7ea;--line-strong: #d6d8dc;--hover: rgba(15, 23, 42, .05);--active: rgba(15, 23, 42, .08);--user-bubble: #f1f3f6;--danger: #b42318;--danger-soft: #fdecec;--success: #1c7a3d;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08), 0 2px 6px rgba(15, 23, 42, .05);--shadow-lg: 0 24px 60px rgba(15, 23, 42, .14), 0 6px 16px rgba(15, 23, 42, .06);--radius-sm: 8px;--radius: 12px;--radius-lg: 20px;--sidebar-width: 272px;--column: 768px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);color-scheme:light}@supports (color: oklch(from red l c h)){:root{--accent-2: oklch(from var(--accent) calc(l + .06) c calc(h + 40) )}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--accent-strong: color-mix(in oklab, var(--accent) 70%, white);--bg: #17181b;--bg-elevated: #202226;--sidebar-bg: #111214;--fg: #ececf1;--fg-soft: #d1d5db;--muted: #9ca3af;--line: #2b2e33;--line-strong: #3a3e45;--hover: rgba(255, 255, 255, .06);--active: rgba(255, 255, 255, .1);--user-bubble: #2a2c31;--danger: #f97066;--danger-soft: #3a1f1f;--success: #4ade80;--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .5);color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand-mark{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:9px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 4px 12px var(--accent-glow)}.brand-mark-lg{width:52px;height:52px;border-radius:16px}.brand-mark-xl{width:60px;height:60px;border-radius:18px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:10px;background:transparent;color:var(--muted);transition:background .15s ease,color .15s ease,transform .15s var(--ease-out)}.icon-button:hover:not(:disabled){background:var(--hover);color:var(--fg)}.icon-button:active:not(:disabled){transform:scale(.94)}.icon-button:disabled{opacity:.4;cursor:not-allowed}.icon-button.small{width:28px;height:28px}.link-button{padding:0;border:none;background:none;color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}.pill-button{margin-top:10px;padding:8px 16px;border:1px solid var(--line-strong);border-radius:999px;background:var(--bg-elevated);font-weight:600;font-size:14px;transition:border-color .15s ease,background .15s ease,transform .15s var(--ease-out)}.pill-button:hover{border-color:var(--accent);background:var(--accent-softer)}.spinner{display:inline-block;width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.spinner-sm{width:14px;height:14px}.skeleton-line{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--hover) 25%,var(--active) 45%,var(--hover) 65%);background-size:300% 100%;animation:shimmer 1.4s ease-in-out infinite}.boot{height:100%;display:grid;place-items:center}.boot-mark{animation:breathe 1.6s ease-in-out infinite}.login-page{position:relative;min-height:100%;display:grid;place-items:center;padding:24px 16px;overflow:hidden;background:var(--bg)}.login-backdrop{position:absolute;inset:0;pointer-events:none;filter:blur(70px);opacity:.55}.blob{position:absolute;width:46vmax;height:46vmax;border-radius:50%;animation:drift 22s ease-in-out infinite alternate}.blob-a{top:-18vmax;left:-12vmax;background:color-mix(in oklab,var(--accent) 45%,transparent)}.blob-b{bottom:-20vmax;right:-14vmax;background:color-mix(in oklab,var(--accent-2) 45%,transparent);animation-duration:28s;animation-delay:-6s}.blob-c{top:30%;left:55%;width:26vmax;height:26vmax;background:color-mix(in oklab,var(--accent) 25%,#22d3ee 20%);animation-duration:34s;animation-delay:-12s}.login-card{position:relative;width:min(400px,100%);padding:36px 32px 28px;display:flex;flex-direction:column;align-items:center;text-align:center;background:color-mix(in oklab,var(--bg-elevated) 86%,transparent);backdrop-filter:blur(18px) saturate(1.2);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-lg);animation:rise-in .6s var(--ease-out) both}.login-card.shaking{animation:shake .42s cubic-bezier(.36,.07,.19,.97) both}.login-card .brand-mark{animation:pop-in .7s var(--ease-spring) .1s both}.login-title{margin:20px 0 4px;font-size:24px;font-weight:700;letter-spacing:-.02em}.login-subtitle{margin:0 0 24px;color:var(--muted);font-size:14px}.login-subtitle strong{color:var(--fg);font-weight:600}.login-form{width:100%;display:flex;flex-direction:column;gap:14px;text-align:left}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:13px;font-weight:600;color:var(--fg-soft)}.field-with-action{position:relative;display:flex}.field-input{width:100%;height:46px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);font-size:16px;transition:border-color .15s ease,box-shadow .2s ease}.field-with-action .field-input{padding-right:46px}.field-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}.field-input[aria-invalid=true]{border-color:var(--danger)}.field-action{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;padding:7px;border:none;border-radius:8px;background:transparent;color:var(--muted)}.field-action:hover{background:var(--hover);color:var(--fg)}.login-hint{margin:-6px 0 0;font-size:12px;color:var(--muted)}.login-error{margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:13px;animation:fade-down .25s var(--ease-out) both}.login-submit{position:relative;height:48px;margin-top:6px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:none;border-radius:var(--radius);color:#fff;font-size:15px;font-weight:600;background:linear-gradient(135deg,var(--accent),var(--accent-2));background-size:160% 160%;box-shadow:0 6px 18px var(--accent-glow);transition:transform .18s var(--ease-out),box-shadow .2s ease,background-position .5s ease,opacity .2s}.login-submit:hover:not(:disabled){transform:translateY(-1px);background-position:100% 50%;box-shadow:0 10px 24px var(--accent-glow)}.login-submit:active:not(:disabled){transform:translateY(0) scale(.98)}.login-submit:disabled{opacity:.85;cursor:progress}.login-footnote{margin:18px 0 0;font-size:12px;color:var(--muted)}.login-footnote+.login-footnote{margin-top:4px}.login-footnote a{color:var(--muted)}.app-shell{position:relative;height:100%;display:flex;overflow:hidden;animation:fade-in .45s var(--ease-out) both}.sidebar-slot{flex:none;width:0;overflow:hidden;transition:width .32s var(--ease-out)}.app-shell.sidebar-open .sidebar-slot{width:var(--sidebar-width)}.sidebar{width:var(--sidebar-width);height:100%;display:flex;flex-direction:column;gap:6px;padding:10px 10px 8px;background:var(--sidebar-bg);border-right:1px solid var(--line);transform:translate(-16px);opacity:0;transition:transform .32s var(--ease-out),opacity .25s ease}.app-shell.sidebar-open .sidebar{transform:none;opacity:1}.app-shell.compact .sidebar-slot{position:fixed;inset:0 auto 0 0;z-index:30;width:min(86vw,var(--sidebar-width));overflow:visible;pointer-events:none;transition:none}.app-shell.compact .sidebar{width:100%;opacity:1;transform:translate(-105%);box-shadow:var(--shadow-lg);padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}.app-shell.compact.sidebar-open .sidebar-slot{pointer-events:auto}.app-shell.compact.sidebar-open .sidebar{transform:none}.drawer-backdrop{position:fixed;inset:0;z-index:25;background:#0a0c106b;backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .3s ease}.drawer-backdrop.visible{opacity:1;pointer-events:auto}.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 2px 6px 6px}.sidebar-brand{display:flex;align-items:center;gap:10px;min-width:0}.sidebar-title{font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.new-chat{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated);font-weight:600;font-size:14px;box-shadow:var(--shadow-sm);transition:border-color .15s ease,box-shadow .2s ease,transform .18s var(--ease-out)}.new-chat:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.new-chat:active{transform:scale(.985)}.new-chat svg{color:var(--accent)}.shortcut{margin-left:auto;font-family:inherit;font-size:11px;color:var(--muted);opacity:0;transition:opacity .15s ease}.new-chat:hover .shortcut{opacity:1}.sidebar-search{display:flex;align-items:center;gap:8px;margin-top:2px;padding:0 10px;height:36px;border-radius:10px;color:var(--muted);transition:background .15s ease}.sidebar-search:focus-within{background:var(--hover)}.sidebar-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:14px;color:var(--fg)}.sidebar-search input::placeholder{color:var(--muted)}.history{flex:1;overflow-y:auto;margin:0 -4px;padding:4px 4px 12px;scrollbar-width:thin}.history-group+.history-group{margin-top:14px}.history-heading{position:sticky;top:-4px;z-index:1;margin:0;padding:6px 10px 4px;background:var(--sidebar-bg);font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--muted)}.history ul{list-style:none;margin:0;padding:0}.history li{animation:slide-in-left .35s var(--ease-out) both}.history-item{position:relative;display:flex;align-items:center;width:100%;padding:8px 10px;border:none;border-radius:10px;background:transparent;text-align:left;font-size:14px;color:var(--fg-soft);transition:background .15s ease,color .15s ease}.history-item:hover{background:var(--hover);color:var(--fg)}.history-item.active{background:var(--active);color:var(--fg);font-weight:500}.history-item.active:before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:3px;border-radius:3px;background:var(--accent);animation:grow-y .3s var(--ease-out) both}.history-item-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;mask-image:linear-gradient(90deg,#000 85%,transparent)}.history-skeleton{display:flex;flex-direction:column;gap:14px;padding:12px 10px}.history-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;text-align:center;color:var(--muted);font-size:13px;animation:fade-in .4s ease both}.history-empty p{margin:0}.load-more{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:8px;padding:8px;border:none;border-radius:10px;background:transparent;color:var(--muted);font-size:13px}.load-more:hover:not(:disabled){background:var(--hover);color:var(--fg)}.account{position:relative;padding-top:6px;border-top:1px solid var(--line)}.account-button{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:none;border-radius:var(--radius);background:transparent;text-align:left;transition:background .15s ease}.account-button:hover,.account-button.open{background:var(--hover)}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:50%;color:#fff;font-weight:700;letter-spacing:.02em;object-fit:cover;box-shadow:inset 0 0 0 1px #fff3}.account-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.account-name{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-sub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:5;padding:8px;background:var(--bg-elevated);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);transform-origin:bottom center;animation:menu-in .2s var(--ease-out) both}.account-menu-header{display:flex;align-items:center;gap:10px;padding:6px 6px 10px}.account-menu-identity{display:flex;flex-direction:column;min-width:0;line-height:1.35}.account-menu-identity span{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.account-details{margin:0 0 6px;padding:8px 6px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px;font-size:12.5px}.account-details div{display:flex;justify-content:space-between;gap:12px}.account-details dt{color:var(--muted)}.account-details dd{margin:0;text-align:right;font-weight:500}.account-logout{display:flex;align-items:center;gap:10px;width:100%;padding:9px 8px;border:none;border-radius:10px;background:transparent;color:var(--danger);font-weight:600;font-size:14px;text-align:left}.account-logout:hover{background:var(--danger-soft)}.main{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.topbar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;height:56px;padding:0 12px;padding-top:env(safe-area-inset-top);box-sizing:content-box;border-bottom:1px solid transparent}.topbar-left,.topbar-right{display:flex;align-items:center;gap:2px;min-width:0}.topbar-title{margin-left:6px;font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:fade-in .35s ease both}.banner{margin:0 auto 8px;width:min(var(--column),calc(100% - 32px));padding:10px 14px;border-radius:var(--radius);background:color-mix(in oklab,#f59e0b 14%,var(--bg));font-size:13.5px;animation:fade-down .3s var(--ease-out) both}.transcript-shell{position:relative;flex:1;min-height:0;display:flex}.transcript{flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.transcript-column{width:min(var(--column),100%);min-height:100%;margin:0 auto;padding:12px 20px 32px;display:flex;flex-direction:column;gap:28px;animation:fade-in .3s ease both}.jump-to-latest{position:absolute;left:50%;bottom:14px;z-index:4;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:var(--bg-elevated);color:var(--fg);box-shadow:var(--shadow-md);opacity:0;transform:translate(-50%,12px) scale(.85);pointer-events:none;transition:opacity .2s ease,transform .3s var(--ease-spring)}.jump-to-latest.visible{opacity:1;transform:translate(-50%) scale(1);pointer-events:auto}.welcome{margin:auto 0;padding:24px 0 8px;display:flex;flex-direction:column;align-items:center;text-align:center}.welcome-mark{animation:pop-in .8s var(--ease-spring) both,float 6s ease-in-out .8s infinite}.welcome-heading{margin:22px 0 6px;font-size:clamp(24px,4vw,32px);font-weight:700;letter-spacing:-.025em;background:linear-gradient(90deg,var(--fg) 30%,var(--accent) 70%,var(--accent-2));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rise-in .6s var(--ease-out) .08s both,sheen 5s ease-in-out 1s infinite alternate}.welcome-greeting{margin:0 0 28px;max-width:520px;color:var(--muted);animation:rise-in .6s var(--ease-out) .14s both}.suggestions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.suggestion{padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--bg-elevated);text-align:left;font-size:14px;color:var(--fg-soft);box-shadow:var(--shadow-sm);animation:rise-in .5s var(--ease-out) both;transition:border-color .18s ease,box-shadow .25s ease,transform .25s var(--ease-out),background .18s ease}.suggestion:hover{border-color:color-mix(in oklab,var(--accent) 45%,var(--line));background:var(--accent-softer);box-shadow:var(--shadow-md);transform:translateY(-2px);color:var(--fg)}.suggestion:active{transform:translateY(0) scale(.98)}@media(max-width:560px){.suggestions{grid-template-columns:1fr}}.message.fresh{animation:message-in .45s var(--ease-out) both}.message.user{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.user-attachments{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:min(78%,620px)}.user-attachment{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 10px;border:1px solid var(--line);border-radius:12px;background:var(--bg-elevated);color:var(--muted);font-size:13px}.user-attachments>li{display:flex;max-width:100%}.user-attachment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg)}.user-attachment.linked{font:inherit;font-size:13px;text-decoration:none;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.user-attachment.linked:hover{border-color:color-mix(in oklab,var(--accent) 45%,var(--line));background:var(--accent-softer);color:var(--accent)}.user-attachment.linked:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.user-attachment.linked svg{flex:none}.image-preview{padding:0;border:none;border-radius:var(--radius);background:var(--bg-elevated);color:var(--fg);box-shadow:var(--shadow-lg);max-width:min(92vw,1200px);max-height:92vh;overflow:hidden;animation:preview-in .22s var(--ease-out) both}.image-preview[open]{display:flex;flex-direction:column}.image-preview::backdrop{background:#0a0c1099}.image-preview-bar{display:flex;align-items:center;gap:4px;padding:6px 6px 6px 16px;border-bottom:1px solid var(--line)}.image-preview-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600}.image-preview-bar a.icon-button{color:inherit}.image-preview-img{display:block;max-width:min(92vw,1200px);max-height:calc(92vh - 50px);margin:0 auto;object-fit:contain;background:repeating-conic-gradient(var(--hover) 0% 25%,transparent 0% 50%) 50% / 16px 16px}.image-preview-error{margin:0;padding:32px 24px;color:var(--muted)}@keyframes preview-in{0%{opacity:0;transform:scale(.97)}}.user-bubble{max-width:min(78%,620px);padding:10px 16px;border-radius:20px 20px 6px;background:var(--user-bubble);white-space:pre-wrap;overflow-wrap:anywhere}.message.assistant{display:flex;gap:14px;align-items:flex-start}.assistant-avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-top:1px;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 3px 10px var(--accent-glow)}.assistant-avatar.thinking{animation:pulse-ring 1.6s ease-out infinite}.assistant-avatar.thinking svg{animation:spin-slow 2.4s linear infinite}.assistant-body{flex:1;min-width:0;padding-top:2px}.typing{display:inline-flex;gap:5px;padding:10px 2px}.typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:bounce-dot 1.2s ease-in-out infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}.error-text p{margin:0;padding:10px 14px;border-radius:var(--radius);background:var(--danger-soft);color:var(--danger)}.answer{overflow-wrap:anywhere}.answer-paragraph{margin:0}.answer-paragraph+.answer-paragraph,.answer-list{margin-top:10px}.answer-list{margin-bottom:0;padding-left:20px}.answer-list li{margin-top:4px}.answer-list li::marker{color:var(--muted)}.answer strong{font-weight:650}.answer em{font-style:italic}.answer-table-wrap{margin-top:12px;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}.answer-table-wrap:first-child{margin-top:0}.answer-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.45;overflow-wrap:normal}.answer-table th,.answer-table td{padding:8px 12px;border-top:1px solid var(--line);text-align:left;vertical-align:top}.answer-table thead th{border-top:0;background:var(--accent-softer);font-weight:600;white-space:nowrap}.answer-table tbody tr{transition:background .12s ease}.answer-table tbody tr:hover{background:var(--hover)}.answer-table tbody th{min-width:8em;font-weight:inherit}.answer-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.citation-ref{padding:0 1px;border-radius:3px;color:var(--accent);font-size:11px;font-weight:600;line-height:0;text-decoration:none;vertical-align:super;white-space:nowrap}.citation-ref:before{content:"["}.citation-ref:after{content:"]"}.citation-ref:hover,.citation-ref:focus-visible{background:var(--accent-soft);text-decoration:underline}.caret{display:inline-block;width:8px;height:16px;margin-left:3px;border-radius:2px;background:var(--accent);vertical-align:text-bottom;animation:caret-pulse 1s ease-in-out infinite}:root{--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-5: #e87ba4;--series-6: #008300;--series-7: #6250d6;--series-8: #e34948;--chart-grid: #ececee;--chart-axis: #c9ccd1}@media(prefers-color-scheme:dark){:root{--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-5: #d55181;--series-6: #008300;--series-7: #9085e9;--series-8: #e66767;--chart-grid: #2a2c31;--chart-axis: #3a3e45}}.result-chart{margin:14px 0 0;padding:12px 12px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated);animation:fade-in .35s ease both}.result-chart-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.result-chart-title{color:var(--fg-soft);font-size:13px;font-weight:600}.result-chart-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;list-style:none;color:var(--fg-soft);font-size:12px}.result-chart-legend li{display:inline-flex;align-items:center;gap:6px}.result-chart-swatch{flex:none;width:10px;height:10px;border-radius:3px}.result-chart-toggle{flex:none;padding:4px 10px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--fg-soft);font:inherit;font-size:12px;cursor:pointer}.result-chart-toggle:hover{background:var(--hover)}.result-chart-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.result-chart-frame{position:relative;overflow:hidden}.result-chart-frame svg{display:block}.result-chart-grid{stroke:var(--chart-grid);stroke-width:1}.result-chart-baseline{stroke:var(--chart-axis);stroke-width:1}.result-chart-crosshair{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}.result-chart-marker{stroke:var(--bg-elevated);stroke-width:2}.result-chart-tick,.result-chart-label{fill:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.result-chart-label{fill:var(--fg-soft);font-size:12px}.result-chart-tooltip{position:absolute;z-index:2;min-width:160px;max-width:280px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--shadow-md);color:var(--fg);font-size:12px;pointer-events:none}.result-chart-tooltip-title{margin:0 0 4px;font-weight:600;overflow-wrap:anywhere}.result-chart-tooltip-row{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:6px;margin:2px 0 0;color:var(--fg-soft)}.result-chart-tooltip-row strong{color:var(--fg);font-variant-numeric:tabular-nums}.computed{white-space:pre-line;display:flex;align-items:flex-start;gap:8px;margin:12px 0 0;padding:8px 12px;border-left:2px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:0 8px 8px 0;background:color-mix(in srgb,var(--accent) 6%,transparent);color:var(--muted);font-size:13px;line-height:1.45;overflow-wrap:anywhere;animation:fade-in .35s ease both}.computed svg{flex:none;margin-top:2px;color:var(--accent)}.sources{margin-top:14px;animation:fade-in .35s ease both}.sources-label{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.citations{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.citations li{max-width:100%;animation:pop-in .4s var(--ease-spring) both}.citation{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:5px 12px 5px 5px;border:1px solid var(--line);border-radius:999px;background:var(--bg-elevated);font-size:13px;color:var(--fg-soft);text-decoration:none;transition:border-color .15s ease,background .15s ease,color .15s ease,transform .2s var(--ease-out),box-shadow .2s ease}.citation:hover,.citation:focus-visible{border-color:var(--accent);background:var(--accent-softer);color:var(--accent-strong);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.citation-index{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;font-weight:700}.citation-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-actions{display:flex;gap:2px;margin-top:8px;margin-left:-6px;animation:fade-in .4s ease .1s both}.action-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--muted);transition:background .15s ease,color .15s ease,transform .2s var(--ease-spring)}.action-button:hover{background:var(--hover);color:var(--fg)}.action-button:active{transform:scale(.88)}.action-button.active{color:var(--accent)}.action-button.active svg{animation:pop-in .35s var(--ease-spring) both}.action-button.copied{color:var(--success)}.swap{display:inline-flex}.action-button.copied .swap{animation:pop-in .3s var(--ease-spring) both}.export{position:relative;display:flex}.export-menu{position:absolute;right:0;z-index:10;min-width:170px;padding:6px;background:var(--bg-elevated);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);animation:menu-in .18s var(--ease-out) both}.export-menu.down{top:calc(100% + 6px);transform-origin:top right}.export-menu.up{bottom:calc(100% + 6px);transform-origin:bottom left}.message-actions .export-menu{right:auto;left:0}.export-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:none;border-radius:8px;background:transparent;font-size:14px;text-align:left}.export-item:hover,.export-item:focus-visible{background:var(--accent-soft);color:var(--accent-strong)}.export-item:focus-visible{outline-offset:-2px}.export-ext{font-size:12px;color:var(--muted)}.export-status{margin:4px 8px 2px;font-size:12px;color:var(--muted)}.transcript-skeleton{display:flex;flex-direction:column;gap:36px;padding-top:12px}.skeleton-turn{display:flex;flex-direction:column;gap:10px}.skeleton-turn .skeleton-question{align-self:flex-end;width:38%;height:36px;border-radius:18px}.skeleton-turn .skeleton-line.short{width:55%}.load-error{margin:auto;text-align:center;color:var(--muted)}.composer-dock{flex:none;width:min(var(--column),100%);margin:0 auto;padding:0 20px max(12px,env(safe-area-inset-bottom))}.composer{position:relative;display:flex;flex-direction:column;padding:12px 12px 10px 16px;border:1px solid var(--line-strong);border-radius:26px;background:var(--bg-elevated);box-shadow:var(--shadow-md);transition:border-color .2s ease,box-shadow .3s ease,transform .3s var(--ease-out)}.composer:focus-within{border-color:color-mix(in oklab,var(--accent) 55%,var(--line-strong));box-shadow:0 0 0 4px var(--accent-glow),var(--shadow-md)}.composer.disabled{opacity:.7}.composer-input{width:100%;min-height:26px;max-height:220px;padding:2px 0;border:none;outline:none;resize:none;background:transparent;font-size:16px;line-height:1.55}.composer-input::placeholder{color:var(--muted)}.composer-bar{display:flex;align-items:center;gap:6px;margin-top:8px}.composer-tool{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-left:-6px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);transition:background .15s ease,color .15s ease,border-color .15s ease,transform .2s var(--ease-out)}.composer-tool:hover:not(:disabled){border-color:var(--line-strong);background:var(--hover);color:var(--fg);transform:rotate(-12deg)}.composer-tool:disabled{cursor:not-allowed;opacity:.6}.counter{margin-left:auto;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;animation:fade-in .2s ease both}.counter.low{color:var(--danger)}.send-button{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:var(--line-strong);color:var(--bg);transition:background .2s ease,transform .25s var(--ease-spring),box-shadow .25s ease}.counter+.send-button{margin-left:6px}.send-button.ready{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 4px 14px var(--accent-glow);animation:pop-in .3s var(--ease-spring) both}.send-button.ready:hover{transform:translateY(-1px) scale(1.06)}.send-button.ready:active{transform:scale(.92)}.send-button:disabled{cursor:default}.send-button.stop{background:var(--fg);color:var(--bg);animation:pop-in .3s var(--ease-spring) both;position:relative}.send-button.stop:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid transparent;border-top-color:var(--accent);animation:spin 1s linear infinite}.disclaimer{margin:8px 0 0;text-align:center;font-size:12px;color:var(--muted)}.disclaimer a{color:var(--muted)}.composer-attachments{list-style:none;margin:0 0 10px -4px;padding:0;display:flex;flex-wrap:wrap;gap:8px;max-height:132px;overflow-y:auto}.attachment{display:flex;align-items:center;gap:8px;max-width:min(100%,300px);padding:6px 6px 6px 8px;border:1px solid var(--line);border-radius:14px;background:var(--accent-softer);font-size:13px;animation:pop-in .3s var(--ease-spring) both}.attachment.failed{border-color:color-mix(in oklab,var(--danger) 45%,var(--line));background:var(--danger-soft)}.attachment-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:var(--accent-soft);color:var(--accent)}.attachment.failed .attachment-icon{background:transparent;color:var(--danger)}.attachment-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.attachment-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-state{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment.failed .attachment-state{color:var(--danger)}.attachment-remove{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--muted);transition:background .15s ease,color .15s ease}.attachment-remove:hover{background:var(--hover);color:var(--fg)}@media(max-width:640px){.transcript-column,.composer-dock{padding-left:12px;padding-right:12px}.transcript-column{gap:22px}.message.assistant{gap:10px}.assistant-avatar{width:26px;height:26px}.user-bubble{max-width:88%}.citation-ref{padding:0 2px;font-size:12px}.topbar{height:52px;padding:0 6px;padding-top:env(safe-area-inset-top)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes message-in{0%{opacity:0;transform:translateY(10px) scale(.985);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes menu-in{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}@keyframes grow-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-6px)}40%,60%{transform:translate(6px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spin-slow{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@keyframes breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.92);opacity:.7}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes sheen{0%{background-position:0% 50%}to{background-position:100% 50%}}@keyframes drift{0%{transform:translate(0) scale(1)}to{transform:translate(6vmax,4vmax) scale(1.15)}}@keyframes bounce-dot{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-6px);opacity:1}}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--accent-glow)}to{box-shadow:0 0 0 12px transparent}}@keyframes caret-pulse{0%,to{opacity:1}50%{opacity:.25}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.blob{animation:none!important}}
