/* Temas da marca: ciano/teal para ações, dourado para estados desconhecidos. */
:root { color-scheme: light; }
.theme-control { display: flex; align-items: center; gap: 7px; color: var(--cor-cinza-escuro); }
.theme-control label { font-size: 10px; }
.theme-control select { min-width: 100px; }
/* Arquivos originais da marca, alternados junto com o tema efetivo. */
.logo-light { display: block; }
.logo-dark { display: none; }
[data-theme="dark"] .logo-light { display: none; }
[data-theme="dark"] .logo-dark { display: block; }
.brand { flex-direction: column; gap: 8px; margin: 0 0 26px; padding: 12px; border-radius: 10px; text-align: center; font-size: 23px; }
.brand-images, .brand-images img { display: block; width: 100px; height: 100px; }
.brand-images .logo-dark { display: none; }
[data-theme="dark"] .brand-images .logo-light { display: none; }
[data-theme="dark"] .brand-images .logo-dark { display: block; }
[data-theme="dark"] .brand { background: #004F53; color: #FEFFFF; }
[data-theme="dark"] .brand-sub { color: #FEFFFF; }
.footer-brand { display: flex; align-items: center; gap: 14px; }
.footer-logo { display: block; padding: 6px; border-radius: 5px; }
.footer-logo img { width: 180px; height: auto; }
[data-theme="dark"] .footer-logo { background: #172238; }
@media(max-width:850px) {
  .brand { flex-direction: row; width: fit-content; gap: 8px; margin: 0; padding: 5px 8px; text-align: left; font-size: 20px; }
  .brand-images, .brand-images img { width: 48px; height: 48px; }
  .brand-sub { letter-spacing: 1px; }
}
@media(max-width:650px) {
  .footer-brand { flex-direction: column; align-items: flex-start; gap: 5px; }
  .footer-logo img { width: 150px; }
}
/* A preferência Sistema recebe estas regras quando o SO está em modo claro. */
:root[data-theme="light"] {
  --cor-cinza-claro: #F9F9FF;
  --cor-cinza-medio: #DADDE7;
  background: var(--cor-cinza-claro);
  color: var(--cor-grafite);
  --border: var(--cor-cinza-medio);
}
[data-theme="light"] body { background: var(--cor-cinza-claro); }
[data-theme="light"] :is(.sidebar,.topbar,.panel) { background: var(--cor-cinza-claro); border-color: var(--cor-cinza-medio); }
[data-theme="light"] .toolbar { background: var(--cor-cinza-medio); border-color: var(--cor-cinza-escuro); }
[data-theme="light"] :is(.device-select>span,.ideal) { color: var(--cor-grafite); }
[data-theme="light"] .mode-switch { border-color: var(--cor-cinza-escuro); }
[data-theme="light"] .mode-switch button { color: var(--cor-grafite); }
[data-theme="light"] :is(.panel-header,.bottom-grid summary) { background: var(--cor-cinza-escuro); color: var(--cor-branco); border-color: var(--cor-cinza-medio); }
[data-theme="light"] .panel-header :is(h2,p), [data-theme="light"] .bottom-grid summary>span { color: var(--cor-branco); }
[data-theme="light"] :is(.panel-header .panel-icon,.bottom-grid summary:before) { color: var(--cor-ciano); }
[data-theme="light"] .panel-header .tag { background: var(--cor-cinza-claro); color: var(--cor-grafite); border-color: var(--cor-cinza-medio); }
[data-theme="light"] .circuit-meta { background: var(--cor-cinza-medio); color: var(--cor-grafite); padding-bottom: 12px; }
[data-theme="light"] .section-label { background: var(--cor-cinza-medio); color: var(--cor-grafite); padding: 8px; border-left: 3px solid var(--cor-cinza-escuro); border-radius: 3px; }
[data-theme="light"] .signal-row { border-color: var(--cor-cinza-medio); }
[data-theme="light"] :is(.state-panel,.article) { background: var(--cor-cinza-claro); border-color: var(--cor-cinza-medio); }
[data-theme="light"] :is(.state-detail,.output-card) { border-color: var(--cor-cinza-medio); }
[data-theme="light"] :is(.state-detail,.state-detail b,.article p,.article li,.page-heading p) { color: var(--cor-grafite); }
[data-theme="light"] .timeline-controls { background: var(--cor-cinza-medio); color: var(--cor-grafite); border-color: var(--cor-cinza-escuro); }
[data-theme="light"] .timeline-controls b { color: var(--cor-grafite); }
[data-theme="light"] .event-inspector { background: var(--cor-cinza-claro); border-color: var(--cor-cinza-medio); }
[data-theme="light"] .event-inspector-heading>span { color: var(--cor-grafite); }
[data-theme="light"] :is(.explanation,.equation) { background: var(--cor-cinza-claro); border-color: var(--cor-cinza-medio); }
[data-theme="light"] th { background: var(--cor-cinza-medio); color: var(--cor-grafite); }
[data-theme="light"] td { background: var(--cor-cinza-claro); color: var(--cor-grafite); }
[data-theme="light"] :is(select,.circuit-meta select,.event-value,.segmented,.tag,.version,.skip) { background: var(--cor-cinza-claro); color: var(--cor-grafite); border-color: var(--cor-cinza-medio); }
[data-theme="light"] button:not(.primary):not(.on):not(.selected):not(.active):not(.chosen) { background: var(--cor-cinza-claro); color: var(--cor-grafite); }
[data-theme="light"] .segmented button.chosen { background: var(--cor-cinza-medio); color: var(--cor-teal-escuro); }
[data-theme="light"] .toggle i { background: var(--cor-cinza-medio); }
[data-theme="light"] .toggle.on i { background: var(--cor-teal); }
[data-theme="light"] :is(.article h2,.state-heading h2) { background: var(--cor-cinza-escuro); color: var(--cor-branco); padding: 10px 12px; border-radius: 5px; }
[data-theme="light"] .article h3 { background: var(--cor-cinza-medio); color: var(--cor-grafite); padding: 8px 10px; border-radius: 4px; }
[data-theme="light"] :is(.control-body,.details-body,.schematic-wrap,.wave-scroll) { background: var(--cor-cinza-claro); }
[data-theme="light"] svg [fill="white"], [data-theme="light"] svg [fill="#fcfdfd"] { fill: var(--cor-cinza-claro); }
[data-theme="light"] svg [fill="#dbe2e8"] { fill: var(--cor-cinza-medio); }
[data-theme="light"] footer, [data-theme="light"] footer>span:first-child { color: var(--cor-cinza-escuro); }
:root[data-theme="dark"] {
  color-scheme: dark;
  color: var(--cor-branco);
  background: #14181D;
  --accent: var(--cor-ciano);
  --signal-high: var(--cor-ciano);
  --border: #3B444A;
}
[data-theme="dark"] body { background: #14181D; color: var(--cor-branco); }
[data-theme="dark"] :is(.sidebar,.topbar,.panel,.toolbar,button,select,.event-value,.skip) { background: var(--cor-grafite); color: var(--cor-branco); border-color: var(--border); }
[data-theme="dark"] :is(p,.fine,.topbar,.topbar b,.theme-control,.brand-sub,.sidebar-label,.family-label,.sidebar-bottom,.sidebar-bottom>span:last-of-type,.sidebar-bottom button,.page-heading p,.device-select>span,.section-label,.signal-row div>span,.circuit-meta,.legend,.panel-header p,.state-detail,.state-detail b,.timeline-controls,.timeline-controls b,summary>span,footer,footer>span:first-child,.event-inspector-heading>span) { color: var(--cor-cinza-claro); }
[data-theme="dark"] :is(.eyebrow,.panel-icon,.brand-mark,.device-label,.gate-label,.text-button) { color: var(--cor-ciano); fill: var(--cor-ciano); }
[data-theme="dark"] :is(.nav-item.selected,.circuit-link.active,.mode-switch button.chosen,.segmented button.chosen,button:hover) { background: var(--cor-teal-escuro); color: var(--cor-branco); }
[data-theme="dark"] .circuit-link.active { box-shadow: inset 3px 0 var(--cor-ciano); }
[data-theme="dark"] :is(.mini-chip,.circuit-link.active .mini-chip) { border-color: var(--cor-teal); color: var(--cor-ciano); }
[data-theme="dark"] :is(.tag,.version,.segmented,.circuits-label span,.circuit-meta select,.output-card strong,.toggle) { background: #292F36; color: var(--cor-cinza-claro); border-color: var(--border); }
[data-theme="dark"] :is(.panel-header,.signal-row,.timeline-controls,.sidebar-bottom,th,td,.article details) { border-color: var(--border); }
[data-theme="dark"] :is(.explanation,.equation,.notice,.prediction,.event-inspector,.state-status,.output-card strong.high,.toggle.on) { background: #073638; border-color: var(--cor-teal); color: var(--cor-branco); }
[data-theme="dark"] :is(.explanation b,.explanation p,.event-inspector p,.event-inspector-heading,th,.event-value.high) { color: var(--cor-ciano); }
[data-theme="dark"] :is(.green-dot,.live-dot,.toggle.on i) { background: var(--cor-ciano); }
[data-theme="dark"] :is(.primary,.brand-icon) { background: var(--cor-ciano); color: var(--cor-teal-escuro); border-color: var(--cor-ciano); }
[data-theme="dark"] .primary:hover { background: var(--cor-teal); color: var(--cor-branco); }
[data-theme="dark"] .pulse>span:last-child { color: var(--cor-teal-escuro); }
[data-theme="dark"] .primary:hover>span:last-child { color: var(--cor-branco); }
[data-theme="dark"] :is(.beta,.output-card strong.unknown,.event-value.unknown) { background: #3A2A16; color: var(--cor-dourado); border-color: var(--cor-dourado); }
[data-theme="dark"] .event-value.high { border-color: var(--cor-teal); }
[data-theme="dark"] .ideal { color: var(--cor-cinza-claro); }
[data-theme="dark"] .danger { background: #422510!important; color: var(--cor-dourado)!important; border-color: var(--cor-laranja)!important; }
[data-theme="dark"] .danger :is(p,b) { color: var(--cor-dourado); }
[data-theme="dark"] .sidebar { scrollbar-color: var(--cor-teal) var(--cor-grafite); }
[data-theme="dark"] .sidebar::-webkit-scrollbar-track { background: var(--cor-grafite); }
[data-theme="dark"] svg text { fill: var(--cor-cinza-claro); }
[data-theme="dark"] svg :is(.device-label,.gate-label,.output-bit,.bit-label.high) { fill: var(--cor-ciano); }
[data-theme="dark"] svg .chip { fill: #073638; stroke: var(--cor-teal); }
[data-theme="dark"] svg .wire.high { stroke: var(--cor-ciano); }
[data-theme="dark"] svg .pin.high { fill: var(--cor-ciano); }
[data-theme="dark"] svg [fill="white"], [data-theme="dark"] svg [fill="#fcfdfd"] { fill: var(--cor-grafite); }
[data-theme="dark"] svg [fill="#E4F9F9"], [data-theme="dark"] svg [fill="#faf8ff"] { fill: #073638; }
[data-theme="dark"] svg [fill="#f5f7fa"] { fill: #292F36; }
[data-theme="dark"] svg [fill="#dbe2e8"] { fill: #3B444A; }
[data-theme="dark"] svg [fill="#004D4E"] { fill: var(--cor-ciano); }
[data-theme="dark"] svg [stroke="#edf0f4"] { stroke: #3B444A; }
[data-theme="dark"] svg [stroke="#009096"] { stroke: var(--cor-ciano); }
[data-theme="dark"] .event-target:hover>rect { fill: var(--cor-ciano); }
[data-theme="dark"] .event-target:focus-visible .event-focus { stroke: var(--cor-ciano); }
/* Uma cor por função de sinal, independente de seu nível 0/1. */
.signal-data { --trace-color: #009096; }
.signal-secondary { --trace-color: #9E3C00; }
.signal-enable { --trace-color: #D86018; }
.signal-clock { --trace-color: #F8A024; }
.signal-q { --trace-color: #004D4E; }
.signal-qbar { --trace-color: #545556; }
[data-theme="dark"] .signal-data { --trace-color: #16DFE5; }
[data-theme="dark"] .signal-secondary { --trace-color: #D86018; }
[data-theme="dark"] .signal-enable { --trace-color: #D86018; }
[data-theme="dark"] .signal-q { --trace-color: #009096; }
[data-theme="dark"] .signal-qbar { --trace-color: #C2C0BF; }
#waveform :is(.trace-line,.trace-badge) { stroke: var(--trace-color); }
#waveform :is(.trace-point,.trace-swatch) { fill: var(--trace-color); }
.event-values .event-value { border-left: 4px solid var(--trace-color); }
/* Destaque dos caminhos ativos apenas na representação por portas. */
.schematic-wrap[data-representation="gates"] #schematic .wire.high { stroke: #F8A024; }
.schematic-wrap[data-representation="gates"] + .legend .legend-dot.high { background: #F8A024; }
@media(max-width:650px) { .theme-control label { display: none; } .top-actions { gap: 5px; } .theme-control select { min-width: 85px; padding: 6px; } }
@media print {
  :root[data-theme="dark"], [data-theme="dark"] body { color-scheme: light; background: white; color: #1E2228; }
  [data-theme="dark"] :is(.panel,.article,.event-inspector,.event-value,.equation) { background: white; color: #1E2228; border-color: #939D9F; }
  [data-theme="dark"] :is(p,h2,h3,.fine,.event-inspector p,.event-inspector-heading,.event-inspector-heading>span) { color: #545556; }
}

