/* Harant: typography-guide-2 + button-system-2. Functional Cerebra bundle is unchanged. */
@import url('https://fonts.googleapis.com/css2?family=PT+Sans:wght@400;700&family=JetBrains+Mono:wght@400;500&display=swap');
html:root[data-harant] {
  --font-sans:'PT Sans',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',Consolas,monospace;
  --bg:#F8F9FC; --panel:#FFFFFF; --ink:#2D2F47; --muted:#5B5E76;
  --heading:#1E2139; --caption:#6B6E85; --line:#E2E4EF;
  --primary:#353961; --primary-hover:#2a2e50; --primary-active:#1f2240;
  --primary-disabled:#a8aac0; --hover:#e0e7ed; --active:#cdd5dd;
  --accent:#4361EE; --danger:#ef4444; --success:#41a040;
  --reading-surface:var(--panel); --control-surface:var(--panel);
  --reading-muted:var(--muted); --reading-accent:var(--accent);
  --brand-color:var(--primary); --brand-secondary:var(--accent);
  color-scheme:light; font-family:var(--font-sans); font-size:14px;
  font-weight:400; line-height:1.6; color:var(--ink); background:var(--bg);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
html:root[data-harant][data-theme=dark] {
  --bg:#181b2c; --panel:#21253b; --ink:#e2e4ef; --heading:#fff;
  --muted:#b3b7ce; --caption:#a8acc5; --line:#393e59;
  --primary:#7884d2; --primary-hover:#8793e0; --primary-active:#a0abed;
  --primary-disabled:#535b89; --hover:#303650; --active:#3e4565;
  --accent:#a8b4ff; color-scheme:dark;
}
html:root[data-harant] #root :is(.cerebra-layout,.org-kubsau) {
  --bg:inherit; --panel:inherit; --ink:inherit; --muted:inherit; --line:inherit;
  --reading-surface:var(--panel); --reading-muted:var(--muted);
  --reading-accent:var(--accent); --brand-color:var(--primary); --brand-secondary:var(--accent);
  font-family:var(--font-sans); color:var(--ink);
}
html:root[data-harant] #root :is(body,.cerebra-layout,.cerebra-workspace,.chat-page,.modern-auth,.page-loader,.loading-page,.cerebra-content .home) { background:var(--bg); color:var(--ink); }
html:root[data-harant] #root ::selection { background:#4361EE; color:#fff; }
html:root[data-harant] #root :is(button,input,textarea,select) { font-family:var(--font-sans); }
html:root[data-harant] #root :is(h1,h2,h3,h4) { color:var(--heading); font-weight:700; text-wrap:balance; }
html:root[data-harant] #root .home-wave,html:root[data-harant] #root .auth-dot-background { display:none; }
html:root[data-harant] #root .cerebra-sidebar { background:var(--panel); border-right:1px solid var(--line); }
html:root[data-harant] #root .sidebar-top { padding:24px 16px; }
html:root[data-harant] #root :is(.cerebra-logo,.header-logo,.brand,.auth-logo) { color:var(--heading); font-family:var(--font-sans); font-weight:700; letter-spacing:-.02em; }
html:root[data-harant] #root :is(.cerebra-symbol,.logo-stop,.brand-mark,.brand-dot) { color:var(--primary); }
html:root[data-harant] #root .cerebra-symbol { background:var(--bg); border:1px solid var(--line); border-radius:4px; }
html:root[data-harant] #root .cerebra-header { height:72px; border-bottom:1px solid var(--line); background:var(--panel); padding-inline:24px; }
html:root[data-harant] #root .header-chat-title { font-weight:700; color:var(--heading); }
html:root[data-harant] #root .sidebar-content { padding:0 16px 16px; }
html:root[data-harant] #root .sidebar-caption { color:var(--caption); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
html:root[data-harant] #root :is(.sidebar-history .history p,.sidebar-account .pill-link,.auth-back,.muted,.composer-notice,.dialog-note) { color:var(--muted); font-size:13px; line-height:1.6; }
html:root[data-harant] #root .sidebar-account { border-top:1px solid var(--line); padding:20px 16px; }
html:root[data-harant] #root .sidebar-account .account { font-size:13px; }
html:root[data-harant] #root :is(.icon-button,.copy-answer,.auth-password-toggle) {
  width:40px; height:40px; padding:0; display:inline-flex; align-items:center; justify-content:center;
  color:var(--muted); background:transparent; border:0; border-radius:50%; transition:background .15s ease,color .15s ease,box-shadow .15s ease;
}
html:root[data-harant] #root :is(.icon-button,.copy-answer,.auth-password-toggle):hover:not(:disabled) { background:var(--hover); color:var(--primary); }
html:root[data-harant] #root :is(button,a,input,textarea,summary,[tabindex]):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
html:root[data-harant] #root :is(.primary,.auth-submit,.send,.history-new,.pill-link,.rename-actions button) {
  border-radius:4px; font-size:14px; height:40px; font-weight:400;
  transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;
}
html:root[data-harant] #root :is(.primary,.auth-submit,.send,.sidebar-history .history-new,.rename-actions button[type=submit]) {
  border:1px solid transparent; background:var(--primary); color:#fff; font-weight:700;
}
html:root[data-harant] #root .sidebar-history .history-new { display:flex; align-items:center; justify-content:center; width:100%; gap:8px; padding:9px 20px; margin:0 0 16px; }
html:root[data-harant] #root :is(.primary,.auth-submit,.send,.sidebar-history .history-new):hover:not(:disabled) { background:var(--primary-hover); color:#fff; }
html:root[data-harant] #root :is(.primary,.auth-submit,.send,.sidebar-history .history-new):active:not(:disabled) { background:var(--primary-active); }
html:root[data-harant] #root :is(.primary,.auth-submit,.send,.sidebar-history .history-new):focus-visible { outline:0; box-shadow:0 0 0 3px rgba(53,57,97,.25); }
html:root[data-harant] #root :is(.primary,.auth-submit,.send,.sidebar-history .history-new):disabled { background:var(--primary-disabled); color:#fff; opacity:1; cursor:not-allowed; }
html:root[data-harant] #root .pill-link { border:1px solid var(--line); padding:9px 14px; color:var(--primary); background:transparent; }
html:root[data-harant] #root .pill-link:hover { border-color:var(--hover); background:var(--hover); }
html:root[data-harant] #root .history-search { border:1px solid var(--line); background:var(--bg); border-radius:4px; color:var(--muted); }
html:root[data-harant] #root .sidebar-history .history-search { border:1px solid var(--line); padding:9px 12px; margin-bottom:32px; border-radius:4px; color:var(--muted); background:var(--bg); }
html:root[data-harant] #root .sidebar-history .history-search:is(:hover,:focus-within) { background:var(--panel); border-color:var(--primary); }
html:root[data-harant] #root .history-search input { font-size:14px; color:var(--ink); }
html:root[data-harant] #root .history-search input::placeholder { color:var(--muted); }
html:root[data-harant] #root :is(.history-row,.sidebar-history .history button,.chat-menu button) { border-radius:4px; color:var(--ink); }
html:root[data-harant] #root :is(.history-row:hover,.history-row:focus-within,.history-row.menu-open,.history-row.is-selected,.chat-menu button:hover,.sidebar-history .history .history-more:hover) { background:var(--hover); color:var(--primary); }
html:root[data-harant] #root :is(.chat-menu,.rename-dialog,.knowledge-dialog,.auth-box) { border:1px solid var(--line); border-radius:12px; background:var(--panel); color:var(--ink); }
html:root[data-harant] #root :is(.rename-dialog::backdrop,.knowledge-dialog::backdrop) { background:#1e21394d; }
html:root[data-harant] #root .welcome { max-width:680px; }
html:root[data-harant] #root .welcome::before { content:'ПОМОЩНИК ПО БАЗЕ ЗНАНИЙ'; display:block; margin-bottom:20px; color:var(--accent); font-size:12px; font-weight:700; letter-spacing:.08em; line-height:1.5; }
html:root[data-harant] #root .welcome h1 { font-size:clamp(28px,3.4vw,48px); line-height:1.15; letter-spacing:-.02em; font-weight:700; margin-bottom:24px; }
html:root[data-harant] #root .welcome::after { content:'Задайте вопрос — получите ответ со ссылками на источники.'; display:block; font-size:16px; color:var(--muted); line-height:1.6; }
html:root[data-harant] #root .composer-area { background:transparent; }
html:root[data-harant] #root .composer { max-width:680px; min-height:64px; padding:11px 12px 11px 20px; gap:16px; border:1px solid var(--line); border-radius:8px; background:var(--panel); box-shadow:0 4px 20px #1e213906; }
html:root[data-harant] #root .composer:focus-within { border-color:var(--primary); background:var(--panel); box-shadow:0 0 0 3px #35396112; }
html:root[data-harant] #root .composer textarea { font-size:16px; line-height:1.6; color:var(--ink); }
html:root[data-harant] #root .composer textarea::placeholder { color:var(--caption); }
html:root[data-harant] #root .send { min-width:40px; width:40px; flex-shrink:0; }
html:root[data-harant] #root .feed { max-width:728px; }
html:root[data-harant] #root .answer { font-size:16px; line-height:1.7; color:var(--ink); }
html:root[data-harant] #root .answer p { margin-bottom:16px; }
html:root[data-harant] #root .answer :is(h1,h2) { font-size:30px; line-height:1.25; margin:24px 0; letter-spacing:-.02em; }
html:root[data-harant] #root .answer h3 { font-size:24px; line-height:1.3; margin:20px 0; }
html:root[data-harant] #root :is(.answer a,.sources a,.auth-switch a,.activity-entry a,.current-url a) { color:var(--accent); }
html:root[data-harant] #root .bubble { background:var(--hover); color:var(--heading); border-radius:8px; font-size:16px; line-height:1.6; }
html:root[data-harant] #root .answer :is(pre,code),html:root[data-harant] #root .activity-log { font-family:var(--font-mono); }
html:root[data-harant] #root .answer pre { background:#1e2139; color:#e2e4ef; }
html:root[data-harant] #root :is(.activity-log,.terminal-heading,.indexing) { background:var(--bg); color:var(--ink); border-color:var(--line); }
html:root[data-harant] #root .big-count { color:var(--heading); font-weight:700; letter-spacing:-.02em; }
html:root[data-harant] #root .sources { border-color:var(--line); }
html:root[data-harant] #root .sources a { background:var(--panel); border:1px solid var(--line); border-radius:4px; }
html:root[data-harant] #root .auth-box { padding:36px; box-shadow:0 12px 40px #1e213908; }
html:root[data-harant] #root .auth-box h1 { font-size:24px; line-height:1.3; }
html:root[data-harant] #root .auth-box label { color:var(--muted); font-size:13px; }
html:root[data-harant] #root :is(.auth-box input,.rename-dialog input) { height:48px; border-radius:4px; border:1px solid var(--line); background:var(--panel); color:var(--ink); font-size:14px; }
html:root[data-harant] #root .auth-box input:hover:not(:disabled) { background:var(--bg); }
html:root[data-harant] #root .auth-box input:focus-visible { border-color:var(--primary); box-shadow:0 0 0 3px #35396118; }
html:root[data-harant] #root .auth-submit { width:100%; height:48px; font-size:16px; }
html:root[data-harant] #root :is(.error,.auth-field-error,.log-error) { color:#b82828; }
html:root[data-harant] #root .error { background:#ef44440d; border-color:#ef444433; }
html:root[data-harant] #root .mo-status { color:var(--muted); }
html:root[data-harant] #root .mo-trail { background:var(--primary); }
@media(max-width:700px) {
  html:root[data-harant] #root .cerebra-header { height:60px; padding-inline:16px; }
  html:root[data-harant] #root .welcome { width:calc(100% - 40px); }
  html:root[data-harant] #root .welcome h1 { font-size:32px; }
  html:root[data-harant] #root .welcome::before { margin-bottom:16px; font-size:11px; }
  html:root[data-harant] #root .welcome::after { font-size:14px; }
  html:root[data-harant] #root .composer-area { padding-inline:16px; }
  html:root[data-harant] #root .composer { padding-left:14px; gap:10px; }
  html:root[data-harant] #root .auth-box { padding:28px 24px; }
  html:root[data-harant] #root .sidebar-backdrop { background:#1e21394d; }
}
@media(prefers-reduced-motion:reduce) { html:root[data-harant] #root * { scroll-behavior:auto; transition-duration:0s !important; animation-duration:.01ms !important; } }

html:root[data-harant] #root .composer textarea:focus-visible { outline:none; box-shadow:none; }

html:root[data-harant] #root .welcome::before { content:none; display:none; }

/* Purple particle sphere and coordinated completion states. */
html:root[data-harant] #root .welcome::after { content:none; display:none; }
html:root[data-harant] #root :is(.mo-green,.mo-a-dot,.mo-trail) { background:#6d5acf; }
html:root[data-harant] #root .mo-card { background:var(--panel); border-color:#6d5acf45; }
html:root[data-harant] #root .mo-pulse { border-color:#6d5acf; }
html:root[data-harant] #root .mo-lab-done { color:var(--accent); }

/* Recoverable chat deletion notice. */
html:root[data-harant] #root .history-undo {
  display:flex; align-items:center; gap:8px; margin:16px 0 4px;
  padding:10px 12px; min-height:54px; border:1px solid var(--line);
  border-radius:8px; background:var(--panel); color:var(--ink);
  box-shadow:0 4px 16px #1e213908; font-size:13px; line-height:1.5;
}
html:root[data-harant] #root .history-undo button {
  display:inline-flex; align-items:center; justify-content:center;
  flex-shrink:0; height:32px; padding:6px 10px; border:1px solid var(--line);
  border-radius:4px; background:transparent; color:var(--primary);
  font-size:12px; font-weight:700; line-height:1; text-decoration:none;
  cursor:pointer; transition:background .15s ease,border-color .15s ease;
}
html:root[data-harant] #root .history-undo button:first-of-type { margin-left:auto; }
html:root[data-harant] #root .history-undo button[aria-label] {
  width:28px; height:32px; padding:0; border-color:transparent;
  color:var(--muted); font-size:21px; font-weight:400;
}
html:root[data-harant] #root .history-undo button:hover { background:var(--hover); border-color:var(--hover); }
html:root[data-harant] #root .history-undo button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

html:root[data-harant] #root :is(.mo-green,.mo-a-dot,.mo-trail) { background:var(--primary); }
html:root[data-harant] #root .mo-card, html:root[data-harant] #root .mo-pulse { border-color:var(--primary); }
