:root{--bg:#050505;--bg-elevated:#0c0c0c;--bg-soft:#121212;--bg-hover:#1a1a1a;--text:#f5f5f5;--text-muted:#a3a3a3;--text-dim:#6b6b6b;--line:#ffffff14;--line-strong:#ffffff29;--accent:#7eb6e8;--accent-ink:#050505;--accent-soft:#7eb6e81f;--accent-glow:#7eb6e847;--red:#d4746a;--red-soft:#d4746a1f;--green:#8fbf9a;--green-soft:#8fbf9a1f;--amber:#d4b483;--amber-soft:#d4b4831f;--chart:#4f97d8;--user-bubble:#141414;--logo-filter:none;--shadow:0 24px 60px #0009;--font-display:"Cormorant Garamond", "Times New Roman", serif;--font-body:"Outfit", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--radius:2px;--ease:cubic-bezier(.22, 1, .36, 1);--sidebar-w:17.5rem;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f7f4ef;--bg-elevated:#fdfcfa;--bg-soft:#efebe4;--bg-hover:#e7e2d9;--text:#141414;--text-muted:#5a5a5a;--text-dim:#8a8a8a;--line:#14141417;--line-strong:#1414142e;--accent:#2f6fa8;--accent-ink:#fff;--accent-soft:#2f6fa81a;--accent-glow:#2f6fa840;--red:#b24a3f;--red-soft:#b24a3f1a;--green:#3f7d4f;--green-soft:#3f7d4f1a;--amber:#946b2d;--amber-soft:#946b2d1a;--chart:#2f6fa8;--user-bubble:#ebe6dd;--logo-filter:invert(1);--shadow:0 24px 60px #14141426;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font:300 15px/1.6 var(--font-body);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--accent);text-underline-offset:3px}code{font-family:var(--font-mono);background:var(--bg-soft);border-radius:var(--radius);padding:.1em .35em;font-size:.86em}strong{font-weight:500}img{max-width:100%}:focus-visible{outline:1px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-glow)}.muted{color:var(--text-muted)}.small{font-size:.82rem}.center{text-align:center}.pad{padding:.5rem .75rem}.num{text-align:right;font-variant-numeric:tabular-nums}.row-end{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.only-mobile{display:none!important}.display{font:500 clamp(2rem, 4vw, 2.9rem)/1.08 var(--font-display);letter-spacing:-.01em;margin:0 0 .75rem}.display em{color:var(--text-muted);font-style:italic}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.9rem;margin:0 0 1rem;font-size:.72rem;display:flex}.eyebrow span{color:var(--accent);letter-spacing:.1em}.eyebrow span:after{content:"";background:var(--line-strong);vertical-align:middle;width:2rem;height:1px;margin-left:.9rem;display:inline-block}.section-title{font:500 .78rem/1.4 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .75rem}.spaced{margin-top:2.25rem}.btn{border-radius:var(--radius);letter-spacing:.02em;white-space:nowrap;transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:.9rem;font-weight:400;display:inline-flex}.btn.primary{background:var(--text);color:var(--bg)}.btn.primary:hover:not(:disabled){background:var(--accent);color:var(--accent-ink)}.btn.outline{border-color:var(--line-strong)}.btn.outline:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn.ghost{color:var(--text-muted)}.btn.ghost:hover:not(:disabled){color:var(--text);background:var(--bg-hover)}.btn.small{padding:.3rem .6rem;font-size:.8rem}.btn.block{width:100%}.icon-btn{border-radius:var(--radius);width:2rem;height:2rem;color:var(--text-muted);flex:none;place-items:center;transition:color .2s,background .2s;display:inline-grid}.icon-btn:hover:not(:disabled){color:var(--text);background:var(--bg-hover)}.field{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.field>span{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem}.field.inline{max-width:26rem}input:not([type=checkbox]),select,textarea{background:var(--bg-soft);border:1px solid var(--line-strong);border-radius:var(--radius);outline:none;width:100%;padding:.65rem .8rem;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical;line-height:1.5}input[type=checkbox]{accent-color:var(--accent);width:1rem;height:1rem}.check{cursor:pointer;align-items:center;gap:.6rem;margin-bottom:.75rem;display:flex}.checklist{border:1px solid var(--line);border-radius:var(--radius);max-height:14rem;margin:0 0 1rem;padding:.75rem 1rem .25rem;overflow:auto}.checklist legend{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);padding:0 .4rem;font-size:.72rem}.input-row{gap:.5rem;display:flex}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:0 1.25rem;display:grid}.form-error{color:var(--red);background:var(--red-soft);border-radius:var(--radius);margin:.5rem 0;padding:.55rem .8rem;font-size:.88rem}.form-ok{color:var(--green);background:var(--green-soft);border-radius:var(--radius);padding:.55rem .8rem;font-size:.88rem}.notice{background:var(--accent-soft);border-left:2px solid var(--accent);justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 1rem;padding:.7rem 1rem;font-size:.9rem;display:flex}.segmented{border:1px solid var(--line-strong);border-radius:var(--radius);display:inline-flex}.segmented button{color:var(--text-muted);padding:.4rem .9rem;font-size:.85rem}.segmented button.on{background:var(--text);color:var(--bg)}.badge{border-radius:var(--radius);background:var(--bg-hover);color:var(--text-muted);padding:.15rem .5rem;font-size:.74rem;display:inline-block}.badge.ok{background:var(--green-soft);color:var(--green)}.badge.err{background:var(--red-soft);color:var(--red)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.chip{border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text-muted);align-items:center;gap:.4rem;max-width:100%;padding:.25rem .55rem;font-size:.8rem;display:inline-flex}.chip.accent{border-color:var(--accent-glow);color:var(--accent);background:var(--accent-soft)}.chip button{color:var(--text-dim);place-items:center;display:inline-grid}.chip button:hover{color:var(--text)}.splash{place-items:center;height:100%;display:grid}.splash img{width:9rem;filter:var(--logo-filter);animation:pulse 1.6s var(--ease) infinite}@keyframes pulse{50%{opacity:.35}}.login{grid-template-columns:1.1fr 1fr;min-height:100%;display:grid}.login-visual{background:linear-gradient(90deg, #0505051a 40%, var(--bg) 99%), linear-gradient(0deg, #0505058c, #05050526 50%), url(/login.jpg) 62% center / cover no-repeat, #050505}.login-card{align-self:center;width:min(100%,26rem);margin:0 auto;padding:3rem 1.5rem}.login-logo{width:9.5rem;filter:var(--logo-filter);margin-bottom:3rem}.login-card .display{margin-bottom:2.25rem}.login-card .btn{margin-top:.5rem;padding-block:.8rem}.login-foot{color:var(--text-dim);margin-top:2rem;font-size:.8rem}.app{grid-template-columns:var(--sidebar-w) 1fr;height:100%;display:grid}.sidebar{background:var(--bg-elevated);border-right:1px solid var(--line);min-height:0;padding:calc(1.1rem + env(safe-area-inset-top,0px)) .85rem calc(.85rem + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex}.sidebar-head{justify-content:space-between;align-items:center;padding:.2rem .4rem 1.4rem;display:flex}.brand-logo{width:auto;height:1.55rem;filter:var(--logo-filter)}.new-chat{margin-bottom:.75rem}.sidebar-search{border:1px solid var(--line);border-radius:var(--radius);color:var(--text-dim);align-items:center;gap:.5rem;margin-bottom:.75rem;padding:0 .6rem;display:flex}.sidebar-search input{background:0 0;border:0;padding:.5rem 0}.conv-list{flex:1;margin:0 -.4rem;padding:0 .4rem;overflow-y:auto}.conv-list h3{letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin:1rem .6rem .35rem;font-size:.68rem;font-weight:400}.conv-item{border-radius:var(--radius);align-items:center;display:flex;position:relative}.conv-item a{min-width:0;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;padding:.45rem .6rem;font-size:.9rem;text-decoration:none;overflow:hidden}.conv-item:hover,.conv-item.active{background:var(--bg-hover)}.conv-item.active a{color:var(--text)}.conv-item.active:before{content:"";background:var(--accent);width:2px;position:absolute;top:.5rem;bottom:.5rem;left:0}.conv-item .icon-btn{opacity:0;width:1.7rem;height:1.7rem}.conv-item:hover .icon-btn,.conv-item.active .icon-btn{opacity:1}.sidebar-foot{border-top:1px solid var(--line);margin-top:.5rem;padding-top:.6rem}.nav-link{color:var(--text-muted);border-radius:var(--radius);align-items:center;gap:.65rem;padding:.5rem .6rem;font-size:.9rem;text-decoration:none;display:flex}.nav-link:hover,.nav-link.active{color:var(--text);background:var(--bg-hover)}.me{align-items:center;gap:.35rem;padding:.6rem .2rem 0;display:flex}.avatar{border:1px solid var(--accent-glow);width:2rem;height:2rem;color:var(--accent);letter-spacing:.05em;border-radius:50%;flex:none;place-items:center;font-size:.75rem;display:grid}.me-text{flex-direction:column;flex:1;min-width:0;margin-left:.3rem;line-height:1.25;display:flex}.me-text strong,.me-text span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.me-text strong{font-size:.86rem}.me-text span{color:var(--text-dim);font-size:.74rem}.me .icon-btn{width:1.75rem;height:1.75rem}.scrim{display:none}.main{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.menu-btn{top:calc(.7rem + env(safe-area-inset-top,0px));z-index:5;position:absolute;left:.7rem}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat-head{padding:calc(.7rem + env(safe-area-inset-top,0px)) 1.25rem .7rem;border-bottom:1px solid var(--line);align-items:center;gap:.75rem;min-height:3.5rem;display:flex}.model-select{cursor:pointer;background:0 0;border-color:#0000;width:auto;max-width:16rem;padding:.35rem .6rem;font-weight:400}.model-select:hover{border-color:var(--line-strong)}.chat-title{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:40%;margin-left:auto;font-size:.88rem;overflow:hidden}.chat-title:hover{color:var(--text)}.chat-scroll{scroll-behavior:auto;flex:1;overflow-y:auto}.chat-empty{text-align:center;max-width:34rem;margin:auto;padding:2rem}.welcome{max-width:46rem;margin:0 auto;padding:clamp(2rem,12vh,7rem) 1.5rem 2rem}.welcome .display{font-size:clamp(2.2rem,5vw,3.4rem)}.assistant-grid{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.75rem;margin-top:2.5rem;display:grid}.assistant-card{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated);flex-direction:column;align-items:flex-start;gap:.35rem;padding:1rem;transition:border-color .2s,background .2s;display:flex}.assistant-card svg{color:var(--accent);margin-bottom:.3rem}.assistant-card span{color:var(--text-muted);font-size:.82rem;line-height:1.45}.assistant-card:hover{border-color:var(--line-strong)}.assistant-card.selected{border-color:var(--accent);background:var(--accent-soft)}.messages{max-width:48rem;margin:0 auto;padding:2rem 1.5rem 1rem}.msg{margin-bottom:1.75rem}.msg.user{flex-direction:column;align-items:flex-end;display:flex}.msg-bubble{background:var(--user-bubble);border:1px solid var(--line);border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;max-width:85%;padding:.7rem 1rem}.msg-edit{width:100%}.msg-edit .row-end{margin-top:.5rem}.msg-actions{opacity:0;align-items:center;gap:.15rem;margin-top:.3rem;transition:opacity .2s;display:flex}.msg:hover .msg-actions,.msg:focus-within .msg-actions,.msg.assistant:last-child .msg-actions{opacity:1}.msg-actions .icon-btn{width:1.8rem;height:1.8rem}.msg-model{color:var(--text-dim);letter-spacing:.04em;margin-right:.4rem;font-size:.74rem}.status-line{color:var(--text-muted);align-items:center;gap:.6rem;font-size:.9rem;display:flex}.dots{background:var(--accent);width:.45rem;height:.45rem;box-shadow:0 0 12px var(--accent-glow);border-radius:50%;animation:1s ease-in-out infinite pulse;display:inline-block}.thinking{border-left:1px solid var(--line-strong);color:var(--text-muted);margin-bottom:1rem;padding-left:.9rem}.thinking summary{cursor:pointer;letter-spacing:.06em;font-size:.82rem}.thinking-body{white-space:pre-wrap;max-height:22rem;margin-top:.5rem;font-size:.86rem;overflow:auto}.sources{border:1px solid var(--line);border-radius:var(--radius);margin-top:.75rem;font-size:.86rem}.sources summary{cursor:pointer;color:var(--accent);padding:.5rem .8rem}.sources ol{margin:0;padding:0 .8rem .6rem;list-style:none}.sources li{border-top:1px solid var(--line);padding:.6rem 0}.sources li p{color:var(--text-muted);white-space:pre-wrap;margin:.25rem 0 0}.markdown{overflow-wrap:anywhere}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p,.markdown ul,.markdown ol{margin:0 0 .9rem}.markdown li{margin:.2rem 0}.markdown h1,.markdown h2,.markdown h3{font-family:var(--font-display);margin:1.5rem 0 .6rem;font-weight:600;line-height:1.2}.markdown h1{font-size:1.8rem}.markdown h2{font-size:1.5rem}.markdown h3{font-size:1.25rem}.markdown strong{font-weight:600}.markdown blockquote{border-left:2px solid var(--accent);color:var(--text-muted);margin:0 0 .9rem;padding-left:1rem}.markdown hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0}.markdown .table-wrap{margin:0 0 1rem}.markdown table{border-collapse:collapse;font-size:.9rem}.markdown th,.markdown td{border:1px solid var(--line-strong);text-align:left;padding:.4rem .7rem}.markdown th{background:var(--bg-soft);font-weight:500}.code-block{border:1px solid var(--line);border-radius:var(--radius);background:#0b0b0b;margin:0 0 1rem;overflow:hidden}.code-head{color:#8a8a8a;letter-spacing:.06em;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:.3rem .4rem .3rem .8rem;font-size:.74rem;display:flex}.code-head button{color:#a3a3a3;align-items:center;gap:.35rem;padding:.2rem .4rem;display:inline-flex}.code-head button:hover{color:#f5f5f5}.code-block pre{margin:0;padding:.9rem 1rem;overflow-x:auto}.code-block code{color:#e6e6e6;background:0 0;padding:0;font-size:.84rem;line-height:1.55}.code-block .hljs{background:0 0}.composer-wrap{width:100%;max-width:48rem;padding:.5rem 1.5rem calc(.9rem + env(safe-area-inset-bottom,0px));margin:0 auto}.composer{background:var(--bg-elevated);border:1px solid var(--line-strong);border-radius:var(--radius);align-items:flex-end;gap:.4rem;padding:.45rem;transition:border-color .2s,box-shadow .2s;display:flex}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.composer textarea:focus-visible,.model-select:focus-visible{outline:none}.composer textarea{resize:none;background:0 0;border:0;flex:1;max-height:15rem;padding:.45rem .4rem}.composer .icon-btn{width:2.25rem;height:2.25rem}.send-btn{border-radius:var(--radius);background:var(--text);width:2.25rem;height:2.25rem;color:var(--bg);flex:none;place-items:center;transition:background .2s;display:grid}.send-btn:hover:not(:disabled){background:var(--accent);color:var(--accent-ink)}.send-btn.stop{background:var(--bg-hover);color:var(--text);border:1px solid var(--line-strong)}.composer-note{text-align:center;color:var(--text-dim);margin:.5rem 0 0;font-size:.72rem}.composer-error{margin-top:0}.doc-chips{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .2s var(--ease);background:#0009;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--bg-elevated);border:1px solid var(--line-strong);border-radius:var(--radius);width:min(100%,32rem);max-height:calc(100vh - 2rem);box-shadow:var(--shadow);flex-direction:column;display:flex}.modal.wide{width:min(100%,46rem)}.modal header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal header h2{font:500 1.5rem/1.2 var(--font-display);margin:0}.modal-body{padding:1.25rem;overflow-y:auto}.modal footer{border-top:1px solid var(--line);justify-content:flex-end;gap:.5rem;padding:.9rem 1.25rem;display:flex}.form .row-end{margin-top:.75rem}.settings-section{border-bottom:1px solid var(--line);margin-bottom:1.25rem;padding-bottom:1.25rem}.settings-section:last-child{border:0;margin:0;padding:0}.settings-section h3{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .75rem;font-size:.72rem;font-weight:400}.dropzone{border:1px dashed var(--line-strong);border-radius:var(--radius);width:100%;color:var(--text-muted);flex-direction:column;align-items:center;gap:.35rem;margin:.75rem 0 1rem;padding:1.5rem 1rem;transition:border-color .2s,color .2s;display:flex}.dropzone:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.doc-pick{max-height:18rem;margin:0;padding:0;list-style:none;overflow-y:auto}.doc-pick label{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:.6rem;padding:.5rem .4rem;display:flex}.doc-pick label.disabled{opacity:.55;cursor:default}.doc-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.page{padding:calc(2.5rem + env(safe-area-inset-top,0px)) clamp(1rem, 4vw, 3rem) 3rem;flex:1;width:100%;max-width:64rem;margin:0 auto;overflow-y:auto}.page.wide{max-width:78rem}.tabs{border-bottom:1px solid var(--line);gap:.25rem;margin:1.5rem 0;display:flex;overflow-x:auto}.tabs a{color:var(--text-muted);white-space:nowrap;border-bottom:1px solid #0000;align-items:center;gap:.45rem;margin-bottom:-1px;padding:.65rem .9rem;font-size:.9rem;text-decoration:none;display:inline-flex}.tabs a:hover{color:var(--text)}.tabs a.active{color:var(--text);border-color:var(--accent)}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.toolbar p{margin:0}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.9rem}table.data th{text-align:left;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--line-strong);white-space:nowrap;padding:.6rem .75rem;font-size:.7rem;font-weight:400}table.data th.num{text-align:right}table.data td{border-bottom:1px solid var(--line);vertical-align:middle;padding:.65rem .75rem}table.data td.row-end{text-align:right;white-space:nowrap;display:table-cell}table.data td.row-end>*{vertical-align:middle}table.data tbody tr:hover{background:var(--bg-elevated)}.cell-icon{align-items:center;gap:.5rem;display:inline-flex}.cell-icon svg{color:var(--text-dim);flex:none}.errors-list{color:var(--red);padding-left:1.2rem;font-size:.85rem}.meter{background:var(--bg-hover);width:6rem;height:3px;margin-top:.35rem;display:block}.meter span{background:var(--accent);height:100%;display:block}.meter.hot span{background:var(--red)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:1rem;display:grid}.card{border:1px solid var(--line);background:var(--bg-elevated);border-radius:var(--radius);flex-direction:column;padding:1.1rem;display:flex}.card header{align-items:center;gap:.5rem;display:flex}.card header svg{color:var(--accent)}.card dl{flex:1;grid-template-columns:auto 1fr;gap:.25rem .75rem;margin:.5rem 0 0;font-size:.84rem;display:grid}.card dt{color:var(--text-dim)}.card dd{margin:0}.stats{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1px;margin-bottom:1.5rem;display:grid}.stat{background:var(--bg);flex-direction:column;gap:.2rem;padding:1.1rem 1.25rem;display:flex}.stat span{letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);font-size:.7rem}.stat strong{font:500 2.2rem/1.1 var(--font-display);font-variant-numeric:lining-nums tabular-nums}.chart-card{border:1px solid var(--line);padding:1.1rem 1.25rem}.chart-card header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.chart-scroll{overflow-x:auto}.chart{width:100%;min-width:34rem;height:auto;display:block}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .axis{fill:var(--text-dim);font-size:11px;font-family:var(--font-body)}.chart .bar{fill:var(--chart);transition:opacity .15s}.chart g:hover .bar,.chart .bar.on{fill:var(--accent)}@media (width<=860px){.only-mobile{display:inline-grid!important}.app{grid-template-columns:1fr}.sidebar{width:min(85vw, var(--sidebar-w));z-index:40;transition:transform .3s var(--ease);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.nav-open .sidebar{box-shadow:var(--shadow);transform:none}.nav-open .scrim{z-index:30;background:#00000080;display:block;position:fixed;inset:0}.chat-head{padding-left:3.2rem}.page{padding-top:calc(3.5rem + env(safe-area-inset-top,0px))}.login{grid-template-columns:1fr}.login-visual{display:none}.messages,.composer-wrap{padding-inline:1rem}.msg-actions,.conv-item .icon-btn{opacity:1}.chat-title{max-width:45%}}.grow{flex:1}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}button.nav-link{text-align:left;width:100%}.conv-item a svg{vertical-align:-1px;color:var(--accent);margin-right:.35rem;display:inline}.chat-layout{flex:1;min-height:0;display:flex}.chat-layout .chat{flex:1;min-width:0}.files-toggle{position:relative}.files-toggle.on{color:var(--accent)}.files-toggle .count{background:var(--accent);min-width:1rem;height:1rem;color:var(--accent-ink);text-align:center;border-radius:.5rem;padding:0 .25rem;font-size:.62rem;line-height:1rem;position:absolute;top:0;right:-2px}.suggestions{flex-direction:column;gap:.5rem;margin-top:2rem;display:flex}.suggestion{text-align:left;border:1px solid var(--line);border-radius:var(--radius);color:var(--text-muted);padding:.7rem .9rem;font-size:.9rem;transition:border-color .2s,color .2s}.suggestion:before{content:"→ ";color:var(--accent)}.suggestion:hover{border-color:var(--line-strong);color:var(--text)}.agent-toggle{border:1px solid var(--line-strong);border-radius:var(--radius);height:2.25rem;color:var(--text-dim);letter-spacing:.04em;flex:none;align-items:center;gap:.3rem;padding:0 .65rem;font-size:.8rem;transition:all .2s;display:inline-flex}.agent-toggle.on{color:var(--accent);border-color:var(--accent-glow);background:var(--accent-soft)}.attach{position:relative}.attach-menu{z-index:20;background:var(--bg-elevated);border:1px solid var(--line-strong);min-width:14rem;box-shadow:var(--shadow);border-radius:var(--radius);padding:.3rem;position:absolute;bottom:calc(100% + .5rem);left:0}.attach-menu button{border-radius:var(--radius);width:100%;color:var(--text-muted);align-items:center;gap:.55rem;padding:.55rem .7rem;font-size:.88rem;display:flex}.attach-menu button:hover{background:var(--bg-hover);color:var(--text)}.plan-card{border:1px solid var(--line);border-left:2px solid var(--accent);background:var(--bg-elevated);margin-bottom:1rem;padding:.7rem .9rem}.plan-card header{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.45rem;margin-bottom:.4rem;font-size:.72rem;display:flex}.plan-card header span{letter-spacing:.04em;color:var(--accent);margin-left:auto}.plan-card ol{margin:0;padding:0;list-style:none}.plan-card li{color:var(--text-muted);align-items:center;gap:.6rem;padding:.2rem 0;font-size:.9rem;display:flex}.plan-dot{border:1px solid var(--line-strong);border-radius:50%;flex:none;width:.6rem;height:.6rem}.plan-card li.en_cours{color:var(--text)}.plan-card li.en_cours .plan-dot{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);animation:1.2s infinite pulse}.plan-card li.fait{color:var(--text-dim);text-decoration:line-through;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.plan-card li.fait .plan-dot{background:var(--green);border-color:var(--green)}.tool-step{margin:.35rem 0;font-size:.86rem}.tool-head{text-align:left;width:100%;color:var(--text-muted);align-items:center;gap:.55rem;padding:.3rem 0;display:flex}.tool-head:disabled{opacity:1;cursor:default}.tool-head>svg:last-child{color:var(--text-dim);flex:none;margin-left:auto}.tool-icon{border:1px solid var(--line-strong);border-radius:50%;flex:none;place-items:center;width:1.2rem;height:1.2rem;display:grid}.tool-step.ok .tool-icon{color:var(--green);border-color:#8fbf9a66}.tool-step.error .tool-icon{color:var(--red);border-color:#d4746a66}.tool-label{color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tool-summary{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.tool-step.error .tool-summary{color:var(--red);white-space:normal}.tool-head .badge{flex:none;padding:.05rem .4rem;font-size:.7rem}.spinner{border:1.5px solid var(--accent-glow);border-top-color:var(--accent);border-radius:50%;width:.7rem;height:.7rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tool-files{flex-wrap:wrap;gap:.35rem;margin:.2rem 0 .3rem 1.75rem;display:flex}.file-chip{cursor:pointer}.file-chip:hover{border-color:var(--accent);color:var(--accent)}.tool-link{overflow-wrap:anywhere;margin-left:1.75rem;font-size:.84rem;display:inline-block}.tool-details{border-left:1px solid var(--line);margin:.3rem 0 .6rem 1.75rem;padding-left:.8rem}.tool-details pre{white-space:pre-wrap;max-height:16rem;font:.76rem/1.5 var(--font-mono);color:var(--text-muted);margin:.4rem 0 0;overflow:auto}.shot{border:1px solid var(--line-strong);cursor:zoom-in;max-width:26rem;display:block}.shot img{width:100%;display:block}.lightbox{z-index:60;cursor:zoom-out;background:#000000d9;place-items:center;padding:2rem;display:grid;position:fixed;inset:0}.lightbox img{max-height:100%;box-shadow:var(--shadow)}.confirm-card{border:1px solid var(--amber);background:var(--amber-soft);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:.6rem 0;padding:.8rem 1rem;display:flex}.confirm-card.ok,.confirm-card.no{border-color:var(--line);background:0 0;padding-block:.45rem}.confirm-card strong{align-items:center;gap:.45rem;font-weight:500;display:flex}.confirm-card strong svg{color:var(--amber);flex:none}.confirm-card.ok strong,.confirm-card.no strong{color:var(--text-muted);font-size:.86rem}.confirm-card p{color:var(--text-muted);white-space:pre-wrap;margin:.35rem 0 0;font-size:.86rem}.confirm-text{flex:1;min-width:14rem}.files-panel{border-left:1px solid var(--line);background:var(--bg-elevated);flex-direction:column;flex:none;width:min(44vw,40rem);min-height:0;display:flex}.files-panel>header{padding:calc(.7rem + env(safe-area-inset-top,0px)) .8rem .7rem 1rem;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;min-height:3.5rem;display:flex}.files-panel h2{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9rem;font-weight:500;overflow:hidden}.files-list{padding:.5rem;overflow-y:auto}.file-row{border-radius:var(--radius);text-align:left;width:100%;color:var(--text-muted);align-items:center;gap:.6rem;padding:.55rem .6rem;display:flex}.file-row:hover{background:var(--bg-hover);color:var(--text)}.file-row svg{color:var(--text-dim);flex:none}.file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;overflow:hidden}.add-file{margin-top:.75rem}.file-view{flex-direction:column;flex:1;min-height:0;display:flex}.file-actions{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.3rem;padding:.5rem .7rem;display:flex}.file-actions .notice{margin:0}.segmented.small button{padding:.25rem .65rem;font-size:.8rem}.file-body{flex:1;min-height:0;display:flex}.file-body iframe{background:#fff;border:0;flex:1}.code-view{font:.8rem/1.55 var(--font-mono);white-space:pre-wrap;color:var(--text-muted);flex:1;margin:0;padding:1rem;overflow:auto}.image-view{flex:1;place-items:center;padding:1rem;display:grid;overflow:auto}.file-view>.notice,.file-view>.form-error{margin:.5rem .7rem}.routine-list{flex-direction:column;gap:.75rem;display:flex}.routine{border:1px solid var(--line);background:var(--bg-elevated);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;display:flex}.routine.off{opacity:.6}.routine-main{flex:1;min-width:min(100%,18rem)}.routine-main header{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.routine-when{color:var(--accent);align-items:center;gap:.4rem;margin:.4rem 0;font-size:.88rem;display:flex}.routine-instr{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .4rem;display:-webkit-box;overflow:hidden}.routine-actions{flex-wrap:wrap;align-items:flex-start;gap:.3rem;display:flex}.tool-list ul{margin:.4rem 0 0;padding-left:1rem;font-size:.86rem}.tool-list summary{cursor:pointer;color:var(--accent);font-size:.86rem}.rules-tabs{margin:.75rem 0 1rem}.rules-list{margin:0 0 1rem;padding:0;list-style:none}.rules-list li{border-bottom:1px solid var(--line);align-items:flex-start;gap:.6rem;padding:.6rem 0;display:flex}.rules-list li input{margin-top:.3rem}.rules-list li.off .rule-text{color:var(--text-dim);text-decoration:line-through}.rule-text{white-space:pre-wrap;flex:1;font-size:.92rem}.rule-add{align-items:flex-end;gap:.5rem;display:flex}.rule-add textarea{flex:1}.inline-search{width:min(100%,16rem);margin:0}@media (width<=1100px){.files-panel{z-index:35;width:min(100vw,34rem);box-shadow:var(--shadow);position:fixed;inset:0 0 0 auto}}@media (width<=860px){.chat-head .chat-title{display:none}.model-select{flex-shrink:1;min-width:0}.agent-toggle{gap:0;padding:0 .45rem;font-size:0}.agent-toggle svg{width:17px;height:17px}.composer textarea::placeholder{font-size:.85rem}}.web-links{flex-direction:column;gap:.1rem;margin:.15rem 0 .4rem 1.75rem;padding:0;list-style:none;display:flex}.web-links a{border-radius:var(--radius);color:var(--text-muted);align-items:center;gap:.5rem;min-width:0;padding:.2rem .4rem;font-size:.82rem;text-decoration:none;display:flex}.web-links a:hover{background:var(--bg-hover);color:var(--text)}.web-initial{border:1px solid var(--line-strong);width:1.1rem;height:1.1rem;color:var(--accent);border-radius:2px;flex:none;place-items:center;font-size:.62rem;display:grid}.web-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.web-host{color:var(--text-dim);flex:none;margin-left:auto;padding-left:.5rem;font-size:.76rem}.mic-btn{width:2.25rem;height:2.25rem}.mic-recording{flex:none;align-items:center;gap:.5rem;padding-left:.2rem;display:flex}.rec-dot{background:var(--red);width:.7rem;height:.7rem;box-shadow:0 0 0 4px var(--red-soft);border-radius:50%;transition:transform .1s linear}.rec-time{font-variant-numeric:tabular-nums;color:var(--text-muted);min-width:2.4rem;font-size:.85rem}.mic-stop{border-radius:var(--radius);background:var(--red);color:#fff;align-items:center;gap:.35rem;height:2.25rem;padding:0 .8rem;font-size:.85rem;display:inline-flex}.mic-stop:hover{filter:brightness(1.1)}.tools-menu{flex:none;position:relative}.agent-count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.72rem}.agent-toggle>svg:last-child{opacity:.7}.tools-pop{z-index:25;background:var(--bg-elevated);border:1px solid var(--line-strong);width:min(22rem,100vw - 2rem);max-height:min(70vh,34rem);box-shadow:var(--shadow);border-radius:var(--radius);flex-direction:column;display:flex;position:absolute;bottom:calc(100% + .6rem);left:0}.tools-master{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem .9rem;display:flex}.tools-master div{flex-direction:column;display:flex}.tools-master strong{font-size:.92rem}.tools-master span{color:var(--text-dim);font-size:.78rem}.tools-groups{padding:.35rem 0;overflow-y:auto}.tools-groups.off{opacity:.45}.tools-row{justify-content:space-between;align-items:center;gap:.75rem;padding:.3rem .9rem .3rem .5rem;display:flex}.tools-expand{border-radius:var(--radius);text-align:left;flex:1;align-items:center;gap:.45rem;min-width:0;padding:.25rem .3rem;display:flex}.tools-expand:hover{background:var(--bg-hover)}.tools-expand>svg{color:var(--text-dim);flex:none;transition:transform .15s;transform:rotate(-90deg)}.tools-expand.open>svg{transform:none}.tools-name{font-size:.88rem}.tools-count{color:var(--text-dim);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.74rem}.tools-items{margin:0 0 .3rem;padding:0 0 0 1.55rem;list-style:none}.tools-items .tools-row{padding-block:.22rem}.tools-item{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.tools-note{border-top:1px solid var(--line);color:var(--text-dim);margin:0;padding:.6rem .9rem;font-size:.74rem}.tools-warning{color:var(--amber);margin:.4rem .9rem;font-size:.78rem}.switch{background:var(--bg-hover);border:1px solid var(--line-strong);border-radius:1rem;flex:none;width:2.1rem;height:1.2rem;transition:background .2s,border-color .2s;position:relative}.switch span{background:var(--text-dim);width:.8rem;height:.8rem;transition:left .2s var(--ease), background .2s;border-radius:50%;position:absolute;top:50%;left:.15rem;transform:translateY(-50%)}.switch.on{background:var(--accent-soft);border-color:var(--accent)}.switch.on span{background:var(--accent);left:calc(100% - .95rem)}.switch.partial span{background:var(--amber)}.switch.partial{border-color:var(--amber);background:var(--amber-soft)}.switch.small{width:1.8rem;height:1.05rem}.switch.small span{width:.68rem;height:.68rem}.switch.small.on span{left:calc(100% - .82rem)}@media (width<=860px){.agent-label,.agent-count{display:none}.tools-pop{width:auto;left:1rem;right:1rem;bottom:calc(7.5rem + env(safe-area-inset-bottom,0px));position:fixed}}.header-btn{border:1px solid var(--line-strong);border-radius:var(--radius);height:2rem;color:var(--text-muted);flex:none;align-items:center;gap:.4rem;padding:0 .7rem;font-size:.84rem;display:inline-flex}.header-btn:hover{color:var(--text);border-color:var(--accent)}.connector-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.connector{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);padding:.75rem .85rem}.connector.off{opacity:.55}.connector-head{align-items:center;gap:.7rem;display:flex}.connector-icon{border:1px solid var(--accent-glow);width:2rem;height:2rem;color:var(--accent);border-radius:var(--radius);flex:none;place-items:center;font-size:.85rem;display:grid}.connector-main{flex-direction:column;flex:1;min-width:0;display:flex}.connector-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.badge.warn{background:var(--amber-soft);color:var(--amber)}.connector-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.3rem;margin-top:.4rem;display:flex}.connector-error{color:var(--red);overflow-wrap:anywhere;margin:.4rem 0 0;font-size:.8rem}.connector .tool-list{margin-top:.4rem}.connector-help{color:var(--text-muted);margin-top:1.25rem;font-size:.86rem}.connector-help summary{cursor:pointer;color:var(--accent)}@media (width<=860px){.header-btn span{display:none}.header-btn{padding:0 .5rem}}pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}
