*{box-sizing:border-box}html{color-scheme:light;--bg:#fff;--side:#f8f8f7;--text:#242424;--muted:#747474;--line:#e8e8e6;--hover:#ededeb;--surface:#f4f4f3;--accent:#171717;--inverse:#fff}html[data-theme=dark]{color-scheme:dark;--bg:#212121;--side:#171717;--text:#ececec;--muted:#aaa;--line:#353535;--hover:#2c2c2c;--surface:#303030;--accent:#ececec;--inverse:#202020}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",sans-serif;font-size:14px;line-height:1.6}button,input,textarea,select{font:inherit;color:inherit}button,a,select,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}[hidden]{display:none!important}:focus-visible{outline:2px solid #648eae;outline-offset:4px}button{border:0;background:none}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.app{height:100dvh;display:flex}.sidebar{width:256px;flex-shrink:0;background:var(--side);padding:22px 16px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;padding:0 10px;margin-bottom:30px;font-size:16px;font-weight:650;letter-spacing:-.5px}.brand-mark{display:grid;place-items:center;width:28px;height:28px;background:var(--text);color:var(--bg);border-radius:8px;font-size:17px}.nav-item{display:flex;align-items:center;gap:12px;min-height:44px;width:100%;text-align:left;padding:10px 12px;border-radius:9px;font-weight:500}.nav-item:hover{background:var(--hover)}#clear{margin-bottom:12px;border:1px solid var(--line)}.sidebar-note{font-size:12px;color:var(--muted);padding:16px 12px;margin:12px 0 0}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:16px}.settings{display:flex;gap:8px;margin:8px 4px 16px}.settings select{min-width:0;width:50%;padding:7px;border:1px solid var(--line);border-radius:8px;background:var(--side);font-size:12px}#identity{font-size:12px;overflow-wrap:anywhere;padding:8px;color:var(--muted)}.chat-main{flex:1;min-width:0;display:flex;flex-direction:column;position:relative}.topbar{height:64px;display:flex;align-items:center;gap:12px;padding:0 28px;flex-shrink:0}.topbar-title{font-size:16px;font-weight:600;letter-spacing:-.3px}.model-tag{color:var(--muted);font-size:12px;border:1px solid var(--line);border-radius:20px;padding:2px 9px}.topbar>a{margin-left:auto;color:var(--muted);font-size:13px}.icon-button{padding:8px;border-radius:8px;display:grid;place-items:center}.icon-button:hover{background:var(--hover)}#menu{display:none}.scroll-region{overflow-y:auto;flex:1;min-height:0;scroll-behavior:smooth}.welcome{width:min(760px,100%);margin:0 auto;padding:clamp(35px,9vh,100px) 28px 24px}.welcome-symbol{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line);border-radius:14px;font-size:24px;margin-bottom:22px}h1{font-size:clamp(26px,3vw,34px);font-weight:600;letter-spacing:-1px;line-height:1.3;margin:0 0 12px}.intro{color:var(--muted);font-size:15px;max-width:550px;margin:0}.prompt-examples{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px}.example{border:1px solid var(--line);border-radius:14px;text-align:left;padding:18px 16px;line-height:1.5;min-height:116px;font-size:13px}.example:hover{background:var(--side);border-color:var(--muted)}.example svg{display:block;margin-bottom:12px;color:var(--muted)}.example span{display:block}#conversation{max-width:800px;padding:16px 28px 32px;margin:0 auto}.chat-message{margin:12px 0 32px;overflow-wrap:anywhere}.chat-message strong{display:block;font-size:12px;color:var(--muted);font-weight:500;margin-bottom:8px}.chat-message pre{font:inherit;white-space:pre-wrap;line-height:1.85;margin:0;overflow-wrap:anywhere}.chat-message.user{margin-left:auto;width:fit-content;max-width:85%;background:var(--surface);border-radius:22px;padding:12px 20px}.chat-message.user strong{display:none}.chat-message.assistant{padding:0 4px}.chat-message.assistant strong{display:flex;align-items:center;gap:8px;color:var(--text);font-weight:600}.chat-message.assistant strong:before{content:'✧';font-size:22px}.chat-message .code{margin:16px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.code-label{padding:6px 14px;background:var(--side);font-size:12px;color:var(--muted)}.chat-message pre.code-text{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre;overflow:auto;font-size:13px;padding:16px;background:var(--side);line-height:1.65}.copy-answer{color:var(--muted);font-size:12px;margin-top:14px;padding:5px 8px;border-radius:6px}.copy-answer:hover{background:var(--hover)}.composer-area{width:min(800px,100%);padding:12px 28px 16px;margin:0 auto;flex-shrink:0}.composer{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:14px 16px 10px;box-shadow:0 3px 16px #00000004}.composer textarea{display:block;width:100%;resize:none;min-height:48px;max-height:190px;border:0;background:transparent;outline:none;padding:0 4px;line-height:1.65}.composer textarea:focus-visible{outline:none}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.composer-hint{color:var(--muted);font-size:11px}#send{border-radius:50%;background:var(--accent);color:var(--inverse);width:36px;height:36px;display:grid;place-items:center;flex-shrink:0}.consent{display:flex;align-items:flex-start;justify-content:center;gap:7px;color:var(--muted);font-size:11px;margin-top:10px}.consent input{margin:3px 0 0;accent-color:var(--text)}#status{font-size:12px;color:var(--muted);text-align:center;margin:7px 0 0;min-height:19px}.privacy{font-size:11px;color:var(--muted);margin:6px 0 0;text-align:center}.privacy summary{cursor:pointer;list-style:none}.privacy p{margin:8px 0}.signin{margin:20px 0 0;border:1px solid var(--line);padding:16px;border-radius:14px;background:var(--side)}.signin-title{font-weight:550;margin:0 0 10px}.login-row{display:flex;gap:10px}.login-row input{min-width:0;flex:1;padding:10px 12px;background:var(--bg);border:1px solid var(--line);border-radius:9px}.login-row button{background:var(--accent);color:var(--inverse);border-radius:9px;padding:8px 18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.drawer-backdrop{display:none}@media(max-width:760px){.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:30;transform:translateX(-100%);transition:transform .18s ease;width:264px}.app.drawer-open .sidebar{transform:translateX(0)}.app.drawer-open .drawer-backdrop{display:block;position:fixed;inset:0;z-index:20;background:#0007}#menu{display:grid}.topbar{padding:0 14px;height:58px}.topbar>a{font-size:12px}.welcome{padding:38px 20px 20px}.prompt-examples{grid-template-columns:1fr;gap:8px;margin-top:24px}.example{min-height:0;padding:12px 14px;display:flex;align-items:center;gap:12px}.example svg{margin:0}.composer-area{padding:10px 16px 12px}#conversation{padding:12px 20px 20px}.composer-hint{display:none}.privacy{font-size:10px}.chat-message.user{max-width:90%}.model-tag{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.markdown-heading{display:inline-block;font-size:18px;font-weight:600;line-height:1.6;margin:12px 0 6px}

@media(max-width:760px){.composer-actions{justify-content:flex-end}}

.research-panel{max-width:780px;margin:18px auto;padding:16px;border:1px solid var(--line);border-radius:16px}.research-panel summary{cursor:pointer;font-weight:600}.research-panel p{font-size:.85rem;line-height:1.6}.research-panel label{display:block;font-size:.85rem;margin:12px 0}.research-panel input,.research-panel select,.research-panel textarea{display:block;width:100%;padding:10px;border-radius:8px;background:var(--bg);color:inherit;border:1px solid var(--line);box-sizing:border-box}.research-panel textarea{font-family:monospace}.research-panel button{padding:10px 14px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:inherit;margin:6px 6px 6px 0;cursor:pointer}.research-panel button:disabled{opacity:.4;cursor:default}.research-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;font-size:.78rem}.research-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.tool-receipt{font-size:.78rem;opacity:.75;margin-top:8px}.source-links{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.source-links a{font-size:.78rem;color:inherit;text-decoration:underline}@media(max-width:600px){.research-grid{grid-template-columns:1fr}.research-panel{margin:12px}}

.research-chat{display:flex;flex-direction:column;flex:1;min-height:0}.page-view{flex:1;min-height:0}.page-view iframe{border:0;width:100%;height:100%;background:var(--bg)}.nav-item.active{background:var(--hover)}.brand-mark{object-fit:contain}.welcome{margin:auto;text-align:center;padding-top:70px}.welcome h1{font-size:clamp(26px,3.3vw,40px);letter-spacing:-1px;font-weight:550}.welcome-symbol{color:#6860d9}.composer-area{width:min(850px,100%)}.composer{border-radius:26px;padding:20px;background:var(--surface)}.signin{max-width:600px;margin:24px auto;text-align:left}.signin summary{cursor:pointer}.signin>.login-row{margin-top:12px}.signin>a{display:inline-block;margin-top:10px;text-decoration:underline}.chat-main{min-width:0}.prompt-examples{margin-top:24px}.topbar-title{font-weight:600}@media(min-width:761px){.sidebar{width:230px}.welcome{max-width:840px}.welcome .intro{max-width:650px;margin:12px auto}.composer-area{padding-bottom:30px}}
.welcome-symbol{margin-left:auto;margin-right:auto}@media(min-width:761px){.research-chat:has(#welcome:not([hidden])){justify-content:center}.research-chat:has(#welcome:not([hidden])) .scroll-region{flex:0 1 auto}.research-chat:has(#welcome:not([hidden])) .welcome{padding-top:12px;padding-bottom:12px;margin:0 auto}.research-chat:has(#welcome:not([hidden])) .composer-area{margin:10px auto 0}.research-chat:has(#welcome:not([hidden])) .signin{margin-top:16px}}

.prompt-ghost{font-size:12px;color:var(--muted);opacity:.65;white-space:pre-wrap;overflow-wrap:anywhere;max-height:62px;overflow:auto;margin:8px 4px}.prompt-ghost:empty{display:none}.prompt-presets{font-size:12px;color:var(--muted);margin:8px 4px}.prompt-presets summary{cursor:pointer}.prompt-presets>div{max-height:180px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding-top:8px}.prompt-presets button{padding:8px;text-align:left;border:1px solid var(--line);border-radius:8px;color:var(--text)}.prompt-presets button:hover{background:var(--hover)}@media(max-width:600px){.prompt-presets>div{grid-template-columns:1fr}}

.chat-history{flex:1;min-height:80px;overflow-y:auto;margin:14px 0}.chat-history h2{font-size:12px;color:var(--muted);padding:0 12px;font-weight:500}.chat-history-item{display:block;width:100%;padding:10px 12px;border-radius:8px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-history-item:hover,.chat-history-item[aria-current=true]{background:var(--hover)}#chat-history-note,.history-empty{font-size:11px;color:var(--muted);padding:0 12px}.sidebar{overflow-y:auto}.sidebar-bottom{flex-shrink:0}

.markdown-table-scroll{max-width:100%;overflow-x:auto;margin:16px 0;border:1px solid var(--line);border-radius:12px;overscroll-behavior-x:contain}.markdown-table-scroll:focus-visible{outline:2px solid var(--muted);outline-offset:3px}.markdown-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.65}.markdown-table th,.markdown-table td{padding:10px 14px;border-bottom:1px solid var(--line);min-width:110px;vertical-align:top;overflow-wrap:anywhere}.markdown-table th{background:var(--surface);font-weight:600}.markdown-table tbody tr:last-child td{border-bottom:0}.markdown-table tbody tr:nth-child(even){background:var(--side)}.markdown-table code{font-size:.9em;background:var(--surface);border-radius:4px;padding:2px 5px}.chat-message{min-width:0}

/* Research files, tables and code use the available main-pane width. */
.chat-main{--content-gutter:clamp(16px,2vw,40px)}
#conversation{width:100%;max-width:none;padding-inline:var(--content-gutter)}
.composer-area{width:100%;max-width:none;padding-inline:var(--content-gutter)}
.welcome{width:100%;max-width:none;padding-inline:var(--content-gutter)}
.research-panel{width:calc(100% - 2 * var(--content-gutter));max-width:none}
.chat-message.assistant,.code{max-width:100%;min-width:0}
.research-panel input,.research-panel select,.research-panel textarea{min-width:0}

/* Keep wide research content centered without stretching across ultra-wide screens. */
.chat-main{--chat-content-width:1200px}
html[data-chat-width="narrow"] .chat-main{--chat-content-width:960px}
html[data-chat-width="wide"] .chat-main{--chat-content-width:1440px}
html[data-chat-width="extra-wide"] .chat-main{--chat-content-width:1960px}
html[data-chat-width="full"] .chat-main{--chat-content-width:100%}
#conversation,.composer-area,.welcome{max-width:var(--chat-content-width)}
.research-panel{max-width:calc(var(--chat-content-width) - 2 * var(--content-gutter))}
.chat-width-select{max-width:100px;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:inherit;font:inherit;font-size:13px}

/* Bounded catalog and authenticated task details. */
.data-picker{min-width:0;border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0}
.catalog-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
#job-summary{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,3fr);gap:8px}
#job-summary dd{margin:0;overflow-wrap:anywhere}#job-summary dt{font-weight:600}
#job-dataset,#recent-jobs{width:100%;max-width:100%}
@media(max-width:600px){#job-summary{grid-template-columns:1fr}.data-picker{padding:10px}}

#quote-explanation,#task-observation{border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0;min-width:0}
#quote-resources,#task-progress{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2fr);gap:8px}
#quote-resources dd,#task-progress dd{margin:0;overflow-wrap:anywhere}
.observe-toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.observe-toolbar label{display:flex;align-items:center;gap:8px}.observe-toolbar input[type=checkbox]{width:auto}
#task-logs{max-height:300px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}#task-progress-bar{width:100%}
#observation-notice,#download-status,#log-notice{overflow-wrap:anywhere;font-size:14px}
@media(max-width:600px){#quote-resources,#task-progress{grid-template-columns:1fr}#quote-explanation,#task-observation{padding:10px}}
