.app{flex-direction:column;height:100%;transition:all .3s cubic-bezier(.32,.72,0,1);display:flex}.app--landing{justify-content:center;align-items:center}.app--landing .logo{margin-bottom:32px}.app--landing .search-wrapper{width:100%;max-width:584px;padding:0 16px}.app--chat .messages{scrollbar-gutter:stable both-edges;flex:1;width:100%;padding:24px 0 8px;overflow-y:auto}.messages__inner{width:100%;max-width:868px;margin:0 auto;padding:0 24px}.input-bar{z-index:10;background:linear-gradient(transparent, var(--background) 16px);padding:16px 24px 24px;position:sticky;bottom:0}.input-bar__inner{max-width:820px;margin:0 auto}.input-bar__tokens{max-width:820px;color:var(--muted-foreground);text-align:right;font-variant-numeric:tabular-nums;margin:0 auto 8px;font-size:11px}.logo svg{width:200px;height:auto}.app--landing .logo{justify-content:center;width:100%;padding:0 16px;display:flex}.app--landing .logo img{width:100%;max-width:683px;height:auto}.search-bar{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--background);align-items:center;padding:10px 16px;transition:box-shadow .15s cubic-bezier(.32,.72,0,1),border-color .15s cubic-bezier(.32,.72,0,1);display:flex}.search-bar:hover,.search-bar:focus-within{box-shadow:var(--shadow-elevated)}.search-bar:hover{border-color:#0000}.search-bar:focus-within{border-color:var(--border)}.search-bar:has(input:focus-visible){border-color:var(--ring)}.search-bar .icon{color:var(--muted-foreground);flex-shrink:0;align-items:center;margin-right:12px;display:flex}.search-bar input{color:var(--foreground);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:16px}.search-bar input::placeholder{color:var(--muted-foreground)}.search-bar .send-btn{cursor:pointer;color:var(--primary);background:0 0;border:none;border-radius:50%;flex-shrink:0;align-items:center;padding:4px;transition:background .2s;display:flex}.search-bar .send-btn:hover{background:hsl(var(--brand-navy) / .08)}.search-bar .send-btn:disabled{color:var(--border);cursor:default;background:0 0}.message{flex-direction:column;margin-bottom:20px;display:flex}.message--user{align-items:flex-end}.message--assistant{align-items:flex-start}.message__label{color:var(--muted-foreground);align-items:center;gap:4px;min-height:16px;margin-bottom:6px;font-size:12px;font-weight:500;display:flex}.message__bubble{border-radius:var(--radius-xl);word-wrap:break-word;max-width:85%;padding:12px 16px;font-size:14px;line-height:1.625}.message--user .message__bubble{white-space:pre-wrap;background:var(--user-bubble);color:var(--foreground);border-bottom-right-radius:var(--radius-sm)}.message--assistant .message__bubble{background:var(--assistant-bubble);color:var(--foreground);border-bottom-left-radius:var(--radius-sm)}.message--assistant .message__bubble p{margin:0 0 8px}.message--assistant .message__bubble p:last-child{margin-bottom:0}.message--assistant .message__bubble h1,.message--assistant .message__bubble h2,.message--assistant .message__bubble h3{margin:12px 0 6px;font-size:15px;font-weight:600}.message--assistant .message__bubble ul,.message--assistant .message__bubble ol{margin:4px 0 8px;padding-left:20px}.message--assistant .message__bubble li{margin-bottom:2px}.message--assistant .message__bubble code{background:hsl(var(--brand-navy) / .07);border-radius:var(--radius-sm);padding:1px 5px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:13px}.message--assistant .message__bubble pre{background:hsl(var(--brand-navy) / .07);border-radius:var(--radius-lg);margin:8px 0;padding:10px 14px;overflow-x:auto}.message--assistant .message__bubble pre code{background:0 0;padding:0}.message--assistant .message__bubble .message__table{margin:8px 0;overflow-x:auto}.message--assistant .message__bubble .message__table:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm)}.message--assistant .message__bubble table{border-collapse:collapse;min-width:100%;margin:0;font-size:13px}.message--assistant .message__bubble th,.message--assistant .message__bubble td{border:1px solid var(--border);text-align:left;white-space:nowrap;padding:6px 10px}.message--assistant .message__bubble td{overflow-wrap:break-word}.message--assistant .message__bubble th{background:hsl(var(--brand-navy) / .05);font-weight:600}.message--assistant .message__bubble blockquote{border-left:3px solid var(--primary);color:var(--muted-foreground);margin:8px 0;padding:4px 12px}.message--assistant .message__bubble strong{font-weight:600}.message--assistant .message__bubble a{color:var(--primary);text-underline-offset:4px;text-decoration:none}.message--assistant .message__bubble a:hover{text-decoration:underline}.message__stats{color:var(--muted-foreground);font-variant-numeric:tabular-nums;margin-top:4px;font-size:11px}.btn{white-space:nowrap;border-radius:var(--radius-md);cursor:pointer;--btn-surface:var(--background);--btn-ring:var(--ring);outline:none;justify-content:center;align-items:center;gap:6px;height:32px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s cubic-bezier(.32,.72,0,1),color .15s cubic-bezier(.32,.72,0,1),border-color .15s cubic-bezier(.32,.72,0,1),box-shadow .15s cubic-bezier(.32,.72,0,1);display:inline-flex}.btn:focus-visible{box-shadow:0 0 0 2px var(--btn-surface), 0 0 0 4px var(--btn-ring)}.btn--primary{background:var(--primary);color:var(--primary-foreground);border:1px solid #0000}.btn--primary:hover{background:var(--primary-hover)}.btn--outline{background:var(--background);color:var(--foreground);border:1px solid var(--input);box-shadow:0 1px 2px #0000000a}.btn--outline:hover{background:var(--muted);border-color:var(--border-hover)}.btn--ghost{color:var(--foreground);background:0 0;border:1px solid #0000}.btn--ghost:hover{background:var(--muted)}.btn--destructive{background:var(--destructive);color:#fff;border:1px solid #0000}.btn--destructive:hover{background:#c11f1f}.btn:disabled{opacity:.5;cursor:default;pointer-events:none}.loading-dots{gap:4px;padding:8px 0;display:flex}.loading-dots span{background:var(--muted-foreground);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both bounce}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.stream-thinking{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;font-size:12px;font-style:italic;overflow:hidden}.skip-link{z-index:100;clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;color:var(--foreground);background:var(--background);font-size:13px;position:fixed;top:8px;left:8px;overflow:hidden}.skip-link:focus{clip-path:none;border:1px solid var(--border);border-radius:var(--radius-md);width:auto;height:auto;box-shadow:0 0 0 2px var(--background), 0 0 0 4px var(--ring);padding:10px 16px;overflow:visible}.app-shell{height:100%;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.sidebar{border-right:1px solid var(--sidebar-border);background:var(--sidebar);width:260px;color:var(--sidebar-foreground);flex-direction:column;flex-shrink:0;gap:10px;padding:12px;display:flex}.sidebar .btn{--btn-surface:var(--sidebar);--btn-ring:var(--sidebar-ring)}.sidebar .btn--outline{color:var(--sidebar-foreground);border-color:var(--sidebar-border);background:0 0}.sidebar .btn--outline:hover{background:var(--sidebar-accent);border-color:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.sidebar--closed{display:none}.sidebar-toggle{border-radius:var(--radius-md);color:var(--sidebar-foreground);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:6px;display:flex}.sidebar-toggle:hover{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.sidebar-toggle:focus-visible{outline:2px solid var(--sidebar-ring);outline-offset:2px}.sidebar-toggle--floating{z-index:20;border:1px solid var(--border);background:var(--background);color:var(--muted-foreground);position:fixed;top:56px;left:8px}.sidebar-toggle--floating:hover{background:var(--muted);color:var(--foreground)}.sidebar-toggle--floating:focus-visible{outline-color:var(--ring)}.sidebar__header{border-bottom:1px solid var(--sidebar-border);align-items:center;gap:8px;padding:4px 6px 10px;display:flex}.sidebar__header-logo{background:var(--background);border-radius:var(--radius-md);flex:1;min-width:0;padding:6px 8px}.sidebar__actions{flex-direction:column;flex-shrink:0;gap:4px;display:flex}.sidebar__actions .btn{justify-content:flex-start;width:100%}.sidebar__actions .btn--current,.sidebar__actions .btn--current:hover{background:var(--sidebar-accent);border-color:var(--sidebar-accent);color:var(--sidebar-accent-foreground);font-weight:600;position:relative}.sidebar__actions .btn--current:before{content:"";background:var(--sidebar-ring);border-radius:1px;width:2px;position:absolute;top:6px;bottom:6px;left:-1px}.sidebar__section{color:var(--sidebar-muted);flex-shrink:0;padding:4px 10px 0;font-size:11px;font-weight:600}.sidebar__list{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.sidebar__item{border-radius:var(--radius-md);cursor:pointer;color:var(--sidebar-foreground);align-items:center;gap:6px;padding:8px 10px;font-size:13px;display:flex;position:relative}.sidebar__item:hover{color:var(--sidebar-accent-foreground)}.sidebar__item--active{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground);font-weight:600}.sidebar__item--active:before{content:"";background:var(--sidebar-ring);z-index:1;border-radius:1px;width:2px;position:absolute;top:6px;bottom:6px;left:0}.sidebar__item-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}button.sidebar__item-body{text-align:left;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}button.sidebar__item-body:after{content:"";position:absolute;inset:0}button.sidebar__item-body:disabled{cursor:default;pointer-events:none}.sidebar__item-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar__item-agent{color:var(--sidebar-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.sidebar__item-actions{visibility:hidden;z-index:1;align-items:center;gap:2px;display:flex;position:absolute;top:0;bottom:0;right:10px}.sidebar__item:hover .sidebar__item-actions,.sidebar__item:focus-within .sidebar__item-actions{visibility:visible}.sidebar__item:hover button.sidebar__item-body,.sidebar__item:focus-within button.sidebar__item-body{padding-right:48px}.sidebar__action{cursor:pointer;color:var(--sidebar-muted);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;padding:3px;display:flex}.sidebar__action:hover{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.sidebar__action--danger:hover{color:var(--sidebar-destructive)}.sidebar__rename-input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);min-width:0;color:var(--foreground);outline:none;flex:1;padding:4px 6px;font-family:inherit;font-size:13px}.sidebar__rename-input:focus-visible{border-color:var(--sidebar-ring)}.sidebar__empty{color:var(--sidebar-muted);padding:8px 10px;font-size:12px}.sidebar__user{border-top:1px solid var(--sidebar-border);padding-top:8px;position:relative}.sidebar__user-btn{border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;font:inherit;color:var(--sidebar-foreground);background:0 0;border:none;align-items:center;gap:8px;padding:8px 6px;display:flex}.sidebar__user-btn:hover{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.sidebar__avatar{background:hsl(var(--brand-gold));width:26px;height:26px;color:var(--foreground);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.sidebar__user-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;overflow:hidden}.sidebar__menu{background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-prominent);flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 4px);left:0;right:0}.sidebar__menu-item{border-radius:var(--radius-md);cursor:pointer;font:inherit;color:var(--foreground);text-align:left;background:0 0;border:none;padding:7px 8px;font-size:13px}.sidebar__menu-item:hover{background:var(--muted)}.sidebar__menu-item--danger{border-top:1px solid var(--border);border-radius:0 0 var(--radius-md) var(--radius-md);color:var(--destructive);margin-top:2px;padding-top:9px}.sidebar__menu-item--danger:hover{background:#dc282814}.sidebar__menu-item:disabled{opacity:.5;cursor:default;pointer-events:none}.sidebar__menu-row{justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;display:flex}.sidebar__menu-label{color:var(--foreground);font-size:13px}.sidebar__lang{flex-shrink:0;gap:2px;display:flex}.sidebar__lang-btn{border-radius:var(--radius-md);cursor:pointer;font:inherit;letter-spacing:.4px;color:var(--muted-foreground);background:0 0;border:1px solid #0000;padding:2px 7px;font-size:11px;font-weight:500}.sidebar__lang-btn:hover{color:var(--foreground);border-color:var(--border)}.sidebar__lang-btn--active,.sidebar__lang-btn--active:hover{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground);font-weight:600}.load-error{border:1px solid var(--destructive);border-radius:var(--radius-lg);flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;display:flex}.load-error__title{color:var(--destructive);font-size:13px;font-weight:500;line-height:1.5}.load-error__detail{color:var(--foreground);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.load-error__retry{height:28px}.load-error--sidebar{border-color:var(--sidebar-destructive);flex-shrink:0}.load-error--sidebar .load-error__title{color:var(--sidebar-destructive)}.load-error--sidebar .load-error__detail{color:var(--sidebar-foreground)}.messages__inner .load-error{margin:8px 0 16px}.chart-block{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--background);margin:12px 0 4px;padding:12px 12px 4px}.chart-block__title{color:var(--foreground);margin-bottom:8px;font-size:13px;font-weight:600}.chart-block__canvas{width:100%}.chart-block .recharts-legend-item-text{color:var(--foreground)!important}.agents__editor{flex:1;min-height:0;padding:24px;overflow-y:auto}.agents__error{border:1px solid var(--destructive);border-radius:var(--radius-lg);max-width:720px;color:var(--destructive);margin:0 auto 16px;padding:10px 12px;font-size:13px;line-height:1.5}.agents__placeholder{text-align:center;color:var(--muted-foreground);padding:48px 0;font-size:13px}.agents__list{flex-direction:column;gap:16px;max-width:720px;margin:0 auto;display:flex}.agents__list-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.agents__list-title{font-size:16px;font-weight:600}.agents__cards{flex-direction:column;gap:8px;list-style:none;display:flex}.agents__card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card,var(--background));width:100%;font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:4px;padding:16px;transition:border-color .15s cubic-bezier(.32,.72,0,1),box-shadow .15s cubic-bezier(.32,.72,0,1);display:flex}.agents__card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-elevated)}.agents__card:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.agents__card:disabled{cursor:default;pointer-events:none}.agents__card--entry{border-color:hsl(var(--brand-gold))}.agents__card--entry:hover{border-color:#d29804}.agents__card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.agents__card-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--foreground);font-size:14px;font-weight:600;overflow:hidden}.agents__card--off .agents__card-name{color:var(--muted-foreground)}.agents__card-badge{border:1px solid var(--border);color:var(--muted-foreground);border-radius:9999px;flex-shrink:0;padding:1px 8px;font-size:11px}.agents__card-topic{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.agents__card-desc{color:var(--muted-foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.agents__form{flex-direction:column;gap:16px;max-width:720px;margin:0 auto;display:flex}.agents__form-back{align-self:flex-start;margin-left:-12px}.agents__form-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;display:flex}.agents__form-title{font-size:16px;font-weight:600}.agents__form-meta{color:var(--muted-foreground);flex-shrink:0;font-size:11px}.agents__field{flex-direction:column;gap:6px;display:flex}.agents__label{color:var(--foreground);font-size:12px;font-weight:600}.agents__hint{color:var(--muted-foreground);font-size:11px;line-height:1.5}.agents__input,.agents__textarea{border:1px solid var(--input);border-radius:var(--radius-md);width:100%;color:var(--foreground);background:var(--background);outline:none;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s cubic-bezier(.32,.72,0,1)}.agents__input:focus,.agents__textarea:focus{border-color:var(--ring)}.agents__input:disabled,.agents__textarea:disabled{color:var(--muted-foreground);background:var(--muted);cursor:default}.agents__textarea{resize:vertical;min-height:64px;line-height:1.625}.agents__textarea--code{min-height:240px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.agents__check{color:var(--foreground);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.agents__check input{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.agents__check--locked{color:var(--muted-foreground);cursor:default}.agents__check--locked input{cursor:default}.agents__hint--check{padding-left:23px}.agents__actions{border-top:1px solid var(--border);align-items:center;gap:8px;padding-top:16px;display:flex}.agents__saved{color:var(--muted-foreground);font-size:11px}.sidebar-scrim{display:none}@media (width<=768px){.sidebar{z-index:30;width:min(84vw,300px);height:100dvh;box-shadow:var(--shadow-prominent);position:fixed;top:0;left:0}.sidebar-scrim{z-index:25;background:hsl(var(--brand-navy) / .5);cursor:pointer;border:none;padding:0;display:block;position:fixed;inset:0}.sidebar-toggle--floating{top:8px}.app--chat .messages{padding-top:44px}.messages__inner{padding:0 16px}.input-bar{padding:12px 16px 16px}.input-bar__tokens{margin-bottom:6px}.message__bubble{max-width:92%}.agents__editor{padding:44px 16px 16px}.agents__list-head,.agents__form-head,.agents__actions{flex-wrap:wrap}.agents__textarea--code{min-height:160px}}@media (hover:none){.sidebar__item-actions{visibility:visible}.sidebar__item button.sidebar__item-body{padding-right:56px}.sidebar__action{padding:5px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--radius:.5rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--radius-2xl:calc(var(--radius) + 8px);--background:#fff;--foreground:#0b1832;--popover:#fff;--primary:#1e3a6c;--primary-foreground:#fff;--primary-hover:#183058;--muted:#f3f4f6;--muted-foreground:#6a7181;--destructive:#dc2828;--border:#e5e7eb;--border-hover:#c0c4ce;--input:#e5e7eb;--ring:#122854;--sidebar:#0c1c3b;--sidebar-foreground:#d3d7de;--sidebar-accent:#1c2f54;--sidebar-accent-foreground:#fff;--sidebar-border:#192b4d;--sidebar-ring:#fbbd23;--sidebar-muted:#858fa3;--sidebar-destructive:#e66565;--brand-gold:43 96% 56%;--brand-navy:220 65% 20%;--shadow-card:0 1px 3px 0 #0000000a, 0 0 0 1px #e5e7eb;--shadow-elevated:0 4px 12px -2px #0b18320f, 0 2px 4px -2px #0b18320a;--shadow-prominent:0 12px 32px -4px #0b183214, 0 4px 8px -2px #0b18320a;--user-bubble:#e0e8f5;--assistant-bubble:var(--muted);--chart-grid:#e5e7eb;--chart-axis:#c0c4ce;--chart-tick:#6a7181}html,body{height:100%;color:var(--foreground);background:var(--background);font-feature-settings:"cv02", "cv03", "cv04", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body{font-size:.875rem;line-height:1.5}#root{height:100%}.auth-screen{height:100vh;color:var(--muted-foreground);justify-content:center;align-items:center;font-size:.875rem;display:flex}.auth-screen--error{color:var(--destructive)}
