/* One visual system for the workspace, account entry, and secondary pages. */
:root{
  --ink:#202b3b;--muted:#66758a;--subtle:#91a0b2;--line:#e5eaf2;--line-strong:#c9d4e2;
  --paper:#fff;--sidebar:#f7f9fd;--hover:#edf3fb;--wash:#fbfcff;--dark:#1e5bc6;
  --accent:#1e5bc6;--accent-hover:#174aa5;--accent-soft:#edf3ff;--focus:#2b6bdd;--surface-soft:#f7f9fd;
  --teal:#0b817d;--teal-soft:#e8f6f4;
}
button{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.composer:focus-within{border-color:#9db4d9;box-shadow:0 0 0 2px #e9f0fb,0 5px 24px #1938660e}
.composer textarea:focus-visible{outline:none}
.sidebar{background:var(--sidebar);border-right-color:var(--line)}
.nav,.new-chat,.account-button{border-radius:11px}
.nav.active{background:var(--accent-soft);color:var(--accent)}
.nav.active .ui-icon{color:var(--accent)}
.new-chat{border-color:#dbe4f0;box-shadow:0 1px 2px #214a8408}
.topbar{border-bottom-color:var(--line)}
.auth-shell{background:#14243f50;backdrop-filter:blur(8px);animation:none}
.auth-card{width:min(450px,100%);padding:38px 40px 34px;border-color:var(--line);border-radius:24px;box-shadow:0 28px 88px #162d5226;animation:none}
.auth-brand{gap:10px;color:var(--accent)}
.auth-brand .brand-symbol{width:36px;height:36px}
.auth-brand p{font-size:13px;letter-spacing:.13em}
.auth-card h1{margin:24px 0 5px;font-size:29px;line-height:1.3;letter-spacing:-.035em}
.auth-card>.muted{margin-bottom:0;line-height:1.7;font-size:14px}
.auth-trial-note{border:1px solid #dce8fb;background:#f4f8ff;color:#315ca0;font-size:12px}
.auth-tabs{margin:28px 0 21px;gap:24px}
.auth-tabs button{font-size:14px}
.auth-tabs button.active{border-bottom-color:var(--accent);color:var(--accent)}
.auth-form{gap:16px}
.auth-form label{gap:7px;font-size:13px;font-weight:620}
.auth-form input,.connection-index-search input,.connection-admin-content input,.mcp-add-form input,.mcp-add-form select{min-height:43px;border:1px solid var(--line-strong);border-radius:11px;background:#fff;padding:10px 12px;box-shadow:0 1px 2px #14211806}
.auth-form input::placeholder,.connection-index-search input::placeholder{color:#9ba8b8}
.auth-form input:focus,.connection-index-search input:focus,.connection-admin-content input:focus{border-color:#87a9e4;outline:none;box-shadow:0 0 0 3px #b9cef54d}
.auth-form .primary{min-height:44px;margin-top:4px;border-radius:11px;background:var(--dark)}
.auth-form .primary:hover{background:var(--accent-hover)}
.login-methods{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}
.login-methods.hidden{display:none}
.login-methods button{flex:1;min-height:35px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:13px}
.login-methods button.active{background:#fff;color:var(--accent);font-weight:650;box-shadow:0 1px 4px #1a3a6814}
.legacy-auth{margin:24px 0 0;padding:0;border:0;text-align:center}
.legacy-auth summary{display:inline-block;list-style:none;padding:5px 3px;color:#718096;font-size:12px;line-height:1.5;text-decoration:underline;text-decoration-color:#c8d2e0;text-underline-offset:4px}
.legacy-auth summary::-webkit-details-marker{display:none}
.legacy-auth summary:hover{color:var(--accent);text-decoration-color:var(--accent)}
.legacy-auth[open]{text-align:left}
.legacy-auth[open] summary{margin-bottom:17px}
.legacy-auth .auth-form{padding:0}
.settings-dialog{position:relative;width:min(1080px,calc(100vw - 48px));height:min(760px,calc(100dvh - 40px));border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 90px #162d5226}
.settings-dialog[open]{grid-template-columns:220px minmax(0,1fr)}
.settings-nav{padding:25px 14px;background:var(--sidebar);border-right-color:var(--line)}
.settings-brand{padding:0 11px 22px;color:var(--ink)}
.settings-brand b{font-size:15px;letter-spacing:.015em}
.settings-group-label{padding:19px 12px 7px;color:#8794a7;font-size:10px;font-weight:650;letter-spacing:.08em}
.settings-nav nav{gap:2px;padding-right:2px}
.settings-nav nav button{min-height:40px;padding:9px 12px;border-radius:9px;color:#566579;font-size:13px}
.settings-nav nav button.active{background:var(--accent-soft);color:var(--accent);font-weight:650;box-shadow:inset 3px 0 var(--accent)}
.settings-nav nav button:hover{background:#eaf1fb}
.settings-nav form{position:absolute;top:19px;right:22px;z-index:2;padding:0}
.settings-close{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#69788c;font-size:24px;font-weight:300;line-height:1}
.settings-close:hover{background:#edf3fb;color:var(--ink)}
.settings-main{padding:43px clamp(28px,4vw,55px) 56px;scrollbar-color:#ccd7e6 transparent;scrollbar-width:thin}
.settings-content{max-width:740px;margin-inline:auto;padding-right:2px}
.settings-content>h1{margin:0 45px 5px 0;font-size:29px;line-height:1.3}
.settings-lead{margin-bottom:30px;color:var(--muted);font-size:13px;line-height:1.65}
.settings-content>.setting-section{margin:16px 0 0;padding:21px 24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 3px 13px #16366607}
.settings-content>.setting-section:first-of-type{border:1px solid var(--line)}
.settings-content>.setting-section>h2{margin:0 0 5px;font-size:16px;line-height:1.4}
.settings-content>.setting-section>p{margin:0 0 15px;color:var(--muted);font-size:12px;line-height:1.65}
.settings-content .setting-row{min-height:54px;gap:18px;padding:9px 0}
.settings-content .setting-row .row-copy{gap:4px}
.settings-content .setting-row .row-copy>b{font-size:13px}
.settings-content .setting-row .row-copy>small{max-width:470px;font-size:12px;line-height:1.55}
.settings-content .setting-row select{min-width:150px;max-width:245px;min-height:39px;border-color:var(--line-strong);border-radius:10px}
.settings-content>.setting-section>.message-tools{margin-top:6px}
.settings-content>.setting-section>.message-tools button{min-height:36px;border-color:#d9e3f1;background:#f9fbff;font-size:12px}
.settings-content .account-form{margin:15px 0 17px;gap:10px}
.settings-content .account-form button{min-height:42px}
.settings-content .account-phone{padding:18px 0 0;border-top-color:var(--line)}
.settings-content .account-phone h3{margin-bottom:13px;font-size:14px}
.settings-content .account-session-actions{margin-top:20px;padding-top:17px;border-top-color:var(--line)}
.settings-content .native-controls-title{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:4px;align-items:center;margin:0 0 10px}
.settings-content .native-controls-title h2{grid-column:1;grid-row:1;margin:0;font-size:29px;letter-spacing:-.035em}
.settings-content .native-controls-title p{grid-column:1;grid-row:2;color:var(--muted);font-size:13px;line-height:1.6}
.settings-content .native-controls-title>button{grid-column:2;grid-row:1 / 3;align-self:center;min-height:36px;border-color:#d9e3f1;color:#4b6589}
.settings-content .native-controls-body{gap:14px}
.settings-content .native-controls-section{padding:19px 22px;border-color:var(--line);border-radius:16px;box-shadow:0 3px 13px #16366607}
.settings-content .native-controls-head h3{font-size:15px}
.settings-content .native-controls-head p{color:var(--muted);font-size:12px;line-height:1.6}
.settings-content .native-controls-actions button{min-height:34px;border-color:#d9e3f1;border-radius:9px}
.documents-view,#connectionsView,#pluginsView{background:#fcfdff}
.documents-view{padding-top:40px}
#connectionsView,#pluginsView{padding:40px max(26px,calc((100% - 1020px)/2)) 70px}
#connectionsContent{max-width:1020px}
.page-head{margin-bottom:28px}
.page-head h1{font-size:31px;line-height:1.22;letter-spacing:-.045em}
.page-head p{font-size:14px;line-height:1.7}
.library-section,.connection-card{border-color:var(--line);border-radius:17px;box-shadow:0 8px 24px #16366605}
.library-section{background:#fff}
.section-heading{background:#fff}
.doc-row:hover,.result-row:hover{background:#f8fbff}
.connection-card{margin:0 0 26px;padding:26px 28px}
.connection-heading h2{font-size:20px;letter-spacing:-.025em}
.connection-badge{background:var(--teal-soft);color:var(--teal)}
.connection-status{margin:20px 0 8px;font-size:15px}
.connection-card>.muted{font-size:13px;line-height:1.7}
.connection-actions{gap:8px;margin:21px 0}
.connection-actions button,.connection-admin-content button,.connection-index-actions button,.connection-index-result button{border-color:#d9e3f1;background:#fff;color:var(--accent)}
.connection-actions button:hover,.connection-admin-content button:hover,.connection-index-actions button:hover,.connection-index-result button:hover{background:var(--accent-soft);border-color:#aac4f0}
.connection-index{margin:27px 0 22px;padding:24px 0 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.connection-index-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}
.connection-index-title h3{margin:0 0 4px;font-size:16px;line-height:1.4}
.connection-index-title p{margin:0 0 16px;font-size:13px;line-height:1.65}
.connection-index-count{flex:0 0 auto;padding:4px 10px;border-radius:99px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:600}
.connection-index-search{display:flex;align-items:center;gap:9px;max-width:590px}
.connection-index-search input{flex:1;min-width:0}
.connection-index-search button{min-height:43px;white-space:nowrap;background:var(--dark);border-color:var(--dark);color:#fff}
.connection-index-search button:hover{background:var(--accent-hover)}
.connection-index-results{display:grid;gap:3px;margin-top:12px}
.connection-index-result{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 8px;border-bottom:1px solid #eef1ed}
.connection-index-result>div{min-width:0;display:grid;gap:2px}
.connection-index-result strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:620}
.connection-index-result small{color:var(--muted);font-size:11px}
.connection-index-result button{padding:6px 11px;border-radius:8px;font-size:12px}
.connection-index-actions{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 10px}
.connection-index-actions button{padding:7px 12px;border-radius:9px;font-size:12px}
.connection-index-note{max-width:690px;margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.7}
.connection-index-confirm{max-width:560px;padding:13px 15px;border:1px solid #e1d1c8;border-radius:11px;background:#fffaf6}
.connection-index-confirm p{margin:0 0 9px;font-size:13px}
.connection-index-confirm button{margin-right:8px;padding:6px 10px;font-size:12px}
.connection-custom{border-top:1px solid var(--line)}
@media(max-width:760px){
  .settings-dialog[open]{width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}
  .settings-dialog>.settings-main{padding:26px 22px calc(28px + env(safe-area-inset-bottom))}
  .settings-content>.setting-section{padding:19px 18px;margin-top:13px}
  .settings-content .setting-row{align-items:flex-start}
  .settings-content .setting-row select{max-width:100%}
  .settings-content .native-controls-title h2{font-size:26px}
  .settings-content .native-controls-section{padding:17px 16px}
  .auth-card{padding:32px 25px 28px}
  .documents-view,#connectionsView,#pluginsView{padding:28px 18px 54px}
  .connection-card{padding:21px 18px}
  .page-head h1{font-size:27px}
}
@media(max-width:430px){
  .connection-index-heading{align-items:center}
  .connection-index-search{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .connection-index-search button{padding-inline:11px}
  .auth-card h1{font-size:26px}
}
@media(prefers-reduced-motion:reduce){button{transition:none}}

/* Shared actions use blue; teal is reserved for diagnosis and connected knowledge. */
.primary:hover,.visitor-login:hover,.send-button:hover,.stop-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.send-button{box-shadow:0 3px 10px #1e5bc62a}
.answer-body a{color:var(--accent)}
.composer-model-option[aria-checked="true"],.plugin-filters button.active{background:var(--accent-soft);color:var(--accent)}
.plugin-add:hover,.plugin-card-menu summary:hover{background:var(--accent-soft);color:var(--accent)}
.plugin-market-search button:hover,.plugin-menu-options button:hover{background:var(--accent-soft);color:var(--accent)}
.document-category-button:hover,.document-category-button[aria-pressed="true"]{border-color:#acc5ef;background:var(--accent-soft);color:var(--accent)}
.document-category-button[aria-pressed="true"] .document-category-count{background:#fff;color:var(--accent)}
.settings-content .setting-row progress::-webkit-progress-value{background:var(--accent)}
.settings-content .setting-row progress::-moz-progress-bar{background:var(--accent)}
.connection-index-search button{background:var(--accent);border-color:var(--accent)}
.connection-badge{background:var(--teal-soft);color:var(--teal)}
.diagnosis-suggestion .enterprise-diagnosis-primary,.diagnosis-suggestion .enterprise-diagnosis-confirm,.enterprise-diagnosis-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.diagnosis-suggestion .enterprise-diagnosis-primary:hover,.diagnosis-suggestion .enterprise-diagnosis-confirm:hover,.enterprise-diagnosis-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
dialog.welcome-guide{border-color:var(--line);color:var(--ink);box-shadow:0 24px 90px #162d5225}
dialog.welcome-guide::backdrop{background:#14243f38}
.welcome-guide-art span{background:var(--accent)}
.welcome-guide-art span:nth-child(4){background:var(--teal)}
.welcome-guide-eyebrow,.welcome-guide-voice{color:var(--accent)}
.welcome-guide-options strong{color:var(--ink)}
.welcome-guide-options span{color:var(--muted)}
.welcome-guide-primary{background:var(--accent);border-color:var(--accent)}
.welcome-guide-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}

/* Type size is a local reading preference. Keep geometry and icons unchanged. */
:root{--tavi-font-step:0px}
:root[data-font-size="small"]{--tavi-font-step:-1px}
:root[data-font-size="large"]{--tavi-font-step:2px}
:root[data-font-size="extra-large"]{--tavi-font-step:4px}
body{font-size:calc(15px + var(--tavi-font-step))}
.sidebar-brand b,.connection-index-title h3,.settings-content>.setting-section>h2{font-size:calc(16px + var(--tavi-font-step))}
.new-chat span,.nav,.project-open,.conversation-open,.account-button .account-name,.topbar-title strong,.message-author,.thinking-list,.task-context,.section-heading h2,.connection-status,.settings-brand b,.settings-content .account-phone h3,.settings-content .native-controls-head h3{font-size:calc(14px + var(--tavi-font-step))}
.workspace-picker select,.top-new-chat,.status,.project-heading,.conversation-heading,.doc-meta,.result-meta,.settings-nav nav button,.settings-lead,.settings-content .setting-row .row-copy>b,.settings-content .native-controls-title p,.connection-card>.muted,.page-head p,.auth-form label{font-size:calc(13px + var(--tavi-font-step))}
.settings-content>.setting-section>p,.settings-content .setting-row .row-copy>small,.settings-content .native-controls-head p,.connection-index-title p,.connection-index-note,.diagnosis-suggestion,.diagnosis-suggestion button,.message-tools button,.citation,.composer-model-button,.access-mode-picker select{font-size:calc(12px + var(--tavi-font-step))}
.empty-state p,.visitor-diagnosis-start,.doc-row,.result-row,.connection-index-result strong{font-size:calc(15px + var(--tavi-font-step))}
.composer textarea,.timeline-stage,.settings-content>.setting-section .font-size-preview{font-size:calc(16px + var(--tavi-font-step))}
.answer-body,.message.user .message-content{font-size:calc(18px + var(--tavi-font-step))}
.answer-body h1{font-size:calc(21px + var(--tavi-font-step))}
.answer-body h2,.answer-body h3,.answer-body h4{font-size:calc(18px + var(--tavi-font-step))}
.empty-state h1{font-size:calc(28px + var(--tavi-font-step))}
.settings-content>h1,.settings-content .native-controls-title h2{font-size:calc(29px + var(--tavi-font-step))}
.page-head h1{font-size:calc(31px + var(--tavi-font-step))}
.auth-card h1{font-size:calc(29px + var(--tavi-font-step))}
.enterprise-diagnosis-fact-value p,.enterprise-diagnosis-draft-value p,.enterprise-diagnosis-catalog-item h3,.enterprise-diagnosis-fact-field textarea{font-size:calc(13px + var(--tavi-font-step))}
.enterprise-diagnosis-bar-summary,.enterprise-diagnosis-catalog-item p,.enterprise-diagnosis-scope-summary p,.enterprise-diagnosis-requirement select{font-size:calc(12px + var(--tavi-font-step))}
.settings-content>.setting-section .font-size-preview{margin:14px 0 0;padding:17px 19px;border-radius:12px;background:#f5f8fd;color:#34445c;line-height:1.7}
@media(max-width:760px){
  .settings-content .native-controls-title h2{font-size:calc(26px + var(--tavi-font-step))}
  .page-head h1{font-size:calc(27px + var(--tavi-font-step))}
}
@media(max-width:430px){.auth-card h1{font-size:calc(26px + var(--tavi-font-step))}}

/* Persistent download entry; opens separately to preserve an unsent draft. */
