:root{--conversation-size:16px;--experience-bg:#080808;--experience-surface:#111;--experience-panel:#171717;--experience-line:#3e3e3e;--experience-text:#f2f2f2;--experience-muted:#aaa}
html[data-font-size=small]{--conversation-size:14px}html[data-font-size=large]{--conversation-size:19px}html[data-font-size=xlarge]{--conversation-size:22px}
html[data-theme=light]{color-scheme:light;--experience-bg:#fafafa;--experience-surface:#f0f0f0;--experience-panel:#e8e8e8;--experience-line:#b3b3b3;--experience-text:#171717;--experience-muted:#555;--bg:#fafafa;--surface:#f0f0f0;--panel:#e8e8e8;--line:#b3b3b3;--text:#171717;--muted:#555}
body{background:var(--experience-bg);color:var(--experience-text)}
html[data-theme=light] :is(.chat-app,.chat-main,.chat-workspace,.admin-app,.admin-main,.auth-panel,.auth-top,.chat-dialog,.chat-dialog .dialog-heading,.chat-dialog .settings-body,.legal-page){background:var(--experience-bg);color:var(--experience-text)}
html[data-theme=light] :is(.sidebar,.admin-nav,.composer,.user-bubble,.field input,.field textarea,.field select,.search-field,.history-row.active,.button,.tabs button,.secret-value,.message-text code,.message-text pre,.data-table,.modal){background:var(--experience-surface);color:var(--experience-text);border-color:var(--experience-line)}
html[data-theme=light] :is(.note,.field,.history-label,.composer-disclaimer,.welcome-note,.auth-intro p,.model-button,.header-right,.message-meta,.message-text,.effort-control,.effort-control select,.web-search-control select,.history-open,.profile,.new-chat,.chat-header,.admin-top,.admin-content,.nav-link,.table-scroll,.data-table th,.metric strong,.metric span,.dialog-heading h2){color:var(--experience-text)}
html[data-theme=light] :is(.chat-header,.chat-dialog .dialog-heading,.account-access,.item-row,.data-table td,.data-table th){border-color:var(--experience-line)}
html[data-theme=light] :is(.button.solid,.send-button){background:#171717;color:#fafafa;border-color:#171717}
html[data-theme=light] :is(.composer textarea,.icon-btn,.chat-brand,.model-button strong,.welcome h1,.profile strong){color:var(--experience-text)}
.message-text,.user-bubble{font-size:var(--conversation-size);line-height:1.65}.messages{position:relative;display:block!important}.messages[hidden]{display:none!important}.messages>.message{margin-bottom:24px}.messages .message pre{max-width:100%;overflow:auto}
:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--experience-text);outline-offset:3px;border-radius:6px}
.settings-central{width:min(850px,calc(100vw - 32px))}.settings-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px}.settings-navigation{display:flex;flex-direction:column;gap:3px}.settings-navigation button{border:0;background:transparent;min-height:44px;text-align:left;padding:10px;color:var(--experience-muted);border-radius:5px}.settings-navigation button[aria-current=true]{background:var(--experience-panel);color:var(--experience-text)}.settings-content{min-width:0}.settings-content h3{font-size:20px;margin:0 0 20px}.settings-content .form-fields{margin-bottom:18px}.settings-content .account-actions{grid-template-columns:1fr}.password-toggle{color:var(--experience-text);font-size:12px;min-height:32px;text-align:right}.password-quality{margin:0}
.history-pagination{display:flex;align-items:center;gap:8px;justify-content:center;padding:10px 0}.history-pagination .button{min-width:44px;padding:8px}.message-pagination{display:flex;justify-content:center;margin-bottom:16px}.context-notice{font-size:12px;line-height:1.65;color:var(--experience-muted);padding:10px 0}.latest-message{position:sticky;bottom:8px;display:block;margin:8px auto;z-index:5}.latest-message[hidden]{display:none}.suggestions button{overflow-wrap:anywhere;white-space:normal;min-width:0;min-height:60px}.settings-content input[type=checkbox]{accent-color:var(--experience-text)}
@media(max-width:600px){.settings-layout{display:block}.settings-navigation{display:flex;flex-direction:row;overflow-x:auto;margin-bottom:20px;gap:6px}.settings-navigation button{flex-shrink:0;max-width:150px}.settings-content .field :is(input,select){font-size:16px}.message-text,.user-bubble{font-size:max(16px,var(--conversation-size))}.settings-central .settings-body{padding:16px}}


.chat-workspace,.messages{overflow-anchor:none}.messages{flex-shrink:0}html[data-theme=light] :is(.new-chat,.search-field input,#runtime-language,.effort-control option,.web-search-control option){background:var(--experience-surface);color:var(--experience-text);border-color:var(--experience-line)}
html[data-theme=light] :is(.workspace-conversation .composer-region,.toast,.avatar,.model-button>span){background:var(--experience-surface);color:var(--experience-text);border-color:var(--experience-line)}html[data-theme=light] :is(.composer-disclaimer,.web-search-hint,.temporary,.profile small,.history-open>svg,.effort-control svg,.web-search-control svg){color:var(--experience-muted)}
/* The chosen size applies to every runtime surface, including operational tables. */
:root{--ui-scale:1}html[data-font-size=small]{--ui-scale:.92}html[data-font-size=large]{--ui-scale:1.15}html[data-font-size=xlarge]{--ui-scale:1.3}
body{font-size:calc(14px * var(--ui-scale))}
:is(.button,.nav-link,.history-open,.profile strong,.new-chat,.account-actions,.setting-row){font-size:calc(13px * var(--ui-scale))}
:is(.note,.field,.check-field,.history-label,.composer-disclaimer,.web-search-hint,.detail-grid>div,.item-row strong,.settings-navigation button,.auth-links .button){font-size:max(12px,calc(12px * var(--ui-scale)))}
:is(.field input,.field select,.field textarea,.settings-body>textarea,.auth-panel input,.search-field input){font-size:calc(14px * var(--ui-scale))}
:is(.chat-dialog .data-table,.admin-content .data-table,.admin-content .table-scroll,.admin-content .data-table td,.admin-content .data-table th){font-size:max(12px,calc(12px * var(--ui-scale)))}
:is(.admin-content .badge,.admin-content .status-badge,.admin-nav .nav-label,.admin-content .metric span,.detail-grid dt,.detail-grid dd,.admin-top,.admin-top select,.admin-content .toolbar select,.admin-content .toolbar input,.admin-content .route-controls,.admin-content .section-description){font-size:max(12px,calc(12px * var(--ui-scale)))}
:is(.chat-dialog .dialog-heading h2,.settings-content h3,.admin-content h2,.auth-panel h2){font-size:calc(21px * var(--ui-scale))}
:is(.admin-content h1,.section-heading h1){font-size:calc(28px * var(--ui-scale))}.admin-content .metric strong{font-size:calc(clamp(20px,2vw,28px) * var(--ui-scale))}
:is(.mono,.secret-value,.budget-value){font-size:calc(12px * var(--ui-scale))}#runtime-language{font-size:max(12px,calc(11px * var(--ui-scale)))}
@media(max-width:760px){:is(.field input,.field select,.field textarea,.auth-panel input,.chat-dialog .field input,.chat-dialog .field select){font-size:max(16px,calc(14px * var(--ui-scale)))}}
html[data-theme=light] :is(.admin-content .panel,.admin-content .metrics,.admin-content .metric.accent,.period-control,.owner-avatar,.top-avatar,.initials,.route,.route:first-child,.control,.admin-content input,.admin-content select,.admin-content textarea,.admin-content .mini-table th,.admin-content .data-table th,.detail-info,.admin-dialog,.admin-dialog>header){background:var(--experience-surface);color:var(--experience-text);border-color:var(--experience-line)}
html[data-theme=light] :is(.admin-nav nav a,.admin-nav nav a svg,.admin-nav nav a[aria-current=page],.breadcrumb,.breadcrumb strong,.page-heading p:last-child,.metric-label,.metric small,.panel-head p,.panel-head a,.chart-legend,.chart-data,.mini-user small,.text-button,.alert-row small,.search-control svg,.data-table td,.data-table small,.pagination,.empty,.provider-meta,.capability,.route-info small,.field-label,.admin-footer,.muted,.table-note,.plan-card .muted,.plan-card ul,.plan-card dt){color:var(--experience-text)}
html[data-theme=light] .admin-nav nav a[aria-current=page]{background:var(--experience-panel);box-shadow:inset 2px 0 var(--experience-text)}html[data-theme=light] .status.good{color:#264e30;background:#e9f2eb;border-color:#72947b}html[data-theme=light] .status.warn{color:#604919;background:#f6eedb;border-color:#ad9052}html[data-theme=light] .status.bad{color:#752c2c;background:#f6e8e8;border-color:#b77c7c}

/* Shared chart colors keep data and legend markers readable in both themes. */
:root{--chart-primary:#eee;--chart-secondary:#aaa}
html[data-theme=light]{--chart-primary:#171717;--chart-secondary:#666}
.admin-top{background:var(--experience-bg);color:var(--experience-text);border-color:var(--experience-line)}
.admin-content .chart-series{stroke:var(--chart-primary)}
.admin-content .chart-series.secondary{stroke:var(--chart-secondary);stroke-dasharray:6 4}
.admin-content .legend-dot{background:var(--chart-primary)}
.admin-content .legend-dot.secondary{background:var(--chart-secondary)}
.admin-content .chart .grid{stroke:var(--experience-line)}
.admin-content .chart text{fill:var(--experience-muted);font-size:12px}
.admin-content .chart-legend,.admin-content .chart-data{color:var(--experience-text)}
/* Keep the jump action beside the composer instead of underneath its sticky surface. */
.workspace-conversation .composer-region>.latest-message{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);margin:0 0 8px;width:max-content;max-width:calc(100% - 24px)}

html[data-theme=light] .suggestions button{background:var(--experience-bg);color:var(--experience-muted);border-color:var(--experience-line)}html[data-theme=light] .suggestions button:hover{background:var(--experience-panel);color:var(--experience-text)}
html[data-theme=light] .composer{box-shadow:0 8px 32px #0000000a}html[data-theme=light] .composer:focus-within{box-shadow:0 0 0 1px var(--experience-text)}
