/* Темы AI Hub. Каждая тема — набор переменных; компоненты используют только переменные.
   Подсветка кода тоже берётся из переменных (--tk-*), поэтому код выглядит родным в каждой теме. */

:root, [data-theme="purple"] {
  color-scheme: dark;
  --bg: #0B0A12;
  --bg-image: radial-gradient(1200px 600px at 85% -10%, rgba(139, 92, 246, .14), transparent 60%),
              radial-gradient(900px 500px at -10% 110%, rgba(56, 189, 248, .06), transparent 60%);
  --surface: #13121C;
  --surface-2: #1A1926;
  --surface-3: #232233;
  --overlay: rgba(10, 9, 18, .72);
  --glass-blur: none;
  --text: #ECEAF5;
  --text-2: #A9A6BD;
  --text-3: #6F6C85;
  --border: #2A2840;
  --border-strong: #3A3757;
  --accent: #9B6CFF;
  --accent-2: #C4A6FF;
  --accent-ink: #FFFFFF;
  --accent-soft: rgba(155, 108, 255, .14);
  --ok: #3DDC97; --warn: #F5C56B; --err: #FF6B81; --info: #6CC4FF;
  --radius-lg: 16px; --radius: 12px; --radius-sm: 8px;
  --shadow: 0 10px 30px rgba(0, 0, 0, .35);
  --shadow-pop: 0 16px 48px rgba(0, 0, 0, .55);
  --font-ui: "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-head: "Onest", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", "Cascadia Code", Consolas, monospace;
  --code-bg: #0E0D16; --code-head: #17162A; --code-text: #E4E1F5; --code-gutter: #4E4B68; --code-sel: rgba(155, 108, 255, .16);
  --tk-keyword: #C792EA; --tk-string: #A5E844; --tk-number: #F78C6C; --tk-comment: #6B6889; --tk-func: #82AAFF;
  --tk-type: #FFCB6B; --tk-attr: #89DDFF; --tk-meta: #F07178; --tk-builtin: #F2A0D8; --tk-var: #ECEAF5;
}

[data-theme="vision"] {
  color-scheme: dark;
  --bg: #06080D;
  --bg-image: radial-gradient(1000px 700px at 70% 0%, rgba(120, 90, 255, .22), transparent 60%),
              radial-gradient(900px 600px at 0% 100%, rgba(0, 220, 200, .12), transparent 55%);
  --surface: rgba(28, 32, 46, .55);
  --surface-2: rgba(40, 46, 64, .55);
  --surface-3: rgba(60, 68, 92, .55);
  --overlay: rgba(4, 6, 10, .6);
  --glass-blur: blur(22px) saturate(140%);
  --text: #F2F4FA; --text-2: #A7AEC2; --text-3: #6A7189;
  --border: rgba(255, 255, 255, .09); --border-strong: rgba(255, 255, 255, .18);
  --accent: #A78BFA; --accent-2: #5EEAD4; --accent-ink: #0B0B12; --accent-soft: rgba(167, 139, 250, .18);
  --ok: #5EEAD4; --warn: #FCD34D; --err: #FB7185; --info: #7DD3FC;
  --radius-lg: 22px; --radius: 16px; --radius-sm: 11px;
  --shadow: 0 20px 40px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .06);
  --shadow-pop: 0 30px 60px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .08);
  --font-ui: "Manrope", -apple-system, "SF Pro Text", system-ui, sans-serif;
  --font-head: "Manrope", -apple-system, system-ui, sans-serif;
  --font-mono: "JetBrains Mono", "SF Mono", monospace;
  --code-bg: rgba(8, 10, 16, .7); --code-head: rgba(30, 34, 50, .7); --code-text: #E6E8F2; --code-gutter: #5A6280; --code-sel: rgba(94, 234, 212, .12);
  --tk-keyword: #C4B5FD; --tk-string: #86EFAC; --tk-number: #FDBA74; --tk-comment: #64748B; --tk-func: #7DD3FC;
  --tk-type: #FDE68A; --tk-attr: #5EEAD4; --tk-meta: #F9A8D4; --tk-builtin: #F0ABFC; --tk-var: #F2F4FA;
}

[data-theme="springfield"] {
  color-scheme: light;
  --bg: #6FD3FF;
  --bg-image: radial-gradient(circle at 20% 15%, rgba(255, 255, 255, .55) 0 60px, transparent 61px),
              radial-gradient(circle at 75% 8%, rgba(255, 255, 255, .5) 0 45px, transparent 46px);
  --surface: #FFFBE6; --surface-2: #FFFFFF; --surface-3: #FFF0A8;
  --overlay: rgba(20, 20, 30, .45);
  --glass-blur: none;
  --text: #18181B; --text-2: #3F3F46; --text-3: #71717A;
  --border: #18181B; --border-strong: #18181B;
  --accent: #FF5FA2; --accent-2: #FED90F; --accent-ink: #18181B; --accent-soft: rgba(255, 95, 162, .2);
  --ok: #3FB618; --warn: #F5A700; --err: #E52521; --info: #1E88E5;
  --radius-lg: 22px; --radius: 16px; --radius-sm: 10px;
  --shadow: 4px 4px 0 #18181B; --shadow-pop: 6px 6px 0 #18181B;
  --font-ui: "Rubik", system-ui, sans-serif; --font-head: "Rubik", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", monospace;
  --code-bg: #1F1B2E; --code-head: #FED90F; --code-text: #FFFBE6; --code-gutter: #8B83A8; --code-sel: rgba(254, 217, 15, .18);
  --code-head-ink: #18181B;
  --tk-keyword: #FF7AB6; --tk-string: #B4F064; --tk-number: #FFB454; --tk-comment: #8B83A8; --tk-func: #6FD3FF;
  --tk-type: #FED90F; --tk-attr: #8AE2FF; --tk-meta: #FF8F8F; --tk-builtin: #FFA6D2; --tk-var: #FFFBE6;
  --border-w: 2.5px;
}

[data-theme="xp"] {
  color-scheme: light;
  --bg: #3A6EA5;
  --bg-image: linear-gradient(180deg, #5A8ED6 0%, #3A6EA5 40%, #2D5E95 100%);
  --surface: #ECE9D8; --surface-2: #FFFFFF; --surface-3: #DDE6F8;
  --overlay: rgba(0, 0, 0, .35);
  --glass-blur: none;
  --text: #000000; --text-2: #333333; --text-3: #6B6B6B;
  --border: #7F9DB9; --border-strong: #0A246A;
  --accent: #0A58E0; --accent-2: #3C8D0D; --accent-ink: #FFFFFF; --accent-soft: rgba(49, 106, 197, .16);
  --ok: #2E8B12; --warn: #C98A00; --err: #C82408; --info: #0A58E0;
  --radius-lg: 8px; --radius: 5px; --radius-sm: 3px;
  --shadow: 2px 2px 4px rgba(0, 0, 0, .25); --shadow-pop: 4px 4px 10px rgba(0, 0, 0, .4);
  --font-ui: Tahoma, "Segoe UI", Verdana, sans-serif; --font-head: "Trebuchet MS", Tahoma, sans-serif;
  --font-mono: "Lucida Console", Consolas, monospace;
  --code-bg: #FFFFFF; --code-head: linear-gradient(180deg, #0A58E0, #0842B4); --code-text: #000000; --code-gutter: #8A8A8A; --code-sel: #DDE6F8;
  --code-head-ink: #FFFFFF;
  --tk-keyword: #0000FF; --tk-string: #A31515; --tk-number: #098658; --tk-comment: #008000; --tk-func: #795E26;
  --tk-type: #267F99; --tk-attr: #E50000; --tk-meta: #AF00DB; --tk-builtin: #0070C1; --tk-var: #001080;
}

[data-theme="win11"] {
  color-scheme: dark;
  --bg: #202020;
  --bg-image: radial-gradient(1200px 800px at 100% 0%, rgba(0, 120, 212, .16), transparent 60%);
  --surface: #2B2B2B; --surface-2: #323232; --surface-3: #3B3B3B;
  --overlay: rgba(0, 0, 0, .5);
  --glass-blur: blur(30px) saturate(120%);
  --text: #FFFFFF; --text-2: #C5C5C5; --text-3: #8A8A8A;
  --border: rgba(255, 255, 255, .08); --border-strong: rgba(255, 255, 255, .16);
  --accent: #4CC2FF; --accent-2: #0078D4; --accent-ink: #001A2C; --accent-soft: rgba(76, 194, 255, .14);
  --ok: #6CCB5F; --warn: #FCE100; --err: #FF99A4; --info: #4CC2FF;
  --radius-lg: 10px; --radius: 8px; --radius-sm: 4px;
  --shadow: 0 8px 16px rgba(0, 0, 0, .28); --shadow-pop: 0 32px 64px rgba(0, 0, 0, .55);
  --font-ui: "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif; --font-head: "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;
  --font-mono: "Cascadia Code", "Cascadia Mono", Consolas, monospace;
  --code-bg: #1C1C1C; --code-head: #2B2B2B; --code-text: #D4D4D4; --code-gutter: #6E6E6E; --code-sel: rgba(76, 194, 255, .12);
  --tk-keyword: #569CD6; --tk-string: #CE9178; --tk-number: #B5CEA8; --tk-comment: #6A9955; --tk-func: #DCDCAA;
  --tk-type: #4EC9B0; --tk-attr: #9CDCFE; --tk-meta: #C586C0; --tk-builtin: #4FC1FF; --tk-var: #9CDCFE;
}

[data-theme="snow"] {
  color-scheme: light;
  --bg: #EEF4FA;
  --bg-image: radial-gradient(900px 500px at 90% -10%, rgba(14, 165, 233, .12), transparent 60%);
  --surface: #FFFFFF; --surface-2: #F5F9FC; --surface-3: #E8F1F9;
  --overlay: rgba(15, 23, 42, .35);
  --glass-blur: none;
  --text: #0F172A; --text-2: #475569; --text-3: #94A3B8;
  --border: #DCE7F2; --border-strong: #BFD3E6;
  --accent: #0EA5E9; --accent-2: #6366F1; --accent-ink: #FFFFFF; --accent-soft: rgba(14, 165, 233, .12);
  --ok: #10B981; --warn: #F59E0B; --err: #F43F5E; --info: #0EA5E9;
  --radius-lg: 16px; --radius: 12px; --radius-sm: 8px;
  --shadow: 0 6px 24px rgba(15, 23, 42, .06); --shadow-pop: 0 20px 50px rgba(15, 23, 42, .15);
  --font-ui: "Onest", system-ui, sans-serif; --font-head: "Onest", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", monospace;
  --code-bg: #F8FAFC; --code-head: #EEF4FA; --code-text: #0F172A; --code-gutter: #A3B3C6; --code-sel: rgba(14, 165, 233, .1);
  --tk-keyword: #7C3AED; --tk-string: #059669; --tk-number: #EA580C; --tk-comment: #94A3B8; --tk-func: #2563EB;
  --tk-type: #B45309; --tk-attr: #0891B2; --tk-meta: #DB2777; --tk-builtin: #9333EA; --tk-var: #0F172A;
}

[data-theme="liquid"] {
  /* Liquid Glass из TAKE IT GO (Apple iOS 26 / VisionOS): стекло поверх плавающих цветных «орбов» */
  color-scheme: dark;
  --bg: #070913;
  --bg-image: none;
  --surface: rgba(255, 255, 255, .08);
  --surface-2: rgba(255, 255, 255, .07);
  --surface-3: rgba(255, 255, 255, .12);
  --overlay: rgba(7, 9, 19, .55);
  --glass-blur: blur(50px) saturate(200%);
  --text: #FFFFFF; --text-2: rgba(255, 255, 255, .74); --text-3: rgba(255, 255, 255, .48);
  --border: rgba(255, 255, 255, .14); --border-strong: rgba(255, 255, 255, .28);
  --accent: #64D2FF; --accent-2: #BF5AF2; --accent-ink: #FFFFFF; --accent-soft: rgba(100, 210, 255, .16);
  --ok: #30D158; --warn: #FFD60A; --err: #FF453A; --info: #0A84FF;
  --radius-lg: 22px; --radius: 18px; --radius-sm: 12px;
  --shadow: 0 1px 1px rgba(0,0,0,.04), 0 2px 4px rgba(0,0,0,.05), 0 4px 8px rgba(0,0,0,.06), 0 8px 16px rgba(0,0,0,.07), 0 16px 32px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.42), inset 0 -1px 0 rgba(0,0,0,.08);
  --shadow-pop: 0 4px 6px rgba(0,0,0,.08), 0 12px 24px rgba(0,0,0,.14), 0 24px 48px rgba(0,0,0,.18), 0 48px 96px rgba(0,0,0,.22), inset 0 1.5px .5px rgba(255,255,255,.55), inset 0 -1px 0 rgba(0,0,0,.15);
  --font-ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", Roboto, system-ui, sans-serif;
  --font-head: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", system-ui, sans-serif;
  --font-mono: "SF Mono", "JetBrains Mono", monospace;
  --code-bg: rgba(5, 7, 16, .55); --code-head: rgba(255, 255, 255, .07); --code-text: #F2F4FA; --code-gutter: rgba(255,255,255,.35); --code-sel: rgba(100, 210, 255, .14);
  --tk-keyword: #BF5AF2; --tk-string: #30D158; --tk-number: #FFD60A; --tk-comment: rgba(255,255,255,.42); --tk-func: #64D2FF;
  --tk-type: #FF9F0A; --tk-attr: #5AC8FA; --tk-meta: #FF6482; --tk-builtin: #8C82FF; --tk-var: #FFFFFF;
}

[data-theme="astra"] {
  /* Astra из TAKE IT GO: тёмный HUD «машинный металл», фирменная палитра Astra */
  color-scheme: dark;
  --bg: #09121B;
  --bg-image: radial-gradient(ellipse 90% 70% at 50% -15%, rgba(0,121,192,.25) 0%, rgba(0,79,109,.12) 45%, transparent 80%),
              radial-gradient(circle 600px at 100% 100%, rgba(82,181,224,.08) 0%, transparent 70%),
              repeating-linear-gradient(-30deg, rgba(0,121,192,.04) 0 1px, transparent 1px 40px),
              repeating-linear-gradient(60deg, rgba(0,79,109,.03) 0 1px, transparent 1px 40px);
  --surface: #0E1B26;
  --surface-2: #132230;
  --surface-3: #1A2C3D;
  --overlay: rgba(0, 15, 30, .7);
  --glass-blur: none;
  --text: #F5F7FA; --text-2: #9BACC1; --text-3: #6B7F96;
  --border: rgba(82, 181, 224, .22); --border-strong: rgba(82, 181, 224, .4);
  --accent: #52B5E0; --accent-2: #0079C0; --accent-ink: #FFFFFF; --accent-soft: rgba(0, 121, 192, .2);
  --ok: #20BA78; --warn: #E89E28; --err: #E03E3E; --info: #52B5E0;
  --radius-lg: 16px; --radius: 12px; --radius-sm: 10px;
  --shadow: inset 0 1px 0 rgba(255,255,255,.22), inset 0 2px 0 rgba(255,255,255,.08), inset 0 -2px 4px rgba(0,0,0,.4), 0 1px 0 rgba(0,79,109,.3), 0 4px 8px rgba(0,15,30,.35), 0 8px 16px rgba(0,15,30,.25);
  --shadow-pop: inset 0 1px 0 rgba(255,255,255,.22), 0 8px 16px rgba(0,15,30,.45), 0 24px 48px rgba(0,15,30,.6);
  --font-ui: "PT Astra Fact", "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "PT Astra Fact", "Inter", -apple-system, "Segoe UI", sans-serif;
  --font-mono: "PT Astra Mono", "JetBrains Mono", monospace;
  --code-bg: #07101A; --code-head: linear-gradient(180deg, #132230 0%, #0C1721 100%); --code-text: #E6EEF6; --code-gutter: #4F657C; --code-sel: rgba(82, 181, 224, .12);
  --code-head-ink: #F5F7FA;
  --tk-keyword: #52B5E0; --tk-string: #20BA78; --tk-number: #E89E28; --tk-comment: #5F7690; --tk-func: #EAEAAE;
  --tk-type: #9BACC1; --tk-attr: #7FD0F0; --tk-meta: #E03E3E; --tk-builtin: #4FB4DD; --tk-var: #F5F7FA;
}

[data-theme="takeitgo"] {
  /* Тёмная тема TAKE IT GO */
  color-scheme: dark;
  --bg: #121414;
  --bg-image: none;
  --surface: #1C1E1E; --surface-2: #161818; --surface-3: #262929;
  --overlay: rgba(8, 9, 9, .7);
  --glass-blur: none;
  --text: #E6E6E6; --text-2: #9AA0A6; --text-3: #6E7377;
  --border: #2C2F2F; --border-strong: #3A3E3E;
  --accent: #B4C5FF; --accent-2: #8FF5A8; --accent-ink: #121414; --accent-soft: rgba(180, 197, 255, .14);
  --ok: #8FF5A8; --warn: #F5E08F; --err: #FF8B8B; --info: #B4C5FF;
  --radius-lg: 14px; --radius: 10px; --radius-sm: 7px;
  --shadow: 0 6px 20px rgba(0, 0, 0, .35); --shadow-pop: 0 18px 44px rgba(0, 0, 0, .55);
  --font-ui: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; --font-head: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: "JetBrains Mono", monospace;
  --code-bg: #0E0F0F; --code-head: #161818; --code-text: #E6E6E6; --code-gutter: #555A5D; --code-sel: rgba(180, 197, 255, .1);
  --tk-keyword: #B4C5FF; --tk-string: #8FF5A8; --tk-number: #F5E08F; --tk-comment: #6E7377; --tk-func: #9ECBFF;
  --tk-type: #F5C2A0; --tk-attr: #A6E3E9; --tk-meta: #FF8B8B; --tk-builtin: #D4B8FF; --tk-var: #E6E6E6;
}

/* ===== Фирменные приёмы тем TAKE IT GO, которые не выразить одними переменными ===== */

/* Liquid Glass: плавающие цветные орбы под стеклом + стеклянные панели с бликом по кромке */
[data-theme="liquid"] body::before {
  content: ""; position: fixed; inset: -15%; z-index: -2; pointer-events: none;
  background: radial-gradient(circle at 18% 22%, rgba(10,132,255,.55) 0%, transparent 42%),
              radial-gradient(circle at 82% 76%, rgba(191,90,242,.48) 0%, transparent 46%),
              radial-gradient(circle at 50% 105%, rgba(100,210,255,.42) 0%, transparent 52%),
              radial-gradient(circle at 75% 18%, rgba(48,209,88,.25) 0%, transparent 38%);
  filter: blur(45px); animation: lgDrift 24s ease-in-out infinite alternate;
}
[data-theme="liquid"] body::after { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(circle at center, transparent 30%, rgba(7,9,19,.65) 100%); }
@keyframes lgDrift { 0% { transform: translate(0,0) scale(1) rotate(0); } 50% { transform: translate(35px,-25px) scale(1.06) rotate(1.5deg); } 100% { transform: translate(-25px,20px) scale(.98) rotate(-1deg); } }
[data-theme="liquid"] body { background: var(--bg); }
[data-theme="liquid"] .sidebar, [data-theme="liquid"] .topbar, [data-theme="liquid"] .card, [data-theme="liquid"] .modal,
[data-theme="liquid"] .menu, [data-theme="liquid"] .plan, [data-theme="liquid"] .pane-thread, [data-theme="liquid"] .drawer,
[data-theme="liquid"] .composer-box, [data-theme="liquid"] .login-card, [data-theme="liquid"] .kcol, [data-theme="liquid"] .tile {
  background: linear-gradient(135deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.05) 50%, rgba(255,255,255,.10) 100%) !important;
  backdrop-filter: blur(50px) saturate(200%); -webkit-backdrop-filter: blur(50px) saturate(200%);
  border-color: rgba(255,255,255,.16) !important; box-shadow: var(--shadow);
}
[data-theme="liquid"] .split, [data-theme="liquid"] .pane { background: transparent; }
[data-theme="liquid"] .msg.system .m-body, [data-theme="liquid"] .chip, [data-theme="liquid"] .input, [data-theme="liquid"] .btn:not(.primary):not(.danger):not(.stop):not(.ghost) { background: rgba(255,255,255,.06); }
[data-theme="liquid"] .btn.primary {
  background: linear-gradient(135deg, rgba(10,132,255,.36) 0%, rgba(140,130,255,.30) 55%, rgba(191,90,242,.34) 100%);
  border: 1px solid rgba(255,255,255,.30); border-radius: 999px; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.35);
  backdrop-filter: blur(20px) saturate(180%); box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 6px 20px rgba(10,132,255,.22);
  transition: transform .24s cubic-bezier(.32,.72,0,1), box-shadow .24s, border-color .24s;
}
[data-theme="liquid"] .btn.primary:hover { filter: none; transform: translateY(-1px); border-color: rgba(255,255,255,.55); box-shadow: inset 0 0 0 1px rgba(255,255,255,.35), 0 10px 28px rgba(10,132,255,.32); }
[data-theme="liquid"] .brand-mark { background: linear-gradient(135deg, #0A84FF, #BF5AF2); color: #fff; }
[data-theme="liquid"] .code { backdrop-filter: blur(24px) saturate(160%); }

/* Astra: «машинный металл» — пластины с фаской, металлические кнопки, шапка HUD */
[data-theme="astra"] .card, [data-theme="astra"] .plan, [data-theme="astra"] .modal, [data-theme="astra"] .login-card, [data-theme="astra"] .kcol, [data-theme="astra"] .tile {
  background: linear-gradient(180deg, #162433 0%, #111D2A 55%, #0B141E 100%); border: 1px solid rgba(82,181,224,.28);
}
[data-theme="astra"] .topbar, [data-theme="astra"] .brand, [data-theme="astra"] .pane-head {
  background: linear-gradient(180deg, #132230 0%, #0C1721 100%); border-bottom-color: rgba(82,181,224,.35);
  box-shadow: 0 1px 0 rgba(255,255,255,.08) inset, 0 4px 16px rgba(0,15,30,.55);
}
[data-theme="astra"] .sidebar { background: linear-gradient(180deg, #0F1D29 0%, #0A141D 100%); border-right-color: rgba(82,181,224,.22); }
[data-theme="astra"] .btn.primary {
  background: linear-gradient(180deg, #4FB4DD 0%, #2595C8 45%, #0079C0 55%, #005F98 100%); border: 1px solid #006CA8; color: #fff;
  text-shadow: 0 1px 2px rgba(0,35,55,.65); box-shadow: inset 0 1px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(0,79,109,.3), 0 1px 0 #004F6D, 0 4px 8px rgba(0,121,192,.25);
  transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s cubic-bezier(.2,.8,.2,1);
}
[data-theme="astra"] .btn.primary:hover { filter: none; transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 0 28px rgba(82,181,224,.5), 0 4px 12px rgba(0,121,192,.4); }
[data-theme="astra"] .btn.primary:active { transform: translateY(1px); box-shadow: inset 0 2px 4px rgba(0,25,45,.7); }
[data-theme="astra"] .btn:not(.primary):not(.danger):not(.stop):not(.ghost) { background: linear-gradient(180deg, #1A2A3A 0%, #12202E 50%, #0C1722 100%); border-color: rgba(82,181,224,.35); }
[data-theme="astra"] .brand-mark { background: linear-gradient(180deg, #4FB4DD, #0079C0); color: #fff; }
[data-theme="astra"] body::after { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0; box-shadow: inset 0 0 140px rgba(0,15,30,.85); }
[data-theme="astra"] .app { position: relative; z-index: 1; }

@media (prefers-reduced-motion: reduce) { [data-theme="liquid"] body::before { animation: none; } }

/* ================================================================
   БАУХАУС: геометрия, основные цвета, жирные чёрные линии, тени-«плашки»
   ================================================================ */
[data-theme="bauhaus"] {
  color-scheme: light;
  --bg: #F1EADB;
  --bg-image: radial-gradient(circle at 96% 8%, #D7261E 0 110px, transparent 111px),
              conic-gradient(from 180deg at 0% 100%, #1D4E9E 0 90deg, transparent 90deg) 0 100% / 220px 220px no-repeat,
              linear-gradient(135deg, transparent 0 calc(100% - 160px), #F2B705 calc(100% - 160px)) 100% 100% / 160px 160px no-repeat,
              repeating-linear-gradient(90deg, rgba(17,17,17,.035) 0 1px, transparent 1px 64px);
  --surface: #FAF6EC; --surface-2: #FFFFFF; --surface-3: #ECE2CC;
  --overlay: rgba(17, 17, 17, .45);
  --glass-blur: none;
  --text: #111111; --text-2: #3B3934; --text-3: #7A7568;
  --border: #111111; --border-strong: #111111;
  --accent: #D7261E; --accent-2: #1D4E9E; --accent-ink: #FFFFFF; --accent-soft: rgba(242, 183, 5, .35);
  --ok: #1E7F3C; --warn: #C98A00; --err: #D7261E; --info: #1D4E9E;
  --radius-lg: 0px; --radius: 0px; --radius-sm: 0px;
  --shadow: 4px 4px 0 #111111; --shadow-pop: 6px 6px 0 #111111;
  --font-ui: "Jost", "Futura", "Century Gothic", system-ui, sans-serif;
  --font-head: "Unbounded", "Jost", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", monospace;
  --code-bg: #111111; --code-head: #F2B705; --code-head-ink: #111111; --code-text: #F1EADB; --code-gutter: #6E6A60; --code-sel: rgba(242, 183, 5, .2);
  --tk-keyword: #FF5A4F; --tk-string: #F2B705; --tk-number: #7FB2FF; --tk-comment: #7A7568; --tk-func: #6FA0F0;
  --tk-type: #F2B705; --tk-attr: #FF8A80; --tk-meta: #FF5A4F; --tk-builtin: #9FC2FF; --tk-var: #F1EADB;
  --pop-bg: #FFFFFF;
}
[data-theme="bauhaus"] .menu, [data-theme="bauhaus"] .ac, [data-theme="bauhaus"] .modal, [data-theme="bauhaus"] .toast, [data-theme="bauhaus"] .sel-pop, [data-theme="bauhaus"] .cv-selbar { border: 2px solid #111 !important; box-shadow: 6px 6px 0 #111 !important; backdrop-filter: none; }
[data-theme="bauhaus"] .sidebar { --surface: #1A1A1A; --surface-2: #222; --surface-3: #2E2E2E; --text: #F1EADB; --text-2: #CFC6B4; --text-3: #8F887A; --border: #3A3A3A; --border-strong: #555; --accent-soft: rgba(242,183,5,.18); background: #111; color: var(--text); border-right: 0; }
[data-theme="bauhaus"] .nav a.active { background: #F2B705; color: #111; }
[data-theme="bauhaus"] .brand-mark { background: #D7261E; color: #fff; border-radius: 50%; }
[data-theme="bauhaus"] .brand-name, [data-theme="bauhaus"] .pane-head, [data-theme="bauhaus"] .m-author, [data-theme="bauhaus"] h1, [data-theme="bauhaus"] h2, [data-theme="bauhaus"] h3 { font-family: var(--font-head); letter-spacing: .02em; }
[data-theme="bauhaus"] .topbar { border-bottom: 5px solid; border-image: linear-gradient(90deg, #D7261E 0 33.3%, #F2B705 33.3% 66.6%, #1D4E9E 66.6%) 1; }
[data-theme="bauhaus"] .pane-head { text-transform: uppercase; font-size: 11px; border-bottom: 3px solid #111; background: color-mix(in srgb, #FAF6EC 85%, transparent); }
[data-theme="bauhaus"] .btn { border: 2px solid #111; box-shadow: 3px 3px 0 #111; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; font-size: 12.5px; transition: transform .08s, box-shadow .08s, background .15s; }
[data-theme="bauhaus"] .btn:hover { transform: translate(-1px, -1px); box-shadow: 4px 4px 0 #111; background: #F2B705; }
[data-theme="bauhaus"] .btn:active { transform: translate(3px, 3px); box-shadow: 0 0 0 #111; }
[data-theme="bauhaus"] .btn.primary { background: #D7261E; color: #fff; }
[data-theme="bauhaus"] .btn.primary:hover { background: #1D4E9E; filter: none; }
[data-theme="bauhaus"] .btn.ghost { border-color: transparent; box-shadow: none; }
[data-theme="bauhaus"] .btn.ghost:hover { border-color: #111; box-shadow: 3px 3px 0 #111; }
[data-theme="bauhaus"] .btn.mic { border-radius: 50%; }
[data-theme="bauhaus"] .btn.mic.rec { border-color: #111; box-shadow: 3px 3px 0 #111; animation: none; }
[data-theme="bauhaus"] .input, [data-theme="bauhaus"] .select { border: 2px solid #111; }
[data-theme="bauhaus"] .composer-box { border: 2px solid #111; box-shadow: 5px 5px 0 #111; background: #fff; }
[data-theme="bauhaus"] .composer-box:focus-within { box-shadow: 5px 5px 0 #1D4E9E; border-color: #111; }
[data-theme="bauhaus"] .chip { border-radius: 0; border: 1.5px solid #111; font-weight: 600; }
[data-theme="bauhaus"] .msg .m-ava { border-radius: 0; border: 2px solid #111; }
[data-theme="bauhaus"] .msg.user .m-ava { border-radius: 50%; }
[data-theme="bauhaus"] .msg:hover { background: rgba(242, 183, 5, .14); }
[data-theme="bauhaus"] .code, [data-theme="bauhaus"] .plan, [data-theme="bauhaus"] .card, [data-theme="bauhaus"] .tile, [data-theme="bauhaus"] .kcol { border: 2px solid #111; }
[data-theme="bauhaus"] .msg.system .m-body { border: 2px solid #111; border-left: 8px solid #1D4E9E; }

/* ================================================================
   НЕОМОРФИЗМ: мягкий пластик — элементы выдавлены из фона светом и тенью
   ================================================================ */
[data-theme="neumorph"] {
  color-scheme: light;
  --bg: #E3E8EF;
  --bg-image: none;
  --surface: #E3E8EF; --surface-2: #E3E8EF; --surface-3: #D9DFE8;
  --overlay: rgba(60, 72, 92, .25);
  --glass-blur: none;
  --text: #2E3A4B; --text-2: #5D6A7D; --text-3: #929CAD;
  --border: rgba(163, 177, 198, .28); --border-strong: rgba(163, 177, 198, .5);
  --accent: #6A72F0; --accent-2: #4FB6C9; --accent-ink: #FFFFFF; --accent-soft: rgba(106, 114, 240, .13);
  --ok: #2FA37A; --warn: #D99A1E; --err: #E2545F; --info: #4F8FE6;
  --radius-lg: 24px; --radius: 18px; --radius-sm: 13px;
  --nm-hi: #FFFFFF; --nm-lo: #B8C1CF;
  --nm-out: 6px 6px 14px var(--nm-lo), -6px -6px 14px var(--nm-hi);
  --nm-out-sm: 3px 3px 7px var(--nm-lo), -3px -3px 7px var(--nm-hi);
  --nm-in: inset 4px 4px 9px var(--nm-lo), inset -4px -4px 9px var(--nm-hi);
  --shadow: var(--nm-out); --shadow-pop: 12px 12px 28px rgba(150, 162, 182, .7), -10px -10px 24px #FFFFFF;
  --font-ui: "Nunito", system-ui, sans-serif; --font-head: "Nunito", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", monospace;
  --code-bg: #E3E8EF; --code-head: #E3E8EF; --code-text: #2E3A4B; --code-gutter: #A3ADBD; --code-sel: rgba(106, 114, 240, .1);
  --tk-keyword: #7A5AF5; --tk-string: #23946B; --tk-number: #D9731E; --tk-comment: #9AA4B5; --tk-func: #4A6FE0;
  --tk-type: #B7791F; --tk-attr: #2A9BB0; --tk-meta: #D9466F; --tk-builtin: #9147D9; --tk-var: #2E3A4B;
  --pop-bg: #E3E8EF;
}
[data-theme="neumorph"] body { font-weight: 500; }
[data-theme="neumorph"] .menu, [data-theme="neumorph"] .ac, [data-theme="neumorph"] .modal, [data-theme="neumorph"] .toast, [data-theme="neumorph"] .sel-pop, [data-theme="neumorph"] .cv-selbar { border: 0 !important; box-shadow: var(--shadow-pop) !important; backdrop-filter: none; }
[data-theme="neumorph"] .sidebar { border-right: 0; box-shadow: 8px 0 18px -10px var(--nm-lo); }
@media (min-width: 861px) { [data-theme="neumorph"] .sidebar { position: relative; z-index: 2; } }
[data-theme="neumorph"] .topbar, [data-theme="neumorph"] .pane-head, [data-theme="neumorph"] .brand, [data-theme="neumorph"] .nav, [data-theme="neumorph"] .composer { border-color: transparent; }
[data-theme="neumorph"] .composer { background: transparent; }
[data-theme="neumorph"] .btn { border: 0; background: var(--bg); box-shadow: var(--nm-out-sm); font-weight: 700; color: var(--text-2); transition: box-shadow .18s, color .15s, transform .08s; }
[data-theme="neumorph"] .btn:hover { color: var(--accent); background: var(--bg); box-shadow: var(--nm-out); }
[data-theme="neumorph"] .btn:active { box-shadow: var(--nm-in); transform: none; }
[data-theme="neumorph"] .btn.primary { color: #fff; background: linear-gradient(145deg, #7B83FF, #5A61DB); box-shadow: 4px 4px 10px rgba(90, 97, 219, .45), -4px -4px 10px var(--nm-hi); }
[data-theme="neumorph"] .btn.primary:hover { color: #fff; filter: brightness(1.05); }
[data-theme="neumorph"] .btn.ghost { background: transparent; box-shadow: none; }
[data-theme="neumorph"] .btn.ghost:hover { background: var(--bg); box-shadow: var(--nm-out-sm); }
[data-theme="neumorph"] .btn.mic.rec { background: linear-gradient(145deg, #F06A73, #D9434F); color: #fff; }
[data-theme="neumorph"] .input, [data-theme="neumorph"] .select, [data-theme="neumorph"] textarea.input { border: 0; background: var(--bg); box-shadow: var(--nm-in); }
[data-theme="neumorph"] .input:focus, [data-theme="neumorph"] .select:focus { box-shadow: var(--nm-in), 0 0 0 2px var(--accent-soft); }
[data-theme="neumorph"] .composer-box { border: 0; background: var(--bg); box-shadow: var(--nm-in); }
[data-theme="neumorph"] .composer-box:focus-within { box-shadow: var(--nm-in), 0 0 0 2px var(--accent-soft); }
[data-theme="neumorph"] .chat-item { border-color: transparent; }
[data-theme="neumorph"] .chat-item.active, [data-theme="neumorph"] .nav a.active { background: var(--bg); box-shadow: var(--nm-in); color: var(--accent); border-color: transparent; }
[data-theme="neumorph"] .chat-item:hover, [data-theme="neumorph"] .nav a:hover { background: var(--bg); box-shadow: var(--nm-out-sm); }
[data-theme="neumorph"] .chip { background: var(--bg); box-shadow: var(--nm-out-sm); }
[data-theme="neumorph"] .msg .m-ava, [data-theme="neumorph"] .brand-mark, [data-theme="neumorph"] .chat-item .ci-icon { background: var(--bg); box-shadow: var(--nm-out-sm); }
[data-theme="neumorph"] .msg:hover { background: transparent; }
[data-theme="neumorph"] .msg.system .m-body { border: 0; background: var(--bg); box-shadow: var(--nm-in); }
[data-theme="neumorph"] .code, [data-theme="neumorph"] .plan, [data-theme="neumorph"] .card, [data-theme="neumorph"] .tile, [data-theme="neumorph"] .kcol { border: 0; box-shadow: var(--nm-out); }
[data-theme="neumorph"] .code pre { box-shadow: var(--nm-in); margin: 0 10px 10px; border-radius: var(--radius-sm); }
[data-theme="neumorph"] .split > .pane + .pane, [data-theme="neumorph"] .resizer { border-color: transparent; }

/* ================================================================
   ГАЗЕТА 2000-х (по макету Google Stitch): газетная бумага, растр, рубрики-плашки,
   сообщения — вырезки на бумаге, статусы — резиновые штампы, кнопки — криво вырезанные лоскуты.
   ================================================================ */
[data-theme="gazeta"] {
  color-scheme: light;
  --ink: #1A1816;
  --bg: #F3EBD6;
  --bg-image:
    radial-gradient(rgba(28, 25, 23, .13) .75px, transparent .75px) 0 0 / 8px 8px,
    linear-gradient(180deg, rgba(230, 215, 188, .7) 0%, rgba(247, 241, 228, .95) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .3 0 0 0 0 .2 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --surface: #F7F2E4; --surface-2: #FAF5E8; --surface-3: #E6DAC1;
  --overlay: rgba(43, 37, 31, .45);
  --glass-blur: none;
  --text: #1A1816; --text-2: #4D4233; --text-3: #786751;
  --border: #1A1816; --border-strong: #1A1816;
  --accent: #C62828; --accent-2: #009EE3; --accent-ink: #FFF100; --accent-soft: rgba(255, 241, 0, .35);
  --ok: #1E6B37; --warn: #A36518; --err: #B71C1C; --info: #0077AA;
  --cyan: #009EE3; --magenta: #E5007D; --yellow: #FFF100;
  --radius-lg: 0px; --radius: 0px; --radius-sm: 0px;
  --shadow: 2px 3px 6px rgba(25, 20, 15, .22), 0 0 1px rgba(0, 0, 0, .5);
  --shadow-pop: 4px 5px 0 rgba(0, 0, 0, .3);
  --font-ui: "PT Serif", Georgia, serif;
  --font-head: "Oswald", "Arial Narrow", Impact, sans-serif;
  --font-mast: "Playfair Display", "PT Serif", Georgia, serif;
  --font-mono: "Courier Prime", "PT Mono", "Courier New", monospace;
  --code-bg: #24201C; --code-head: #EAE0C8; --code-head-ink: #1A1816; --code-text: #ECE5D8; --code-gutter: #A89880; --code-sel: rgba(255, 241, 0, .14);
  --tk-keyword: #FF3D9E; --tk-string: #9CCF7A; --tk-number: #FFB347; --tk-comment: #9C8E79; --tk-func: #FFF100;
  --tk-type: #34B8F0; --tk-attr: #34B8F0; --tk-meta: #FF3D9E; --tk-builtin: #34B8F0; --tk-var: #ECE5D8;
  --pop-bg: #FDFAF0;
  --clip: radial-gradient(rgba(45, 35, 25, .06) 1px, transparent 0) 0 0 / 4px 4px, #F7F2E4;
}
[data-theme="gazeta"] body { box-shadow: inset 0 0 80px rgba(78, 59, 36, .35); }
[data-theme="gazeta"] .scroll { scrollbar-color: #7A6A52 #E6DAC1; }
[data-theme="gazeta"] .scroll::-webkit-scrollbar-thumb { background: #7A6A52; border: 1px solid #4A3F30; border-radius: 0; }
[data-theme="gazeta"] .scroll::-webkit-scrollbar-track { background: #E6DAC1; }

/* --- левая колонка: шапка газеты, депеши, рубрикатор --- */
[data-theme="gazeta"] .sidebar { background: rgba(239, 230, 208, .9); border-right: 3px double #3E352B; }
[data-theme="gazeta"] .brand { height: auto; padding: 10px 10px 8px; background: rgba(253, 249, 238, .8); border-bottom: 2px solid var(--ink); position: relative; overflow: hidden; align-items: flex-start; }
[data-theme="gazeta"] .brand::before { content: "AI-04"; position: absolute; right: -6px; top: -4px; font: 900 44px/1 var(--font-mast); color: rgba(229, 0, 125, .14); transform: rotate(12deg); pointer-events: none; }
[data-theme="gazeta"] .brand-mark, [data-theme="gazeta"] .brand-name { display: none; }
[data-theme="gazeta"] .masthead { display: block; flex: 1; min-width: 0; text-align: center; }
[data-theme="gazeta"] .mh-kicker { font: 500 9px/1.2 var(--font-head); letter-spacing: .14em; text-transform: uppercase; color: #5C4F3F; }
[data-theme="gazeta"] .mh-title { font: 900 30px/1 var(--font-mast); letter-spacing: -.02em; margin: 3px 0 4px; text-transform: uppercase; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
[data-theme="gazeta"] .mh-meta { display: flex; justify-content: space-between; gap: 6px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); padding: 1px 0; font: 600 8px/1.4 var(--font-head); letter-spacing: .06em; text-transform: uppercase; color: #3E3428; }
[data-theme="gazeta"] .sb-collapsed .masthead { display: none; }
[data-theme="gazeta"] .sb-collapsed .brand-mark { display: grid; }
[data-theme="gazeta"] .sb-title { margin: 10px 4px 6px; padding: 3px 8px; background: var(--ink); color: var(--yellow); border-bottom: 4px solid var(--yellow); font: 700 11.5px/1.3 var(--font-head); letter-spacing: .08em; text-transform: uppercase; }
[data-theme="gazeta"] .sb-title .btn { color: var(--ink); }
[data-theme="gazeta"] .chat-item { border: 1px solid transparent; }
[data-theme="gazeta"] .chat-item:hover { background: #F6EDD9; border-color: #8B7A66; }
[data-theme="gazeta"] .chat-item.active { background: #FDFAF0; border: 1px solid #2B241C; border-left: 4px solid #C62828; box-shadow: 2px 2px 0 rgba(0, 0, 0, .2); transform: rotate(-.5deg); position: relative; }
[data-theme="gazeta"] .chat-item.active::after { content: "активен"; position: absolute; right: 6px; top: 6px; background: #C62828; color: #fff; font: 700 9px/1.4 var(--font-head); padding: 0 4px; text-transform: uppercase; letter-spacing: .05em; }
[data-theme="gazeta"] .chat-item .ci-name { font: 600 13px/1.3 var(--font-head); text-transform: uppercase; letter-spacing: .03em; color: #332A21; }
[data-theme="gazeta"] .chat-item .ci-sub { font-style: italic; color: #6D5F4C; }
[data-theme="gazeta"] .chat-item .ci-icon { background: transparent; border: 1px solid #8B7A66; }
[data-theme="gazeta"] .nav { border-top: 1px solid var(--ink); margin: 0 8px; padding: 6px 0; }
[data-theme="gazeta"] .nav::before { content: "Рубрикатор системы:"; font: 700 9px/1.6 var(--font-head); letter-spacing: .14em; text-transform: uppercase; color: #5C4E3E; padding: 0 4px 2px; }
[data-theme="gazeta"] .nav a { font: 600 13px/1.3 var(--font-head); text-transform: uppercase; letter-spacing: .04em; color: #3C3227; padding: 4px 6px; }
[data-theme="gazeta"] .nav a .ni { font-size: 0; width: 12px; }
[data-theme="gazeta"] .nav a .ni::before { content: "§"; font-size: 14px; color: #8C7A65; }
[data-theme="gazeta"] .nav a:hover { background: transparent; color: #C62828; }
[data-theme="gazeta"] .nav a.active { background: var(--yellow); color: var(--ink); }
[data-theme="gazeta"] .me { background: #E4D8BF; border-top: 2px solid var(--ink); }
[data-theme="gazeta"] .me .m-ava { background: #C62828 !important; color: #fff; border: 2px solid var(--ink); font-family: var(--font-head); }
[data-theme="gazeta"] .me-text > div:first-child { font: 700 13px/1.3 var(--font-head) !important; text-transform: uppercase; }
[data-theme="gazeta"] .me-text .dim { font-family: var(--font-mono); }

/* --- верхняя полоса: заголовок выпуска, дежурные агенты, STOP --- */
[data-theme="gazeta"] .topbar { background: rgba(248, 243, 229, .9); border-bottom: 2px solid var(--ink); }
[data-theme="gazeta"] .tb-title h1 { font: 700 21px/1.1 var(--font-head); text-transform: uppercase; letter-spacing: .03em; display: flex; align-items: center; gap: 8px; }
[data-theme="gazeta"] .tb-title h1[data-issue]::after { content: "Выпуск №" attr(data-issue); background: var(--ink); color: var(--yellow); font: 700 10.5px/1 var(--font-head); padding: 4px 6px; letter-spacing: .06em; }
[data-theme="gazeta"] .tb-sub { font-style: italic; color: #5C4E3E; }
[data-theme="gazeta"] .team { background: #EEE3CB; border: 1px solid #8B7A66; box-shadow: inset 0 1px 4px rgba(0, 0, 0, .15); padding: 4px 8px; }
[data-theme="gazeta"] .team::before { content: "Дежурные агенты:"; font: 700 10px/1.2 var(--font-head); text-transform: uppercase; letter-spacing: .06em; color: #5A4C3A; max-width: 64px; margin-right: 4px; flex: none; }
[data-theme="gazeta"] .ava .face { border: 2px solid var(--ink); }

/* --- рубрики над колонками --- */
[data-theme="gazeta"] .pane-head { --text: #FFF100; --text-2: #FFF100; --text-3: #E9E0C8; background: var(--ink); color: var(--yellow); border-bottom: 4px solid var(--yellow);
  font: 700 12.5px/1 var(--font-head); text-transform: uppercase; letter-spacing: .08em; }
[data-theme="gazeta"] .pane-head .hint { color: #fff; font: 400 11px var(--font-mono); letter-spacing: 0; text-transform: none; }
[data-theme="gazeta"] .split > .pane + .pane { border-left: 3px double #3E352B; }
[data-theme="gazeta"] .pane-dialog { background: rgba(250, 245, 233, .55); }

/* --- сообщения: вырезки на бумаге --- */
[data-theme="gazeta"] .feed { gap: 12px; }
[data-theme="gazeta"] .msg { grid-template-columns: 34px 1fr; padding: 0; }
[data-theme="gazeta"] .msg:hover { background: transparent; }
[data-theme="gazeta"] .msg:not(.system) > .m-body { background: var(--clip); border: 1px solid #2D251A; box-shadow: var(--shadow); padding: 9px 12px 10px; }
[data-theme="gazeta"] .msg:not(.system):hover > .m-body { border-color: var(--ink); box-shadow: 3px 4px 0 rgba(0, 0, 0, .18), 0 0 1px rgba(0, 0, 0, .5); }
[data-theme="gazeta"] .m-head { border-bottom: 1px solid #DFD2BA; padding-bottom: 4px; margin-bottom: 6px; }
[data-theme="gazeta"] .m-author { font: 700 13px/1.2 var(--font-head); text-transform: uppercase; letter-spacing: .05em; }
[data-theme="gazeta"] .msg:not(.user) .m-author { color: #C62828; }
[data-theme="gazeta"] .m-time, [data-theme="gazeta"] .m-id { font-family: var(--font-mono); color: #786751; }
[data-theme="gazeta"] .msg .m-ava { border-radius: 50%; border: 2px solid var(--ink); background: color-mix(in srgb, var(--c, #1A4B82) 70%, #1A1816); color: #fff; font-family: var(--font-head); box-shadow: 1px 2px 3px rgba(0, 0, 0, .25); }
[data-theme="gazeta"] .msg.user .m-ava { background: var(--ink); color: var(--yellow); }
[data-theme="gazeta"] .msg.system .m-body { border: 2px dashed #8C7456; background: #F2E7CC; border-radius: 0; font-size: 13px; color: #2D251A; width: 100%; }
[data-theme="gazeta"] .msg.system .m-body::before { content: "Депеша"; background: var(--ink); color: var(--yellow); font: 700 10px/1 var(--font-head); text-transform: uppercase; letter-spacing: .06em; padding: 3px 5px; margin-right: 8px; display: inline-block; vertical-align: 1px; }
[data-theme="gazeta"] .m-replies { border-radius: 0; border: 1px solid #8B7A66; background: #FBF8EF; font-family: var(--font-head); text-transform: uppercase; letter-spacing: .04em; font-size: 11.5px; }
[data-theme="gazeta"] .m-actions { border-radius: 0; border: 1.5px solid var(--ink); box-shadow: 3px 3px 0 rgba(0, 0, 0, .25); }

/* --- план: вырезка с красным квадратом, статусы — резиновые штампы --- */
[data-theme="gazeta"] .plan { background: var(--clip); border: 2px solid var(--ink); box-shadow: 3px 4px 8px rgba(25, 20, 15, .25); transform: rotate(-.4deg); }
[data-theme="gazeta"] .plan-head { background: transparent; border-bottom: 1px solid var(--ink); font: 700 14px/1.2 var(--font-head); text-transform: uppercase; letter-spacing: .04em; }
[data-theme="gazeta"] .plan-head::before { content: ""; width: 10px; height: 10px; background: #C62828; flex: none; }
[data-theme="gazeta"] .chip { border-radius: 0; background: transparent !important; color: var(--text-2); font: 700 10.5px/1.5 var(--font-head); text-transform: uppercase; letter-spacing: .1em;
  border: 2px dashed currentColor; box-shadow: inset 0 0 0 1.5px currentColor; transform: rotate(-2.5deg); padding: 0 6px;
  -webkit-mask-image: radial-gradient(circle at center, #000 62%, rgba(0, 0, 0, .55) 100%); mask-image: radial-gradient(circle at center, #000 62%, rgba(0, 0, 0, .55) 100%); }
[data-theme="gazeta"] .chip.ok { color: #1E6B37; }
[data-theme="gazeta"] .chip.info, [data-theme="gazeta"] .chip.accent { color: #0077AA; }
[data-theme="gazeta"] .chip.warn { color: #A36518; }
[data-theme="gazeta"] .chip.err { color: #B71C1C; }

/* --- код: бумажная карточка, «машинописный» лист внутри --- */
[data-theme="gazeta"] .code { border: 2px solid var(--ink); box-shadow: 3px 4px 8px rgba(25, 20, 15, .3); }
[data-theme="gazeta"] .code-head { border-bottom: 1px solid var(--ink); font-family: var(--font-mono); font-weight: 700; color: var(--ink); }
[data-theme="gazeta"] .code-head .lang { background: var(--ink); color: #fff; font: 700 10.5px/1.4 var(--font-head); text-transform: uppercase; letter-spacing: .05em; border-radius: 0; }
[data-theme="gazeta"] .code pre { box-shadow: inset 0 2px 8px rgba(0, 0, 0, .5); }
[data-theme="gazeta"] .hljs-comment { font-style: italic; }

/* --- всплывающие меню: «Меню вырезки» --- */
[data-theme="gazeta"] .menu, [data-theme="gazeta"] .ac, [data-theme="gazeta"] .modal, [data-theme="gazeta"] .toast, [data-theme="gazeta"] .sel-pop, [data-theme="gazeta"] .cv-selbar {
  border: 2px solid var(--ink) !important; box-shadow: 4px 5px 0 rgba(0, 0, 0, .3) !important; backdrop-filter: none; border-radius: 0 !important; }
[data-theme="gazeta"] .menu { padding: 0 0 4px; transform: rotate(.6deg); }
[data-theme="gazeta"] .menu .mh { background: var(--ink); color: var(--yellow); font: 700 10px/1.6 var(--font-head); text-transform: uppercase; letter-spacing: .08em; padding: 2px 8px; margin-bottom: 2px; }
[data-theme="gazeta"] .menu button, [data-theme="gazeta"] .menu a { border-radius: 0; font: 600 12.5px/1.3 var(--font-head); text-transform: uppercase; letter-spacing: .03em; border-top: 1px solid #DFD4C0; }
[data-theme="gazeta"] .menu button:hover, [data-theme="gazeta"] .menu a:hover { background: var(--yellow); }
[data-theme="gazeta"] .menu hr { border-top-color: var(--ink); }
[data-theme="gazeta"] .toast { border-left: 6px solid #C62828; font-family: var(--font-ui); }

/* --- поле ввода: купон «линия отреза» --- */
[data-theme="gazeta"] .composer { background: #EBE0C7; border-top: 2px solid var(--ink); padding-top: 16px; }
[data-theme="gazeta"] .composer-box { position: relative; border: 2px dashed #4A3E30; background: #FAF5E8; border-radius: 0; box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }
[data-theme="gazeta"] .composer-box::before { content: "✂ Линия отреза купона"; position: absolute; top: -10px; left: 14px; padding: 0 6px; background: #EBE0C7; font: 500 10.5px/1.6 var(--font-head); letter-spacing: .12em; text-transform: uppercase; color: #544636; }
[data-theme="gazeta"] .composer-box:focus-within { border-color: #C62828; box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }
[data-theme="gazeta"] .composer-box.recording { border-color: var(--magenta); }
[data-theme="gazeta"] .composer textarea::placeholder { font-style: italic; color: #8D7D6A; }
[data-theme="gazeta"] .composer .c-hint kbd { background: #E6DAC1; border: 1px solid #8B7A66; border-radius: 0; }
[data-theme="gazeta"] .input, [data-theme="gazeta"] .select { border: 1px solid #8F7E67; background: #F4ECD9; border-radius: 0; }
[data-theme="gazeta"] .input:focus { background: #fff; border-color: var(--ink); box-shadow: none; }
[data-theme="gazeta"] .rec-bar { --wave: var(--magenta); }

/* --- кнопки: криво вырезанные из газеты лоскуты с тенью --- */
[data-theme="gazeta"] .btn { position: relative; isolation: isolate; background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0;
  color: var(--ink); font: 700 12.5px/1 var(--font-head); text-transform: uppercase; letter-spacing: .05em; animation: none;
  filter: drop-shadow(2px 3px 2px rgba(20, 15, 10, .38)); transform: rotate(-1deg); transition: transform .1s ease, filter .1s ease; }
[data-theme="gazeta"] .btn::before { content: ""; position: absolute; inset: 0 -2px; z-index: -1; clip-path: polygon(1% 4%, 99% 0%, 98% 96%, 2.5% 100%);
  background: radial-gradient(rgba(45, 35, 25, .08) 1px, transparent 0) 0 0 / 4px 4px, #DFD2BA; box-shadow: inset 0 0 0 1.5px var(--ink); }
[data-theme="gazeta"] .btn:nth-child(4n+2) { transform: rotate(.8deg); }
[data-theme="gazeta"] .btn:nth-child(4n+2)::before { clip-path: polygon(0% 0%, 98.5% 5%, 100% 100%, 1.5% 95%); }
[data-theme="gazeta"] .btn:nth-child(4n+3) { transform: rotate(-.4deg); }
[data-theme="gazeta"] .btn:nth-child(4n+3)::before { clip-path: polygon(2% 2%, 100% 3%, 97.5% 100%, 0% 97%); }
[data-theme="gazeta"] .btn:nth-child(4n) { transform: rotate(1.4deg); }
[data-theme="gazeta"] .btn:nth-child(4n)::before { clip-path: polygon(0.5% 6%, 97% 0%, 99.5% 94%, 3% 100%); }
[data-theme="gazeta"] .btn:hover { transform: scale(1.03) rotate(-.5deg); filter: drop-shadow(3px 4px 3px rgba(20, 15, 10, .45)); }
[data-theme="gazeta"] .btn:hover::before { background: radial-gradient(rgba(45, 35, 25, .08) 1px, transparent 0) 0 0 / 4px 4px, #CFBE9E; }
[data-theme="gazeta"] .btn:active { transform: scale(.98); filter: drop-shadow(1px 1px 1px rgba(20, 15, 10, .4)); }
[data-theme="gazeta"] .btn.primary { color: var(--yellow); font-weight: 700; }
[data-theme="gazeta"] .btn.primary::before { background: radial-gradient(rgba(0, 0, 0, .12) 1px, transparent 0) 0 0 / 4px 4px, #C62828; }
[data-theme="gazeta"] .btn.primary:hover::before { background: radial-gradient(rgba(0, 0, 0, .12) 1px, transparent 0) 0 0 / 4px 4px, #A81C1C; }
[data-theme="gazeta"] .composer .btn.primary::after { content: " ➔"; margin-left: 4px; }
[data-theme="gazeta"] .btn.danger, [data-theme="gazeta"] .btn.stop, [data-theme="gazeta"] .btn.mic.rec { color: #fff; }
[data-theme="gazeta"] .btn.danger::before, [data-theme="gazeta"] .btn.stop::before, [data-theme="gazeta"] .btn.mic.rec::before { background: radial-gradient(rgba(0, 0, 0, .12) 1px, transparent 0) 0 0 / 4px 4px, var(--magenta); box-shadow: inset 0 0 0 2px var(--ink); }
[data-theme="gazeta"] .btn.stop { font-size: 14px; font-weight: 700; transform: rotate(1.5deg); padding: 0 16px; }
[data-theme="gazeta"] .btn.stop::after { content: ""; }
[data-theme="gazeta"] .btn.stop.on::before { background: radial-gradient(rgba(0, 0, 0, .12) 1px, transparent 0) 0 0 / 4px 4px, #1E6B37; }
[data-theme="gazeta"] .btn.ghost::before { background: radial-gradient(rgba(45, 35, 25, .07) 1px, transparent 0) 0 0 / 4px 4px, #FBF7EE; box-shadow: inset 0 0 0 1px var(--ink); }
[data-theme="gazeta"] .btn.ghost:hover::before { background: radial-gradient(rgba(45, 35, 25, .08) 1px, transparent 0) 0 0 / 4px 4px, var(--yellow); }
[data-theme="gazeta"] .btn.mic { border-radius: 0; }
[data-theme="gazeta"] .btn.mic.wait::before { background: var(--yellow); }
[data-theme="gazeta"] .btn:disabled { opacity: .55; filter: none; }
[data-theme="gazeta"] .tabs button.on, [data-theme="gazeta"] .cv-tabs button.on { background: var(--yellow); color: var(--ink); }

/* ================================================================
   ГРАФФИТИ: кирпичная стена, тэги баллончиком, неон, стикеры-кнопки, подтёки краски,
   лента «осторожно» на рубриках, листовки на скотче.
   ================================================================ */
[data-theme="graffiti"] {
  color-scheme: dark;
  --pink: #FF2E97; --lime: #B6FF2E; --cyan: #1FE4FF; --orange: #FF8A00; --yellow: #FFD60A; --violet: #9B5CFF;
  --bg: #121214;
  --bg-image:
    radial-gradient(420px 300px at 92% 12%, rgba(255, 46, 151, .22), transparent 70%),
    radial-gradient(380px 280px at 6% 88%, rgba(182, 255, 46, .16), transparent 70%),
    radial-gradient(300px 220px at 55% 55%, rgba(31, 228, 255, .08), transparent 70%),
    radial-gradient(rgba(255, 46, 151, .5) 1.2px, transparent 1.6px) 30px 40px / 37px 41px,
    radial-gradient(rgba(182, 255, 46, .35) 1px, transparent 1.4px) 0 0 / 53px 47px,
    url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='288'%20height='136'%3E%3Crect%20width='288'%20height='136'%20fill='%23121214'/%3E%3Crect%20x='1.5'%20y='1.5'%20width='69'%20height='31'%20fill='rgb(47,41,43)'/%3E%3Crect%20x='73.5'%20y='1.5'%20width='69'%20height='31'%20fill='rgb(49,44,46)'/%3E%3Crect%20x='145.5'%20y='1.5'%20width='69'%20height='31'%20fill='rgb(50,48,50)'/%3E%3Crect%20x='217.5'%20y='1.5'%20width='69'%20height='31'%20fill='rgb(38,35,37)'/%3E%3Crect%20x='-34.5'%20y='35.5'%20width='69'%20height='31'%20fill='rgb(50,43,45)'/%3E%3Crect%20x='37.5'%20y='35.5'%20width='69'%20height='31'%20fill='rgb(48,38,40)'/%3E%3Crect%20x='109.5'%20y='35.5'%20width='69'%20height='31'%20fill='rgb(52,44,46)'/%3E%3Crect%20x='181.5'%20y='35.5'%20width='69'%20height='31'%20fill='rgb(39,34,36)'/%3E%3Crect%20x='253.5'%20y='35.5'%20width='69'%20height='31'%20fill='rgb(45,38,40)'/%3E%3Crect%20x='253.5'%20y='35.5'%20width='69'%20height='31'%20fill='rgb(40,38,41)'/%3E%3Crect%20x='1.5'%20y='69.5'%20width='69'%20height='31'%20fill='rgb(44,42,44)'/%3E%3Crect%20x='73.5'%20y='69.5'%20width='69'%20height='31'%20fill='rgb(39,32,34)'/%3E%3Crect%20x='145.5'%20y='69.5'%20width='69'%20height='31'%20fill='rgb(38,31,33)'/%3E%3Crect%20x='217.5'%20y='69.5'%20width='69'%20height='31'%20fill='rgb(44,38,40)'/%3E%3Crect%20x='-34.5'%20y='103.5'%20width='69'%20height='31'%20fill='rgb(40,36,38)'/%3E%3Crect%20x='37.5'%20y='103.5'%20width='69'%20height='31'%20fill='rgb(40,31,33)'/%3E%3Crect%20x='109.5'%20y='103.5'%20width='69'%20height='31'%20fill='rgb(40,37,39)'/%3E%3Crect%20x='181.5'%20y='103.5'%20width='69'%20height='31'%20fill='rgb(40,32,34)'/%3E%3Crect%20x='253.5'%20y='103.5'%20width='69'%20height='31'%20fill='rgb(38,28,30)'/%3E%3Crect%20x='253.5'%20y='103.5'%20width='69'%20height='31'%20fill='rgb(40,38,41)'/%3E%3C/svg%3E");
  --surface: rgba(16, 16, 19, .86); --surface-2: rgba(24, 24, 28, .9); --surface-3: rgba(44, 44, 52, .92);
  --overlay: rgba(6, 6, 8, .65);
  --glass-blur: blur(3px);
  --text: #F4F4F0; --text-2: #C9C9C2; --text-3: #8E8E88;
  --border: rgba(255, 255, 255, .16); --border-strong: rgba(255, 255, 255, .34);
  --accent: #FF2E97; --accent-2: #B6FF2E; --accent-ink: #111111; --accent-soft: rgba(255, 46, 151, .2);
  --ok: #B6FF2E; --warn: #FFD60A; --err: #FF4545; --info: #1FE4FF;
  --radius-lg: 16px; --radius: 12px; --radius-sm: 8px;
  --shadow: 0 8px 22px rgba(0, 0, 0, .55); --shadow-pop: 0 18px 44px rgba(0, 0, 0, .7);
  --font-ui: "Rubik", system-ui, sans-serif;
  --font-head: "Rubik", system-ui, sans-serif;
  --font-tag: "Rubik Wet Paint", "Rubik", Impact, sans-serif;
  --font-spray: "Rubik Spray Paint", "Rubik", Impact, sans-serif;
  --font-mono: "JetBrains Mono", monospace;
  --code-bg: #0B0B0D; --code-head: #FFD60A; --code-head-ink: #111111; --code-text: #F4F4F0; --code-gutter: #5D5D66; --code-sel: rgba(255, 46, 151, .18);
  --tk-keyword: #FF2E97; --tk-string: #B6FF2E; --tk-number: #FF8A00; --tk-comment: #6E6E78; --tk-func: #1FE4FF;
  --tk-type: #FFD60A; --tk-attr: #7CF4FF; --tk-meta: #FF2E97; --tk-builtin: #C69CFF; --tk-var: #F4F4F0;
  --pop-bg: rgba(14, 14, 17, .96);
  --tape: repeating-linear-gradient(-45deg, #FFD60A 0 9px, #111 9px 18px);
  --drip: var(--pink);
}
/* огромные тэги на стене */
[data-theme="graffiti"] body::before { content: "AI HUB"; position: fixed; right: -2vw; bottom: -4vw; z-index: -1; pointer-events: none;
  font: 400 21vw/1 var(--font-tag); color: rgba(255, 46, 151, .07); -webkit-text-stroke: 2px rgba(255, 46, 151, .28); transform: rotate(-7deg); white-space: nowrap; }
[data-theme="graffiti"] body::after { content: "нейро крю"; position: fixed; left: 14vw; top: 6vh; z-index: -1; pointer-events: none;
  font: 400 9vw/1 var(--font-spray); color: rgba(182, 255, 46, .07); -webkit-text-stroke: 1.5px rgba(182, 255, 46, .22); transform: rotate(5deg); white-space: nowrap; }
[data-theme="graffiti"] .app { position: relative; }
[data-theme="graffiti"] .scroll { scrollbar-color: var(--pink) transparent; }
[data-theme="graffiti"] .scroll::-webkit-scrollbar-thumb { background: var(--pink); }

/* стена видна сквозь панели */
[data-theme="graffiti"] .sidebar { background: rgba(10, 10, 12, .62); backdrop-filter: blur(2px); border-right: 2px solid rgba(255, 255, 255, .1); }
[data-theme="graffiti"] .topbar { background: rgba(10, 10, 12, .72); backdrop-filter: blur(2px); border-bottom: 0; position: relative; }
[data-theme="graffiti"] .topbar::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 6px; background: var(--tape); box-shadow: 0 2px 6px rgba(0, 0, 0, .6); z-index: 3; }
[data-theme="graffiti"] .split > .pane + .pane { border-left: 2px solid rgba(255, 255, 255, .08); }
[data-theme="graffiti"] .feed { background: transparent; }
[data-theme="graffiti"] .msg:not(.system) > .m-body { background: rgba(10, 10, 12, .72); border-radius: 10px; padding: 6px 10px; }
[data-theme="graffiti"] .brand { border-bottom-color: rgba(255, 255, 255, .1); }
[data-theme="graffiti"] .brand-name { font: 400 25px/1 var(--font-tag); color: var(--pink); text-shadow: 0 0 12px rgba(255, 46, 151, .55); letter-spacing: .01em; }
[data-theme="graffiti"] .brand-mark { background: var(--lime); color: #111; border: 2px solid #111; box-shadow: 0 0 0 2.5px #fff; border-radius: 50%; transform: rotate(-8deg); font-weight: 800; }
[data-theme="graffiti"] .sb-title { font: 400 14px/1.2 var(--font-spray); color: var(--cyan); letter-spacing: .03em; }
[data-theme="graffiti"] .chat-item.active { background: rgba(255, 46, 151, .16); border-color: var(--pink); box-shadow: 0 0 14px rgba(255, 46, 151, .3); }
[data-theme="graffiti"] .chat-item .ci-icon { background: var(--yellow); color: #111; border-radius: 50%; }
[data-theme="graffiti"] .nav a { font-weight: 600; }
[data-theme="graffiti"] .nav a.active { background: var(--lime); color: #111; clip-path: polygon(0 8%, 100% 0, 98% 92%, 2% 100%); }
[data-theme="graffiti"] .tb-title h1 { font: 400 26px/1.1 var(--font-tag); color: var(--lime); text-shadow: 0 0 10px rgba(182, 255, 46, .45); letter-spacing: .01em; }
[data-theme="graffiti"] .ava .face { box-shadow: 0 0 0 2px #fff; }

/* рубрики колонок: надпись баллончиком + лента «осторожно» */
[data-theme="graffiti"] .pane-head { background: rgba(10, 10, 12, .7); border-bottom: 0; position: relative; height: 46px; color: var(--text-2); }
[data-theme="graffiti"] .pane-head::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: var(--tape); opacity: .9; }
[data-theme="graffiti"] .pane-head > span:first-child, [data-theme="graffiti"] .pane-head > b { font: 400 17px/1 var(--font-spray); color: var(--yellow); }

/* сообщения */
[data-theme="graffiti"] .msg:hover { background: rgba(255, 255, 255, .045); }
[data-theme="graffiti"] .m-author { font-weight: 800; text-transform: uppercase; letter-spacing: .03em; color: color-mix(in srgb, var(--c, var(--cyan)) 55%, #fff); }
[data-theme="graffiti"] .msg.user .m-author { color: var(--lime); }
[data-theme="graffiti"] .msg .m-ava { border-radius: 50%; background: var(--c, var(--violet)); color: #111; border: 2px solid #111; box-shadow: 0 0 0 2px #fff, 2px 3px 0 2px rgba(0, 0, 0, .5); }
[data-theme="graffiti"] .msg.user .m-ava { background: var(--lime); }
/* системное сообщение — листовка, приклеенная скотчем */
[data-theme="graffiti"] .msg.system .m-body { position: relative; background: #F1EEE4; color: #1A1A1A; border: 0; border-radius: 2px; transform: rotate(-.7deg);
  box-shadow: 3px 5px 0 rgba(0, 0, 0, .45); padding: 12px 16px 10px; font-weight: 500; }
[data-theme="graffiti"] .msg.system .m-body::before { content: ""; position: absolute; top: -9px; left: 50%; width: 74px; height: 18px; transform: translateX(-50%) rotate(3deg);
  background: rgba(255, 236, 160, .7); box-shadow: 0 1px 2px rgba(0, 0, 0, .25); }
[data-theme="graffiti"] .msg.system .m-time { color: #555; }
[data-theme="graffiti"] .m-replies { border-radius: 999px; border-color: var(--cyan); color: var(--cyan); }

/* кнопки — стикеры (белая кайма, тень), главные — с подтёками краски */
[data-theme="graffiti"] .btn { position: relative; border: 2px solid #111; background: #F4F4F0; color: #111; border-radius: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; font-size: 12.5px;
  box-shadow: 0 0 0 2.5px #fff, 3px 4px 0 2.5px rgba(0, 0, 0, .55); transform: rotate(-1.2deg); transition: transform .1s, box-shadow .1s, background .15s; }
[data-theme="graffiti"] .btn:nth-child(even) { transform: rotate(1deg); }
[data-theme="graffiti"] .btn:hover { background: var(--yellow); transform: rotate(0) translateY(-1px); box-shadow: 0 0 0 2.5px #fff, 4px 6px 0 2.5px rgba(0, 0, 0, .55); }
[data-theme="graffiti"] .btn:active { transform: translateY(2px); box-shadow: 0 0 0 2.5px #fff, 1px 1px 0 2.5px rgba(0, 0, 0, .55); }
[data-theme="graffiti"] .btn.primary { background: var(--pink); color: #fff; text-shadow: 1px 1px 0 #111; --drip: var(--pink); }
[data-theme="graffiti"] .btn.primary:hover { background: #FF4FAA; filter: none; }
[data-theme="graffiti"] .btn.danger, [data-theme="graffiti"] .btn.stop { background: var(--orange); color: #111; --drip: var(--orange); }
[data-theme="graffiti"] .btn.stop.on { background: var(--lime); --drip: var(--lime); }
[data-theme="graffiti"] .btn.primary::after, [data-theme="graffiti"] .btn.stop::after, [data-theme="graffiti"] .btn.danger::after {
  content: ""; position: absolute; left: 0; right: 0; top: calc(100% + 1px); height: 16px; pointer-events: none; background: linear-gradient(var(--drip), var(--drip)) 14% 0 / 4px 9px no-repeat, radial-gradient(circle, var(--drip) 2.4px, transparent 2.9px) 14% 6px / 6px 6px no-repeat, linear-gradient(var(--drip), var(--drip)) 41% 0 / 3px 5px no-repeat, radial-gradient(circle, var(--drip) 2px, transparent 2.5px) 41% 2px / 5px 5px no-repeat, linear-gradient(var(--drip), var(--drip)) 67% 0 / 5px 13px no-repeat, radial-gradient(circle, var(--drip) 3px, transparent 3.5px) 67% 10px / 7px 7px no-repeat, linear-gradient(var(--drip), var(--drip)) 90% 0 / 3px 7px no-repeat, radial-gradient(circle, var(--drip) 2px, transparent 2.5px) 90% 4px / 5px 5px no-repeat; }
[data-theme="graffiti"] .btn.ghost { background: transparent; border-color: transparent; box-shadow: none; color: var(--text-2); transform: none; }
[data-theme="graffiti"] .btn.ghost:hover { background: var(--cyan); color: #111; border-color: #111; box-shadow: 0 0 0 2.5px #fff, 3px 4px 0 2.5px rgba(0, 0, 0, .55); }
[data-theme="graffiti"] .btn.mic { color: var(--cyan); }
[data-theme="graffiti"] .btn.mic.rec { background: var(--pink); color: #fff; border-color: #111; box-shadow: 0 0 0 2.5px #fff, 0 0 18px rgba(255, 46, 151, .7); }
[data-theme="graffiti"] .btn:disabled { opacity: .55; }
[data-theme="graffiti"] .rec-bar { --wave: var(--pink); }

/* чипы — маленькие стикеры */
[data-theme="graffiti"] .chip { border-radius: 5px; font-weight: 800; text-transform: uppercase; font-size: 10.5px; letter-spacing: .04em; color: #111 !important; background: #F4F4F0 !important;
  border: 1.5px solid #111; box-shadow: 0 0 0 1.5px #fff; transform: rotate(-2deg); }
[data-theme="graffiti"] .chip.accent { background: var(--pink) !important; color: #fff !important; }
[data-theme="graffiti"] .chip.ok { background: var(--lime) !important; }
[data-theme="graffiti"] .chip.warn { background: var(--yellow) !important; }
[data-theme="graffiti"] .chip.err { background: var(--orange) !important; }
[data-theme="graffiti"] .chip.info { background: var(--cyan) !important; }

/* поле ввода — табличка на стене */
[data-theme="graffiti"] .composer { background: rgba(10, 10, 12, .72); border-top: 0; }
[data-theme="graffiti"] .composer-box { background: rgba(0, 0, 0, .6); border: 2px solid rgba(255, 255, 255, .85); border-radius: 16px 6px 18px 8px; }
[data-theme="graffiti"] .composer-box:focus-within { border-color: var(--pink); box-shadow: 0 0 0 3px rgba(255, 46, 151, .25), 0 0 22px rgba(255, 46, 151, .35); }
[data-theme="graffiti"] .input, [data-theme="graffiti"] .select { background: rgba(0, 0, 0, .55); border: 2px solid rgba(255, 255, 255, .7); }
[data-theme="graffiti"] .input:focus { border-color: var(--lime); box-shadow: 0 0 14px rgba(182, 255, 46, .35); }

/* код, план, карточки */
[data-theme="graffiti"] .code { border: 2px solid #111; box-shadow: 0 0 0 2px rgba(255, 255, 255, .85), 6px 8px 0 rgba(0, 0, 0, .5); }
[data-theme="graffiti"] .code-head { font-weight: 700; }
[data-theme="graffiti"] .code-head .lang { background: #111; color: var(--yellow); }
[data-theme="graffiti"] .plan, [data-theme="graffiti"] .card, [data-theme="graffiti"] .tile, [data-theme="graffiti"] .kcol { border: 2px solid rgba(255, 255, 255, .25); background: rgba(14, 14, 17, .88); }
[data-theme="graffiti"] .plan-head { background: transparent; border-bottom: 0; position: relative; padding-bottom: 14px; }
[data-theme="graffiti"] .plan-head::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: var(--tape); }
[data-theme="graffiti"] .menu, [data-theme="graffiti"] .ac, [data-theme="graffiti"] .modal, [data-theme="graffiti"] .toast, [data-theme="graffiti"] .sel-pop, [data-theme="graffiti"] .cv-selbar {
  border: 2px solid var(--lime) !important; box-shadow: 6px 8px 0 rgba(0, 0, 0, .6), 0 0 24px rgba(182, 255, 46, .15) !important; }
[data-theme="graffiti"] .menu .mh { font: 400 13px/1.4 var(--font-spray); color: var(--yellow); }
[data-theme="graffiti"] .menu button:hover, [data-theme="graffiti"] .menu a:hover { background: var(--pink); color: #fff; }
[data-theme="graffiti"] .toast { border-left: 6px solid var(--pink); }

/* ================================================================
   STREET ART (по макету Google Stitch): ночной город, неоновые рамки, панели-«таблички»,
   моноширинный шрифт терминала, неоновые штампы и градиентная кнопка-баллончик.
   ================================================================ */
[data-theme="street"] {
  color-scheme: dark;
  --n-pink: #FF2E88; --n-cyan: #19E3F5; --n-green: #39FF6A; --n-yellow: #FFE81A; --n-orange: #FF7A1A; --n-violet: #A15CFF;
  --bg: #06080C;
  --bg-image: radial-gradient(700px 500px at 0% 100%, rgba(25, 227, 245, .12), transparent 70%),
              radial-gradient(700px 500px at 100% 0%, rgba(255, 46, 136, .12), transparent 70%),
              repeating-linear-gradient(0deg, rgba(255, 255, 255, .018) 0 1px, transparent 1px 3px);
  --surface: #0C1117; --surface-2: #111821; --surface-3: #1A2430;
  --overlay: rgba(3, 5, 8, .7);
  --glass-blur: none;
  --text: #EAF2F8; --text-2: #9FB0BF; --text-3: #66788A;
  --border: rgba(160, 200, 230, .16); --border-strong: rgba(160, 200, 230, .32);
  --accent: #FF2E88; --accent-2: #19E3F5; --accent-ink: #FFFFFF; --accent-soft: rgba(255, 46, 136, .16);
  --ok: #39FF6A; --warn: #FFE81A; --err: #FF3B5C; --info: #19E3F5;
  --radius-lg: 18px; --radius: 12px; --radius-sm: 8px;
  --shadow: 0 10px 30px rgba(0, 0, 0, .5); --shadow-pop: 0 20px 50px rgba(0, 0, 0, .7);
  --font-ui: "JetBrains Mono", "Cascadia Code", Consolas, monospace;
  --font-head: "Rubik", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", monospace;
  --code-bg: #080B10; --code-head: #0F151D; --code-text: #EAF2F8; --code-gutter: #4A5A6B; --code-sel: rgba(25, 227, 245, .12);
  --tk-keyword: #FF2E88; --tk-string: #39FF6A; --tk-number: #FF7A1A; --tk-comment: #5E7082; --tk-func: #FFE81A;
  --tk-type: #19E3F5; --tk-attr: #19E3F5; --tk-meta: #FF2E88; --tk-builtin: #A15CFF; --tk-var: #EAF2F8;
  --pop-bg: #0B1016;
  --glow-pink: 0 0 0 1px rgba(255, 46, 136, .5), 0 0 16px rgba(255, 46, 136, .35);
  --glow-cyan: 0 0 0 1px rgba(25, 227, 245, .5), 0 0 16px rgba(25, 227, 245, .3);
}
[data-theme="street"] body { font-size: 13px; }
[data-theme="street"] .scroll { scrollbar-color: #2A3A4A transparent; }
/* панели — отдельные неоновые таблички с зазорами */
[data-theme="street"] .app { padding: 10px; gap: 10px; height: 100dvh; }
[data-theme="street"] .sidebar { border: 1.5px solid var(--border-strong); border-radius: var(--radius-lg); background: rgba(12, 17, 23, .94); overflow: hidden; }
[data-theme="street"] .main { gap: 10px; }
[data-theme="street"] .topbar { border: 1.5px solid var(--border-strong); border-radius: var(--radius-lg); background: rgba(12, 17, 23, .94); min-height: 76px; }
[data-theme="street"] .split { gap: 10px; }
[data-theme="street"] .split > .pane { border: 1.5px solid var(--border-strong); border-radius: var(--radius-lg); background: rgba(12, 17, 23, .94); overflow: hidden; }
[data-theme="street"] .split > .pane + .pane { border-left: 1.5px solid var(--border-strong); }
[data-theme="street"] .brand { height: auto; margin: 10px; padding: 14px 10px; border: 2px solid var(--n-pink); border-radius: 12px; box-shadow: var(--glow-pink); flex-direction: column; justify-content: center; position: relative; background: radial-gradient(circle at 50% 40%, rgba(255, 46, 136, .18), transparent 70%); }
[data-theme="street"] .brand .sb-toggle, [data-theme="street"] .brand .only-mobile { position: absolute; top: 4px; right: 4px; }
[data-theme="street"] .brand-mark { display: none; }
[data-theme="street"] .brand-name { font: 400 30px/1 "Rubik Glitch", "Rubik", sans-serif; color: #FF6FB0; text-shadow: 0 0 6px #FF2E88, 0 0 18px #FF2E88, 0 0 34px rgba(255, 46, 136, .6); letter-spacing: .02em; text-transform: uppercase; }
[data-theme="street"] .sb-collapsed .brand { margin: 6px; padding: 8px 2px; }
[data-theme="street"] .sb-collapsed .brand-name { font-size: 14px; }
[data-theme="street"] .sb-title { margin: 4px 10px 8px; padding: 6px 10px; background: var(--n-yellow); color: #111; border-radius: 6px; font: 800 12px/1.2 var(--font-head); text-transform: uppercase; box-shadow: 0 0 14px rgba(255, 232, 26, .35); }
[data-theme="street"] .sb-title .btn { color: #111; }
[data-theme="street"] .chat-item { border: 1.5px solid var(--border); background: rgba(255, 255, 255, .02); margin-bottom: 6px; }
[data-theme="street"] .chat-item.active { border-color: var(--n-pink); background: rgba(255, 46, 136, .08); box-shadow: var(--glow-pink); }
[data-theme="street"] .chat-item .ci-name { font: 800 13px/1.3 var(--font-head); text-transform: uppercase; }
[data-theme="street"] .chat-item .ci-icon { background: transparent; border: 1.5px solid var(--n-cyan); color: var(--n-cyan); }
[data-theme="street"] .nav a { text-transform: uppercase; font-size: 12px; }
[data-theme="street"] .nav a .ni { filter: saturate(1.6); }
[data-theme="street"] .nav a.active { background: rgba(25, 227, 245, .1); color: var(--n-cyan); box-shadow: inset 3px 0 0 var(--n-cyan); }
[data-theme="street"] .me { margin: 10px; border: 1.5px solid var(--border-strong); border-radius: 12px; }
[data-theme="street"] .me .m-ava { background: transparent !important; border: 2px solid var(--n-pink); color: var(--n-pink); box-shadow: 0 0 10px rgba(255, 46, 136, .5); }
[data-theme="street"] .me-text .dim { color: var(--n-green); }
[data-theme="street"] .tb-title h1 { font: italic 800 26px/1.1 var(--font-head); text-transform: uppercase; color: #fff; text-shadow: 0 0 10px rgba(25, 227, 245, .7); display: flex; align-items: center; gap: 10px; }
[data-theme="street"] .tb-title h1[data-issue]::after { content: "Выпуск №" attr(data-issue); font: italic 800 11px/1 var(--font-head); color: #111; background: var(--n-yellow); padding: 4px 7px; border-radius: 4px; transform: rotate(-3deg); text-shadow: none; }
[data-theme="street"] .team { border: 1.5px solid var(--border); border-radius: 12px; padding: 6px 10px; background: rgba(0, 0, 0, .25); }
[data-theme="street"] .ava .face { box-shadow: 0 0 0 1.5px var(--c, var(--n-cyan)), 0 0 10px color-mix(in srgb, var(--c, #19E3F5) 60%, transparent); }

/* рубрики колонок — неоновые плашки */
[data-theme="street"] .pane-head { border-bottom: 2px solid var(--n-green); font: 800 12px/1 var(--font-head); text-transform: uppercase; height: 44px; }
[data-theme="street"] .pane-dialog > .pane-head { border-bottom-color: var(--n-green); }
[data-theme="street"] .pane-dialog > .pane-head > .ph-title { background: var(--n-green); color: #061008; padding: 5px 8px; border-radius: 4px; }
[data-theme="street"] .pane-code > .pane-head, [data-theme="street"] .pane-thread > .pane-head { border-bottom-color: var(--n-cyan); }
[data-theme="street"] .pane-head .hint { color: var(--n-cyan); text-transform: none; font-family: var(--font-mono); }

/* сообщения — карточки с цветной рамкой автора */
[data-theme="street"] .feed { gap: 10px; }
[data-theme="street"] .msg { padding: 0; }
[data-theme="street"] .msg:hover { background: transparent; }
[data-theme="street"] .msg:not(.system) > .m-body { border: 1.5px solid color-mix(in srgb, var(--c, #19E3F5) 55%, transparent); border-radius: 12px; padding: 10px 14px; background: rgba(255, 255, 255, .02); }
[data-theme="street"] .msg:not(.system):hover > .m-body { box-shadow: 0 0 14px color-mix(in srgb, var(--c, #19E3F5) 30%, transparent); }
[data-theme="street"] .msg.user > .m-body { --c: #FF2E88; }
[data-theme="street"] .m-author { font: 800 12.5px/1.2 var(--font-head); text-transform: uppercase; color: color-mix(in srgb, var(--c, #19E3F5) 70%, #fff); }
[data-theme="street"] .msg .m-ava { border-radius: 50%; background: var(--c, var(--n-cyan)); color: #061008; font-family: var(--font-head); font-weight: 800; box-shadow: 0 0 12px color-mix(in srgb, var(--c, #19E3F5) 60%, transparent); }
[data-theme="street"] .msg.system .m-body { position: relative; border: 2px dashed var(--n-yellow); border-radius: 8px; background: rgba(255, 232, 26, .05); color: var(--text); font-weight: 700; width: 100%; margin-bottom: 10px; }
[data-theme="street"] .msg.system .m-body::before { content: "Депеша"; background: var(--n-yellow); color: #111; font: 800 10px/1 var(--font-head); text-transform: uppercase; padding: 4px 6px; border-radius: 3px; margin-right: 8px; display: inline-block; }
[data-theme="street"] .msg.system .m-body::after { content: ""; position: absolute; left: 22px; top: 100%; width: 90px; height: 10px; pointer-events: none;
  background: linear-gradient(var(--n-pink), var(--n-pink)) 0 0 / 5px 9px no-repeat, linear-gradient(var(--n-pink), var(--n-pink)) 30% 0 / 5px 6px no-repeat, linear-gradient(var(--n-pink), var(--n-pink)) 52% 0 / 4px 8px no-repeat, linear-gradient(var(--n-pink), var(--n-pink)) 88% 0 / 6px 10px no-repeat; }

/* план и статусы — неоновые штампы */
[data-theme="street"] .plan { border: 1.5px solid var(--border-strong); border-radius: 12px; background: rgba(255, 255, 255, .02); }
[data-theme="street"] .plan-head { background: transparent; font: 800 14px/1.2 var(--font-head); text-transform: uppercase; }
[data-theme="street"] .plan-head::before { content: ""; width: 10px; height: 10px; background: var(--n-pink); border-radius: 2px; box-shadow: 0 0 8px var(--n-pink); flex: none; }
[data-theme="street"] .chip { border-radius: 3px; background: transparent !important; border: 2px solid currentColor; font: 800 10.5px/1.5 var(--font-head); text-transform: uppercase; transform: rotate(-2deg); box-shadow: 0 0 8px color-mix(in srgb, currentColor 40%, transparent); }
[data-theme="street"] .chip.ok { color: var(--n-green); }
[data-theme="street"] .chip.info, [data-theme="street"] .chip.accent { color: var(--n-cyan); }
[data-theme="street"] .chip.warn { color: var(--n-orange); }
[data-theme="street"] .chip.err { color: var(--n-pink); }

/* код */
[data-theme="street"] .code { border: 1.5px solid var(--border-strong); border-radius: 12px; }
[data-theme="street"] .code-head { font-weight: 800; color: #fff; }
[data-theme="street"] .code-head .lang { background: var(--n-yellow); color: #111; font-weight: 800; text-transform: uppercase; }

/* кнопки: тёмные с обводкой; главная — градиент баллончика с белой рамкой */
[data-theme="street"] .btn { border: 1.5px solid var(--border-strong); background: #141C26; color: var(--text); font-weight: 700; text-transform: uppercase; font-size: 11.5px; letter-spacing: .04em; border-radius: 6px; }
[data-theme="street"] .btn:hover { border-color: var(--n-cyan); color: var(--n-cyan); box-shadow: var(--glow-cyan); background: #141C26; }
[data-theme="street"] .btn.primary { border: 2px solid #fff; background: linear-gradient(90deg, #FF7A1A, #FF2E88); color: #fff; font: italic 800 13px/1 var(--font-head); border-radius: 8px; box-shadow: 0 0 18px rgba(255, 46, 136, .5); transform: rotate(-1deg); }
[data-theme="street"] .btn.primary:hover { color: #fff; filter: brightness(1.1); box-shadow: 0 0 26px rgba(255, 46, 136, .7); }
[data-theme="street"] .composer .btn.primary::after { content: " ➔"; margin-left: 4px; }
[data-theme="street"] .btn.stop { border: 2px solid #fff; background: linear-gradient(180deg, #FF4D6D, #E0144C); color: #fff; font: italic 800 14px/1 var(--font-head); border-radius: 8px; box-shadow: 0 0 20px rgba(255, 59, 92, .6); transform: rotate(-2deg); padding: 0 18px; }
[data-theme="street"] .btn.stop.on { background: linear-gradient(180deg, #4DFF8A, #16C455); color: #061008; }
[data-theme="street"] .btn.ghost { background: transparent; border-color: transparent; }
[data-theme="street"] .btn.ghost:hover { border-color: var(--n-cyan); }
[data-theme="street"] .btn.mic { color: var(--n-cyan); }
[data-theme="street"] .btn.mic.rec { background: var(--n-pink); color: #fff; border-color: #fff; }

/* поле ввода — «купон» в неоне */
[data-theme="street"] .composer { background: transparent; border-top: 0; padding-top: 18px; }
[data-theme="street"] .composer-box { position: relative; border: 1.5px dashed rgba(255, 255, 255, .3); background: #0A0F14; border-radius: 10px; }
[data-theme="street"] .composer-box::before { content: "✂ Линия отреза купона"; position: absolute; top: -9px; left: 12px; padding: 0 6px; background: #0C1117; color: var(--n-yellow); font: 700 10px/1.6 var(--font-mono); text-transform: uppercase; letter-spacing: .06em; }
[data-theme="street"] .composer-box:focus-within { border-color: var(--n-cyan); box-shadow: var(--glow-cyan); }
[data-theme="street"] .input, [data-theme="street"] .select { background: #0A0F14; border: 1.5px solid var(--border-strong); }
[data-theme="street"] .input:focus { border-color: var(--n-cyan); box-shadow: var(--glow-cyan); }

/* меню «Меню вырезки» — жёлтая неоновая рамка */
[data-theme="street"] .menu, [data-theme="street"] .ac, [data-theme="street"] .sel-pop, [data-theme="street"] .cv-selbar { border: 2px solid var(--n-yellow) !important; box-shadow: 0 0 22px rgba(255, 232, 26, .3), 0 16px 40px rgba(0, 0, 0, .7) !important; backdrop-filter: none; }
[data-theme="street"] .modal, [data-theme="street"] .toast { border: 1.5px solid var(--n-cyan) !important; box-shadow: var(--glow-cyan), var(--shadow-pop) !important; }
[data-theme="street"] .menu .mh { background: var(--n-yellow); color: #111; font: 800 10.5px/1.6 var(--font-head); text-transform: uppercase; border-radius: 4px; margin-bottom: 4px; }
[data-theme="street"] .menu button, [data-theme="street"] .menu a { text-transform: uppercase; font-size: 12px; font-weight: 700; }
[data-theme="street"] .menu button:hover, [data-theme="street"] .menu a:hover { background: rgba(255, 232, 26, .12); color: var(--n-yellow); }
[data-theme="street"] .resizer { background: transparent; }
@media (max-width: 860px) {
  [data-theme="street"] .app { padding: 0; gap: 0; }
  [data-theme="street"] .main { gap: 0; }
  [data-theme="street"] .topbar, [data-theme="street"] .split > .pane { border-radius: 0; border-width: 0 0 1.5px; }
  [data-theme="street"] .split { gap: 0; }
}
[data-theme="gazeta"] .brand > .sp { display: none; }
[data-theme="gazeta"] .brand > .btn { position: absolute; top: 6px; right: 6px; }
[data-theme="gazeta"] .masthead { padding: 0 22px; }

/* темы со слоями фона, у которых есть размер/позиция: задаём полным свойством background */
[data-theme="gazeta"] body, [data-theme="graffiti"] body, [data-theme="bauhaus"] body { background: var(--bg-image), var(--bg); background-attachment: fixed; }
