/* Page theme «Матрица» (Robert, 6 Oct 2026 — TEST variant; switch «Матрица ⇄ Светлая» in the top bar).
   The whole main page is dark with the digital rain (canvas #page-matrix, fixed behind the content); light text,
   translucent dark cards with a thin green border, accent #7cc49a (palette: --mx-accent, --mx-card). The «Сеть агентов · Глаз» block keeps its own look.
   The platform logo is never hidden or recoloured here (AGENTS.md). */
/* ---- Generated from the light styles (light backgrounds → dark card; dark text → the same hue, lightened to ≥ 4.5:1). ---- */
html[data-page-theme=matrix] .video-card,html[data-page-theme=matrix] .remove:hover:not(:disabled),html[data-page-theme=matrix] input,html[data-page-theme=matrix] select,html[data-page-theme=matrix] .add-button,html[data-page-theme=matrix] .add-button:hover:not(:disabled),html[data-page-theme=matrix] .policy,html[data-page-theme=matrix] .saved-batch,html[data-page-theme=matrix] .activity,html[data-page-theme=matrix] progress,html[data-page-theme=matrix] .remove-variant,html[data-page-theme=matrix] .remove-variant:hover:not(:disabled),html[data-page-theme=matrix] .add-variant,html[data-page-theme=matrix] .add-variant:hover:not(:disabled),html[data-page-theme=matrix] .result-controls button,html[data-page-theme=matrix] .result-player button,html[data-page-theme=matrix] .result-player,html[data-page-theme=matrix] .chat-messages,html[data-page-theme=matrix] .chat-form textarea,html[data-page-theme=matrix] .chat-model-form select,html[data-page-theme=matrix] .chat-model-form button,html[data-page-theme=matrix] .chat-attached button,html[data-page-theme=matrix] #chat-attached button,html[data-page-theme=matrix] .chat-attach-button,html[data-page-theme=matrix] .chat-file-card,html[data-page-theme=matrix] .chat-attach-menu button:not(:disabled):hover,html[data-page-theme=matrix] .chat-attach-menu button:not(:disabled):focus-visible,html[data-page-theme=matrix] .chat-session-controls select,html[data-page-theme=matrix] .chat-session-controls button,html[data-page-theme=matrix] .chat-engine-badge,html[data-page-theme=matrix] #chat-stop,html[data-page-theme=matrix] #chat-providers label,html[data-page-theme=matrix] .channel-section,html[data-page-theme=matrix] .channel-tasks-link button,html[data-page-theme=matrix] .dubbing-stats,html[data-page-theme=matrix] .dubbing-stat--ready .dubbing-stat-badge,html[data-page-theme=matrix] .dubbing-stat--running .dubbing-stat-badge,html[data-page-theme=matrix] .dubbing-stat--blocked .dubbing-stat-badge,html[data-page-theme=matrix] .dubbing-stat--failed .dubbing-stat-badge,html[data-page-theme=matrix] #chat-questions,html[data-page-theme=matrix] #provider-connect-panel button,html[data-page-theme=matrix] #claude-subscription-panel button,html[data-page-theme=matrix] #chat-permissions,html[data-page-theme=matrix] .chat-permission button,html[data-page-theme=matrix] .chat-form .chat-compose,html[data-page-theme=matrix] .topbar-button,html[data-page-theme=matrix] .mode-cards button,html[data-page-theme=matrix] .chat-nav li button:hover,html[data-page-theme=matrix] .chat-nav li button.active,html[data-page-theme=matrix] #chat-rename-form button,html[data-page-theme=matrix] .chat-delete:hover,html[data-page-theme=matrix] #chat-header-icon,html[data-page-theme=matrix] .chat-drawer-tabs button,html[data-page-theme=matrix] .chat-view section button,html[data-page-theme=matrix] .chat-delete-dialog,html[data-page-theme=matrix] .chat-delete-dialog button,html[data-page-theme=matrix] #chat-new-agent,html[data-page-theme=matrix] #chat-new-subagent,html[data-page-theme=matrix] #chat-subagent-form,html[data-page-theme=matrix] #chat-subagent-form input,html[data-page-theme=matrix] #chat-subagent-form select,html[data-page-theme=matrix] #chat-subagent-form button,html[data-page-theme=matrix] #chat-agent-message-form select,html[data-page-theme=matrix] #chat-agent-message-form textarea,html[data-page-theme=matrix] #chat-agent-message-form button,html[data-page-theme=matrix] .workspace-tabs button,html[data-page-theme=matrix] #vps-refresh,html[data-page-theme=matrix] #vps-panel,html[data-page-theme=matrix] .vps-graphs svg,html[data-page-theme=matrix] .tasks-filter button,html[data-page-theme=matrix] .task-card,html[data-page-theme=matrix] .task-badge.status.preparing,html[data-page-theme=matrix] .task-badge.status.running,html[data-page-theme=matrix] .task-badge.status.blocked,html[data-page-theme=matrix] .task-badge.status.completed,html[data-page-theme=matrix] .task-badge.stale-warn,html[data-page-theme=matrix] .task-badge.stale-critical,html[data-page-theme=matrix] .task-result,html[data-page-theme=matrix] .task-blocker{background-color:var(--mx-card,#16231c) !important;background-image:none !important;border-color:color-mix(in srgb,var(--mx-accent,var(--mx-accent,#7cc49a)) 28%,transparent) !important}
html[data-page-theme=matrix] .catalog-status.error{color:#c38985 !important}
html[data-page-theme=matrix] .remove:hover:not(:disabled){color:#c4887f !important}
html[data-page-theme=matrix] .message.error{color:#c38985 !important}
html[data-page-theme=matrix] .policy p{color:#d5e6dc !important}
html[data-page-theme=matrix] .policy strong{color:#d5e6dc !important}
html[data-page-theme=matrix] .policy ul{color:#d5e6dc !important}
html[data-page-theme=matrix] .preserve{color:#d5e6dc !important}
html[data-page-theme=matrix] .saved-batch .badge{color:#b4976c !important}
html[data-page-theme=matrix] .status-badge{color:#d5e6dc !important}
html[data-page-theme=matrix] .status-badge.running{color:#d5e6dc !important}
html[data-page-theme=matrix] .status-badge.completed{color:#86a37a !important}
html[data-page-theme=matrix] .status-badge.failed,html[data-page-theme=matrix] .status-badge.blocked{color:#c3907d !important}
html[data-page-theme=matrix] .remove-variant:hover:not(:disabled){color:#c4887f !important}
html[data-page-theme=matrix] .chat-status.error{color:#c38985 !important}
html[data-page-theme=matrix] .chat-inline-image figcaption{color:#d5e6dc !important}
html[data-page-theme=matrix] .chat-md blockquote{color:#d5e6dc !important}
html[data-page-theme=matrix] .chat-engine-badge{color:#a28fc5 !important}
html[data-page-theme=matrix] #chat-stop{color:#c8857e !important}
html[data-page-theme=matrix] .channel-video .error{color:#c38985 !important}
html[data-page-theme=matrix] .dubbing-stat--ready .dubbing-stat-badge{color:#78a68b !important}
html[data-page-theme=matrix] .dubbing-stat--running .dubbing-stat-badge{color:#af995c !important}
html[data-page-theme=matrix] .dubbing-stat--blocked .dubbing-stat-badge,html[data-page-theme=matrix] .dubbing-stat--failed .dubbing-stat-badge{color:#c38985 !important}
html[data-page-theme=matrix] .dubbing-stat-blocker{color:#c38985 !important}
html[data-page-theme=matrix] .chat-delete:hover{color:#c38985 !important}
html[data-page-theme=matrix] .chat-delete-error{color:#c38985 !important}
html[data-page-theme=matrix] .chat-delete-dialog [role=alert]{color:#c38985 !important}
html[data-page-theme=matrix] #chat-subagent-status{color:#c38985 !important}
html[data-page-theme=matrix] #room-status{color:#c38985 !important}
html[data-page-theme=matrix] .large-upload .large-head button{color:#d5e6dc !important}
html[data-page-theme=matrix] .large-upload .large-head #large-cancel{color:#d78279 !important}
html[data-page-theme=matrix] .large-upload.done .large-state{color:#d5e6dc !important}
html[data-page-theme=matrix] .large-upload.failed .large-state{color:#d78279 !important}
html[data-page-theme=matrix] .large-upload .large-resume{color:#d5e6dc !important}
html[data-page-theme=matrix] .large-mini{color:#d5e6dc !important}
html[data-page-theme=matrix] .chat-header .large-mini{color:#d5e6dc !important}
html[data-page-theme=matrix] #push-enable[data-on="true"]{color:#d5e6dc !important}
html[data-page-theme=matrix] .gen-panel.failed #chat-gen-status{color:#d78279 !important}
html[data-page-theme=matrix] .gen-panel .gen-service-reason{color:#bf8a72 !important}
html[data-page-theme=matrix] .task-badge.status.preparing{color:#d5e6dc !important}
html[data-page-theme=matrix] .task-badge.status.running{color:#d5e6dc !important}
html[data-page-theme=matrix] .task-badge.status.blocked{color:#b79154 !important}
html[data-page-theme=matrix] .task-badge.status.completed{color:#d5e6dc !important}
html[data-page-theme=matrix] .task-result{color:#d5e6dc !important}
html[data-page-theme=matrix] .task-blocker{color:#b79154 !important}
html[data-page-theme=matrix] .task-badge.stale-warn{color:#b79154 !important}
html[data-page-theme=matrix] .task-badge.stale-critical{color:#d98a8a !important}
html[data-page-theme=matrix] .link-card.down small{color:#d78279 !important}
#page-matrix{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;display:block}
#page-matrix[hidden],html[data-page-theme=light] #page-matrix{display:none}
html[data-page-theme=matrix]{
  color-scheme:dark;background:#0b120e;
  --paper:var(--mx-card2,#0f1a15) !important;--ink:#e6f2ea !important;--muted:#a9c4b4 !important;--line:color-mix(in srgb,var(--mx-accent,var(--mx-accent,#7cc49a)) 28%,transparent) !important;
  --green:var(--mx-accent,#7cc49a) !important;--accent-ink:#0b120e !important;--surface:var(--mx-card,#16231c) !important;--soft:var(--mx-card,#16231c) !important;
  --card:rgba(16,27,22,.86);
}
html[data-page-theme=matrix] body{background:transparent !important;color:var(--ink)}
html[data-page-theme=matrix] .topbar{background:rgba(11,18,14,.88);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom-color:color-mix(in srgb,var(--mx-accent,var(--mx-accent,#7cc49a)) 25%,transparent)}
html[data-page-theme=matrix] .topbar .tag,html[data-page-theme=matrix] .private-label{color:#a9c4b4}
html[data-page-theme=matrix] .topbar-button,html[data-page-theme=matrix] .chat-open{background:rgba(16,27,22,.9);color:#e6f2ea;border-color:color-mix(in srgb,var(--mx-accent,var(--mx-accent,#7cc49a)) 35%,transparent)}
html[data-page-theme=matrix] h1,html[data-page-theme=matrix] h2,html[data-page-theme=matrix] h3,html[data-page-theme=matrix] .eyebrow{color:#eef7f1}
html[data-page-theme=matrix] h1 em,html[data-page-theme=matrix] h1 span,html[data-page-theme=matrix] .accent{color:var(--mx-accent,#7cc49a)}
html[data-page-theme=matrix] p,html[data-page-theme=matrix] li,html[data-page-theme=matrix] label{color:#d5e6dc}
html[data-page-theme=matrix] a{color:#8fd6ab}
/* Cards: translucent dark with a light green border (text contrast stays ≥ 4.5:1 on them). */
html[data-page-theme=matrix] :is(.video-card,.policy,.editor,.activity,.connection-note,.login-panel form){
  background:var(--card) !important;border:1px solid color-mix(in srgb,var(--mx-accent,var(--mx-accent,#7cc49a)) 28%,transparent) !important;color:#e6f2ea;box-shadow:0 6px 24px #0007}
html[data-page-theme=matrix] .policy .preserve{background:color-mix(in srgb,var(--mx-accent,#7cc49a) 12%,transparent);color:#e6f2ea}
html[data-page-theme=matrix] .fine-print,html[data-page-theme=matrix] .muted,html[data-page-theme=matrix] small{color:#a9c4b4}
html[data-page-theme=matrix] :is(input,textarea,select){background:rgba(8,14,11,.92) !important;color:#e6f2ea !important;border-color:color-mix(in srgb,var(--mx-accent,var(--mx-accent,#7cc49a)) 35%,transparent) !important}
html[data-page-theme=matrix] ::placeholder{color:#8aa596}
html[data-page-theme=matrix] .primary{background:var(--mx-accent,#7cc49a) !important;color:#0b120e !important;border-color:var(--mx-accent,#7cc49a) !important}
/* Chat window: solid dark (long reading). */
html[data-page-theme=matrix] .chat-dialog{background:var(--mx-card2,#0f1a15);color:#e6f2ea}
/* The eye block keeps its own colours. */
html[data-page-theme=matrix] .agent-tree{background:#010703}
/* Theme switch next to the logo / title. */
.page-theme-toggle{white-space:nowrap}
html[data-page-theme=matrix] .page-theme-toggle{border-color:var(--mx-accent,#7cc49a);color:var(--mx-accent,#7cc49a)}
/* A dark halo around text over the rain: readable even where a bright drop passes behind a letter. */
html[data-page-theme=matrix] main :is(h1,h2,h3,p,li,.eyebrow):not(.agent-tree *),html[data-page-theme=matrix] footer{text-shadow:0 0 3px #0b120e,0 0 8px #0b120e}
/* Attachment cards in the chat: dark too (the light card made the light caption unreadable). */
html[data-page-theme=matrix] .chat-file-card{background:var(--mx-card,#16231c) !important;border-color:color-mix(in srgb,var(--mx-accent,var(--mx-accent,#7cc49a)) 28%,transparent) !important;color:#e6f2ea}
html[data-page-theme=matrix] .chat-file-card p{color:#c9dccf}
/* Filled accent links/buttons: dark text on the mint accent. */
html[data-page-theme=matrix] .link-actions a{background:var(--mx-accent,#7cc49a);color:#0b120e}
/* Side panels (Озвучка, CPU, Задачи, Ссылки) and the chat drawer: solid dark, nothing shows through. */
html[data-page-theme=matrix] :is(.side-drawer,#chat-drawer){background:var(--mx-card2,#0f1a15) !important;color:#e6f2ea;border-color:color-mix(in srgb,var(--mx-accent,var(--mx-accent,#7cc49a)) 28%,transparent) !important}

/* Selected drawer tab stays readable in the matrix theme (was dark text on dark card). */
html[data-page-theme=matrix] #chat-drawer .chat-drawer-tabs button[aria-selected=true]{background-color:var(--mx-accent,#7cc49a) !important;color:#0b120e !important;border-color:var(--mx-accent,#7cc49a) !important}

/* «Светлая Матрица»: pale background with dark-green rain; cards stay near-opaque so text keeps AA contrast.
   Status colours (red/green/yellow) come from the base light styles untouched; the seal is not styled here. */
html[data-page-theme=lightmatrix]{--ink:#10261a;--muted:#46594d;--line:#b9d3c3;--green:#1f6b45;--soft:#e4efe8;--paper:#f6faf7;--mx-accent:#1f6b45;color-scheme:light;background:#eef5f0}
html[data-page-theme=lightmatrix] body{background:transparent !important;color:var(--ink)}
html[data-page-theme=lightmatrix] .topbar{background:rgba(238,245,240,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid #9cc2ab}
html[data-page-theme=lightmatrix] :is(.video-card,.policy,.editor,.activity,.connection-note,.login-panel form){background:rgba(250,252,250,.94);border:1px solid #9cc2ab;box-shadow:0 1px 0 rgba(31,107,69,.12)}
html[data-page-theme=lightmatrix] a{color:#17583a}
html[data-page-theme=lightmatrix] :is(input,textarea,select){background:#fff;color:var(--ink);border-color:#8fb89f}
html[data-page-theme=lightmatrix] ::placeholder{color:#5a6d61}
html[data-page-theme=lightmatrix] :is(.fine-print,.muted){color:#46594d}

/* «Светлая Матрица» и «Светлая»: the eye panel goes light too (dark-green on pale); bulb status colours (red/green/yellow) stay. */
html[data-page-theme=lightmatrix] .agent-tree,html[data-page-theme=light] .agent-tree{--eye-base:#ecf4ee !important;background:#ecf4ee !important;border-color:#7fae92;box-shadow:inset 0 0 40px rgba(31,107,69,.10),0 1px 6px rgba(31,107,69,.18)}
html[data-page-theme=lightmatrix] .tree-title,html[data-page-theme=light] .tree-title{color:#17583a;text-shadow:none}
html[data-page-theme=lightmatrix] .tree-counters,html[data-page-theme=light] .tree-counters{color:#10261a}
html[data-page-theme=lightmatrix] .tree-counters .green,html[data-page-theme=light] .tree-counters .green{color:#17673f}
html[data-page-theme=lightmatrix] .tree-counters .red,html[data-page-theme=light] .tree-counters .red{color:#b3261e}
html[data-page-theme=lightmatrix] #agent-tree-status,html[data-page-theme=light] #agent-tree-status{color:#34493c}
html[data-page-theme=lightmatrix] .agent-tree,html[data-page-theme=light] .agent-tree{--area-youtube:#0a6fa3;--area-web:#6d3bb8;--area-vps2:#a85f00;--area-social:#b8286f}
html[data-page-theme=lightmatrix] .eye-area-chip,html[data-page-theme=light] .eye-area-chip{color:#10261a;background:rgba(255,255,255,.85)}
html[data-page-theme=lightmatrix] .agent-tree .eye-area-chain,html[data-page-theme=light] .agent-tree .eye-area-chain,html[data-page-theme=lightmatrix] .agent-tree .area-ring,html[data-page-theme=light] .agent-tree .area-ring{filter:none}
html[data-page-theme=lightmatrix] #agent-tree-canvas svg.eye .eye-photo,html[data-page-theme=light] #agent-tree-canvas svg.eye .eye-photo{filter:invert(1) hue-rotate(180deg);opacity:.55}
html[data-page-theme=lightmatrix] .agent-tree .eye-thread,html[data-page-theme=light] .agent-tree .eye-thread{stroke:#1f6b45;opacity:.4}
html[data-page-theme=lightmatrix] .agent-tree .eye-thread.live,html[data-page-theme=light] .agent-tree .eye-thread.live{stroke:#14804a;opacity:.9;filter:none}
html[data-page-theme=lightmatrix] .agent-tree .eye-pulse,html[data-page-theme=light] .agent-tree .eye-pulse{fill:#14804a;filter:none}
html[data-page-theme=lightmatrix] .agent-tree .pupil-ring,html[data-page-theme=light] .agent-tree .pupil-ring{stroke:#17583a}
html[data-page-theme=lightmatrix] .agent-tree .pupil-core,html[data-page-theme=light] .agent-tree .pupil-core{fill:#0e462a}
html[data-page-theme=lightmatrix] .agent-tree .more-mark,html[data-page-theme=light] .agent-tree .more-mark{fill:#10261a}
html[data-page-theme=lightmatrix] .agent-tree .bulb-label,html[data-page-theme=light] .agent-tree .bulb-label{fill:#10261a;stroke:#ecf4ee}
html[data-page-theme=lightmatrix] .agent-tree .bulb.on .bulb-label,html[data-page-theme=light] .agent-tree .bulb.on .bulb-label{fill:#0e5a33}
html[data-page-theme=lightmatrix] .agent-tree .bulb.off .bulb-label,html[data-page-theme=light] .agent-tree .bulb.off .bulb-label,html[data-page-theme=lightmatrix] .agent-tree .bulb.error .bulb-label,html[data-page-theme=light] .agent-tree .bulb.error .bulb-label{fill:#9b1c14}
html[data-page-theme=lightmatrix] .agent-tree .bulb.on .glass,html[data-page-theme=light] .agent-tree .bulb.on .glass{stroke:#0e5a33;filter:drop-shadow(0 0 6px rgba(47,209,122,.6))}
html[data-page-theme=lightmatrix] .agent-tree .bulb.off .glass,html[data-page-theme=light] .agent-tree .bulb.off .glass,html[data-page-theme=lightmatrix] .agent-tree .bulb.error .glass,html[data-page-theme=light] .agent-tree .bulb.error .glass{stroke:#7a120c;filter:none}
html[data-page-theme=lightmatrix] .agent-tree .bulb.wait .glass,html[data-page-theme=light] .agent-tree .bulb.wait .glass{filter:drop-shadow(0 0 5px #c9a100)}
html[data-page-theme=lightmatrix] .tree-hud,html[data-page-theme=light] .tree-hud{background:rgba(255,255,255,.7);border:1px solid #b9d3c3}
html[data-page-theme=lightmatrix] .agent-tree .bulb-area,html[data-page-theme=light] .agent-tree .bulb-area{fill:var(--area);stroke:#ecf4ee;stroke-width:3px;paint-order:stroke}
html[data-page-theme=lightmatrix] .agent-tree .bulb .halo,html[data-page-theme=light] .agent-tree .bulb .halo{opacity:.35}
html[data-page-theme=lightmatrix] .agent-tree .area-ring,html[data-page-theme=light] .agent-tree .area-ring{stroke-width:2}
html[data-page-theme=lightmatrix] :is(.side-drawer,#chat-drawer){background:#f1f7f3 !important;color:#10261a;border-color:#9cc2ab}
html[data-page-theme=lightmatrix] :is(.side-drawer,#chat-drawer) :is(button,select,input,textarea){border-color:#9cc2ab}
html[data-page-theme=lightmatrix] #chat-drawer .chat-drawer-tabs button[aria-selected=true],html[data-page-theme=lightmatrix] .side-drawer [role=tab][aria-selected=true]{background-color:#1f6b45 !important;color:#fff !important;border-color:#1f6b45}
html[data-page-theme=lightmatrix] .chat-dialog{background:#f4f9f6;color:#10261a}
html[data-page-theme=lightmatrix] .chat-dialog :is(header,.chat-tabs,.chat-composer,form){border-color:#b9d3c3}
html[data-page-theme=lightmatrix] :is(.task-card,.tasks-panel .card){border-color:#1f6b45}
html[data-page-theme=lightmatrix] :is(#chat-send,.task-filter[aria-pressed=true],.task-filter.active){background:#1f6b45;color:#fff}
