/* norteia Design System (antigo nome no código: Atena) — tokens e componentes. Documentação: docs/DESIGN_SYSTEM.md
   Dois temas, escolhidos no menu lateral ("Tema: Escuro | Claro", localStorage "atena-theme", data-theme no <html>).
   Paleta padrão nos dois temas: "marca" sóbria (bloco "Paleta marca", mais abaixo, sobre os tokens deste topo):
   - Escuro: deep-navy #0b122b, ação em teal calmo #5f9ca6 com texto deep-navy, links #7fb3bc, conquista #9dbd72.
   - Claro: #f4f5f7 / leitura branca / cabeçalho e "Do zero" #fafbfc; ação L1 teal #1f6b75 com texto branco, chips em
     tinta navy #e9ecf3, links #24707a, conquista #4d6b00.
   Alternativas (opt-in no <html>): data-palette="v6" (escuro com cyan/verde vivos da marca v6), data-palette="indigo"
   (claro com a paleta índigo original do app, que são os tokens deste :root), data-button="suave" (claro, primário L3),
   data-accent="indigo" (escuro índigo; sobreposto pela marca, só vale junto com data-palette="v6").
   Papéis: --ds-indigo = cor de ação (texto/ícone/borda; nome antigo); --ds-*-fill = preenchimento com --ds-on-accent;
   --ds-sel* = ativo/selecionado; --ds-green = conquista; --ds-amber aviso; --ds-wine erro; --ds-violet P2; --ds-teal manutenção. */
:root{
  /* Cores — tema claro (base; vale quando data-theme="light") */
  --ds-bg:#f4f5f7; --ds-surface:#ffffff; --ds-surface-2:#f9fafb; --ds-line:rgba(11,18,43,.14); --ds-line-strong:rgba(11,18,43,.24); --ds-field-line:rgba(11,18,43,.55);
  /* Superfícies por função (princípio 14): agrupamento = cinza quente claro, nunca branco na leitura; dentro de um grupo,
     o recorte interno volta ao tom do fundo (rebaixado); destaque = branco, no máximo um por tela visível. */
  --ds-surface-group:#fafbfc; --ds-surface-read:var(--ds-surface); --ds-surface-prose:var(--ds-surface-group); --ds-surface-inset:var(--ds-bg); --ds-surface-accent:var(--ds-surface);
  --ds-ink:#0b122b; --ds-ink-2:rgba(11,18,43,.86); --ds-muted:rgba(11,18,43,.68); --ds-faint:rgba(11,18,43,.42); --ds-ink-read:var(--ds-ink);
  /* Ação (cyan da marca, variante escura para texto/ícone/borda) e preenchimento vivo */
  --ds-indigo:#3b3fa6; --ds-indigo-ink:#2e3290; --ds-indigo-soft:#e8e9f8;
  --ds-indigo-line:#cfd1f1; --ds-indigo-line-strong:#c5c8ef; --ds-indigo-line-soft:#d9dcf3; --ds-indigo-tint:#b9bbe6; --ds-indigo-tint-strong:#9fa2dc; --ds-indigo-pale:#dfe1ff;
  --ds-indigo-fill:#3b3fa6; --ds-indigo-fill-hover:#2e3290; --ds-indigo-fill-line:#3b3fa6;
  /* Sucesso/conquista (lime da marca, variante oliva escura) e ativo/selecionado */
  --ds-green:#1a6b43; --ds-green-soft:#e5f3ea; --ds-green-line:#bfe0cc; --ds-green-fill:#1a6b43; --ds-green-fill-line:#1a6b43;
  --ds-sel:#3b3fa6; --ds-sel-soft:#e8e9f8; --ds-sel-line:#7f85dc; --ds-sel-fill:#3b3fa6; --ds-sel-fill-line:#3b3fa6;
  --ds-brand-ia:#81ac16;
  --ds-teal:#0a6a73; --ds-teal-soft:#e2f3f4; --ds-teal-line:#bfe3e6;
  --ds-violet:#3b3fa6; --ds-violet-soft:#e8e9f8; --ds-violet-line:#cfd1f1;
  --ds-amber:#986010; --ds-amber-soft:#fbefd9;
  --ds-wine:#7a1f2b; --ds-wine-soft:#f7e6e8;
  /* Provas: P1 âmbar · P2 violeta · P3 cyan (o conteúdo específico, a "direção" do plano). -fill = preenchimento vivo. */
  --ds-p1:#986010; --ds-p2:#3b3fa6; --ds-p3:#0e7881;
  --ds-p1-soft:var(--ds-amber-soft); --ds-p2-soft:var(--ds-indigo-soft); --ds-p3-soft:var(--ds-teal-soft);
  --ds-p1-line:var(--ds-amber-line); --ds-p2-line:var(--ds-indigo-line); --ds-p3-line:var(--ds-teal-line);
  --ds-p1-fill:#986010; --ds-p2-fill:#3b3fa6; --ds-p3-fill:#0e7881;
  /* Bordas (-line) e textos (-ink) das cores de estado, no padrão das cores base: nenhum hex solto fora deste bloco. */
  --ds-amber-line:#ecd3a3; --ds-amber-ink:#7a4d0c; --ds-amber-ink-strong:#5c3a08;
  --ds-wine-line:#e9c3c8; --ds-brick:#a23b2a;
  --ds-on-accent:#ffffff;
  /* Cartões de formatos (study.js FMT_CORES): topo e verbo de cada cartão. */
  --ds-fmt-1:var(--ds-indigo); --ds-fmt-2:var(--ds-teal); --ds-fmt-3:var(--ds-green);
  /* Progresso (ProgressRing/barras da marca): gradiente cyan → lime; no claro, nas variantes escuras (≥ 3:1 sobre a trilha). */
  --ds-grad-a:#0e7881; --ds-grad-b:#1a6b43; --ds-grad:linear-gradient(90deg,var(--ds-grad-a),var(--ds-grad-b));
  /* Camadas: dica do glossário, aviso (toast), barra fixa, foco */
  --ds-tip-bg:#0b122b; --ds-tip-ink:#ffffff; --ds-toast-bg:#0b122b; --ds-toast-ink:#ffffff; --ds-bar-bg:rgba(244,245,247,.92);
  --ds-backdrop:rgba(20,22,40,.32);
  --ds-focus-ring:#3b3fa6;
  /* Tipografia (marca): Montserrat (display, 700) em títulos e números; Poppins (ui) no resto. Só pesos 400 e 700. */
  --ds-font:Poppins,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --ds-display:Montserrat,Poppins,system-ui,sans-serif;
  --ds-mono:"SF Mono",ui-monospace,Menlo,Consolas,monospace;
  --ds-fs-xs:11px; --ds-fs-sm:12.5px; --ds-fs-md:14px; --ds-fs-lg:16px; --ds-fs-xl:20px; --ds-fs-2xl:28px; --ds-fs-3xl:44px;
  /* Espaço, forma, profundidade */
  --ds-1:4px; --ds-2:8px; --ds-3:12px; --ds-4:16px; --ds-5:20px; --ds-6:24px; --ds-8:32px; --ds-10:40px;
  /* Respiros de página (DESIGN_SYSTEM.md, "Espaçamentos"): margem menu↔conteúdo, gutter índice↔texto, largura do índice
     e largura de linha do texto de leitura (~76ch no corpo de 17 px). */
  --ds-page-x:var(--ds-8); --ds-gutter:var(--ds-10); --ds-toc-w:252px; --ds-measure:740px;
  --ds-radius-sm:8px; --ds-radius:12px; --ds-radius-lg:16px; --ds-pill:999px;
  --ds-shadow:0 1px 2px rgba(31,36,51,.04),0 2px 8px rgba(31,36,51,.04);
  /* Foco da marca: anel sólido de 2 px, afastado 2 px (outline nos controles; box-shadow equivalente onde não há outline). */
  --ds-focus:0 0 0 2px var(--ds-bg),0 0 0 4px var(--ds-focus-ring);
  --ds-brand-mark:url("data:image/png;base64,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");
  color-scheme:light;
}
/* Tema escuro (marca norteia; padrão sem preferência gravada). Também vale dentro de .ds-sim-dark (fundo escuro do
   minissimulado para quem usa o tema claro). Contraste medido: docs/DESIGN_SYSTEM.md, "Temas e contraste". */
:root:not([data-theme="light"]),.ds-sim-dark{
  --ds-bg:#0b122b; --ds-surface:#131d3b; --ds-surface-2:#0f1833; --ds-line:rgba(244,244,249,.16); --ds-line-strong:rgba(244,244,249,.28); --ds-field-line:rgba(244,244,249,.5);
  --ds-surface-group:#0f1833; --ds-surface-read:#131d3b; --ds-surface-prose:#0f1833; --ds-surface-inset:#0b122b; --ds-surface-accent:#172347;
  --ds-ink:#f4f4f9; --ds-ink-2:rgba(244,244,249,.86); --ds-muted:rgba(244,244,249,.72); --ds-faint:rgba(244,244,249,.45); --ds-ink-read:#e2e4ec;
  --ds-indigo:#0aa4be; --ds-indigo-ink:#7ad2dd; --ds-indigo-soft:#0b2a42;
  --ds-indigo-line:rgba(10,164,190,.5); --ds-indigo-line-strong:rgba(10,164,190,.8); --ds-indigo-line-soft:rgba(10,164,190,.28); --ds-indigo-tint:#145a70; --ds-indigo-tint-strong:#1d7b92; --ds-indigo-pale:#0b122b;
  --ds-indigo-fill:#0aa4be; --ds-indigo-fill-hover:#2cb8cc; --ds-indigo-fill-line:#0aa4be;
  --ds-green:#80b133; --ds-green-soft:#1b2d24; --ds-green-line:rgba(128,177,51,.5); --ds-green-fill:#80b133; --ds-green-fill-line:#80b133;
  --ds-sel:#80b133; --ds-sel-soft:#1c2f26; --ds-sel-line:rgba(128,177,51,.6); --ds-sel-fill:#80b133; --ds-sel-fill-line:#80b133;
  --ds-brand-ia:#80b133;
  --ds-teal:#39aa96; --ds-teal-soft:#0f2e38; --ds-teal-line:rgba(57,170,150,.5);
  --ds-violet:#aeb6ff; --ds-violet-soft:#1d2552; --ds-violet-line:rgba(174,182,255,.45);
  --ds-amber:#ffbf5e; --ds-amber-soft:#362a17; --ds-amber-line:rgba(255,191,94,.45); --ds-amber-ink:#ffcd80; --ds-amber-ink-strong:#ffdba6;
  --ds-wine:#ff8d9e; --ds-wine-soft:#3a1a2c; --ds-wine-line:rgba(255,141,158,.42); --ds-brick:#ff9c86;
  --ds-p1:var(--ds-amber); --ds-p2:var(--ds-violet); --ds-p3:var(--ds-indigo);
  --ds-p1-soft:var(--ds-amber-soft); --ds-p2-soft:var(--ds-violet-soft); --ds-p3-soft:var(--ds-indigo-soft);
  --ds-p1-line:var(--ds-amber-line); --ds-p2-line:var(--ds-violet-line); --ds-p3-line:var(--ds-indigo-line);
  --ds-fmt-1:var(--ds-indigo); --ds-fmt-2:var(--ds-violet); --ds-fmt-3:var(--ds-teal);
  --ds-on-accent:#0b122b; --ds-p1-fill:#ffbe55; --ds-p2-fill:#aeb6ff; --ds-p3-fill:#0aa4be;
  --ds-grad-a:#0aa4be; --ds-grad-b:#80b133; --ds-grad:linear-gradient(90deg,var(--ds-grad-a),var(--ds-grad-b));
  --ds-tip-bg:#24305a; --ds-tip-ink:#f4f4f9; --ds-toast-bg:#f4f4f9; --ds-toast-ink:#0b122b; --ds-bar-bg:rgba(11,19,43,.92);
  --ds-backdrop:rgba(3,6,16,.6);
  --ds-focus-ring:#0aa4be;
  --ds-shadow:none;
  --ds-focus:0 0 0 2px var(--ds-bg),0 0 0 4px var(--ds-focus-ring);
  /* Variáveis do tema legado (style.css: Tópicos, Disponibilidade, Evidência) */
  --ink:#f4f4f9; --muted:#b0b4c3; --green:#80b133; --line:rgba(244,244,249,.16); --bg:#0b122b; --amber:#ffbf5e; --pink:#ff8d9e; --blue:#aeb6ff;
  --ds-brand-mark:url("data:image/png;base64,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");
  color-scheme:dark;
}

/* Base: substitui o tema anterior (style.css continua para as telas legadas) */
body{background:var(--ds-bg);color:var(--ds-ink);font-family:var(--ds-font)}
h1,h2,h3,.ds-title,.ds-topic-title-xl,.ds-big{font-family:var(--ds-display)}
h1,h2,.ds-title,.ds-topic-title-xl,.ds-big{font-weight:700}
aside{background:var(--ds-surface-2);border-right:1px solid var(--ds-line)}
/* Marca: bússola (PNG recortado do logotipo, fundo removido; vetores oficiais pendentes) + wordmark em texto
   ("norte" em navy no claro e branco no escuro, "ia" em verde; Montserrat 700, sem espaço). Cada tema usa a sua bússola,
   PNG oficial norteia-simbolo-bussola-{claro,escuro}.png (manual v6) com o fundo removido (*-transparente.png); vetores oficiais pendentes. */
.brand{display:flex;align-items:center;gap:10px;color:var(--ds-ink);letter-spacing:0;font-family:var(--ds-display);font-weight:700;font-size:27px;line-height:1}
.ds-brand-mark{flex:none;width:38px;height:38px;border-radius:22%;background:var(--ds-brand-mark) center/100% no-repeat}
.ds-brand-word,.brand .ds-brand-word{color:var(--ds-ink);font-weight:700}
:root:not([data-theme="light"]) .ds-brand-word{color:var(--ds-ink)}.ds-brand-word>span{color:var(--ds-brand-ia);font-weight:700}
.brand sup{background:var(--ds-indigo-soft);color:var(--ds-indigo);font-family:var(--ds-font);letter-spacing:1px;margin-left:2px;align-self:center}
.ds-slogan{font-family:var(--ds-display);font-weight:700;letter-spacing:.06em;line-height:1.5}
/* Menu principal: regras escopadas em "aside nav" (os demais <nav> do conteúdo têm estilo próprio). */
aside nav a{display:flex;align-items:center;gap:10px;text-decoration:none;cursor:pointer}
aside nav button,aside nav a{border-radius:var(--ds-radius-sm);color:var(--ds-ink-2);font-weight:400;background:transparent;border:1px solid transparent}
aside nav button:hover,aside nav a:hover{background:var(--ds-surface);border-color:var(--ds-line)}
aside nav button.active,aside nav a.active{background:var(--ds-sel-soft);color:var(--ds-sel);border:1px solid var(--ds-sel-line);font-weight:700}
aside nav .nav-sep{font-size:10px;letter-spacing:1.4px;color:var(--ds-muted);font-weight:700;margin:14px 10px 2px}
.ds-nav-ic{flex:none;width:18px;text-align:center;color:var(--ds-indigo)}
aside nav a.active .ds-nav-ic{color:inherit}
.ds-aside-top{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-2)}
.ds-aside-toggle{flex:none;width:32px;height:32px;padding:0;display:grid;place-items:center;border:1px solid transparent;border-radius:var(--ds-radius-sm);background:transparent;color:var(--ds-muted);font-size:16px;line-height:1}
.ds-aside-toggle:hover{background:var(--ds-surface);border-color:var(--ds-line);color:var(--ds-indigo)}
button{border-color:var(--ds-line);border-radius:var(--ds-radius-sm)}
button:hover{border-color:var(--ds-indigo);background:var(--ds-indigo-soft)}
button.primary{background:var(--ds-indigo-fill);border-color:var(--ds-indigo-fill-line);color:var(--ds-on-accent);font-weight:700}
button.primary:hover{background:var(--ds-indigo-fill-hover)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:2px;box-shadow:none}
a{color:var(--ds-indigo)}
.panel{border-color:var(--ds-line);border-radius:var(--ds-radius-lg)}
/* Seletor de tema (menu lateral, acima da conta e do rodapé): grupo de dois botões com aria-pressed (app.js). */
.ds-theme{margin-top:auto;display:flex;align-items:center;flex-wrap:wrap;gap:6px var(--ds-2);padding:var(--ds-2) 0;font-size:var(--ds-fs-sm);color:var(--ds-muted)}
.ds-theme-opts{display:flex;gap:2px;padding:2px;border:1px solid var(--ds-line-strong);border-radius:var(--ds-pill);background:var(--ds-surface-inset)}
.ds-theme-opts button{min-height:32px;padding:0 10px;border:0;border-radius:var(--ds-pill);background:transparent;color:var(--ds-ink-2);font-size:var(--ds-fs-sm);font-weight:400;white-space:nowrap}
.ds-theme-opts button:hover{background:var(--ds-surface);color:var(--ds-ink)}
.ds-theme-opts button[aria-pressed="true"]{background:var(--ds-sel-fill);color:var(--ds-on-accent);font-weight:700}
.ds-theme + .ds-account{margin-top:var(--ds-1)}
.ds-theme + .aside-bottom,.ds-theme + .ds-account + .aside-bottom{margin-top:var(--ds-3)}
.ds-theme-ic{display:none}
@media (max-width:600px){.ds-theme-opts button{min-height:44px}}
@media (max-width:700px){.ds-theme{margin-top:var(--ds-1);padding:var(--ds-1) 0}}

/* Utilitários */
.ds-mono{font-family:var(--ds-mono);font-variant-numeric:tabular-nums}
.ds-muted{color:var(--ds-muted)}
.ds-stack{display:grid;gap:var(--ds-3)}
.ds-row{display:flex;align-items:center;gap:var(--ds-3)}
.ds-spread{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-3)}

/* Cartão */
.ds-card{background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow)}
.ds-card-head{padding:var(--ds-5) var(--ds-6);border-bottom:1px solid var(--ds-line)}
.ds-card-body{padding:var(--ds-4) var(--ds-5);background:var(--ds-surface-2);border-radius:0 0 var(--ds-radius-lg) var(--ds-radius-lg)}
.ds-title{font-size:var(--ds-fs-xl);font-weight:700;letter-spacing:-.3px;margin:0}
.ds-eyebrow{font-size:var(--ds-fs-xs);letter-spacing:1.4px;text-transform:uppercase;color:var(--ds-muted);font-weight:700}

/* Botões */
.ds-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:var(--ds-radius-sm);font-weight:700;font-size:var(--ds-fs-sm);border:1px solid var(--ds-line);background:var(--ds-surface);color:var(--ds-ink);cursor:pointer}
.ds-btn,a.ds-btn{text-decoration:none}
.ds-btn--primary{background:var(--ds-indigo-fill);border-color:var(--ds-indigo-fill-line);color:var(--ds-on-accent)}
.ds-btn--primary:hover{background:var(--ds-indigo-fill-hover);border-color:var(--ds-indigo-fill-line);color:var(--ds-on-accent)}
/* Variante "accent" da marca (lime): ativo/selecionado e conquista. */
.ds-btn--accent{background:var(--ds-sel-fill);border-color:var(--ds-sel-fill-line);color:var(--ds-on-accent)}
/* Botão na cor do contexto: herda --accent (ex.: cor da prova no .ds-disc); sem style inline, o hover funciona. */
.ds-btn--teal{background:var(--accent-fill,var(--ds-indigo-fill));border-color:var(--accent,var(--ds-indigo));color:var(--ds-on-accent);justify-content:space-between;width:100%}
.ds-btn--teal:hover{background:var(--accent-fill,var(--ds-indigo-fill));border-color:var(--accent,var(--ds-indigo));color:var(--ds-on-accent);filter:brightness(1.08)}
.ds-btn--soft{background:var(--ds-indigo-soft);border-color:transparent;color:var(--ds-indigo)}
.ds-link{background:none;border:0;padding:0;color:var(--ds-indigo);font-weight:700;font-size:var(--ds-fs-sm);cursor:pointer}
.ds-link:hover{background:none;text-decoration:underline}
.ds-link--muted{color:var(--ds-muted);font-weight:400}

/* Selos e badges */
.ds-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--ds-pill);font-size:10.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;border:1px solid var(--ds-line-strong);color:var(--ds-ink-2);background:var(--ds-surface)}
.ds-badge--next{background:var(--ds-amber-soft);border-color:var(--ds-amber-line);color:var(--ds-amber-ink)}
.ds-badge--review{font-family:var(--ds-mono);letter-spacing:.8px}
.ds-badge--p1{color:var(--ds-p1);border-color:var(--ds-p1-line);background:var(--ds-p1-soft)}
.ds-badge--p2{color:var(--ds-p2);border-color:var(--ds-p2-line);background:var(--ds-p2-soft)}
.ds-badge--p3{color:var(--ds-p3);border-color:var(--ds-p3-line);background:var(--ds-p3-soft)}
.ds-stamp{display:inline-block;padding:1px 8px;border:2px solid var(--ds-green);color:var(--ds-green);border-radius:6px;font-family:var(--ds-mono);font-weight:800;font-size:11px;letter-spacing:1.5px;transform:rotate(-4deg)}
.ds-chip{display:inline-flex;gap:6px;align-items:baseline;padding:8px 14px;border-radius:var(--ds-pill);background:var(--ds-surface-2);border:1px solid var(--ds-line);font-size:var(--ds-fs-sm)}
.ds-chip b{font-size:var(--ds-fs-lg)}
/* Variações do chip (um só componente): --sm (rodada da bateria), --btn (ficha clicável: Relacionados, "Para entender do zero",
   "Revise primeiro"), --cycle (D+n do ciclo de revisões, com .done/.late). */
.ds-chip--sm{padding:4px 10px;font-size:var(--ds-fs-xs)}.ds-chip--sm b{font-size:var(--ds-fs-sm)}
button.ds-chip--btn,.ds-chip--btn{padding:6px 12px;border-color:var(--ds-indigo-line);background:var(--ds-surface);color:var(--ds-indigo);font-weight:650;cursor:pointer;text-align:left;align-items:center}
.ds-chip--btn:hover{border-color:var(--ds-indigo);background:var(--ds-surface)}
.ds-chip--cycle{font-family:var(--ds-mono);font-weight:700;padding:3px 10px;border:1px dashed var(--ds-line-strong);background:transparent;color:var(--ds-ink-2)}
.ds-chip--cycle.done{border:1px solid var(--ds-green);color:var(--ds-green);background:var(--ds-green-soft)}
.ds-chip--cycle.late{border:1px solid var(--ds-wine);color:var(--ds-wine)}

/* Prioridade (texto colorido, como no Bizzu) */
.ds-prio{font-weight:700;font-size:var(--ds-fs-sm)}
.ds-prio--muito-alta{color:var(--ds-wine)}.ds-prio--alta{color:var(--ds-brick)}.ds-prio--media{color:var(--ds-amber)}.ds-prio--baixa{color:var(--ds-muted)}

/* Progresso */
.ds-seg{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.ds-seg i{display:block;width:18px;height:5px;border-radius:3px;background:var(--ds-line-strong)}
.ds-seg i.on{background:var(--ds-indigo)}
.ds-bar{height:6px;border-radius:3px;background:var(--ds-line);overflow:hidden}
/* Barras e trilha de progresso da marca: trilha --ds-line, preenchimento em gradiente cyan → lime, cantos em pílula. */
.ds-bar i{display:block;height:100%;background:var(--ds-grad);border-radius:var(--ds-pill)}
.ds-track{position:relative;height:8px;border-radius:4px;background:repeating-linear-gradient(90deg,var(--ds-line) 0 10px,transparent 10px 12px)}
.ds-track i{position:absolute;inset:0 auto 0 0;background:var(--ds-grad);border-radius:var(--ds-pill)}

/* Filtros em pílula */
.ds-tabs{display:flex;gap:var(--ds-2);flex-wrap:wrap}
.ds-tab{padding:8px 14px;border-radius:var(--ds-radius-sm);border:1px solid var(--ds-line-strong);background:var(--ds-surface);font-weight:650;font-size:var(--ds-fs-sm);color:var(--ds-ink)}
.ds-tab.active{background:var(--ds-sel-soft);border-color:var(--ds-sel-line);color:var(--ds-sel);font-weight:700}
.ds-search{flex:1;min-width:220px;padding:11px 14px 11px 36px;border-radius:var(--ds-radius);border:1px solid var(--ds-line-strong);color:var(--ds-ink);background:var(--ds-surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23808698' stroke-width='2'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='m11 11 4 4'/%3E%3C/svg%3E") 12px center no-repeat}

/* Semana: linha de dia (Bizzu) */
.ds-day{display:grid;grid-template-columns:76px 1fr;border:1px solid var(--ds-line-strong);border-radius:var(--ds-radius);background:var(--ds-surface);overflow:hidden}
.ds-day+.ds-day{margin-top:var(--ds-3)}
.ds-day-date{display:grid;align-content:center;justify-items:center;padding:var(--ds-3) var(--ds-2);border-right:1px solid var(--ds-line);font-family:var(--ds-mono);text-transform:uppercase;color:var(--ds-ink-2);gap:2px}
.ds-day-date b{font-size:22px;color:var(--ds-ink);font-family:var(--ds-display)}.ds-day-date small{font-size:10px;letter-spacing:1px}
.ds-day-body{padding:var(--ds-3) var(--ds-4)}
.ds-day--rest{border-style:dashed;background:transparent;grid-template-columns:76px 1fr}
.ds-day--rest .ds-day-date{border-right:0}
.ds-day--done{background:var(--ds-surface-2)}
.ds-day--today{border:2px solid var(--ds-indigo)}
.ds-day--today .ds-day-date{background:var(--ds-indigo-soft);color:var(--ds-indigo);border-right:2px dashed var(--ds-indigo);align-content:start;padding-top:var(--ds-5)}
.ds-day--today .ds-day-date small{color:var(--ds-indigo)}
.ds-day--today .ds-day-date b{color:var(--ds-ink);font-size:30px}
.ds-day-flag{margin-top:6px;background:var(--ds-indigo-fill);color:var(--ds-on-accent);border-radius:var(--ds-pill);padding:1px 8px;font-size:9.5px;font-weight:800;letter-spacing:1px}
.ds-day--muted{opacity:.55}

/* Tarefa */
.ds-task{display:grid;grid-template-columns:28px 1fr auto auto;gap:var(--ds-3);align-items:center;padding:var(--ds-3) 0}
.ds-task+.ds-task{border-top:1px solid var(--ds-line)}
.ds-check{width:24px;height:24px;border-radius:50%;border:2px solid var(--ds-line-strong);background:var(--ds-surface);padding:0;display:grid;place-items:center;font-size:12px;color:var(--ds-ink)}
.ds-check--dashed{border-style:dashed}
.ds-check.done{border-color:var(--ds-ink-2)}
.ds-check:disabled{opacity:1;cursor:default}
.ds-task-title{font-weight:650;font-size:var(--ds-fs-lg);line-height:1.3}
.ds-task-meta{font-size:var(--ds-fs-sm);color:var(--ds-muted);display:flex;gap:var(--ds-2);align-items:center;flex-wrap:wrap;margin-top:3px}
.ds-task.done .ds-task-title{text-decoration:line-through;color:var(--ds-muted);font-weight:500}
.ds-est{font-family:var(--ds-mono);font-size:var(--ds-fs-sm);color:var(--ds-ink-2);white-space:nowrap}
.ds-pass{display:grid;grid-template-columns:76px 1fr;border:1px solid var(--ds-line-strong);border-radius:var(--ds-radius);background:var(--ds-surface)}
.ds-pass>.ds-day-date{font-size:11px;letter-spacing:1.5px;line-height:1.5}

/* Seções numeradas (Reverso) */
.ds-section{background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);padding:var(--ds-5) var(--ds-6);box-shadow:var(--ds-shadow)}
.ds-section+.ds-section{margin-top:var(--ds-5)}
.ds-section-head{display:flex;align-items:center;gap:var(--ds-4);padding-bottom:var(--ds-4);border-bottom:1px solid var(--ds-line);margin-bottom:var(--ds-4)}
.ds-section-num{width:44px;height:44px;border-radius:var(--ds-radius);display:grid;place-items:center;color:var(--ds-on-accent);font-weight:700;font-family:var(--ds-display);background:var(--accent-fill,var(--ds-indigo-fill))}
.ds-section-meta{margin-left:auto;text-align:right;min-width:150px}
.ds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--ds-4)}
.ds-disc{position:relative;display:grid;gap:var(--ds-3);padding:var(--ds-4);padding-left:calc(var(--ds-4) + 4px);border:1px solid var(--ds-line);border-radius:var(--ds-radius);background:var(--ds-surface)}
.ds-disc::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:var(--ds-radius) 0 0 var(--ds-radius);background:var(--accent,var(--ds-teal))}
.ds-disc.active{outline:2px solid var(--accent,var(--ds-teal));outline-offset:-1px}
.ds-disc-title{font-weight:650;line-height:1.3;font-size:var(--ds-fs-md)}
.ds-disc-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--soft,var(--ds-teal-soft));color:var(--accent,var(--ds-teal));font-weight:800;font-family:var(--ds-mono);font-size:12px;flex:none}

/* Tabela de tópicos (Bizzu) */
.ds-table-wrap{overflow-x:auto;border:1px solid var(--ds-line);border-radius:var(--ds-radius);background:var(--ds-surface)}
.ds-table{width:100%;border-collapse:collapse;font-size:var(--ds-fs-md)}
.ds-table th{font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ds-muted);font-weight:700;text-align:left;padding:12px 14px;background:var(--ds-surface-2);border-bottom:1px solid var(--ds-line)}
.ds-table td{padding:14px;border-bottom:1px solid var(--ds-line);vertical-align:middle}
.ds-table tr.done td{background:var(--ds-green-soft)}
.ds-table tr.done .ds-topic-title{text-decoration:line-through;color:var(--ds-muted)}
.ds-topic-parent{font-size:var(--ds-fs-xs);color:var(--ds-muted);margin-bottom:2px}
.ds-topic-title{font-weight:650;line-height:1.35}

@media (max-width:760px){
  .ds-day,.ds-pass{grid-template-columns:58px 1fr}
  .ds-task{grid-template-columns:28px 1fr;}
  .ds-task .ds-est,.ds-task .ds-task-act{grid-column:2}
  .ds-section{padding:var(--ds-4)}
  .ds-section-meta{display:none}
}

/* Questões no design system */
.q-card{border-color:var(--ds-line);border-radius:var(--ds-radius);background:var(--ds-surface);box-shadow:none}
.q-card.open{border-color:var(--ds-indigo-line-strong);box-shadow:var(--ds-shadow)}
.q-meta{color:var(--ds-muted)}.q-meta b{color:var(--ds-ink)}
.q-statement{font-size:15px;line-height:1.6;color:var(--ds-ink-read)}
.q-option{border-color:var(--ds-line-strong);border-radius:var(--ds-radius-sm);background:var(--ds-surface)}
.q-option b{font-family:var(--ds-mono);color:var(--ds-indigo)}
.q-option{color:var(--ds-ink)}
.q-option:hover{border-color:var(--ds-indigo);background:var(--ds-indigo-soft)}
.q-option.right{border-color:var(--ds-green);background:var(--ds-green-soft)}
.q-option.wrong{border-color:var(--ds-wine);background:var(--ds-wine-soft)}
.result{border-radius:var(--ds-radius-sm);background:var(--ds-surface-2)}
.result.ok{border-left-color:var(--ds-green)}.result.ko{border-left-color:var(--ds-wine)}
.tec-comment{border-color:var(--ds-line);background:var(--ds-surface-2);border-radius:var(--ds-radius-sm)}
.analysis{border-top-color:var(--ds-indigo-soft)}
.badge.facil{background:var(--ds-green-soft);color:var(--ds-green)}.badge.media{background:var(--ds-indigo-soft);color:var(--ds-indigo)}.badge.dificil{background:var(--ds-wine-soft);color:var(--ds-wine)}
/* Tabelas dentro de questões/análise: sem o estilo de tabela legado (maiúsculas, padding largo). */
.q-card table{width:auto;max-width:100%;font-size:13px}
.q-card th,.q-card td{text-transform:none;letter-spacing:0;color:var(--ds-ink);font-size:13px;padding:6px 10px;border-bottom:1px solid var(--ds-line);vertical-align:top;text-align:left}
.q-card th{background:var(--ds-surface-2)}

/* ---------- Estudar v3: um tópico, leitura contínua sobre o fundo ---------- */
.ds-study-page{padding-bottom:96px}
.ds-back{margin-bottom:var(--ds-3)}
.ds-hero{position:relative;background:var(--ds-surface-group);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);padding:var(--ds-6) var(--ds-8)}
.ds-hero::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;background:var(--accent)}
.ds-crumb{margin-top:var(--ds-4);font-size:var(--ds-fs-sm);color:var(--ds-muted)}
.ds-why{margin:0 0 var(--ds-3)}.ds-why summary{font-size:var(--ds-fs-sm);color:var(--ds-ink-2);list-style:none}
.ds-why summary::after{content:" +";color:var(--ds-indigo);font-weight:700}.ds-why[open] summary::after{content:" −"}
.ds-why p{font-size:var(--ds-fs-sm);color:var(--ds-ink-2);max-width:820px}
.ds-stats-line{gap:var(--ds-5);font-size:var(--ds-fs-sm);color:var(--ds-muted);margin-bottom:var(--ds-4);flex-wrap:wrap}.ds-stats-line b{color:var(--ds-ink)}
.ds-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--ds-3)}
.ds-action{padding:14px;border-radius:var(--ds-radius);border:1px solid var(--ds-line-strong);background:var(--ds-surface);color:var(--ds-indigo);font-weight:700;font-size:var(--ds-fs-md)}
.ds-action:hover{border-color:var(--ds-indigo)}
.ds-action.active{background:var(--ds-sel-fill);border-color:var(--ds-sel-fill-line);color:var(--ds-on-accent)}
.ds-hero-foot{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:var(--ds-3);border-top:1px solid var(--ds-line);margin-top:var(--ds-4);padding-top:var(--ds-4)}
.ds-read{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--ds-8);margin-top:var(--ds-8);align-items:start}
.ds-read-toc{position:sticky;top:var(--ds-5);display:grid;gap:2px}
.ds-toc-link{display:grid;grid-template-columns:28px 1fr;gap:6px;padding:8px 10px;border-radius:var(--ds-radius-sm);color:var(--ds-ink-2);text-decoration:none;font-size:var(--ds-fs-sm);font-weight:600;line-height:1.35}
.ds-toc-link span:first-child{color:var(--ds-muted);font-weight:700}
.ds-toc-link:hover{background:var(--ds-surface-2);color:var(--ds-ink)}
.ds-toc-link.active{background:var(--ds-sel-soft);color:var(--ds-sel)}.ds-toc-link.active span:first-child{color:var(--ds-sel)}
.ds-read-main{max-width:880px;min-width:0}
/* Sem índice ao lado (Questões, Meu material, Exercícios): uma coluna só, na largura do cabeçalho do tópico. */
.ds-read--solo{grid-template-columns:minmax(0,1fr)}
.ds-read--solo>.ds-read-main{max-width:none}
.ds-note{border-left:3px solid var(--ds-indigo);background:var(--ds-surface-2);border-radius:0 var(--ds-radius-sm) var(--ds-radius-sm) 0;padding:var(--ds-3) var(--ds-4);margin-bottom:var(--ds-6)}
.ds-note p{margin:4px 0 0;color:var(--ds-ink-2)}
.ds-theory-page>.ds-note:not(.ds-note--warn){background:none;border-left-color:var(--ds-line-strong);padding-block:var(--ds-1)}.ds-note--warn{border-left-color:var(--ds-amber);background:var(--ds-amber-soft)}
.ds-read-sec{scroll-margin-top:var(--ds-5);padding-bottom:var(--ds-8)}
.ds-read-head{display:flex;align-items:center;gap:var(--ds-4);padding-bottom:var(--ds-4);margin-bottom:var(--ds-5);border-bottom:1px solid var(--ds-indigo-line-soft)}
.ds-read-head h2{font-size:26px;letter-spacing:-.3px;margin:0;font-weight:700;line-height:1.25;font-family:var(--ds-display)}
.ds-read-num{flex:none;min-width:44px;height:44px;padding:0 8px;border-radius:10px;display:grid;place-items:center;background:var(--ds-indigo-soft);color:var(--ds-indigo);font-family:var(--ds-display);font-weight:700;font-size:18px}
.ds-read-body{font-size:17px;line-height:1.75;color:var(--ds-ink-read)}
.ds-read-body p{margin:0 0 14px}
.ds-read-body ul,.ds-read-body ol{padding-left:22px;margin:0 0 14px}.ds-read-body li{margin:4px 0}
.ds-read-body table{width:auto;max-width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:15px}
.ds-read-body th{text-align:left;font-size:13px;letter-spacing:0;text-transform:none;color:var(--ds-ink);background:transparent;border-bottom:2px solid var(--ds-line-strong);padding:8px 14px 8px 0}
.ds-read-body td{padding:8px 14px 8px 0;border-bottom:1px solid var(--ds-line);vertical-align:top}
.ds-read-body code{background:var(--ds-surface-2);border:1px solid var(--ds-line);border-radius:5px;padding:1px 5px;font-size:.88em}
.ds-read-body pre{background:var(--ds-surface-2);border:1px solid var(--ds-line);border-radius:var(--ds-radius-sm);padding:var(--ds-4);font-size:13px}
.ds-tip{display:grid;grid-template-columns:36px 1fr;gap:var(--ds-3);background:var(--ds-indigo-soft);border:0;border-radius:var(--ds-radius-lg);padding:var(--ds-4) var(--ds-5);margin:var(--ds-2) 0 var(--ds-5)}
.ds-tip-icon{width:32px;height:32px;border-radius:50%;color:var(--ds-on-accent);background:var(--ds-indigo-fill);display:grid;place-items:center;font-size:15px}
.ds-tip p{margin:4px 0 0;font-size:15.5px;line-height:1.6;color:var(--ds-ink)}
.ds-read-q{border-top:1px dashed var(--ds-line-strong);padding-top:var(--ds-4)}
.ds-notes{width:100%;min-height:220px;background:var(--ds-surface);color:var(--ds-ink);border:1px solid var(--ds-field-line);border-radius:var(--ds-radius);padding:var(--ds-4);font-size:15px}
/* Faixa fixa no rodapé, alinhada ao conteúdo (largura do menu lateral em --aside-w, style.css). */
.ds-bottom-bar{position:fixed;left:var(--aside-w,245px);right:0;bottom:0;display:flex;justify-content:flex-end;gap:var(--ds-3);padding:var(--ds-3) var(--ds-8);background:var(--ds-bar-bg);backdrop-filter:blur(6px);border-top:1px solid var(--ds-line);box-shadow:var(--ds-shadow);z-index:4}
.ds-bottom-bar .ds-btn{padding:12px 20px;font-size:var(--ds-fs-md)}
@media (max-width:1000px){.ds-read{grid-template-columns:1fr}.ds-read-toc{position:static;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.ds-actions{grid-template-columns:1fr}.ds-hero{padding:var(--ds-5)}}
@media(max-width:700px){.ds-bottom-bar{padding:var(--ds-2) var(--ds-4)}}
/* Alvos de toque ≥ 44 px no celular (WCAG 2.5.5): marcar tarefa, ações em link das tarefas/questões, barra da questão e chips clicáveis. */
@media (max-width:600px){
  .ds-task{grid-template-columns:44px 1fr}
  .ds-check{width:44px;height:44px;font-size:16px}
  .ds-link[data-act],.ds-link[data-view]{min-height:44px;display:inline-flex;align-items:center;padding:0 var(--ds-2)}
  .ds-qbar-btn{min-height:44px;padding:10px 14px}
  .ds-chip--btn{min-height:44px;padding:10px 14px}
  .ds-rec-rev .ds-chip--btn{min-height:44px;padding:10px 12px}
  .ds-theory-link{min-height:44px}
}
/* Banco de questões: filtros em campos ds- (study.js bankView) */
.ds-bank-filters .ds-field{flex:1 1 150px}.ds-bank-filters .ds-input{width:100%;max-width:100%}
.ds-btn--ghost{background:transparent;color:var(--ds-ink-2)}.ds-btn--ghost:hover{color:var(--ds-indigo)}
.ds-topic-title-xl{font-size:24px;line-height:1.3;letter-spacing:-.3px;margin:10px 0 14px;font-weight:700}

/* Selos de questão (dificuldade, aderência, última resposta) — substituem .badge legado nas questões */
.ds-badge--facil{color:var(--ds-green);border-color:var(--ds-green-line);background:var(--ds-green-soft)}
.ds-badge--media{color:var(--ds-indigo);border-color:var(--ds-indigo-line);background:var(--ds-indigo-soft)}
.ds-badge--dificil{color:var(--ds-wine);border-color:var(--ds-wine-line);background:var(--ds-wine-soft)}
.ds-badge--desconhecida{color:var(--ds-muted)}
.ds-badge--warn{color:var(--ds-amber-ink);border-color:var(--ds-amber-line);background:var(--ds-amber-soft)}
.ds-badge--ok{color:var(--ds-green);border-color:var(--ds-green);background:var(--ds-surface)}
.ds-badge--ko{color:var(--ds-wine);border-color:var(--ds-wine);background:var(--ds-surface)}

/* Estudar: bases pendentes, agenda e Markdown em bloco curto */
.ds-bases{margin-top:var(--ds-5)}
.ds-base-row{align-items:flex-start;padding-top:var(--ds-2)}
.ds-base-row p{font-size:var(--ds-fs-sm)}
.ds-base-row .ds-btn{flex:none}
.ds-md>:last-child{margin-bottom:0}.ds-md>:first-child{margin-top:4px}
.ds-read-q-list{margin-top:var(--ds-3)}
.ds-form-row{flex-wrap:wrap;align-items:flex-end}
.ds-field{display:grid;gap:4px;font-size:var(--ds-fs-sm);color:var(--ds-muted);margin:0}
.ds-input{padding:9px 12px;border:1px solid var(--ds-field-line);border-radius:var(--ds-radius-sm);background:var(--ds-surface);color:var(--ds-ink);width:auto}
.ds-foot-left{margin-right:auto;flex-wrap:wrap}
summary{color:var(--ds-indigo)}

/* Utilitários de espaçamento/tipo (no lugar de style inline) */
.ds-wrap{flex-wrap:wrap}
.ds-top{align-items:flex-start}
.ds-gap-2{gap:var(--ds-2)}
.ds-gap-5{gap:var(--ds-5)}
.ds-gap-top-sm{margin-top:10px}
.ds-gap-top{margin-top:var(--ds-3)}
.ds-gap-top-lg{margin-top:var(--ds-5)}
.ds-gap-bottom{margin-bottom:var(--ds-3)}
.ds-gap-section{margin-top:var(--ds-8)}
.ds-m0{margin:0}
.ds-pad{padding:var(--ds-4)}
.ds-right{text-align:right}
.ds-fs-xs{font-size:var(--ds-fs-xs)}.ds-fs-sm{font-size:var(--ds-fs-sm)}.ds-fs-lg{font-size:var(--ds-fs-lg)}.ds-fs-xl{font-size:var(--ds-fs-xl)}
.ds-big{font-size:var(--ds-fs-3xl);font-weight:700;letter-spacing:-.5px;font-family:var(--ds-display)}
.ds-eyebrow--indigo{color:var(--ds-indigo)}
.ds-accent{color:var(--accent,var(--ds-indigo))}
.ds-track--spaced{margin:16px 0 6px}
.ds-bar--spaced{margin:6px 0}
.ds-day-date b.ds-fs-lg{font-size:var(--ds-fs-lg)}

/* ---------- Conclusão de tópico e Revisões ---------- */
/* Selo de tópico concluído em reforço (manual abaixo da regra): mesmo selo, em âmbar. */
.ds-stamp--reforco{border-color:var(--ds-amber);color:var(--ds-amber)}
/* Motivo da revisão: Reforço âmbar · Manutenção teal · Estudo neutro; Atrasada vinho. */
.ds-badge--reforco{color:var(--ds-amber-ink);border-color:var(--ds-amber-line);background:var(--ds-amber-soft)}
.ds-badge--manutencao{color:var(--ds-teal);border-color:var(--ds-teal-line);background:var(--ds-teal-soft)}
.ds-badge--estudo{color:var(--ds-ink-2)}
.ds-badge--late{color:var(--ds-wine);border-color:var(--ds-wine-line);background:var(--ds-wine-soft)}
.ds-chip--late{border-color:var(--ds-wine-line);background:var(--ds-wine-soft);color:var(--ds-wine)}
.ds-chip--reforco{border-color:var(--ds-amber-line);background:var(--ds-amber-soft);color:var(--ds-amber-ink)}
.ds-note--ok{border-left-color:var(--ds-green);background:var(--ds-green-soft);margin-bottom:0}
/* Linha de revisão (view Revisões): ciclo D+n · tópico e motivo · tempo · ações */
.ds-rev{display:grid;grid-template-columns:56px 1fr auto auto;gap:var(--ds-3);align-items:center;padding:var(--ds-3) 0}
.ds-rev+.ds-rev{border-top:1px solid var(--ds-line)}
.ds-rev-cycle{display:grid;place-items:center;height:36px;border-radius:var(--ds-radius-sm);background:var(--ds-indigo-soft);color:var(--ds-indigo);font-weight:800;font-size:var(--ds-fs-sm)}
.ds-rev.late .ds-rev-cycle{background:var(--ds-wine-soft);color:var(--ds-wine)}
.ds-rev.done .ds-rev-cycle{background:var(--ds-green-soft);color:var(--ds-green)}
.ds-rev.done .ds-task-title{color:var(--ds-muted);font-weight:500}
.ds-rev-act{gap:var(--ds-2)}
.ds-rev-group--late{border-color:var(--ds-wine-line)}
.ds-rev-done>summary{cursor:pointer;display:flex;gap:var(--ds-2);align-items:center;color:var(--ds-ink)}
.ds-rev-done:not([open])>summary{border-bottom:0}
.ds-pass--late{border-color:var(--ds-wine-line)}
/* Aba Revisão: regras em lista, caderno somente leitura, ciclo em pílulas */
.ds-rev-rules{padding-left:22px;display:grid;gap:var(--ds-3);font-size:15.5px;line-height:1.6}
.ds-rev-rules li{background:var(--ds-surface-group);border:1px solid var(--ds-line);border-radius:var(--ds-radius);padding:var(--ds-3) var(--ds-4)}
.ds-rev-note{background:var(--ds-surface-read);border:1px solid var(--ds-line);border-radius:var(--ds-radius);padding:var(--ds-4);margin-bottom:var(--ds-3);font-size:15px}
@media (max-width:760px){.ds-rev{grid-template-columns:44px 1fr}.ds-rev .ds-est,.ds-rev-act{grid-column:2}}

/* Início: capacidade do dia, menu da tarefa e horizonte (migrados do Plano detalhado) */
.ds-day-cap{margin-top:4px;font-size:10px;color:var(--ds-muted);letter-spacing:.5px}
.ds-day--today .ds-day-cap{color:var(--ds-indigo)}
.ds-menu{position:relative}
.ds-menu>summary{list-style:none;cursor:pointer;width:28px;height:28px;border-radius:var(--ds-radius-sm);display:grid;place-items:center;color:var(--ds-muted);font-weight:800}
.ds-menu>summary::-webkit-details-marker{display:none}
.ds-menu>summary:hover,.ds-menu[open]>summary{background:var(--ds-surface-2);color:var(--ds-ink)}
.ds-menu-pop{position:absolute;right:0;top:32px;z-index:5;min-width:260px;background:var(--ds-surface-accent);border:1px solid var(--ds-line-strong);border-radius:var(--ds-radius);box-shadow:var(--ds-shadow);padding:var(--ds-2);display:grid;gap:2px}
.ds-menu-row{display:grid;gap:6px;padding:8px 10px;font-size:var(--ds-fs-sm);color:var(--ds-ink-2);margin:0}
.ds-menu-row input{width:72px;padding:6px 8px}
.ds-menu-item{text-align:left;border:0;background:none;padding:8px 10px;border-radius:var(--ds-radius-sm);font-size:var(--ds-fs-sm);color:var(--ds-ink)}
.ds-menu-item:hover{background:var(--ds-indigo-soft);color:var(--ds-indigo)}
.ds-horizon{height:10px;border-radius:5px;background:var(--ds-line);overflow:hidden;display:flex;margin-bottom:var(--ds-3)}
.ds-horizon-plan{background:var(--ds-indigo)}.ds-horizon-margin{background:var(--ds-indigo-line-strong)}
.ds-facts{display:flex;flex-wrap:wrap;gap:var(--ds-2) var(--ds-5);font-size:var(--ds-fs-sm);color:var(--ds-muted)}.ds-facts b{color:var(--ds-ink)}
/* Tópicos sem questões (METODOLOGIA, "Aguardando questões" e "Exercícios autorais e cobertura"). */
.ds-badge--awaiting{color:var(--ds-amber-ink);border-color:var(--ds-amber-line);background:var(--ds-amber-soft)}
.ds-stamp--cobertura{border-color:var(--ds-p3);color:var(--ds-p3)}
.ds-badge--cobertura{color:var(--ds-p3);border-color:var(--ds-p3);background:var(--ds-p3-soft)}
.ds-badge--autoral{color:var(--ds-violet);border-color:var(--ds-violet-line);background:var(--ds-violet-soft);font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.ds-aut-warning{display:flex;gap:var(--ds-3);align-items:flex-start;margin:0 0 var(--ds-4);padding:var(--ds-3) var(--ds-4);border:2px solid var(--ds-amber);border-radius:var(--ds-radius);background:var(--ds-amber-soft);color:var(--ds-amber-ink-strong)}
.ds-aut-card{border-left:4px solid var(--ds-violet)}
.ds-aut-context{margin:var(--ds-2) 0;color:var(--ds-ink-2)}
.ds-aut-trap{margin-top:var(--ds-3)}
.ds-close-block{max-width:46ch;line-height:1.35}
.ds-table tr.covered td{background:var(--ds-teal-soft)}
/* Simulado (simulado.js): regras, cronômetro, grade de itens, escolhas C/E, placar e mini gráfico. */
.ds-sim-rules{margin:0;padding-left:20px;display:grid;gap:6px;font-size:var(--ds-fs-md);color:var(--ds-ink-2);line-height:1.5}
.ds-sim-bar{position:sticky;top:0;z-index:4}
.ds-sim-timer{font-size:var(--ds-fs-2xl);font-weight:700;letter-spacing:0;font-family:var(--ds-display);padding:2px 12px;border-radius:var(--ds-radius-sm);background:var(--ds-indigo-soft);color:var(--ds-indigo-ink);min-width:5ch;text-align:center}
.ds-sim-timer.late{background:var(--ds-wine-soft);color:var(--ds-wine)}
.ds-sim-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:6px}
.ds-sim-cell{height:38px;padding:0;font-family:var(--ds-mono);font-weight:700;font-size:var(--ds-fs-sm);border:1px solid var(--ds-line-strong);border-top:3px solid var(--accent,var(--ds-line-strong));background:var(--ds-surface);color:var(--ds-ink-2);position:relative}
.ds-sim-cell--p1{--accent:var(--ds-p1)}.ds-sim-cell--p2{--accent:var(--ds-p2)}.ds-sim-cell--p3{--accent:var(--ds-p3)}
.ds-sim-cell.answered{background:var(--ds-indigo-fill);border-color:var(--ds-indigo-fill-line);border-top-color:var(--accent);color:var(--ds-on-accent)}
.ds-sim-cell.blank{background:var(--ds-surface-2);border-style:dashed;border-top-style:solid;color:var(--ds-muted)}
.ds-sim-cell.flagged::after{content:"";position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:var(--ds-amber)}
.ds-sim-cell.current{outline:2px solid var(--ds-focus-ring);outline-offset:2px}
.ds-sim-key{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid var(--ds-line-strong);vertical-align:middle;margin-left:var(--ds-2)}
.ds-sim-key.answered{background:var(--ds-indigo-fill);border-color:var(--ds-indigo-fill-line)}.ds-sim-key.blank{border-style:dashed;background:var(--ds-surface-2)}.ds-sim-key.flagged{background:var(--ds-amber);border-color:var(--ds-amber);border-radius:50%}
.ds-sim-item{margin-top:var(--ds-4)}
.ds-sim-choices{display:flex;flex-wrap:wrap;gap:var(--ds-2);margin-top:var(--ds-4)}
.ds-sim-choice{min-width:120px;justify-content:center;padding:12px 20px;font-size:var(--ds-fs-md)}
.ds-sim-choice.active{background:var(--ds-indigo);border-color:var(--ds-indigo);color:var(--ds-on-accent)}
.ds-sim-flag-on{border-color:var(--ds-amber);color:var(--ds-amber-ink);background:var(--ds-amber-soft)}
.ds-sim-ok{color:var(--ds-green)}.ds-sim-ko{color:var(--ds-wine)}
.ds-sim-score td{padding:10px 14px;border-bottom:1px solid var(--ds-line)}
.ds-sim-total td{background:var(--ds-surface-2);border-top:1px solid var(--ds-line-strong)}
.ds-sim-review{border-left:4px solid var(--ds-line-strong)}
.ds-sim-review.ok{border-left-color:var(--ds-green)}.ds-sim-review.ko{border-left-color:var(--ds-wine)}
.ds-sim-err{grid-template-columns:40px 1fr auto auto}
.ds-sim-chart{width:100%;max-width:640px;height:auto;display:block}
.ds-sim-chart .ds-sim-ch-grid{stroke:var(--ds-line);stroke-width:1}
.ds-sim-chart .ds-sim-ch-min{stroke:var(--ds-muted);stroke-width:1.5;stroke-dasharray:4 4}
.ds-sim-chart .ds-sim-ch-ax{font:10px var(--ds-mono);fill:var(--ds-muted)}
.ds-sim-chart .ds-sim-ch-val{font:600 11px var(--ds-mono);fill:var(--ds-ink)}
.ds-sim-ch-bar rect:last-of-type{fill:var(--ds-indigo)}
.ds-sim-ch-bar.miss rect:last-of-type{fill:var(--ds-indigo-line-strong)}
.ds-sim-ch-bar:hover rect:last-of-type{fill:var(--ds-indigo-ink)}
@media (max-width:760px){.ds-sim-err{grid-template-columns:40px 1fr}.ds-sim-timer{font-size:var(--ds-fs-xl)}}

/* Barra da questão (study.js qToolbarHTML): rodapé do .q-card aberto, antes e depois de responder; um painel por vez.
   Nunca no modo prova do minissimulado; na correção (finalizado) aparece em modo somente leitura. */
.ds-qtools{margin-top:var(--ds-4);border-top:1px solid var(--ds-line);padding-top:var(--ds-3)}
.ds-qbar{display:flex;flex-wrap:wrap;gap:var(--ds-2)}
.ds-qbar-btn{padding:7px 12px;border-radius:var(--ds-pill);border:1px solid var(--ds-line);background:var(--ds-surface-2);color:var(--ds-ink-2);font-size:var(--ds-fs-sm);font-weight:600;cursor:pointer}
.ds-qbar-btn:hover:not(:disabled){border-color:var(--ds-indigo);background:var(--ds-indigo-soft);color:var(--ds-indigo)}
.ds-qbar-btn.active{background:var(--ds-sel-soft);border-color:var(--ds-sel-line);color:var(--ds-sel);font-weight:700}
.ds-qbar-btn:disabled{opacity:.45;cursor:not-allowed}
.ds-qpanel{margin-top:var(--ds-3);padding:var(--ds-4);border:1px solid var(--ds-line);border-radius:var(--ds-radius-sm);background:var(--ds-surface-2);display:grid;gap:var(--ds-3)}
.ds-qpanel .tec-comment{margin:0;background:none}
.ds-qpanel .analysis{margin-top:0}
.ds-short-answer{border-left:3px solid var(--ds-indigo);background:var(--ds-surface);border-radius:0 var(--ds-radius-sm) var(--ds-radius-sm) 0;padding:var(--ds-3) var(--ds-4)}
.ds-short-answer .ds-md p{margin:6px 0 0;font-size:16px;line-height:1.55;color:var(--ds-ink)}
.ds-full-toggle{justify-self:start}
/* Fundamentos (study.js): "Para entender do zero" no topo da análise completa e fichas de conceito inline
   (também em "Conceitos base" no resumo do tópico). Ficha = ideia, exemplo, símbolos, por que cai, aprofundar, relacionados. */
.ds-base{border:0;background:var(--ds-indigo-soft);color:var(--ds-ink);border-radius:var(--ds-radius);padding:var(--ds-3) var(--ds-4);margin:var(--ds-2) 0 var(--ds-4)}
.ds-base>.ds-md p{font-size:15.5px;line-height:1.6;color:var(--ds-ink)}
.ds-fund-chips{display:flex;flex-wrap:wrap;gap:var(--ds-2);margin-top:var(--ds-2)}
.ds-fund-ex{background:var(--ds-surface-2);border-radius:var(--ds-radius-sm);padding:var(--ds-3) var(--ds-4)}
.ds-fund-ex p{margin:4px 0}.ds-fund-ex ul{margin:4px 0;padding-left:18px}
.ds-fund-sym{font-size:var(--ds-fs-sm);margin-top:4px}.ds-fund-sym td,.ds-fund-sym th{padding:6px 10px;vertical-align:top}
.analysis .ds-base .ds-eyebrow{display:block}
/* Estudo reverso: link discreto do Gabarito comentado para a seção do resumo que contém a questão */
.ds-read-link{margin:var(--ds-2) 0 0;font-size:13px}
.ds-consulted{color:var(--ds-amber-ink);background:var(--ds-amber-soft);border:1px solid var(--ds-amber-line);border-radius:var(--ds-radius-sm);padding:6px 10px;font-size:var(--ds-fs-sm);margin:8px 0}
.result .ds-consulted{display:inline-block;margin:6px 0 0}
.ds-qstats{display:grid;gap:var(--ds-2)}
.ds-qstat-row{display:grid;grid-template-columns:64px 1fr 48px;gap:var(--ds-2);align-items:center;font-size:var(--ds-fs-sm)}
.ds-qstat-row span:last-child{text-align:right}
.ds-qstat-row .ds-bar{height:10px;border-radius:5px}.ds-qstat-row .ds-bar i{background:var(--ds-green)}
.ds-qstat-row--ko .ds-bar i{background:var(--ds-wine)}
.ds-qhist td,.ds-qhist th{padding:8px 12px}
.ds-qnotes{margin:0;padding-left:18px;font-size:var(--ds-fs-sm)}.ds-qnotes li{margin:2px 0}
.ds-qnote-input{min-height:90px;font-size:14px}
.ds-qcadernos{margin:4px 0 0;padding-left:18px;font-size:var(--ds-fs-sm)}.ds-qcadernos li{margin:4px 0}

/* ---------- Acompanhamento (tracking.js) ---------- */
.ds-trk-legend{margin:var(--ds-3) 0 0;line-height:1.55}
.ds-trk-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--ds-3)}
.ds-trk-tile{display:flex;flex-direction:column;gap:2px;padding:var(--ds-3) var(--ds-4);border:1px solid var(--ds-line);border-radius:var(--ds-radius);background:var(--ds-surface-2)}
.ds-trk-tile b{font-size:var(--ds-fs-2xl);line-height:1.1;color:var(--ds-ink);font-family:var(--ds-display);font-weight:700}
.ds-trk-tile span{font-weight:650;color:var(--ds-ink-2)}
.ds-trk-tile small{font-size:var(--ds-fs-xs);line-height:1.4}
.ds-trk-tile:last-child{grid-column:span 2}
.ds-trk-weeks td{padding:10px 14px}
.ds-trk-current td{background:var(--ds-indigo-soft)}
.ds-trk-pvr{position:relative;height:14px;min-width:140px;background:var(--ds-surface-2);border-radius:var(--ds-pill)}
.ds-trk-pvr i{position:absolute;left:0;border-radius:var(--ds-pill)}
.ds-trk-pvr-plan{top:0;bottom:0;background:var(--ds-line-strong)}
.ds-trk-pvr-done{top:4px;bottom:4px;background:var(--ds-grad)}
.ds-trk-debt{color:var(--ds-wine);font-weight:650}
.ds-trk-credit{color:var(--ds-green)}
.ds-trk-key{display:inline-block;width:12px;height:8px;border-radius:2px;vertical-align:middle;margin:0 2px 0 6px}
.ds-trk-key--plan{background:var(--ds-line-strong)}.ds-trk-key--done{background:var(--ds-grad)}
.ds-trk-key--study{background:var(--ds-indigo)}.ds-trk-key--all{background:var(--ds-indigo-tint)}
/* Mapa de calor: verde ≥ 80% (aprovação), âmbar 60–79%, vinho < 60% (frágil); vazio = sem dados. Número sempre visível. */
.ds-heat{font-size:var(--ds-fs-sm)}
.ds-heat th,.ds-heat td{padding:6px 8px;text-align:center}
.ds-heat .ds-heat-name{text-align:left;font-weight:600;font-size:var(--ds-fs-sm);text-transform:none;letter-spacing:0;color:var(--ds-ink-2);background:var(--ds-surface);min-width:200px}
.ds-heat-group th{text-align:left;background:var(--ds-surface-2);font-size:var(--ds-fs-xs)}
.ds-heat-cell{min-width:58px;border:2px solid var(--ds-surface)!important;border-radius:6px}
.ds-heat-cell b{display:block;font-size:var(--ds-fs-sm)}
.ds-heat-cell small{display:block;font-size:10px;color:var(--ds-ink-2)}
.ds-heat--ok{background:var(--ds-green-soft);color:var(--ds-green)}
.ds-heat--mid{background:var(--ds-amber-soft);color:var(--ds-amber-ink)}
.ds-heat--ko{background:var(--ds-wine-soft);color:var(--ds-wine)}
.ds-heat--empty{background:repeating-linear-gradient(135deg,transparent 0 5px,var(--ds-surface-2) 5px 7px)}
.ds-heat-key{display:inline-block;padding:2px 8px;border-radius:4px;font-size:var(--ds-fs-xs);border:1px solid var(--ds-line)}
.ds-trk-chart{width:100%;max-width:720px;height:auto;display:block}
.ds-trk-ch-grid{stroke:var(--ds-line);stroke-width:1}
.ds-trk-ch-ax{font:10px var(--ds-mono);fill:var(--ds-muted)}
.ds-trk-ch-all{fill:var(--ds-indigo-tint)}.ds-trk-ch-study{fill:var(--ds-indigo)}
.ds-trk-ch-bar:hover .ds-trk-ch-all{fill:var(--ds-indigo-tint-strong)}
.ds-trk-ch-meta{stroke:var(--ds-amber);stroke-width:1.5;stroke-dasharray:5 4}
.ds-trk-empty{text-align:center;color:var(--ds-muted);padding:var(--ds-6)!important;font-style:italic}
.ds-trk-cad th{white-space:normal;vertical-align:bottom}
.ds-trk-table,.ds-trk-legacy{margin-top:var(--ds-3)}
.ds-trk-table summary,.ds-trk-legacy summary{cursor:pointer;color:var(--ds-indigo);font-weight:600;font-size:var(--ds-fs-sm)}
.ds-trk-legacy .panel{margin-top:var(--ds-3)}
@media (max-width:760px){.ds-trk-tile:last-child{grid-column:auto}.ds-heat .ds-heat-name{min-width:140px}}

/* ---------- Placar do dia (Estudar › Resolver questões) ---------- */
.ds-scoreboard{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-3) var(--ds-5);padding:var(--ds-3) var(--ds-4);margin-bottom:var(--ds-4);border:1px solid var(--ds-line);border-left:3px solid var(--ds-indigo);border-radius:0 var(--ds-radius-sm) var(--ds-radius-sm) 0;background:var(--ds-surface)}
.ds-scoreboard-title{font-weight:700;font-size:var(--ds-fs-sm);letter-spacing:.4px;text-transform:uppercase;color:var(--ds-ink-2)}
.ds-score{display:flex;flex-direction:column;gap:1px;font-size:var(--ds-fs-sm)}
.ds-score b{font-family:var(--ds-mono);font-size:var(--ds-fs-lg)}
.ds-score small{color:var(--ds-muted);font-size:var(--ds-fs-xs)}
.ds-score--pre b{color:var(--ds-amber)}
.ds-scoreboard .ds-btn{margin-left:auto}
.ds-redo-note{border-left:3px solid var(--ds-amber);background:var(--ds-amber-soft);padding:6px 10px;border-radius:0 6px 6px 0;font-size:var(--ds-fs-sm);margin:var(--ds-2) 0}
.ds-trk-ev .ds-link{text-align:left;font-weight:600}

/* Minissimulado: foco total (só a prova na tela) e fundo escuro. Usa :has para não depender do render global. */
body:has(.ds-sim-focus) aside,body:has(.ds-sim-focus) main>header,body:has(.ds-sim-focus) main>footer{display:none}
body:has(.ds-sim-focus) main{margin-left:0;max-width:1100px;margin-inline:auto;padding:24px 32px}
body:has(.ds-sim-focus) .ds-sim-item .q-statement{font-size:var(--ds-fs-lg);line-height:1.65}
body:has(.ds-sim-dark){background:#0b122b}
/* Tema escuro global: o minissimulado já é escuro; o botão "Fundo escuro" só aparece no tema claro. */
:root:not([data-theme="light"]) [data-act="sim-dark"]{display:none}
/* Escuro (tema global ou .ds-sim-dark): o HTML vindo do TEC (enunciados, comentários, textos associados) traz cores
   inline pensadas para fundo branco; aqui o texto herda a tinta de leitura e o fundo fica transparente. Figuras ganham
   fundo branco (muitas são PNG transparentes com traço preto). Os tokens escuros ficam no topo (:root:not([data-theme="light"]),.ds-sim-dark). */
:is(:root:not([data-theme="light"]),.ds-sim-dark) :is(.q-statement,.q-context,.tec-comment,.ds-cobra-stmt) :not(a,a *,.katex,.katex *){color:inherit!important;background-color:transparent!important}
:is(:root:not([data-theme="light"]),.ds-sim-dark) .q-statement{color:var(--ds-ink-read)}
:is(:root:not([data-theme="light"]),.ds-sim-dark) :is(.q-statement blockquote,.q-statement .container-textoassociado,.q-statement article){background:var(--ds-surface-2)!important;border-color:var(--ds-line)!important}
:is(:root:not([data-theme="light"]),.ds-sim-dark) :is(.q-statement,.tec-comment,.ds-read-body,.q-context) img{background:#fff;border-radius:4px;filter:brightness(.92)}
.ds-sim-dark{color:var(--ds-ink);background:var(--ds-bg)}

/* ---- Conectar ao TEC (tecsync.js) ---- */
.ds-tec-steps{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--ds-ink-2);font-size:var(--ds-fs-sm)}
.ds-tec-bm{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:9px 16px;border-radius:var(--ds-pill);background:var(--ds-indigo-fill);color:var(--ds-on-accent);font-weight:700;text-decoration:none;cursor:grab;border:2px dashed var(--ds-on-accent);outline:2px solid var(--ds-indigo-fill-line);outline-offset:-1px}
.ds-tec-bm:hover{background:var(--ds-indigo-fill-hover)}.ds-tec-bm:active{cursor:grabbing}
.ds-tec-um{border:1px solid var(--ds-line);border-radius:var(--ds-radius);background:var(--ds-surface);padding:var(--ds-3) var(--ds-4);margin-bottom:var(--ds-3)}
.ds-tec-um-text{margin:6px 0 10px;color:var(--ds-ink-2);font-size:var(--ds-fs-sm)}
.ds-tec-um .ds-form-row{align-items:end;flex-wrap:wrap}.ds-tec-um select.ds-input{max-width:min(520px,100%)}
.ds-tec-bat{margin-bottom:var(--ds-4);border:0;border-left:3px solid var(--accent,var(--ds-indigo));border-radius:0 var(--ds-radius-sm) var(--ds-radius-sm) 0;background:var(--ds-surface-inset);padding:var(--ds-3) var(--ds-4)}
.ds-trk-cad-name{min-width:180px}.ds-trk-cad-next{min-width:180px;max-width:260px}
.ds-trk-bat-idle{margin:8px 0 0;padding-left:0;list-style:none;columns:2 320px;column-gap:24px;font-size:var(--ds-fs-sm)}.ds-trk-bat-idle li{break-inside:avoid;padding:3px 0}
.ds-trk-cad td,.ds-trk-cad th{padding-left:10px;padding-right:10px}

/* Coluna de leitura centralizada: em telas largas o conteúdo fica numa coluna confortável (tipo QConcursos/Bizzu),
   com respiro dos lados. Telas de tabela larga (Tópicos, Backlog, Acompanhamento) usam uma coluna mais larga. */
main{max-width:none}
main>header,main>footer,#app{max-width:1120px;margin-inline:auto}
main:has(#app[data-view="topics"]) >header,main:has(#app[data-view="topics"]) >footer,#app[data-view="topics"],
main:has(#app[data-view="backlog"]) >header,main:has(#app[data-view="backlog"]) >footer,#app[data-view="backlog"],
main:has(#app[data-view="tracking"]) >header,main:has(#app[data-view="tracking"]) >footer,#app[data-view="tracking"]{max-width:1360px}
body:has(.ds-sim-focus) main>header,body:has(.ds-sim-focus) #app{max-width:1000px}
/* Fundamentos: "Traduzindo o enunciado" (analise.base.traducao) e checagem C/E no fim da ficha */
.ds-base-trad{margin-top:var(--ds-3)}
.ds-base-trad .ds-fund-sym{background:none}
.ds-fund-chk{border-top:1px dashed var(--ds-line);padding-top:var(--ds-3)}
.ds-fund-chk .ds-md p{margin:4px 0 8px;font-size:15px;line-height:1.55}
.ds-fund-chk-btn{padding:6px 12px;font-size:var(--ds-fs-sm)}
.ds-fund-chk-ans{margin-top:var(--ds-2);padding:var(--ds-2) var(--ds-3);background:var(--ds-surface-2);border-radius:var(--ds-radius-sm);font-size:var(--ds-fs-sm);line-height:1.55}
/* Acompanhamento: seções recolhíveis (02–04 antigas: Semana, Mapa de calor, Volume) */
.ds-trk-fold-head{cursor:pointer;user-select:none}
.ds-trk-fold:not(.open) .ds-trk-fold-head{border-bottom:0;padding-bottom:0;margin-bottom:0}
.ds-trk-fold-text{flex:1;min-width:0}
.ds-trk-fold-btn{all:unset;cursor:pointer;border-radius:4px}
.ds-trk-fold-btn:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:2px}
.ds-trk-fold-sum{color:var(--ds-ink-2);margin-top:2px!important}
.ds-trk-fold-chev{color:var(--ds-muted);font-size:var(--ds-fs-lg);padding:0 var(--ds-2)}
.ds-trk-fold-head:hover .ds-trk-fold-chev,.ds-trk-fold-head:hover .ds-title{color:var(--ds-indigo)}
/* Plano de recuperação da bateria (tecsync.js: batRecoveryHTML) */
.ds-trk-rec-btn{margin-top:4px;font-weight:650;font-size:var(--ds-fs-sm)}
tr.ds-trk-rec-open td{border-bottom:0}
.ds-trk-rec-row>td{background:var(--ds-surface-2);padding:var(--ds-3) var(--ds-4)!important}
.ds-rec-wrap{margin-top:var(--ds-3);border-top:1px dashed var(--ds-line);padding-top:var(--ds-2)}
.ds-rec-wrap>summary{cursor:pointer;color:var(--ds-indigo);font-weight:650;font-size:var(--ds-fs-sm)}
.ds-rec{display:grid;gap:var(--ds-2);margin-top:var(--ds-2);max-width:980px}
.ds-rec-steps{margin:0;padding-left:22px;display:grid;gap:var(--ds-3)}
.ds-rec-steps>li::marker{font-weight:800;color:var(--ds-indigo)}
.ds-rec-subs{list-style:none;padding:0;margin:var(--ds-2) 0 0;display:grid;gap:var(--ds-2)}
.ds-rec-sub{border:1px solid var(--ds-line);border-radius:var(--ds-radius-sm);background:var(--ds-surface-read);padding:var(--ds-2) var(--ds-3);display:grid;gap:var(--ds-2)}
.ds-rec-sub--ok{opacity:.8}
.ds-rec-bar{--accent:var(--ds-wine)}
.ds-rec-bar i{background:var(--accent)}
.ds-rec-sub--ok .ds-rec-bar{--accent:var(--ds-green)}
.ds-rec-act{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-2) var(--ds-3);margin-top:var(--ds-2)}
.ds-rec-act>p{flex-basis:100%}
.ds-rec-item{margin-top:var(--ds-4)}
.ds-rec-qnum{font-size:var(--ds-fs-xs);color:var(--ds-muted);margin-bottom:4px;letter-spacing:.3px}
.ds-analysis-pending{border-left:3px solid var(--ds-indigo);background:var(--ds-indigo-soft);padding:8px 12px;border-radius:0 6px 6px 0;font-size:var(--ds-fs-sm);margin:var(--ds-3) 0 0;color:var(--ds-ink-2)}
.ds-rec a.ds-btn{text-decoration:none}

/* ---------- Fichas de conceito (páginas da aba Teoria e painel lateral) ---------- */
.ds-leitura{scroll-margin-top:var(--ds-4)}
.ds-guide-gname{font-size:var(--ds-fs-xs);letter-spacing:1.2px;text-transform:uppercase;color:var(--ds-muted);font-weight:700;padding:0 10px 4px}
.ds-guide-dot{width:16px;height:16px;margin-top:1px;border-radius:50%;border:1.5px solid var(--ds-line-strong);display:grid;place-items:center;font-size:10px;color:var(--ds-on-accent)}
.ds-theory-link.seen .ds-guide-dot{background:var(--ds-green-fill);border-color:var(--ds-green-fill-line)}
.ds-guide-err{min-width:20px;padding:1px 6px;border-radius:var(--ds-pill);background:var(--ds-wine-soft);color:var(--ds-wine);font-family:var(--ds-mono);font-size:var(--ds-fs-xs);font-weight:700;text-align:center}
.ds-guide-ficha{max-width:760px;display:grid;gap:var(--ds-6)}
.ds-guide-head{display:grid;gap:var(--ds-2);padding-bottom:var(--ds-4);border-bottom:1px solid var(--ds-indigo-line-soft)}
.ds-guide-head h2{font-size:26px;letter-spacing:-.3px;margin:0;font-weight:700;line-height:1.25;font-family:var(--ds-display)}
.ds-guide-ideia p{font-size:18px;line-height:1.7;margin:0 0 10px;color:var(--ds-ink-read)}
.ds-guide-sec{display:grid;gap:var(--ds-2)}
.ds-guide-sec>h3{margin:0;font-size:var(--ds-fs-xs);letter-spacing:1.4px;text-transform:uppercase;color:var(--ds-muted);font-weight:750}
.ds-guide-steps{margin:0;padding-left:22px;display:grid;gap:6px;font-size:16px;line-height:1.6}
.ds-guide-steps ul{margin:4px 0 0;padding-left:18px}
.ds-guide-steps>li::marker{color:var(--ds-indigo);font-weight:800;font-family:var(--ds-mono)}
.ds-guide-list{margin:0;padding-left:20px;display:grid;gap:6px;font-size:16px;line-height:1.6}
.ds-guide-more{margin-top:var(--ds-2);padding:var(--ds-3) var(--ds-4);border-left:3px solid var(--ds-line-strong);color:var(--ds-ink-2);font-size:15px;line-height:1.6}
.ds-guide-more p{margin:4px 0 0}
.ds-guide-nav{display:flex;justify-content:space-between;gap:var(--ds-3);border-top:1px solid var(--ds-line);padding-top:var(--ds-4)}
.ds-guide-nav .ds-btn{display:grid;gap:2px;text-align:left;max-width:48%;padding:10px 16px}
.ds-guide-nav .ds-btn small{font-weight:500;color:var(--ds-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ds-guide-nav .ds-btn--primary small{color:var(--ds-indigo-pale)}
.ds-guide-next{margin-left:auto;text-align:right!important}
.ds-guide-sec>.ds-btn{justify-self:start}
/* Como a banca cobra / Questão real resolvida: o mesmo cartão de questão, na variação compacta (.q-card--compact:
   borda teal à esquerda, cabeçalho .q-head--compact e enunciado em 3 linhas). */
.q-card.q-card--compact{margin:0;background:var(--ds-surface-read);border:1px solid var(--ds-line);border-left:3px solid var(--ds-p3);border-radius:0 var(--ds-radius) var(--ds-radius) 0;padding:var(--ds-3) var(--ds-4);display:grid;gap:var(--ds-2);box-shadow:none}
.q-card--compact+.q-card--compact{margin-top:var(--ds-1)}
.q-head--compact{font-size:var(--ds-fs-xs);color:var(--ds-ink-2);gap:var(--ds-2)}
.ds-cobra-stmt{margin:0;font-size:15px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ds-cobra-stmt p{margin:0}
.ds-cobra-ans{background:var(--ds-surface-inset);border-radius:var(--ds-radius-sm);padding:var(--ds-2) var(--ds-3)}
.ds-cobra-ans .ds-md p,.ds-cobra-why .ds-md p{margin:4px 0 0;font-size:15px;line-height:1.55}
.ds-cobra-why{padding:0 var(--ds-3);border-left:2px solid var(--ds-indigo-line)}
.ds-cobra-acts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-2) var(--ds-4)}
.ds-cobra-acts .ds-btn{padding:6px 12px}
.q-card--compact.open>.q-card{margin:0;border:0;padding:0;box-shadow:none;background:none}
/* ---------- Padrão do material teórico (PADRAO_TEORIA.md; DESIGN_SYSTEM, "Padrão do material teórico") ----------
   Blocos da seção, nesta ordem: Do zero · Como reconhecer na prova · A regra · Questão real resolvida · Pegadinhas · Checagem.
   O cartão de sinal (.ds-sinal) é o mesmo nas seções e nas fichas (conceito e técnica). */
/* Do zero: cartão suave no topo da seção */
.ds-dozero{background:var(--ds-surface-prose);border:1px solid var(--ds-line);border-left:3px solid var(--ds-indigo);border-radius:0 var(--ds-radius) var(--ds-radius) 0;padding:var(--ds-5) var(--ds-6);display:grid;gap:var(--ds-3);min-width:0}
.ds-dozero-body{font-size:16.5px;color:var(--ds-ink-read)}
.ds-dozero-body>:last-child{margin-bottom:0}
.ds-dozero-body>ul:last-child,.ds-dozero-body>p:last-child{margin-bottom:0}
/* Formatos: cartões lado a lado dentro do "Do zero" (formatosHTML). Brancos sobre o creme do bloco; cor do topo por cartão. */
.ds-fmt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ds-3)}
.ds-fmt-card{background:var(--ds-surface);border:1px solid var(--ds-line);border-top:3px solid var(--c);border-radius:var(--ds-radius);padding:var(--ds-3) var(--ds-4);display:grid;gap:6px;align-content:start;font-size:14.5px;line-height:1.45;min-width:0}
.ds-fmt-verb{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;font-weight:750;color:var(--c)}
.ds-fmt-name{font-weight:700;color:var(--ds-ink);font-size:15.5px}
.ds-fmt-how{margin:0;color:var(--ds-ink-2)}
.ds-fmt-ex{margin:0;color:var(--ds-muted);font-size:13.5px}
.ds-fmt-steps{margin:0;padding-left:1.2em;font-size:13.5px;color:var(--ds-ink-2);display:grid;gap:2px}
.ds-fmt-tab{border-collapse:collapse;font-size:12px;font-family:var(--ds-mono);margin:2px 0;width:100%;table-layout:fixed}
.ds-fmt-tab th,.ds-fmt-tab td{border:1px solid var(--ds-line-strong);padding:3px 4px;text-align:center}
.ds-fmt-tab tr>th:first-child{width:36%;text-align:left}
.ds-fmt-row .katex,.ds-fmt-res .katex{font-size:1em}
.ds-fmt-tab th{font-family:var(--ds-font);font-size:11.5px;font-weight:600;color:var(--ds-muted);background:var(--ds-bg)}
.ds-fmt-tab td.is-hit{background:var(--ds-indigo-soft);color:var(--ds-indigo-ink);font-weight:750;outline:2px solid var(--ds-indigo);outline-offset:-2px}
.ds-fmt-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;margin:2px 0 0;font-size:13.5px}
.ds-fmt-row dt{color:var(--ds-muted)}
.ds-fmt-row dd{margin:0;color:var(--ds-ink)}
.ds-fmt-res{margin-top:4px;padding-top:6px;border-top:1px dashed var(--ds-line-strong);font-family:var(--ds-mono);font-weight:700;color:var(--ds-ink)}
.ds-fmt-nota{margin-top:var(--ds-1)}
@media (max-width:820px){.ds-fmt{grid-template-columns:minmax(0,1fr)}}
/* "versus" (comparação; × só para multiplicação) e siglas do glossário com dica */
.ds-vs{font-size:.86em;color:var(--ds-muted);font-style:italic;padding:0 .1em}
.ds-abbr{text-decoration:underline dotted var(--ds-faint);text-underline-offset:3px;cursor:help;position:relative;border-radius:2px}
.ds-abbr:focus{outline:2px solid var(--ds-focus-ring);outline-offset:2px}
.ds-abbr:hover::after,.ds-abbr:focus::after{content:attr(data-tip);position:absolute;left:0;top:calc(100% + 6px);z-index:30;width:max-content;max-width:min(320px,80vw);padding:6px 10px;border-radius:6px;background:var(--ds-tip-bg);color:var(--ds-tip-ink);border:1px solid var(--ds-line-strong);font:400 13px/1.45 var(--ds-font,system-ui);font-style:normal;letter-spacing:0;text-transform:none;white-space:normal;box-shadow:var(--ds-shadow);pointer-events:none}
/* Como reconhecer na prova: cartões "sinal → pense em", linha de contexto e mini-exemplo × contraexemplo lado a lado */
/* Um só bloco (região comum): os sinais são itens do mesmo assunto, separados por linha fina, sem cartão por item. */
.ds-sinais-list{display:grid;background:var(--ds-surface-read);border:1px solid var(--ds-line);border-radius:var(--ds-radius);padding:0 var(--ds-5)}
.ds-sinal{padding:var(--ds-4) 0;display:grid;gap:var(--ds-2);min-width:0}
.ds-sinal+.ds-sinal{border-top:1px solid var(--ds-line-strong)}
.ds-sinal-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px var(--ds-2);font-size:15px;line-height:1.5}
.ds-sinal-head>*{min-width:0}
.ds-sinal-frase{font-family:var(--ds-mono);font-style:italic;font-size:13px;color:var(--ds-indigo-ink);background:var(--ds-indigo-soft);border-radius:6px;padding:1px 7px;overflow-wrap:anywhere}
.ds-sinal-arrow{color:var(--ds-muted);font-weight:700}
.ds-sinal-tool{font-weight:600;color:var(--ds-ink)}
.ds-sinal-ctx,.ds-sinal-nc{margin:0;font-size:var(--ds-fs-sm);line-height:1.5;color:var(--ds-muted)}
.ds-sinal-nc{color:var(--ds-ink-2)}
.ds-sinal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-2)}
.ds-mini{display:grid;gap:3px;align-content:start;min-width:0;padding:var(--ds-2) var(--ds-3);border:0;border-left:3px solid var(--ds-green);border-radius:0 6px 6px 0;background:var(--ds-surface-inset);font-size:var(--ds-fs-sm);line-height:1.45}
.ds-mini--contra{border-left-color:var(--ds-amber)}
.ds-mini p{margin:0;overflow-wrap:anywhere}
.ds-mini-h{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;font-weight:700;color:var(--ds-green)}
.ds-mini--contra .ds-mini-h{color:var(--ds-amber-ink)}
.ds-mini-title{font-weight:650;color:var(--ds-ink)}
.ds-mini-frase{color:var(--ds-ink-2)}
.ds-mini-conta{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px var(--ds-2)}
.ds-mini-conta .ds-mono{font-size:12.5px;color:var(--ds-ink-2)}
.ds-mini-arrow{color:var(--ds-muted)}
.ds-mini-res{font-family:var(--ds-mono);color:var(--ds-ink)}
.ds-sinal .katex{font-size:1.02em}
/* Passos "frase ↵ → conta" (CONTEUDO.md, regra 13): a frase em texto, a conta na linha de baixo em mono. Usado na conta
   dos mini-exemplos com várias linhas (.ds-mini-steps) e na questão real do sinal (.ds-sinq-steps). */
.ds-passos{margin:2px 0 0;padding-left:1.35em;display:grid;gap:5px;line-height:1.45}
.ds-passos li{padding-left:2px}
.ds-passos li::marker{color:var(--ds-muted);font-family:var(--ds-mono);font-size:.9em}
.ds-passo-frase,.ds-passo-conta{display:block;overflow-wrap:anywhere}
.ds-passo-frase{color:var(--ds-ink-2)}
.ds-passo-conta{font-family:var(--ds-mono);font-size:12.5px;color:var(--ds-ink)}
.ds-sinq-steps{font-size:15px}
.ds-sinq-steps .ds-passo-conta{font-size:13.5px}
.ds-chk-steps{margin-top:var(--ds-1)}
.ds-chk-atalho{margin:var(--ds-2) 0 0;padding-top:var(--ds-1);border-top:1px dashed var(--ds-line-strong);font-size:var(--ds-fs-sm);color:var(--ds-ink-2)}
.ds-res-steps .ds-passo-frase{font-family:var(--ds-font)}
.ds-mini-fim{border-top:1px dashed var(--ds-line-strong);padding-top:3px;margin-top:2px}
/* Esquema visual do sinal (reconhecer[].esquema; regra 11): desenho à esquerda, legenda ao lado; empilha no celular.
   Sem caixa (o cartão de sinal já agrupa): só o recorte --ds-surface-inset. Regiões destacadas = tom claro da ação +
   hachura + número em negrito com halo (lightness + padrão + rótulo, nunca só a cor). Só tokens de tema. */
.ds-esq{margin:0;display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:center;gap:var(--ds-2) var(--ds-4);padding:var(--ds-3);background:var(--ds-surface-inset);border-radius:var(--ds-radius-sm);min-width:0}
.ds-esq--arvore{grid-template-columns:minmax(0,380px) minmax(0,1fr)}
.ds-esq--tabela{grid-template-columns:minmax(0,340px) minmax(0,1fr)}
.ds-esq-fig{min-width:0}
.ds-esq-svg{display:block;width:100%;height:auto;overflow:visible}
.ds-esq-svg text{font-family:var(--ds-font);fill:var(--ds-ink)}
.ds-esq-line{fill:none;stroke:var(--ds-muted);stroke-width:1.5}
.ds-esq-box{fill:none;stroke:var(--ds-line-strong);stroke-width:1;stroke-dasharray:4 3}
.ds-esq-seg{fill:var(--ds-surface-read)}
.ds-esq-hl-bg{fill:var(--ds-indigo-soft)}
.ds-esq-hl-line{stroke:var(--ds-indigo);stroke-width:1.6;stroke-opacity:.55}
.ds-esq-num{font-family:var(--ds-mono)!important;font-size:16px;font-weight:700;paint-order:stroke;stroke:var(--ds-surface-inset);stroke-width:4px;stroke-linejoin:round}
.ds-esq-num.is-hl{fill:var(--ds-indigo-ink)!important;font-size:17px;stroke:var(--ds-indigo-soft)}
.ds-esq-lbl{font-size:13px;font-weight:700;fill:var(--ds-ink-2)!important}
.ds-esq-foot{font-size:12px;fill:var(--ds-muted)!important;font-family:var(--ds-mono)!important}
.ds-esq-foot.is-hl{fill:var(--ds-indigo-ink)!important;font-weight:700}
.ds-esq-mark{stroke:var(--ds-ink);stroke-width:2;stroke-dasharray:3 2}
.ds-esq-p{font-size:13px;font-family:var(--ds-mono)!important;fill:var(--ds-ink-2)!important}
.ds-esq-dot{fill:var(--ds-muted)}
.ds-esq-leaf{font-size:14px;font-family:var(--ds-mono)!important}
.ds-esq-leaf.is-hl{font-weight:700;fill:var(--ds-indigo-ink)!important}
.ds-esq-leaf-hl{fill:var(--ds-indigo-soft);stroke:var(--ds-indigo);stroke-width:1.5}
.ds-esq-cap{font-size:var(--ds-fs-sm);line-height:1.5;color:var(--ds-ink-2);min-width:0;overflow-wrap:anywhere}
.ds-esq-cap .ds-mono{font-size:.95em;color:var(--ds-ink)}
.ds-esq-legs{display:flex;flex-wrap:wrap;gap:4px var(--ds-4);margin-top:var(--ds-2);font-size:var(--ds-fs-sm);line-height:1.4;color:var(--ds-ink-2)}
.ds-esq-leg{display:inline-flex;align-items:center;gap:6px}
.ds-esq-sw{width:16px;height:12px;flex:none;border:1.5px solid var(--ds-muted);border-radius:2px;background:var(--ds-surface-read)}
.ds-esq-sw.is-hl{background-color:var(--ds-indigo-soft);background-image:repeating-linear-gradient(45deg,transparent 0 3px,var(--ds-indigo) 3px 4.5px)}
.ds-esq-tab{margin:0;font-size:13px}
.ds-esq-tab th{font-size:12px}
.ds-esq-tab td.is-hit{outline-width:2px}
/* Questão real do sinal (reconhecer[].questao_id; regra 12): o mesmo cartão compacto da resolvida (borda índigo) */
.q-card.ds-sinq{border-left-color:var(--ds-indigo);gap:var(--ds-2);margin-top:var(--ds-1)}
.ds-sinq>.ds-eyebrow{font-size:10px}
@media (max-width:600px){
  .ds-esq,.ds-esq--arvore,.ds-esq--tabela{grid-template-columns:minmax(0,1fr);padding:var(--ds-2)}
  .ds-esq-fig{max-width:340px}
  .ds-esq-cap,.ds-esq-legs,.ds-passo-conta,.ds-esq-tab{font-size:14px}
  .ds-esq-tab th{font-size:12px}
  .ds-passos,.ds-sinq-steps{font-size:16px}
  .ds-sinq>.ds-eyebrow{font-size:12px}
}
/* A regra: o corpo do resumo em bloco próprio */
.ds-regra .ds-read-body>:first-child{margin-top:0}
/* Questão real resolvida: cartão de resolução comentada (borda índigo) com O sinal · Por que esta ferramenta · Na mão · Conclusão */
.ds-resolvidas{gap:var(--ds-3)}
.q-card.ds-resolvida{border-left-color:var(--ds-indigo);gap:var(--ds-3)}
.ds-resolvida+.ds-resolvida{margin-top:var(--ds-2)}
.ds-cobra-stmt.is-full{display:block;overflow:visible;-webkit-line-clamp:unset}
.ds-res-more{justify-self:start;margin-top:calc(-1 * var(--ds-2))}
/* Enunciado × explicação (20/10/2026): o enunciado numa caixa de citação neutra (recorte + régua lateral --ds-line-strong,
   eyebrow "Questão · banca ano · órgão", alternância no fim) e a parte do norteia num bloco próprio em tom da ação
   (--ds-indigo-soft) com cabeçalho "Resolução norteia" e a bússola; um respiro --ds-3 separa os dois (Gestalt: região
   comum + semelhança). Vale para a resolvida, "Como a banca cobra" e a questão do sinal. */
.ds-qbox{display:grid;gap:var(--ds-2);min-width:0;background:var(--ds-surface-inset);border-left:3px solid var(--ds-line-strong);border-radius:0 var(--ds-radius-sm) var(--ds-radius-sm) 0;padding:var(--ds-2) var(--ds-3)}
.ds-qbox-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px var(--ds-2)}
.ds-qbox .ds-res-more{margin-top:0}
.ds-expl{display:grid;gap:var(--ds-3);min-width:0;background:var(--ds-indigo-soft);border-radius:var(--ds-radius-sm);padding:var(--ds-3);margin-top:var(--ds-1)}
.ds-expl-h{display:flex;align-items:center;gap:var(--ds-2);margin:0;padding-bottom:var(--ds-2);border-bottom:1px solid var(--ds-indigo-line);font-family:var(--ds-display);font-weight:700;font-size:var(--ds-fs-sm);letter-spacing:.3px;color:var(--ds-indigo-ink)}
.ds-expl-mark{width:20px;height:20px;border-radius:5px}
.ds-expl .ds-res-concl:not(.ok),.ds-expl .ds-cobra-ans{background:var(--ds-surface-read)}
.ds-res-part{display:grid;gap:2px}
.ds-res-part .ds-eyebrow,.ds-res-concl .ds-eyebrow{font-size:10px}
.ds-res-sinal{margin:0;font-size:15px;line-height:1.5;font-style:italic;color:var(--ds-ink)}
.ds-res-part .ds-md p{margin:2px 0 0;font-size:15px;line-height:1.55}
.ds-res-steps{font-family:var(--ds-mono);font-size:13.5px;line-height:1.65;gap:4px;overflow-wrap:anywhere}
.ds-res-steps .katex{font-size:1.1em}
.ds-res-concl{background:var(--ds-surface-inset);border-left:3px solid var(--ds-line-strong);border-radius:0 var(--ds-radius-sm) var(--ds-radius-sm) 0;padding:var(--ds-2) var(--ds-3)}
.ds-res-concl p{margin:2px 0 0;font-weight:650;font-size:15px;line-height:1.5}
.ds-res-concl.ok{background:var(--ds-green-soft);border-left-color:var(--ds-green)}
.ds-res-concl.ok .ds-eyebrow{color:var(--ds-green)}
/* Pegadinhas da banca: tabela Armadilha | Como detectar; no celular, pares empilhados */
.ds-peg td{vertical-align:top;font-size:var(--ds-fs-sm);line-height:1.5;padding:10px 14px}
.ds-peg td:first-child{font-weight:600;width:38%}
/* Tabelas da leitura (pegadinhas, símbolos, evolução do Cálculo): sem caixa; as linhas já separam (Prägnanz). */
.ds-theory-page .ds-table-wrap,.ds-drawer .ds-table-wrap{background:none;border:0;border-radius:0}
.ds-theory-page .ds-table th,.ds-drawer .ds-table th{background:none;border-bottom:2px solid var(--ds-line-strong)}
/* Checagem rápida da seção (mesmo componente das fichas) */
.ds-sec-chk .ds-fund-chk{border-top:0;padding-top:0}
@media (max-width:600px){
  .ds-sinal-grid{grid-template-columns:minmax(0,1fr)}
  .ds-dozero{padding:var(--ds-4)}
  .ds-peg thead{display:none}
  .ds-peg tr{display:grid;gap:4px;padding:var(--ds-2) var(--ds-3);border-bottom:1px solid var(--ds-line)}
  .ds-peg td,.ds-peg td:first-child{display:block;padding:0;border:0;width:auto}
  .ds-peg td::before{content:attr(data-label);display:block;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ds-muted);font-weight:700}
}
/* Painel lateral da ficha (chips de "Para entender do zero") */
body.ds-drawer-on{overflow:hidden}
.ds-drawer-backdrop{position:fixed;inset:0;background:var(--ds-backdrop);z-index:1000}
#toast{z-index:1010}
.ds-drawer{position:fixed;top:0;right:0;bottom:0;width:min(640px,100vw);background:var(--ds-bg);z-index:1001;display:grid;grid-template-rows:auto 1fr auto;border-left:1px solid var(--ds-line-strong);box-shadow:var(--ds-shadow)}
.ds-drawer-bar,.ds-drawer-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-3);padding:var(--ds-3) var(--ds-5);background:var(--ds-surface-group);border-bottom:1px solid var(--ds-line)}
.ds-drawer-foot{border-top:1px solid var(--ds-line);border-bottom:0;justify-content:flex-end}
.ds-drawer-x{border:0;background:none;font-size:18px;cursor:pointer;color:var(--ds-ink-2);padding:4px 8px;border-radius:var(--ds-radius-sm)}
.ds-drawer-x:hover{background:var(--ds-surface-2);color:var(--ds-ink)}
.ds-drawer-body{overflow:auto;padding:var(--ds-5)}
.ds-drawer .ds-guide-ficha{gap:var(--ds-5)}
.ds-drawer .ds-guide-head h2{font-size:22px}
/* Plano de recuperação enxuto */
.ds-rec-line{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(80px,160px) auto;align-items:center;gap:var(--ds-3)}
.ds-rec-title{font-weight:650;font-size:var(--ds-fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ds-rec-num{white-space:nowrap}
.ds-rec-rev{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--ds-2)}
.ds-rec-rev .ds-chip--btn{padding:4px 10px;font-size:var(--ds-fs-xs)}
.ds-rec-n{font-family:var(--ds-mono);color:var(--ds-wine);font-weight:700}
.ds-rec-acts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-2) var(--ds-4)}
.ds-rec-acts .ds-btn{padding:6px 12px}
@media (max-width:760px){.ds-rec-line{grid-template-columns:auto 1fr auto;row-gap:6px}.ds-rec-line .ds-rec-id{grid-column:1;grid-row:1}.ds-rec-line .ds-rec-num{grid-column:3;grid-row:1}.ds-rec-line .ds-rec-title{grid-column:1/-1;grid-row:2;white-space:normal}.ds-rec-line .ds-rec-bar{grid-column:1/-1;grid-row:3}.ds-guide-nav .ds-btn{max-width:none;flex:1}.ds-guide-head h2{font-size:22px}.ds-guide-ideia p{font-size:16.5px}.ds-drawer-body{padding:var(--ds-4)}}
/* Plano de recuperação dentro da tabela larga de baterias: no celular fica preso à esquerda do trecho visível. */
@media (max-width:760px){.ds-trk-rec-row .ds-rec{position:sticky;left:0;max-width:calc(100vw - 64px)}}

/* Menu lateral: nunca esconder itens em janelas baixas (ou com zoom). Rola dentro da barra e compacta o espaçamento. */
aside{overflow-y:auto;overscroll-behavior:contain}
@media (max-height:860px){aside nav button,aside nav a{padding:7px 10px}aside nav .nav-sep{margin:8px 10px 2px}aside{padding-top:18px;padding-bottom:14px}aside .eyebrow{margin-bottom:8px}}
@media (max-height:640px){aside .aside-bottom{display:none}}
@media (max-height:720px){aside nav button,aside nav a{padding:5px 10px}aside .brand{font-size:24px}}

/* ---------- Espaçamentos de página (DESIGN_SYSTEM.md, "Espaçamentos") ----------
   Menu ↔ conteúdo = --ds-page-x (32 px; 24 até 1100 px; 16 no celular). A coluna do Estudar vai a 1200 px para a Teoria
   (índice + gutter + texto) não ganhar sobra grande à esquerda em telas de ~1500 px. */
main{padding:var(--ds-8) var(--ds-page-x)}
main:has(#app[data-view="study"]) >header,main:has(#app[data-view="study"]) >footer,#app[data-view="study"]{max-width:1200px}
/* Menu recolhido: a coluna do Estudar encolhe para índice + gutter + texto (252 + 40 + 740 ≈ 1040) e centraliza, com sobras
   iguais dos dois lados (em vez de sobra grande à direita do texto). */
@media (min-width:1001px){body.ds-aside-min main:has(#app[data-view="study"]) >header,body.ds-aside-min main:has(#app[data-view="study"]) >footer,body.ds-aside-min #app[data-view="study"]{max-width:1040px}}
@media (max-width:1100px){:root{--ds-page-x:var(--ds-6)}}
@media (max-width:700px){:root{--ds-page-x:var(--ds-4)}main{padding-top:var(--ds-4)}}

/* ---------- Menu principal recolhível (≥ 1001 px; abaixo disso vale o responsivo de style.css) ---------- */
@media (min-width:1001px){
  body.ds-aside-min{--aside-w:64px}
  body.ds-aside-min aside{padding-left:var(--ds-2);padding-right:var(--ds-2);align-items:center}
  body.ds-aside-min .ds-aside-top{flex-direction:column;gap:var(--ds-2)}
  body.ds-aside-min .brand .ds-brand-word,body.ds-aside-min .brand sup,body.ds-aside-min aside>.eyebrow,body.ds-aside-min .aside-bottom{display:none}
  body.ds-aside-min .ds-theme{flex-direction:column;padding:var(--ds-2) 0;width:100%}
  body.ds-aside-min .ds-theme-label,body.ds-aside-min .ds-theme-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  body.ds-aside-min .ds-theme-opts{flex-direction:column;border-radius:var(--ds-radius-sm)}
  body.ds-aside-min .ds-theme-opts button{width:40px;min-height:36px;padding:0;border-radius:6px}
  body.ds-aside-min .ds-theme-ic{display:inline}
  body.ds-aside-min aside nav{width:100%;justify-items:center;margin-top:var(--ds-4);gap:var(--ds-1)}
  body.ds-aside-min aside nav a{width:44px;min-height:40px;padding:0;justify-content:center;font-size:16px}
  body.ds-aside-min .ds-nav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
  body.ds-aside-min aside nav .nav-sep{font-size:0;height:1px;width:32px;margin:var(--ds-2) 0;background:var(--ds-line)}
}
@media (max-width:1000px){.ds-aside-toggle{display:none}}

/* ---------- Aba Teoria (resumo + fichas por seção; study.js theoryHTML) ----------
   Índice (--ds-toc-w, divisória à direita) | gutter (--ds-gutter) | página com largura de leitura (--ds-measure).
   Índice oculto: só a página, centralizada. Até 1000 px: botão "Índice do tópico" (folha inferior). */
.ds-theory{grid-template-columns:var(--ds-toc-w) minmax(0,1fr);column-gap:var(--ds-gutter);row-gap:0;margin-top:var(--ds-8);scroll-margin-top:var(--ds-4)}
.ds-theory.is-toc-off{grid-template-columns:minmax(0,1fr)}
.ds-theory-toc{position:sticky;top:var(--ds-4);max-height:calc(100vh - var(--ds-8));overflow:auto;overscroll-behavior:contain;display:grid;align-content:start;gap:var(--ds-1);padding:0 var(--ds-3) var(--ds-4) 0;border-right:1px solid var(--ds-line)}
.ds-theory-toc[hidden]{display:none}
.ds-study-page:has(.ds-bottom-bar) .ds-theory-toc{max-height:calc(100vh - var(--ds-8) - 76px)}  /* não some atrás da barra inferior fixa */
.ds-theory-tochead{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--ds-2);padding:0 0 var(--ds-2) var(--ds-3);background:var(--ds-bg)}
.ds-theory-sec,.ds-theory-group{display:grid;gap:1px}
.ds-theory-group{margin-top:var(--ds-3)}
.ds-theory-link{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:var(--ds-2);align-items:start;padding:7px var(--ds-3);border:0;border-radius:var(--ds-radius-sm);background:none;color:var(--ds-ink);font-size:var(--ds-fs-sm);font-weight:700;line-height:1.35;text-align:left;white-space:normal;cursor:pointer}
.ds-theory-link:hover{background:var(--ds-surface-2);color:var(--ds-ink)}
.ds-theory-link.active{background:var(--ds-sel-soft);color:var(--ds-sel)}
.ds-theory-ltext{min-width:0;overflow-wrap:anywhere}
.ds-theory-num{color:var(--ds-muted);font-weight:700}
.ds-theory-link.active .ds-theory-num{color:var(--ds-sel)}
.ds-theory-sub{display:grid;gap:1px;margin:1px 0 var(--ds-2);padding-left:calc(28px + var(--ds-2))}
.ds-theory-link--ficha{grid-template-columns:16px minmax(0,1fr) auto;padding:5px var(--ds-3) 5px var(--ds-2);font-weight:500;color:var(--ds-ink-2)}
.ds-theory-group .ds-theory-link--ficha{padding-left:var(--ds-3)}
.ds-theory-group .ds-guide-gname{padding:0 var(--ds-3) 2px}
.ds-theory-link .ds-guide-err{justify-self:end;margin-top:1px}
.ds-theory-link--lim{margin-top:var(--ds-3);font-weight:600;color:var(--ds-ink-2)}
.ds-theory-main{max-width:var(--ds-measure)}
.ds-theory.is-toc-off .ds-theory-main{margin-inline:auto;width:100%}
.ds-theory-bar{display:flex;flex-wrap:wrap;align-items:end;gap:var(--ds-3)}
.ds-theory-show{margin-bottom:var(--ds-5);padding:6px 12px}
.ds-theory-select{display:none}
.ds-theory-page .ds-guide-ficha{max-width:none}
.ds-theory-title:focus{outline:none}
.ds-theory-back{display:inline-block;margin-bottom:var(--ds-4)}
.ds-theory-page>.ds-guide-nav{margin-top:var(--ds-8)}
.ds-theory-block{margin-top:var(--ds-6);display:grid;gap:var(--ds-3)}
.ds-theory-block.ds-read-q{gap:0}
.ds-theory-h{margin:0;font-size:var(--ds-fs-xs);letter-spacing:1.4px;text-transform:uppercase;color:var(--ds-muted);font-weight:750}
.ds-concepts{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--ds-3)}
.ds-concept{display:grid;gap:var(--ds-1);align-content:start;text-align:left;padding:var(--ds-3) var(--ds-4);background:var(--ds-surface-read);border:1px solid var(--ds-line);border-radius:var(--ds-radius);color:var(--ds-ink);font-size:var(--ds-fs-sm);cursor:pointer}
.ds-concept:hover{background:var(--ds-surface-read);border-color:var(--ds-indigo)}
.ds-concept-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--ds-2);font-size:var(--ds-fs-md);line-height:1.35}
.ds-concept-idea{color:var(--ds-ink-2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ds-concept-go{font-size:var(--ds-fs-xs);font-weight:650;color:var(--ds-indigo)}
.ds-concept.seen .ds-concept-go{color:var(--ds-green)}
.ds-action-opt{font-size:var(--ds-fs-xs);font-weight:500;color:inherit;opacity:.8;margin-left:4px}
/* Tipografia de leitura: tabelas, código e fórmulas largas rolam na horizontal em vez de alargar a página. */
.ds-read-body{overflow-wrap:break-word}
.ds-read-body table,.ds-guide-ficha .ds-table-wrap{display:block;max-width:100%;overflow-x:auto}
.ds-read-body pre{overflow-x:auto}
.ds-read-body .katex-display,.ds-guide-ficha .katex-display,.ds-tip .katex-display,.ds-theory-page .katex-display,.ds-drawer .katex-display{overflow-x:auto;overflow-y:hidden;padding:2px 0}
/* Itens de grade não crescem além da coluna (senão uma fórmula larga alarga o bloco inteiro e a página no celular). */
.ds-theory-block>*,.ds-guide-ficha>*,.ds-guide-sec>*{min-width:0}
/* Fórmula em linha mais larga que o bloco (renderTex marca .tex-wide): rola no lugar, sem alargar a página. */
.tex-wide{display:inline-block;max-width:100%;overflow-x:auto;overflow-y:hidden;vertical-align:middle}
/* O MathML oculto do KaTeX (.katex-mathml, position:absolute) fica contido na própria fórmula: dentro de tabela ou cartão
   que rola na horizontal ele não escapa do contêiner nem alarga a página no celular. */
.katex{position:relative}
@media (max-width:1000px){
  .ds-theory,.ds-theory.is-toc-off{grid-template-columns:minmax(0,1fr);margin-top:var(--ds-6)}
  .ds-theory-toc,.ds-theory-show{display:none}
  .ds-theory-main{max-width:none}
  .ds-theory-select{display:grid;gap:4px;width:100%;margin-bottom:var(--ds-5)}
  .ds-theory-select .ds-input{width:100%}
}
@media (max-width:760px){.ds-concepts{grid-template-columns:1fr}.ds-theory-page .ds-read-head h2{font-size:22px}.ds-read-body{font-size:16px}}

/* ---------- Cálculo na mão (calculo.js; DESIGN_SYSTEM, "Tela Cálculo na mão") ----------
   Mesmo esqueleto da aba Teoria (.ds-theory: índice por grupos + uma página por vez) e coluna do Estudar. */
main:has(#app[data-view="calculo"]) >header,main:has(#app[data-view="calculo"]) >footer,#app[data-view="calculo"]{max-width:1200px}
@media (min-width:1001px){body.ds-aside-min main:has(#app[data-view="calculo"]) >header,body.ds-aside-min main:has(#app[data-view="calculo"]) >footer,body.ds-aside-min #app[data-view="calculo"]{max-width:1040px}}
.ds-calc-mix{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--ds-3) var(--ds-5);padding:var(--ds-4) var(--ds-5);border:1px solid var(--ds-indigo-line);border-left:4px solid var(--ds-indigo);border-radius:var(--ds-radius);background:var(--ds-indigo-soft)}
.ds-calc-mix-text{display:grid;gap:2px;min-width:0}
.ds-calc-mix-text b{font-size:var(--ds-fs-md);line-height:1.35}
.ds-calc-mix-text small{font-size:var(--ds-fs-sm)}
.ds-calc-mix .ds-btn{background:var(--ds-surface);border-color:var(--ds-indigo-line)}
.ds-calc-mix .ds-btn:hover{border-color:var(--ds-indigo)}
.ds-calc{margin-top:var(--ds-6)}
.ds-calc-toc .ds-theory-group:first-of-type{margin-top:var(--ds-2)}
.ds-calc-acc{justify-self:end;font-size:var(--ds-fs-xs);font-weight:700;color:var(--ds-muted);margin-top:1px}
.ds-theory-link.active .ds-calc-acc{color:var(--ds-sel)}
.ds-calc-page .ds-guide-ficha{max-width:none}
.ds-calc-stats{font-size:var(--ds-fs-sm);color:var(--ds-ink-2)}
.ds-calc-train{margin-top:var(--ds-2);gap:var(--ds-2) var(--ds-4)}
.ds-calc-train .ds-btn{padding:11px 20px;font-size:var(--ds-fs-md)}
.ds-calc-page .ds-guide-list{margin:0;padding-left:20px;display:grid;gap:6px;line-height:1.6}
.ds-calc-evo td,.ds-calc-evo th{white-space:nowrap}
.ds-calc-last{margin:var(--ds-1) 0 0;padding-left:18px;display:grid;gap:2px;font-size:var(--ds-fs-sm);color:var(--ds-ink-2)}
/* Série (treino por técnica e mista) */
.ds-calc-run{display:grid;gap:var(--ds-4)}
.ds-calc-runbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--ds-3);padding-bottom:var(--ds-3);border-bottom:1px solid var(--ds-indigo-line-soft)}
.ds-calc-runhead{display:grid;gap:6px;min-width:0}
.ds-calc-seg i{width:22px}
.ds-calc-seg i.ok{background:var(--ds-green-fill)}
.ds-calc-seg i.ko{background:var(--ds-wine)}
.ds-calc-seg i.cur{background:var(--ds-indigo);box-shadow:0 0 0 2px var(--ds-indigo-soft)}
.ds-calc-timer{font-size:var(--ds-fs-xl);font-weight:700;font-family:var(--ds-display);padding:2px 12px;border-radius:var(--ds-radius-sm);background:var(--ds-indigo-soft);color:var(--ds-indigo-ink);min-width:5ch;text-align:center}
.ds-calc-item{display:grid;gap:var(--ds-4);margin:0}
.ds-calc-item:focus{outline:none}
.ds-calc-item:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:2px}
.ds-calc-stmt .ds-md p{font-size:19px;line-height:1.6;margin:0;color:var(--ds-ink-read)}
.ds-calc-form{display:grid;gap:6px}
.ds-calc-label{font-size:var(--ds-fs-sm);font-weight:650;color:var(--ds-ink-2)}
.ds-calc-input{font-family:var(--ds-mono);font-size:20px;width:14ch;max-width:100%;padding:10px 12px}
.ds-calc-err{margin:0;color:var(--ds-wine);font-size:var(--ds-fs-sm);font-weight:600}
.ds-calc-ce{display:flex;flex-wrap:wrap;gap:var(--ds-2)}
.ds-calc-ce kbd{font-family:var(--ds-mono);font-size:var(--ds-fs-xs);padding:0 5px;border:1px solid var(--ds-line-strong);border-radius:4px;color:var(--ds-muted);background:var(--ds-surface-2)}
.ds-calc-ce .ds-btn.active kbd{color:var(--ds-indigo-ink)}
.ds-calc-ce .ds-btn:disabled{cursor:default;opacity:1}
.ds-calc-ce .ds-btn:disabled:not(.active){opacity:.55}
.ds-calc-item .result{margin:0;padding:var(--ds-3) var(--ds-4);border-left:4px solid var(--ds-line-strong)}
.ds-calc-item .result.ok{border-left-color:var(--ds-green)}.ds-calc-item .result.ko{border-left-color:var(--ds-wine)}
.ds-calc-path{padding:var(--ds-3) var(--ds-4);background:var(--ds-surface-2);border-radius:var(--ds-radius-sm)}
.ds-calc-next{display:flex;align-items:center;gap:var(--ds-3)}
.ds-calc-sum{display:grid;gap:var(--ds-4)}
.ds-calc-sum .ds-trk-tile:last-child{grid-column:auto}
.ds-calc-reg{margin:0}
.ds-calc-err-item{border:1px solid var(--ds-line);border-radius:var(--ds-radius-sm);background:var(--ds-surface-read);padding:var(--ds-2) var(--ds-3)}
.ds-calc-err-item>summary{cursor:pointer;line-height:1.5}
.ds-calc-err-item[open]>summary{margin-bottom:var(--ds-2)}
.ds-calc-err-item .ds-guide-steps{margin:var(--ds-2) 0}
.ds-calc-acts{margin-top:var(--ds-2)}
/* Link discreto na resposta curta da questão (study.js qGabaritoHTML) */
.ds-calc-qlink{margin:var(--ds-2) 0 0;font-size:var(--ds-fs-sm)}
.ds-calc-qlink .ds-link{text-decoration:none}
.ds-calc-qlink .ds-link:hover{text-decoration:underline}
@media (max-width:760px){.ds-calc-mix{padding:var(--ds-3) var(--ds-4)}.ds-calc-mix .ds-btn{width:100%;justify-content:center}.ds-calc-stmt .ds-md p{font-size:17px}.ds-calc-timer{font-size:var(--ds-fs-lg)}.ds-calc-seg i{width:14px}}
.ds-calc-item .q-head{justify-content:flex-start;flex-wrap:wrap;gap:var(--ds-2)}

/* Tela de entrada e conta no menu (auth.js; só com login, ATENA_AUTH=supabase; DESIGN_SYSTEM.md "Tela de entrada").
   Princípios 14/15: fundo da página, um bloco só em --ds-surface-group (controles) sem sombra, um ponto focal (título),
   uma ação principal índigo; aviso de erro com borda lateral (o único destaque); alvos de 44 px. */
.ds-auth{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:var(--ds-4);overflow-y:auto;background:var(--ds-bg)}
.ds-auth-box{width:min(420px,100%);display:grid;gap:var(--ds-4);padding:var(--ds-8);background:var(--ds-surface-group);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg)}
.ds-auth-brand{margin:0;font-size:34px;font-weight:700;font-family:var(--ds-display);letter-spacing:0;line-height:1;color:var(--ds-ink);display:flex;align-items:center;gap:12px}
.ds-auth-brand .ds-brand-mark{width:48px;height:48px}
.ds-auth-slogan{margin:calc(-1 * var(--ds-2)) 0 0;font-size:var(--ds-fs-xs);color:var(--ds-muted)}
.ds-auth-env{margin-left:var(--ds-3);align-self:center;font-size:var(--ds-fs-xs);letter-spacing:1.2px;text-transform:uppercase;font-weight:700;color:var(--ds-amber-ink);background:var(--ds-amber-soft);border-radius:var(--ds-pill);padding:2px 8px}
.ds-auth-title{margin:0;font-size:var(--ds-fs-xl);font-weight:700;letter-spacing:0;color:var(--ds-ink);font-family:var(--ds-display)}
.ds-auth-form{display:grid;gap:var(--ds-3)}
.ds-auth-field{display:grid;gap:var(--ds-1);font-size:var(--ds-fs-md);font-weight:700;color:var(--ds-ink-2)}
.ds-auth-field .ds-input{width:100%;min-height:44px;font-size:var(--ds-fs-lg);font-weight:400}
.ds-auth-form small{margin-top:calc(-1 * var(--ds-2));font-size:var(--ds-fs-sm)}
.ds-auth-main,.ds-auth-google{width:100%;min-height:44px;justify-content:center;font-size:var(--ds-fs-md)}
.ds-auth-main[disabled]{opacity:.7;cursor:progress}
.ds-auth-error,.ds-auth-info{margin:0;padding:var(--ds-3) var(--ds-4);border-radius:0 var(--ds-radius-sm) var(--ds-radius-sm) 0;font-size:var(--ds-fs-md);line-height:1.45}
.ds-auth-error{border-left:3px solid var(--ds-wine);background:var(--ds-wine-soft);color:var(--ds-wine)}
.ds-auth-info{border-left:3px solid var(--ds-green);background:var(--ds-green-soft);color:var(--ds-ink)}
.ds-auth-error[hidden],.ds-auth-info[hidden]{display:none}
.ds-auth-or{display:flex;align-items:center;gap:var(--ds-3);color:var(--ds-muted);font-size:var(--ds-fs-sm)}
.ds-auth-or::before,.ds-auth-or::after{content:"";flex:1;border-top:1px solid var(--ds-line-strong)}
.ds-auth-links{display:grid;justify-items:start;gap:var(--ds-1)}
.ds-auth-links .ds-link,.ds-auth-switch .ds-link{min-height:44px;display:inline-flex;align-items:center;font-size:var(--ds-fs-md)}
.ds-auth-switch{margin:0;font-size:var(--ds-fs-md);color:var(--ds-ink-2)}
.ds-auth-privacy{margin:0;font-size:var(--ds-fs-sm)}
.ds-auth-text{font-size:var(--ds-fs-md);line-height:1.55;color:var(--ds-ink-2);max-width:var(--ds-measure)}
.ds-auth-text p{margin:0 0 var(--ds-3)}.ds-auth-text ul{margin:0 0 var(--ds-3);padding-left:var(--ds-5)}.ds-auth-text li{margin-bottom:var(--ds-2)}
.ds-auth-actions{display:grid;gap:var(--ds-2)}
.ds-auth-actions .ds-btn{width:100%;min-height:44px;justify-content:center;font-size:var(--ds-fs-md)}
@media (max-width:480px){.ds-auth{padding:var(--ds-4);place-items:start center}.ds-auth-box{padding:var(--ds-6) var(--ds-4)}}
/* Conta no menu: e-mail + "Sair", acima do rodapé do menu. */
.ds-account{margin-top:auto;display:flex;align-items:center;gap:var(--ds-2);padding:var(--ds-2) 10px;border-top:1px solid var(--ds-line);font-size:var(--ds-fs-sm);color:var(--ds-ink-2)}
.ds-account + .aside-bottom{margin-top:var(--ds-3)}
.ds-account-email{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ds-account-out{flex:none;min-height:44px;min-width:44px;padding:0 var(--ds-3);font-size:var(--ds-fs-sm);font-weight:700;color:var(--ds-indigo);background:transparent;border:1px solid transparent;border-radius:var(--ds-radius-sm);cursor:pointer}
.ds-account-out:hover{background:var(--ds-surface);border-color:var(--ds-line)}
@media (min-width:1001px){body.ds-aside-min .ds-account{flex-direction:column;padding:var(--ds-2) 0;width:100%}body.ds-aside-min .ds-account-email{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}
@media (max-width:700px){.ds-account{margin-top:var(--ds-2)}}

/* Progresso no tema claro: cores originais (barra de disciplina na cor da prova/teal, trilha geral verde, realizado
   índigo). :where() mantém a especificidade de .ds-bar i, então barras de estado (acertos, erros, recuperação) continuam. */
:where(:root[data-theme="light"]) .ds-bar i{background:var(--accent,var(--ds-teal))}
:where(:root[data-theme="light"]) .ds-track i{background:var(--ds-green)}
:where(:root[data-theme="light"]) :is(.ds-trk-pvr-done,.ds-trk-key--done){background:var(--ds-indigo)}

/* Acento índigo no escuro (opcional; hoje desligado): <html data-accent="indigo"> troca só a família de ação/seleção
   do tema escuro para índigo claro, com texto deep-navy nos preenchimentos (o resto da marca v6 continua). */
:root[data-accent="indigo"]:not([data-theme="light"]){
  --ds-indigo:#a5a9ff; --ds-indigo-ink:#c9cbff; --ds-indigo-soft:#20264d;
  --ds-indigo-line:rgba(165,169,255,.5); --ds-indigo-line-strong:rgba(165,169,255,.8); --ds-indigo-line-soft:rgba(165,169,255,.28);
  --ds-indigo-fill:#a5a9ff; --ds-indigo-fill-hover:#bcbfff; --ds-indigo-fill-line:#a5a9ff; --ds-focus-ring:#a5a9ff;
  --ds-sel:#a5a9ff; --ds-sel-soft:#20264d; --ds-sel-line:rgba(165,169,255,.6); --ds-sel-fill:#a5a9ff; --ds-sel-fill-line:#a5a9ff;
  --ds-p2:#a5a9ff; --ds-p2-fill:#a5a9ff; --ds-grad-a:#a5a9ff;
}

/* ---------- Paleta "marca" (sóbria) ----------
   Harmoniza a interface com a marca norteia sem chamar atenção: chips em tinta navy, links/eyebrows em teal apagado, verde
   de conquista em doses pequenas, estados e provas dessaturados.
   - ESCURO: é o padrão (aprovado pelo dono, 20/10/2026). Volta ao v6 vivo com <html data-palette="v6">. Vale também no
     .ds-sim-dark (fundo escuro do minissimulado no tema claro). Fica depois do bloco "Acento índigo" e o sobrepõe.
   - CLARO: também é o padrão (20/10/2026), com o botão primário L1 (teal #1f6b75, texto branco). A paleta índigo original
     do claro volta com <html data-palette="indigo">; o "primário suave" (L3) fica guardado em <html data-button="suave">. */
:root[data-theme="light"]:not([data-palette="indigo"]){
  --ds-indigo:#24707a; --ds-indigo-ink:#17555d; --ds-indigo-soft:#e9ecf3;
  --ds-indigo-line:#cfd5e2; --ds-indigo-line-strong:#b4bccd; --ds-indigo-line-soft:#dde1ea; --ds-indigo-tint:#c3cad8; --ds-indigo-tint-strong:#9aa4b8; --ds-indigo-pale:#e8ecf3;
  /* L1 (escolha do dono, 20/10/2026): ação em teal da marca, texto branco 6,1:1 (5,6:1 contra o fundo). */
  --ds-indigo-fill:#1f6b75; --ds-indigo-fill-hover:#185a63; --ds-indigo-fill-line:#1f6b75;
  --ds-green:#4d6b00; --ds-green-soft:#eef2e4; --ds-green-line:#c9d3b3; --ds-green-fill:#4d6b00; --ds-green-fill-line:#4d6b00;
  --ds-sel:#4d6b00; --ds-sel-soft:#eef2e4; --ds-sel-line:#7f8f5c; --ds-sel-fill:#1f6b75; --ds-sel-fill-line:#1f6b75;
  --ds-teal:#2e6e69; --ds-teal-soft:#e6efee; --ds-teal-line:#c4d9d6;
  --ds-violet:#474d84; --ds-violet-soft:#ebecf4; --ds-violet-line:#cfd1e3;
  --ds-amber:#85621f; --ds-amber-soft:#f5efe2; --ds-amber-line:#e2d4b6; --ds-amber-ink:#6b4f17; --ds-amber-ink-strong:#523a10;
  --ds-wine:#8a3a45; --ds-wine-soft:#f5e9ea; --ds-wine-line:#e3c9cd; --ds-brick:#934f3f;
  --ds-p1:#85621f; --ds-p2:#474d84; --ds-p3:#2a6e78;
  --ds-p1-soft:var(--ds-amber-soft); --ds-p2-soft:var(--ds-violet-soft); --ds-p3-soft:#e5eff1;
  --ds-p1-line:var(--ds-amber-line); --ds-p2-line:var(--ds-violet-line); --ds-p3-line:#c3d9dd;
  --ds-p1-fill:#85621f; --ds-p2-fill:#474d84; --ds-p3-fill:#2a6e78;
  --ds-on-accent:#ffffff; --ds-focus-ring:#24707a;
  --ds-grad-a:#2a6e78; --ds-grad-b:#4d6b00;
  --ds-fmt-1:#24707a; --ds-fmt-2:#474d84; --ds-fmt-3:#4d6b00;
}
/* Escuro (padrão): ação em teal calmo com texto deep-navy (um botão off-white seria o elemento mais claro da tela, ~17:1, e
   puxaria o olho; o teal apagado fica ~6:1 com o texto e ~5:1 com o fundo, legível sem brilhar). */
:root:not([data-theme="light"]):not([data-palette="v6"]),:root:not([data-palette="v6"]) .ds-sim-dark{
  --ds-indigo:#7fb3bc; --ds-indigo-ink:#a9cfd5; --ds-indigo-soft:#16233d;
  --ds-indigo-line:rgba(127,179,188,.4); --ds-indigo-line-strong:rgba(127,179,188,.7); --ds-indigo-line-soft:rgba(127,179,188,.22); --ds-indigo-tint:#2a4a5e; --ds-indigo-tint-strong:#3b6478; --ds-indigo-pale:#0b122b;
  --ds-indigo-fill:#5f9ca6; --ds-indigo-fill-hover:#6eaab3; --ds-indigo-fill-line:#5f9ca6;
  --ds-green:#9dbd72; --ds-green-soft:#1a2a27; --ds-green-line:rgba(157,189,114,.42); --ds-green-fill:#8fb062; --ds-green-fill-line:#8fb062;
  --ds-sel:#9dbd72; --ds-sel-soft:#1a2a27; --ds-sel-line:rgba(157,189,114,.58); --ds-sel-fill:#5f9ca6; --ds-sel-fill-line:#5f9ca6;
  --ds-teal:#79b3a9; --ds-teal-soft:#122a33; --ds-teal-line:rgba(121,179,169,.4);
  --ds-violet:#a6aad6; --ds-violet-soft:#1c2347; --ds-violet-line:rgba(166,170,214,.4);
  --ds-amber:#d8b47c; --ds-amber-soft:#2e2a25; --ds-amber-line:rgba(216,180,124,.4); --ds-amber-ink:#e2c494; --ds-amber-ink-strong:#ead3ad;
  --ds-wine:#e0959f; --ds-wine-soft:#33202d; --ds-wine-line:rgba(224,149,159,.4); --ds-brick:#df9d8c;
  --ds-p1:#d8b47c; --ds-p2:#a6aad6; --ds-p3:#7fb3bc;
  --ds-p1-fill:#d8b47c; --ds-p2-fill:#a6aad6; --ds-p3-fill:#5f9ca6;
  --ds-grad-a:#5f9ca6; --ds-grad-b:#8fb062; --ds-focus-ring:#7fb3bc;
  --ds-fmt-1:#7fb3bc; --ds-fmt-2:#a6aad6; --ds-fmt-3:#79b3a9;
}
/* Chips e botões suaves em tinta navy com texto navy (claro) / tinta navy com texto claro (escuro). */
:is(:root[data-theme="light"]:not([data-palette="indigo"]),:root:not([data-theme="light"]):not([data-palette="v6"])) :is(.ds-btn--soft,button.ds-chip--btn,.ds-chip--btn){color:var(--ds-ink);border-color:var(--ds-indigo-line)}
:is(:root[data-theme="light"]:not([data-palette="indigo"]),:root:not([data-theme="light"]):not([data-palette="v6"])) .ds-btn--soft:hover{background:var(--ds-indigo-line-soft)}
/* Alternativa guardada (desligada): "primário suave" (L3) no claro, <html data-button="suave">. Fundo tinta navy #e2e7f1,
   texto navy #0b122b (14,9:1), borda #4a5675 (6,7:1 contra o fundo). Primário e chips ficam parecidos (#e2e7f1 × #e9ecf3);
   a borda escura e o negrito fazem a diferença. DESIGN_SYSTEM.md, "Temas e contraste". */
:root[data-button="suave"][data-theme="light"]{--ds-indigo-fill:#e2e7f1; --ds-indigo-fill-hover:#d5dcea; --ds-indigo-fill-line:#4a5675; --ds-sel-fill:#e2e7f1; --ds-sel-fill-line:#4a5675}
:root[data-button="suave"][data-theme="light"] :is(.ds-btn--primary,button.primary,.ds-tec-bm,.ds-action.active,.ds-sim-cell.answered,.ds-sim-choice.active,.ds-day-flag,.ds-tip-icon,.ds-theme-opts button[aria-pressed="true"]){color:#0b122b;border:1px solid #4a5675;font-weight:700}

/* ---------- Telas legadas (style.css) no tema escuro ----------
   style.css tem brancos e tons fixos; aqui eles viram tokens. :where() zera a especificidade do seletor de tema, então
   os componentes ds- (carregados depois/mais específicos) continuam valendo. */
:where(:root:not([data-theme="light"])) button{background:var(--ds-surface);color:var(--ds-ink)}
:where(:root:not([data-theme="light"])) :is(input,select,textarea){background:var(--ds-surface);color:var(--ds-ink);border-color:var(--ds-field-line)}
:where(:root:not([data-theme="light"])) .panel{background:var(--ds-surface)}
:where(:root:not([data-theme="light"])) :is(.tag,.badge){background:var(--ds-surface-2);color:var(--ds-muted)}
:where(:root:not([data-theme="light"])) :is(.badge.P3,.badge.facil){background:var(--ds-green-soft);color:var(--ds-green)}
:where(:root:not([data-theme="light"])) :is(.badge.P2,.badge.media){background:var(--ds-violet-soft);color:var(--ds-violet)}
:where(:root:not([data-theme="light"])) :is(.badge.P1,.badge.dificil,.badge.warn){background:var(--ds-amber-soft);color:var(--ds-amber-ink)}
:where(:root:not([data-theme="light"])) .callout{background:var(--ds-green-soft);border-color:var(--ds-green-line);color:var(--ds-ink)}
:where(:root:not([data-theme="light"])) .callout.warning{background:var(--ds-amber-soft);border-color:var(--ds-amber-line)}
:where(:root:not([data-theme="light"])) pre{background:var(--ds-surface-2);color:var(--ds-ink)}
:where(:root:not([data-theme="light"])) .source-viewer{background:var(--ds-surface-2)}
:where(:root:not([data-theme="light"])) .source-viewer iframe{border-color:var(--ds-line-strong)}
:where(:root:not([data-theme="light"])) .q-context{background:var(--ds-surface-2);border-left-color:var(--ds-line-strong)}
:where(:root:not([data-theme="light"])) .analysis{border-top-color:var(--ds-line)}
#toast{background:var(--ds-toast-bg);color:var(--ds-toast-ink)}
@media (max-width:700px){.brand{font-size:22px}.ds-brand-mark{width:30px;height:30px}aside>.eyebrow{display:none}}

/* ---------- Índice do tópico em folha inferior (≤ 1000 px; study.js theorySelectHTML) ----------
   Substitui o <select> "Ir para": botão com a posição atual + <dialog> modal com a lista agrupada do índice lateral. */
.ds-theory-sheet-open{width:100%;justify-content:flex-start;gap:var(--ds-3);min-height:48px;padding:8px 14px;text-align:left}
.ds-theory-sheet-txt{display:grid;gap:1px;min-width:0}
.ds-theory-sheet-txt small{font-weight:400;color:var(--ds-muted);font-size:var(--ds-fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
dialog.ds-sheet{position:fixed;inset:auto 0 0 0;margin:0;width:100%;max-width:100%;max-height:min(85vh,85dvh);padding:0;border:1px solid var(--ds-line-strong);border-bottom:0;border-radius:var(--ds-radius-lg) var(--ds-radius-lg) 0 0;background:var(--ds-surface-group);color:var(--ds-ink);box-shadow:var(--ds-shadow)}
dialog.ds-sheet[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
dialog.ds-sheet::backdrop{background:var(--ds-backdrop)}
.ds-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-3);padding:var(--ds-2) var(--ds-2) var(--ds-2) var(--ds-4);border-bottom:1px solid var(--ds-line)}
.ds-sheet-title{margin:0;font-size:var(--ds-fs-lg);font-weight:700}
.ds-sheet-x{min-width:44px;min-height:44px;border:0;background:none;color:var(--ds-ink-2);font-size:18px;border-radius:var(--ds-radius-sm)}
.ds-sheet-body{overflow:auto;overscroll-behavior:contain;padding:var(--ds-2) var(--ds-2) calc(var(--ds-4) + env(safe-area-inset-bottom));display:grid;align-content:start;gap:2px}
.ds-theory-sheet .ds-theory-link{min-height:44px;align-items:center;font-size:15px;padding:8px var(--ds-3)}
.ds-theory-sheet .ds-theory-link--ficha{font-size:15px}
.ds-theory-sheet .ds-theory-sub{padding-left:var(--ds-5)}
.ds-theory-sheet .ds-guide-err{font-size:12px;min-width:24px;padding:2px 7px}
@media (min-width:1001px){dialog.ds-sheet{display:none}}
/* Tabela Símbolo · Lê-se · Significa (fichas e "Traduzindo o enunciado"): no celular, cada linha é um cartão empilhado. */
@media (max-width:600px){
  .ds-fund-sym{display:block}
  .ds-fund-sym thead{display:none}
  .ds-fund-sym tbody{display:grid;gap:var(--ds-2)}
  .ds-fund-sym tr{display:grid;gap:4px;padding:var(--ds-3);border:1px solid var(--ds-line);border-radius:var(--ds-radius-sm);background:var(--ds-surface-read)}
  .ds-fund-sym td,.ds-fund-sym th{display:block;padding:0!important;border:0!important;font-size:15px;line-height:1.5}
  .ds-fund-sym td.ds-sym-cell{font-size:20px;line-height:1.4;padding-bottom:2px!important;overflow-x:auto}
  .ds-fund-sym td:not(.ds-sym-cell)::before{content:attr(data-label) ": ";font-weight:700;color:var(--ds-muted)}
  .ds-theory-page .ds-fund-sym,.ds-drawer .ds-fund-sym{background:none}
}
/* Caderno de bateria dentro do cabeçalho do tópico: sem faixa própria (a do .ds-hero basta; duas faixas paralelas no
   celular). Fica o recorte rebaixado (--ds-surface-inset) e o agrupamento. */
.ds-hero .ds-tec-bat{border-left:0;border-radius:var(--ds-radius-sm)}
/* Plano de recuperação no celular: "Revise primeiro" vira lista de botões de largura total (cantos retos, contador à
   direita), em vez de pílulas de várias linhas. */
@media (max-width:600px){
  .ds-rec-rev{display:grid;gap:var(--ds-2)}
  .ds-rec-rev .ds-chip--btn{width:100%;border-radius:var(--ds-radius-sm);justify-content:space-between;gap:var(--ds-3);font-size:14px;line-height:1.4}
  .ds-rec-n{font-size:14px;white-space:nowrap}
  .ds-rec-title{font-size:15px}
}

/* ---------- Tela Hoje (ui.js homeView; DESIGN_SYSTEM.md "Tela Hoje", 20/10/2026) ----------
   Agora (próxima tarefa) · Hoje (ladrilho de data + anel do dia + linha do tempo) · Semana (faixa de 7 dias) · Evidência ·
   Passe livre. Superfícies: Agora em --ds-surface-group (cabeçalho, como o do Estudar); cartões em --ds-surface. */
.ds-home{display:grid;gap:var(--ds-5)}
.ds-home-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--ds-5);align-items:start}
.ds-home-main,.ds-home-side{display:grid;gap:var(--ds-5);min-width:0}
.ds-home .ds-card{min-width:0;padding:var(--ds-5) var(--ds-6)}
.ds-home .ds-title small{font-family:var(--ds-font);font-weight:400;font-size:var(--ds-fs-sm)}
/* ProgressRing */
.ds-ring{position:relative;display:inline-grid;place-items:center;width:var(--size);height:var(--size);flex:none}
.ds-ring svg{display:block}
.ds-ring-tr{fill:none;stroke:var(--ds-line);stroke-width:7}
.ds-ring-fg{fill:none;stroke-width:7;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%}
.ds-ring b{position:absolute;font-family:var(--ds-display);font-weight:700;color:var(--ds-ink);font-size:calc(var(--size) / 4.4)}
/* Agora */
.ds-agora{display:grid;gap:var(--ds-3);background:var(--ds-surface-group);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);padding:var(--ds-5) var(--ds-6)}
.ds-agora-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--ds-5);align-items:start}
.ds-agora-txt{min-width:0;display:grid;gap:4px}
.ds-agora-title{margin:0;font-family:var(--ds-display);font-weight:700;font-size:17px;line-height:1.35;color:var(--ds-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer;border-radius:4px}
.ds-agora-title.open{display:block;-webkit-line-clamp:unset}
.ds-agora-ring{display:grid;justify-items:center;gap:4px;text-align:center}
.ds-agora-ring small{font-size:var(--ds-fs-xs);color:var(--ds-muted);line-height:1.35}
.ds-agora-why{margin:0;font-size:var(--ds-fs-md);color:var(--ds-ink-2);max-width:72ch}
.ds-agora-why b{color:var(--ds-ink)}
.ds-agora-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--ds-2);font-size:var(--ds-fs-sm);color:var(--ds-muted)}
.ds-agora-acts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-2)}
.ds-agora-cta{padding:11px 22px;font-size:var(--ds-fs-md)}
/* Cabeçalho do dia: ladrilho de data | Hoje + resumo | anel do dia */
.ds-dayhead{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--ds-4);padding-bottom:var(--ds-4);border-bottom:1px solid var(--ds-line)}
.ds-dayhead--sm{gap:var(--ds-3);padding-bottom:var(--ds-2);border-bottom:0}
.ds-dayhead-txt{min-width:0;display:grid;gap:2px}
.ds-dayhead-txt .ds-title{font-size:20px}
.ds-dayhead--sm .ds-title{font-size:var(--ds-fs-lg)}
.ds-dayhead-sum{margin:0;font-size:var(--ds-fs-sm);color:var(--ds-muted)}
.ds-dayhead-ring{display:flex;align-items:center;gap:var(--ds-3)}
.ds-dayhead-done{font-size:var(--ds-fs-sm);color:var(--ds-muted);white-space:nowrap}.ds-dayhead-done b{color:var(--ds-ink)}
.ds-date-tile{display:grid;justify-items:center;align-content:center;width:56px;height:64px;border-radius:var(--ds-radius);background:var(--ds-indigo-soft);border:1px solid var(--ds-indigo-line);color:var(--ds-indigo);line-height:1;flex:none}
.ds-date-tile small{font-size:11px;letter-spacing:1px;text-transform:uppercase;font-weight:700}
.ds-date-tile b{font-family:var(--ds-display);font-weight:700;font-size:24px;color:var(--ds-ink);margin:3px 0}
.ds-date-tile--sm{width:48px;height:56px}.ds-date-tile--sm b{font-size:20px}
/* Linha do tempo de tarefas */
.ds-tl{list-style:none;margin:0;padding:0;display:grid}
.ds-tl-item{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:var(--ds-3);align-items:start;padding:var(--ds-3) 0}
.ds-tl-item+.ds-tl-item{border-top:1px solid var(--ds-line)}
.ds-tl-item::before{content:"";position:absolute;left:17px;top:0;bottom:0;width:2px;background:var(--ds-line)}
.ds-tl-item:first-child::before{top:24px}.ds-tl-item:last-child::before{bottom:calc(100% - 24px)}.ds-tl-item:only-child::before{display:none}
.ds-tl-check{position:relative;z-index:1;width:36px;height:36px;margin-top:calc((1.35em - 36px) / 2);border:0;background:none;display:grid;place-items:center;padding:0;font-size:16px;cursor:pointer}
.ds-tl-check:hover{background:none}
.ds-tl-check>span{width:26px;height:26px;border-radius:50%;border:2px solid var(--ds-field-line);background:var(--ds-surface);display:grid;place-items:center;font-size:13px;color:var(--ds-on-accent)}
.ds-tl-check.review>span{border-style:dashed}
.ds-tl-check:disabled{cursor:default;opacity:1}
.ds-tl-item.done .ds-tl-check>span{background:var(--ds-green-fill);border:2px solid var(--ds-green-fill-line)}
.ds-tl-item.done .ds-tl-title{text-decoration:line-through;color:var(--ds-muted);font-weight:400}
.ds-tl-body{min-width:0;display:grid;gap:5px}
.ds-tl-title{font-weight:700;font-size:16px;line-height:1.35;color:var(--ds-ink)}
.ds-tl-meta{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}
.ds-tl-disc{font-size:13px;color:var(--ds-muted);margin-right:2px}
.ds-tl-meta .ds-badge,.ds-agora-meta .ds-badge{font-size:10px;padding:1px 7px;letter-spacing:.4px}
.ds-tl-acts{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-3)}
.ds-tl-time{font-size:var(--ds-fs-sm);color:var(--ds-ink-2);min-width:0}
.ds-tl-btns{display:flex;align-items:center;gap:var(--ds-2)}
.ds-tl-empty{margin:var(--ds-3) 0 0;font-size:var(--ds-fs-sm)}
.ds-tl-btns .ds-menu,.ds-agora-acts .ds-menu{margin:0}  /* style.css dá margem a todo <details> */
.ds-agora-acts .ds-menu>summary{width:40px;height:40px;border:1px solid var(--ds-line);border-radius:var(--ds-radius-sm)}
.ds-tl--compact .ds-tl-item{padding:var(--ds-2) 0}
/* Semana */
.ds-week-head{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-3);margin-bottom:var(--ds-3)}
.ds-week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--ds-2)}
.ds-wday{display:grid;gap:6px;text-align:left;padding:10px;min-width:0;min-height:44px;border:1px solid var(--ds-line);border-radius:var(--ds-radius);background:var(--ds-surface-inset);color:var(--ds-ink);cursor:pointer;font:inherit}
.ds-wday:hover{border-color:var(--ds-indigo-line-strong);background:var(--ds-surface)}
.ds-wday-wd{font-size:var(--ds-fs-xs);letter-spacing:1px;text-transform:uppercase;color:var(--ds-muted);font-weight:700}
.ds-wday-d{font-family:var(--ds-display);font-weight:700;font-size:20px;line-height:1}
.ds-wday-bar{position:relative;height:6px;border-radius:var(--ds-pill);background:var(--ds-line);overflow:hidden}
.ds-wday-bar i{position:absolute;inset:0 auto 0 0;border-radius:var(--ds-pill)}
.ds-wday-bar .pl,.ds-wday-key-pl{background:var(--ds-indigo-tint)}.ds-wday-bar .dn,.ds-wday-key-dn{background:var(--ds-green-fill)}
.ds-wday-ct{font-size:var(--ds-fs-xs);color:var(--ds-muted);line-height:1.35}
.ds-wday.today{border-color:var(--ds-indigo-fill-line);background:var(--ds-surface)}.ds-wday.today .ds-wday-wd{color:var(--ds-indigo)}
.ds-wday.sel{outline:2px solid var(--ds-indigo-fill-line);outline-offset:1px}
.ds-wday.rest{background:none;border-style:dashed}.ds-wday.rest .ds-wday-d{color:var(--ds-muted)}
.ds-week-key{margin:var(--ds-2) 0 0;font-size:var(--ds-fs-xs)}
.ds-week-day{margin-top:var(--ds-4);border-top:1px solid var(--ds-line);padding-top:var(--ds-3)}
/* Evidência e Passe livre */
.ds-evid-ring{display:flex;align-items:center;gap:var(--ds-4);margin:var(--ds-3) 0 var(--ds-4);font-size:var(--ds-fs-sm)}
.ds-evid-k{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-3)}
.ds-kpi{display:grid;gap:2px;padding:var(--ds-3);border:1px solid var(--ds-line);border-radius:var(--ds-radius);background:var(--ds-surface-inset)}
.ds-kpi--wide{grid-column:1/-1}
.ds-kpi b{font-family:var(--ds-display);font-weight:700;font-size:24px;line-height:1.1;color:var(--ds-ink)}
.ds-kpi b small{font-family:var(--ds-font);font-weight:400;font-size:var(--ds-fs-md);color:var(--ds-muted)}
.ds-kpi span{font-size:var(--ds-fs-sm);font-weight:700;color:var(--ds-ink-2)}
.ds-kpi>small{font-size:var(--ds-fs-xs);color:var(--ds-muted)}
.ds-kpi.ok b{color:var(--ds-green)}
.ds-evid-hz{margin:var(--ds-3) 0 0;font-size:var(--ds-fs-sm);display:flex;flex-wrap:wrap;gap:var(--ds-2);align-items:center}
.ds-pass2-n{margin:var(--ds-3) 0 0;display:grid;gap:6px}
.ds-pass2-n div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--ds-3);font-size:var(--ds-fs-sm)}
.ds-pass2-n dt{color:var(--ds-ink-2)}.ds-pass2-n dd{margin:0;font-family:var(--ds-display);font-weight:700;font-size:var(--ds-fs-lg);color:var(--ds-ink)}
.ds-pass2-n dd small{font-family:var(--ds-mono);font-weight:400;font-size:var(--ds-fs-xs);color:var(--ds-muted)}
.ds-pass2-txt{margin:var(--ds-2) 0 var(--ds-3);font-size:var(--ds-fs-xs)}
.ds-pass2 .ds-tl{margin-bottom:var(--ds-3)}
@media (max-width:1100px){.ds-home-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){
  .ds-home .ds-card,.ds-agora{padding:var(--ds-4)}
  .ds-agora-head{gap:var(--ds-3)}
  .ds-agora-title{font-size:16px;-webkit-line-clamp:3}
  .ds-agora-ring small{display:none}
  .ds-agora-why,.ds-agora-meta{font-size:14px}.ds-agora-meta .ds-mono{white-space:normal}
  .ds-agora-cta{width:100%;justify-content:center}
  .ds-dayhead{gap:var(--ds-3)}
  .ds-date-tile{width:48px;height:56px}.ds-date-tile b{font-size:20px}
  .ds-dayhead-txt .ds-title{font-size:18px}
  .ds-dayhead-sum{font-size:14px;white-space:nowrap}
  .ds-dayhead-ring{flex-direction:column;gap:2px}.ds-dayhead-done{font-size:12px}
  .ds-wide{display:none}
  .ds-tl-item{grid-template-columns:44px minmax(0,1fr);gap:var(--ds-2)}
  .ds-tl-item::before{left:21px}
  .ds-tl-check{width:44px;height:44px;margin-top:calc((1.35em - 44px) / 2);font-size:15.5px}
  .ds-tl-title{font-size:15.5px}
  .ds-tl-disc{font-size:13.5px}
  .ds-tl-meta .ds-badge,.ds-agora-meta .ds-badge{font-size:12px;padding:1px 7px;letter-spacing:.3px}  /* piso de 12 px no celular */
  .ds-tl-btns .ds-link,.ds-tl-btns .ds-menu>summary{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}
  .ds-week-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 6px}
  .ds-wday{flex:0 0 92px;scroll-snap-align:start}
  .ds-week-head .ds-title small{display:block}
}
/* Anéis no celular: o tamanho do SVG segue o --size do .ds-ring. */
@media (max-width:700px){.ds-agora-ring .ds-ring{--size:60px}.ds-agora-ring .ds-ring svg{width:60px;height:60px}.ds-dayhead-ring .ds-ring{--size:44px}.ds-dayhead-ring .ds-ring svg{width:44px;height:44px}}

/* ---------- Menu: rodapé (Integrações, Conta, Tema) e "Mais" no celular ---------- */
aside .ds-aside-foot{margin-top:auto;display:grid;gap:var(--ds-1);border-top:1px solid var(--ds-line);padding-top:var(--ds-2)}
aside .ds-aside-foot .ds-theme{margin-top:0}
.ds-more{display:grid;gap:var(--ds-1)}
.ds-more a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--ds-radius-sm);color:var(--ds-ink-2);text-decoration:none;border:1px solid transparent}
.ds-more a:hover{background:var(--ds-surface);border-color:var(--ds-line)}
.ds-more a.active{background:var(--ds-sel-soft);color:var(--ds-sel);border-color:var(--ds-sel-line);font-weight:700}
.ds-more .ds-account{margin-top:0;border-top:0}
.ds-more-btn{display:none}
.ds-theme + .aside-bottom,.ds-aside-foot + .aside-bottom{margin-top:var(--ds-3)}
@media (min-width:1001px){
  body.ds-aside-min aside .ds-aside-foot{justify-items:center;width:100%}
  body.ds-aside-min .ds-more{justify-items:center;width:100%}
  body.ds-aside-min .ds-more a{width:44px;justify-content:center;padding:9px 0}
}
@media (max-width:700px){
  aside .ds-aside-foot{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--ds-2);border-top:0;padding-top:var(--ds-1)}
  .ds-more-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--ds-line-strong);border-radius:var(--ds-pill);background:var(--ds-surface);color:var(--ds-ink);font-weight:700}
  .ds-more{display:none;position:absolute;left:0;top:calc(100% + 4px);z-index:20;min-width:240px;padding:var(--ds-2);background:var(--ds-surface-accent);border:1px solid var(--ds-line-strong);border-radius:var(--ds-radius);box-shadow:var(--ds-shadow)}
  .ds-more.open{display:grid}
  aside{overflow:visible}  /* a lista do "Mais" sai da faixa do menu sem ser cortada */
  .ds-tl-btns .ds-link--muted{display:none}  /* "Teoria" opcional some no celular; Estudar e o cartão Agora levam à teoria */
  .ds-more a{min-height:44px}
  aside nav .nav-sep{display:none}
}

/* ---------- Tipografia no celular (≤ 600 px; DESIGN_SYSTEM.md, princípio 16) ----------
   Pisos: corpo e leitura ≥ 16 px (Teoria 17 px), secundário/meta ≥ 14 px, legendas ≥ 12 px (nunca menos), campos 16 px
   (o iOS não dá zoom), entrelinha 1,5 e alvos de 44 px. Gerado pela auditoria nt_fonts.py (todos os font-size em px
   abaixo de 16 em ds.css e style.css); gráficos SVG (escalam com o viewBox) e ícones dentro de círculos ficam de fora. */
@media (max-width:600px){
  :root{--ds-fs-xs:12px;--ds-fs-sm:14px;--ds-fs-md:16px;--ds-fs-lg:17px}
  body{font-size:16px;line-height:1.5}
  /* legendas, selos, cabeçalhos de tabela, eyebrows */
  .actions button,
  .brand sup,
  .ds-badge,
  .ds-day-cap,
  .ds-day-date small,
  .ds-day-flag,
  .ds-fmt-tab th,
  .ds-fmt-verb,
  .ds-heat-cell small,
  .ds-mini-h,
  .ds-pass>.ds-day-date,
  .ds-peg td::before,
  .ds-res-part .ds-eyebrow,.ds-res-concl .ds-eyebrow,
  .ds-stamp,
  .ds-table th,
  .eyebrow,
  .filters label,
  .header-actions button,
  .panel th,
  .tag,.badge,
  aside nav .nav-sep,
  aside nav button,aside nav a,
  footer,
  pre,
  small{font-size:12px}
  /* texto secundário e meta: tabelas, cartões de formatos, sinais, mini-exemplos, dica do glossário */
  .analysis h4,
  .aside-bottom,
  .callout,
  .ds-abbr:hover::after,.ds-abbr:focus::after,
  .ds-fmt-ex,
  .ds-fmt-row,
  .ds-fmt-steps,
  .ds-fmt-tab,
  .ds-mini-conta .ds-mono,
  .ds-read-body pre,
  .ds-read-body th,
  .ds-read-link,
  .ds-res-steps,
  .ds-sinal-frase,
  .q-again,
  .q-card table,
  .q-card th,.q-card td,
  .q-context,
  .q-meta,
  .q-statement td,.q-statement th,
  label,
  table{font-size:14px}
  /* corpo: enunciados, respostas, blocos de leitura */
  .ds-base>.ds-md p,
  .ds-cobra-ans .ds-md p,.ds-cobra-why .ds-md p,
  .ds-cobra-stmt,
  .ds-fmt-card,
  .ds-fmt-name,
  .ds-fund-chk .ds-md p,
  .ds-guide-more,
  .ds-notes,
  .ds-qnote-input,
  .ds-read-body table,
  .ds-res-concl p,
  .ds-res-part .ds-md p,
  .ds-res-sinal,
  .ds-rev-note,
  .ds-rev-rules,
  .ds-sinal-head,
  .ds-tip p,
  .q-item,
  .q-statement{font-size:16px}
  /* títulos de bloco */
  h3{font-size:17px}
  .ds-read-body,.ds-dozero-body,.ds-theory-page .ds-read-body{font-size:17px;line-height:1.6}
  .ds-guide-ideia p{font-size:17px;line-height:1.6}
  .q-statement,.ds-calc-stmt .ds-md p{line-height:1.55}
  input,select,textarea,.ds-input{font-size:16px}
  .ds-btn,.ds-tab,.ds-qbar-btn,.ds-action,.ds-account-out,button.ds-chip--btn{min-height:44px}
  .ds-badge{letter-spacing:.4px;padding:3px 9px}
  .ds-abbr:hover::after,.ds-abbr:focus::after{max-width:min(320px,calc(100vw - 32px))}
}
/* Seção vista (índice da teoria e cabeçalho da seção) */
.ds-sec-seen{margin-left:auto;padding-left:var(--ds-2);color:var(--ds-green);font-weight:700;flex:none}
.ds-sec-seen-row{margin:calc(-1 * var(--ds-2)) 0 var(--ds-4)}
.ds-theory-count{margin:0 0 var(--ds-2);padding-left:var(--ds-3);font-size:var(--ds-fs-sm,13px);color:var(--ds-muted)}
