    :root {
      /* Brand Identity: Macaco do ENEM */
      --brand: #f4c430;
      --brand-hover: #dfad1e;
      --brand-dark: #8a6500;
      --brand-active: #735300;
      --brand-subtle: #fff3c4;
      --brand-bg: #fffbeb;
      --brand-text: #624600;
      --loading-shimmer-edge: rgba(244,196,48,.07);
      --loading-shimmer-highlight: rgba(244,196,48,.22);

      /* High-contrast Neutrals */
      --dark-charcoal: #171717;
      --dark-surface: #242424;
      --text-main: #0f172a;
      --text-secondary: #334155;
      --text-muted: #475569;

      /* Backgrounds & Borders */
      --bg-canvas: #f8fafc;
      --bg-surface: #ffffff;
      --bg-subtle: #f1f5f9;
      --bg-muted: #e2e8f0;
      --border: #e2e8f0;
      --border-hover: #cbd5e1;

      /* Status Colors */
      --ok: #15803d;
      --ok-bg: #f0fdf4;
      --ok-border: #bbf7d0;
      --ok-text: #14532d;
      --bad: #dc2626;
      --bad-bg: #fef2f2;
      --bad-border: #fecaca;
      --bad-text: #7f1d1d;

      --brand-border: #d97706;
      --text-on-dark: #ffffff;
      --button-text: #0f172a;
      --info: #2563eb;
      --info-text: #1e40af;
      --info-bg: #eff6ff;
      --info-border: #93c5fd;
      --highlight-bg: #fde047;
      --highlight-text: #0f172a;
      --focus: #735300;

      /* Radii & Shadows */
      --radius-sm: 6px;
      --radius-md: 10px;
      --radius-lg: 14px;
      --radius-full: 9999px;
      --radius-pill: var(--radius-full);
      --radius-card: var(--radius-lg);
      --bg-card: var(--bg-surface);
      --border-light: var(--border);
      --bg-surface-alt: var(--bg-subtle);
      --shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.05);
      --shadow-md: 0 4px 8px -1px rgba(15, 23, 42, 0.06), 0 2px 4px -2px rgba(15, 23, 42, 0.04);
      --shadow-card: 0 3px 10px -2px rgba(15, 23, 42, 0.06), 0 1px 3px rgba(15, 23, 42, 0.04);
      --shadow-hover: 0 10px 22px -4px rgba(15, 23, 42, 0.09), 0 4px 6px -2px rgba(15, 23, 42, 0.04);
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }
    .ui-icon { display:inline-block; flex:none; vertical-align:-0.16em; }
    /* Shared image descriptions in questions and essay motivators. */
    .image-description { min-width:0; color:var(--text-main); text-align:left; }
    .image-ai-tools { max-width:760px; margin:4px 0 14px; padding-left:10px; border-left:2px solid var(--border); min-width:0; }
    .image-ai-disclosure { display:block; min-width:0; }
    .image-ai-disclosure + .image-ai-disclosure { margin-top:0; }
    .image-ai-disclosure > summary.btn-resolve { width:fit-content; max-width:100%; list-style:none; }
    .image-ai-disclosure > summary.btn-resolve::-webkit-details-marker { display:none; }
    .image-ai-disclosure > summary.btn-resolve::marker { content:""; }
    .image-ai-disclosure[open] .explanation-chevron { transform:rotate(180deg); }
    .image-ai-panel { margin:0 0 8px; overflow-wrap:anywhere; }
    .image-description-body { max-width:100%; color:var(--text-secondary); font-size:14px; line-height:1.75; }
    .image-description .image-description-body p,
    .image-description-ocr-body p { margin:0; }
    .image-description .image-description-body p + p,
    .image-description-ocr-body p + p { margin-top:12px; }
    .image-description-ocr-body { color:var(--text-secondary); font-size:13.5px; line-height:1.6; white-space:pre-line; }
    .image-description-note { display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; margin-top:14px; color:var(--text-muted); font-size:11.5px; line-height:1.5; }
    .image-description-note .ai-explanation-label { font-size:10.5px; white-space:nowrap; }
    @media (prefers-reduced-motion:reduce) { .image-description-chevron { transition:none; } }
    /* Estabilidade ao entrar numa página: a barra de rolagem não empurra o layout
       para os lados e o rodapé não sobe/desce enquanto a vista é preenchida. */
    html { scrollbar-gutter: stable; }
    body {
      font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
      background: var(--bg-canvas);
      color: var(--text-main);
      line-height: 1.55;
      -webkit-font-smoothing: antialiased;
      min-height: 100vh;
      min-height: 100dvh;
      display:flex;
      flex-direction:column;
    }
    body > main { flex:1 0 auto; width:100%; min-height:100vh; }
    body > header, body > footer { flex-shrink:0; }
    .app-loading-notice { display:none; }
    html.app-loading[data-first-visit="true"] .app-loading-notice {
      position:fixed; top:84px; left:50%; z-index:49; transform:translateX(-50%); display:flex; align-items:flex-start; gap:8px;
      width:min(650px,calc(100vw - 24px)); padding:12px 16px; border:1px solid var(--border); border-radius:var(--radius-md);
      background:var(--bg-surface); color:var(--text-secondary); box-shadow:var(--shadow-md); font-size:12.5px; line-height:1.45;
    }
    .app-loading-notice strong { flex:none; color:var(--text-main); }
    button, input, select, textarea { font-family: inherit; }
    button { cursor: pointer; }
    [hidden] { display: none !important; }


    /* ================= HEADER ================= */
    .app-header {
      position:sticky;
      top:0;
      z-index:50;
      background:var(--bg-surface);
      border-bottom:1px solid var(--border);
      box-shadow:var(--shadow-sm);
      overflow-x:clip;
    }
    .header-in {
      max-width:1480px;
      margin:0 auto;
      padding:10px 10px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
    }
    .header-brand-group { display:flex; flex-direction:column; gap:4px; flex:0 0 auto; }
    .header-creator-link { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:7px 10px; min-height:34px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-subtle); color:var(--text-secondary); font-size:12.5px; font-weight:600; line-height:1.4; white-space:nowrap; text-decoration:none; }
    .header-creator-link:hover { color:var(--text-main); border-color:var(--border-hover); background:var(--bg-surface); }
    .header-creator-link:focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
    .header-creator-link svg { flex:none; }
    .brand {
      display:flex;
      align-items:center;
      gap:8px;
      text-decoration:none;
      color:var(--text-main);
    }
    .brand-mascot-badge {
      width:48px;
      height:48px;
      border-radius:14px;
      background:var(--brand-bg);
      border:1px solid var(--brand-border);
      display:flex;
      align-items:center;
      justify-content:center;
      box-shadow:0 2px 4px rgba(245, 158, 11, 0.12);
      flex-shrink:0;
      overflow:hidden;
    }
    .brand-mascot-img {
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
      user-select:none;
      -webkit-user-drag:none;
    }
    .brand-text-wrap {
      display:flex;
      flex-direction:column;
    }
    .brand-name {
      white-space:nowrap;
      font-weight:800;
      font-size:17px;
      letter-spacing:-0.025em;
      color:var(--text-main);
      display:flex;
      align-items:center;
      gap:6px;
    }
    .brand-tagline {
      font-size:11.5px;
      font-weight:600;
      color:var(--text-muted);
      letter-spacing:-0.01em;
      white-space:nowrap;
    }

    /* Navigation Tabs */
    .nav-tabs {
      display:flex;
      gap:3px;
      background:var(--bg-subtle);
      padding:3px;
      border-radius:var(--radius-md);
      border:1px solid var(--border);
      align-items:center;
    }
    .nav-tabs-priority { display:none; }
    .nav-tab {
      border:none;
      background:transparent;
      padding:6px 8px;
      border-radius:var(--radius-sm);
      font-size:12.5px;
      font-weight:600;
      color:var(--text-secondary);
      display:inline-flex;
      align-items:center;
      gap:6px;
      transition:box-shadow 0.15s ease;
      white-space:nowrap;
    }
    .nav-tab:hover {
      color:var(--text-main);
      background:rgba(255, 255, 255, 0.6);
    }
    .nav-tab.active {
      background:var(--brand);
      color:var(--button-text);
      box-shadow:var(--shadow-sm);
    }
    body[data-question-id] .nav-tab.active[data-route-key="recommended"] {
      background:transparent;
      color:var(--text-secondary);
      box-shadow:none;
    }
    .nav-emoji { display:inline-flex; font-size:14px; }
    .tab-badge {
      font-size:11px;
      font-weight:700;
      padding:1px 6px;
      border-radius:var(--radius-full);
      background:var(--bg-card);
      color:var(--text-secondary);
      border:1px solid var(--border);
      line-height:1.2;
    }
    .nav-tab.active .tab-badge {
      background:rgba(15, 23, 42, 0.12);
      color:var(--button-text);
      border-color:rgba(15, 23, 42, 0.18);
    }

    /* O HTML estático permanece visível. Só valores pessoais e resultados aguardam hidratação. */
    #app-route-loader { display:none; }
    html.app-loading:is([data-initial-route="recommended"], [data-initial-route="questoes"]) body:not([data-question-id]) #app-route-loader[data-mounted="true"],
    html.app-loading[data-initial-route="redacoes"][data-essay-filtered="true"] body #app-route-loader[data-mounted="true"] { display:block; width:100%; margin:0 auto 16px; }
    .app-loader-placeholder { display:none; }
    html.app-loading[data-initial-route="recommended"] #app-route-loader [data-loading-for="recommended"],
    html.app-loading[data-initial-route="questoes"] #app-route-loader [data-loading-for="questoes"],
    html.app-loading[data-initial-route="redacoes"] #app-route-loader [data-loading-for="redacoes"] { display:block; }
    .app-loader-placeholder .load-result-card { padding:20px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--bg-surface); }
    .app-loader-placeholder .load-essay-result { min-height:180px; }
    .app-loader-placeholder .load-line, .app-loader-placeholder .load-answer span,
    html.app-loading[data-initial-route="questoes"] .load-value::after,
    html.app-loading[data-initial-route="redacoes"][data-essay-filtered="true"] .load-value::after,
    html.app-loading[data-initial-route="cadernos"] #nb-cards-grid .nb-card-meta::after,
    html.app-loading[data-initial-route="cadernos"] #nb-cards-grid .nb-section[aria-label="Seus cadernos"] .nb-empty-custom::after,
    html.app-loading[data-initial-route="simulado"] #study-shell .study-config-grid label::after,
    html.app-loading[data-initial-route="questoes"] #hint-list:empty::before {
      background:linear-gradient(100deg,var(--loading-shimmer-edge) 10%,var(--loading-shimmer-highlight) 45%,var(--loading-shimmer-edge) 80%);
      background-size:220% 100%; animation:app-loading-shimmer 1.4s ease-in-out infinite;
    }
    @keyframes app-loading-shimmer { from { background-position:100% 50%; } to { background-position:-100% 50%; } }
    .app-loader-placeholder .load-line { display:block; width:100%; height:10px; margin-bottom:16px; border-radius:5px; }
    .app-loader-placeholder .load-short { width:28%; }
    .app-loader-placeholder .load-medium { width:54%; }
    .app-loader-placeholder .load-wide { width:78%; }
    .app-loader-placeholder .load-answer { display:flex; align-items:center; gap:12px; width:100%; height:48px; margin-top:8px; padding:8px 12px; border:1px solid var(--border); border-radius:8px; }
    .app-loader-placeholder .load-line + .load-answer { margin-top:24px; }
    .app-loader-placeholder .load-answer span { display:block; flex:none; height:10px; border-radius:5px; }
    .app-loader-placeholder .load-answer span:first-child { width:24px; height:24px; border-radius:5px; }
    .app-loader-placeholder .load-answer span:last-child { width:55%; max-width:220px; }
    .app-loader-placeholder .load-answer:nth-last-child(2) span:last-child { width:38%; }
    html.app-loading[data-initial-route="questoes"] .load-value,
    html.app-loading[data-initial-route="redacoes"][data-essay-filtered="true"] .load-value { position:relative; color:transparent !important; min-width:42px; }
    html.app-loading[data-initial-route="questoes"] .load-value::after,
    html.app-loading[data-initial-route="redacoes"][data-essay-filtered="true"] .load-value::after { content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:min(100%,85px); height:10px; border-radius:5px; pointer-events:none; }
    html.app-loading[data-initial-route="recommended"] .recommended-matter-count { position:relative; color:transparent; min-width:42px; }
    html.app-loading[data-initial-route="recommended"] .recommended-matter-count::after { content:""; position:absolute; inset:5px 0; border-radius:5px; background:linear-gradient(100deg,var(--loading-shimmer-edge),var(--loading-shimmer-highlight),var(--loading-shimmer-edge)); background-size:220% 100%; animation:app-loading-shimmer 1.4s ease-in-out infinite; }
    html.app-loading[data-initial-route="questoes"] #hint-list:empty::before { content:""; display:block; width:100%; height:52px; border-radius:6px; }
    html.app-loading[data-initial-route="questoes"] .filters-body .f-tools .chip-cnt,
    html.app-loading[data-initial-route="questoes"] :is(#f-ano,#f-dif) .chip-cnt { position:relative; color:transparent !important; }
    html.app-loading[data-initial-route="questoes"] .filters-body .f-tools .chip-cnt::after { content:""; position:absolute; left:5px; top:50%; transform:translateY(-50%); width:26px; height:8px; border-radius:4px; background:linear-gradient(100deg,var(--loading-shimmer-edge),var(--loading-shimmer-highlight),var(--loading-shimmer-edge)); background-size:220% 100%; animation:app-loading-shimmer 1.4s ease-in-out infinite; }
    html.app-loading[data-initial-route="questoes"] :is(#f-ano,#f-dif) .chip-cnt::after { content:""; position:absolute; inset:4px; border-radius:4px; background:linear-gradient(100deg,var(--loading-shimmer-edge),var(--loading-shimmer-highlight),var(--loading-shimmer-edge)); background-size:220% 100%; animation:app-loading-shimmer 1.4s ease-in-out infinite; }
    html.app-loading[data-initial-route="questoes"] .f-booklet-picker { position:relative; }
    html.app-loading[data-initial-route="questoes"] #f-booklet-color { color:transparent; }
    html.app-loading[data-initial-route="questoes"] .f-booklet-picker::before { content:""; position:absolute; z-index:1; left:12px; top:16px; width:100px; height:10px; border-radius:5px; pointer-events:none; background:linear-gradient(100deg,var(--loading-shimmer-edge),var(--loading-shimmer-highlight),var(--loading-shimmer-edge)); background-size:220% 100%; animation:app-loading-shimmer 1.4s ease-in-out infinite; }
    html.app-loading[data-initial-route="simulado"] #study-shell .study-config-grid label { position:relative; }
    html.app-loading[data-initial-route="simulado"] #study-shell .study-config-grid select { color:transparent; }
    html.app-loading[data-initial-route="simulado"] #study-shell .study-config-grid label::after { content:""; position:absolute; left:13px; bottom:17px; width:72px; height:10px; border-radius:5px; pointer-events:none; }
    html.app-loading[data-initial-route="cadernos"] #nb-cards-grid .nb-card-meta { position:relative; color:transparent; }
    html.app-loading[data-initial-route="cadernos"] #nb-cards-grid .nb-card-meta::after { content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:86px; height:10px; border-radius:5px; }
    html.app-loading[data-initial-route="cadernos"] #nb-cards-grid .nb-section[aria-label="Seus cadernos"] .nb-empty-custom { position:relative; width:min(320px,100%); min-height:16px; color:transparent; }
    html.app-loading[data-initial-route="cadernos"] #nb-cards-grid .nb-section[aria-label="Seus cadernos"] .nb-empty-custom::after { content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:190px; height:10px; border-radius:5px; pointer-events:none; }
    html.app-loading[data-initial-route="conquistas"] :is(.summary-metric-count,.achieve-card-summary strong) { position:relative; color:transparent; }
    html.app-loading[data-initial-route="conquistas"] :is(.summary-metric-count,.achieve-card-summary strong)::after { content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:100%; height:10px; border-radius:5px; background:linear-gradient(100deg,var(--loading-shimmer-edge),var(--loading-shimmer-highlight),var(--loading-shimmer-edge)); background-size:220% 100%; animation:app-loading-shimmer 1.4s ease-in-out infinite; }
    html.app-loading[data-initial-route="redacoes"][data-essay-filtered="true"] #redacao-count-label strong,
    html.app-loading[data-initial-route="questoes"] #status-count :is(strong,.status-count-range > span,.status-count-pages > span),
    html.app-loading[data-initial-route="questoes"] #pager-top .pager-number { position:relative; color:transparent; }
    html.app-loading[data-initial-route="redacoes"][data-essay-filtered="true"] #redacao-count-label strong::after,
    html.app-loading[data-initial-route="questoes"] #status-count :is(strong,.status-count-range > span,.status-count-pages > span)::after,
    html.app-loading[data-initial-route="questoes"] #pager-top .pager-number::after { content:""; position:absolute; inset:3px 0; min-width:1.4em; border-radius:5px; background:linear-gradient(100deg,var(--loading-shimmer-edge),var(--loading-shimmer-highlight),var(--loading-shimmer-edge)); background-size:220% 100%; animation:app-loading-shimmer 1.4s ease-in-out infinite; }
    html.app-loading[data-initial-route="recommended"] #recommended-matter-summary { position:relative; color:transparent; pointer-events:none; }
    html.app-loading[data-initial-route="recommended"] #recommended-matter-summary > * { color:transparent; }
    html.app-loading[data-initial-route="recommended"] #recommended-matter-summary::after { content:""; position:absolute; inset:4px; border-radius:5px; background:linear-gradient(100deg,var(--loading-shimmer-edge),var(--loading-shimmer-highlight),var(--loading-shimmer-edge)); background-size:220% 100%; animation:app-loading-shimmer 1.4s ease-in-out infinite; }
    html.app-loading:is([data-initial-route="redacoes"],[data-initial-route="conquistas"],[data-initial-route="estatisticas"]) .ad-placement-slot:empty { min-height:144px; max-width:820px; margin:16px auto 24px; padding:12px 18px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--bg-surface); }
    html.app-loading:is([data-initial-route="redacoes"],[data-initial-route="conquistas"],[data-initial-route="estatisticas"]) .ad-placement-slot:empty::before { content:"Publicidade"; display:block; margin-bottom:8px; color:var(--text-secondary); font-size:10px; font-weight:700; text-transform:uppercase; }
    html.app-loading:is([data-initial-route="redacoes"],[data-initial-route="conquistas"],[data-initial-route="estatisticas"]) .ad-placement-slot:empty::after { content:""; display:block; height:95px; border:1px dashed var(--border); border-radius:8px; background:linear-gradient(100deg,var(--loading-shimmer-edge),var(--loading-shimmer-highlight),var(--loading-shimmer-edge)); background-size:220% 100%; animation:app-loading-shimmer 1.4s ease-in-out infinite; }
    @media (prefers-reduced-motion:reduce) { html.app-loading .app-loader-placeholder *, html.app-loading *::before, html.app-loading *::after { animation:none !important; } }
    html.app-loading:is([data-initial-route="recommended"], [data-initial-route="questoes"], [data-initial-route="simulado"], [data-initial-route="cadernos"], [data-initial-route="redacoes"], [data-initial-route="conquistas"], [data-initial-route="estatisticas"]) .app-loading-notice { display:none !important; }
    #search-route-intro { display:none; }
    body[data-initial-route="questoes"]:not([data-question-id]) #search-route-intro,
    html[data-initial-route="questoes"] body:not([data-question-id]) #search-route-intro,
    body[data-app-route="questoes"]:not(.question-mode-recommended):not([data-question-id]) #search-route-intro { display:block; }
    html.app-loading[data-initial-route="recommended"] #ad-search-top,
    html.app-loading[data-initial-route="recommended"] body:not([data-question-id]) #lista,
    html.app-loading[data-initial-route="recommended"] #pager-bot,
    html.app-loading[data-initial-route="questoes"] body:not([data-question-id]) #lista,
    html.app-loading[data-initial-route="questoes"] #pager-bot,
    html.app-loading[data-initial-route="redacoes"][data-essay-filtered="true"] #redacoes-list { display:none !important; }
    html.app-loading:is([data-initial-route="recommended"],[data-initial-route="questoes"],[data-initial-route="simulado"],[data-initial-route="cadernos"],[data-initial-route="redacoes"],[data-initial-route="conquistas"],[data-initial-route="estatisticas"]) .view-content :is(button,select,input,a) { pointer-events:none; }
    html[data-initial-route="recommended"] #feed-route-intro { display:block; }
    html[data-initial-route="recommended"] #view-questoes,
    html[data-initial-route="questoes"] #view-questoes { display:block !important; }
    html[data-initial-route="recommended"] #filters-panel,
    html[data-initial-route="recommended"] #toolbar-integrated,
    html[data-initial-route="recommended"] #pager-top { display:none !important; }
    /* Rota inicial síncrona para evitar exibição indevida de questões no carregamento/F5 */
    html[data-initial-route="redacoes"] #view-questoes { display:none !important; }
    html[data-initial-route="redacoes"] #view-redacoes { display:flex !important; flex-direction:column; flex:1 0 auto; width:100%; }
    html[data-initial-route="recommended"] #tab-view-recommended { background:var(--brand) !important; color:var(--button-text) !important; box-shadow:var(--shadow-sm) !important; }
    html[data-initial-route="recommended"] .nav-tabs-priority [data-route-key="recommended"] { background:var(--brand) !important; color:var(--button-text) !important; box-shadow:var(--shadow-sm) !important; }
    html[data-initial-route="recommended"] #tab-view-questoes { background:transparent !important; color:var(--text-secondary) !important; box-shadow:none !important; }
    html[data-initial-route="recommended"] .nav-tabs-priority [data-route-key="questoes"] { background:transparent !important; color:var(--text-secondary) !important; box-shadow:none !important; }
    html[data-initial-route="redacoes"] #tab-view-questoes,
    html[data-initial-route="redacoes"] #tab-view-recommended { background:transparent !important; color:var(--text-secondary) !important; box-shadow:none !important; }
    html[data-initial-route="redacoes"] #tab-view-redacoes { background:var(--brand) !important; color:var(--button-text) !important; box-shadow:var(--shadow-sm) !important; }
    html[data-initial-route="redacoes"] .nav-tabs-priority [data-view="redacoes"] { background:var(--brand) !important; color:var(--button-text) !important; box-shadow:var(--shadow-sm) !important; }

    html[data-initial-route="simulado"] #view-questoes { display:none !important; }
    html[data-initial-route="simulado"] #view-simulado { display:block !important; }
    html[data-initial-route="simulado"] #tab-view-questoes { background:transparent !important; color:var(--text-secondary) !important; box-shadow:none !important; }
    html[data-initial-route="simulado"] #tab-view-simulado { background:var(--brand) !important; color:var(--button-text) !important; box-shadow:var(--shadow-sm) !important; }
    html[data-initial-route="simulado"] .nav-tabs-priority [data-view="simulado"] { background:var(--brand) !important; color:var(--button-text) !important; box-shadow:var(--shadow-sm) !important; }

    html[data-initial-route="cadernos"] #view-questoes { display:none !important; }
    html[data-initial-route="cadernos"] #view-cadernos { display:flex !important; flex-direction:column; flex:1 0 auto; width:100%; }
    html[data-initial-route="cadernos"] #tab-view-questoes { background:transparent !important; color:var(--text-secondary) !important; box-shadow:none !important; }
    html[data-initial-route="cadernos"] #tab-view-cadernos { background:var(--brand) !important; color:var(--button-text) !important; box-shadow:var(--shadow-sm) !important; }
    html[data-initial-route="cadernos"] .nav-tabs-priority [data-view="cadernos"] { background:var(--brand) !important; color:var(--button-text) !important; box-shadow:var(--shadow-sm) !important; }

    html[data-initial-route="conquistas"] #view-questoes { display:none !important; }
    html[data-initial-route="conquistas"] #view-conquistas { display:flex !important; flex-direction:column; flex:1 0 auto; width:100%; }
    html[data-initial-route="conquistas"] #tab-view-questoes { background:transparent !important; color:var(--text-secondary) !important; box-shadow:none !important; }
    html[data-initial-route="conquistas"] #btn-open-conquistas { background:var(--brand) !important; color:var(--button-text) !important; box-shadow:var(--shadow-sm) !important; }
    html[data-initial-route="conquistas"] .nav-tabs-priority [data-view="conquistas"] { background:var(--brand) !important; color:var(--button-text) !important; box-shadow:var(--shadow-sm) !important; }

    html[data-initial-route="estatisticas"] #view-questoes { display:none !important; }
    html[data-initial-route="estatisticas"] #view-estatisticas { display:flex !important; flex-direction:column; flex:1 0 auto; width:100%; }
    html[data-initial-route="estatisticas"] #tab-view-questoes { background:transparent !important; color:var(--text-secondary) !important; box-shadow:none !important; }
    html[data-initial-route="estatisticas"] #btn-header-estatisticas { background:var(--brand) !important; color:var(--button-text) !important; box-shadow:var(--shadow-sm) !important; }
    html[data-initial-route="estatisticas"] .nav-tabs-priority [data-view="estatisticas"] { background:var(--brand) !important; color:var(--button-text) !important; box-shadow:var(--shadow-sm) !important; }

    html[data-initial-route="sobre"] #view-questoes,
    html[data-initial-route="fontes-e-metodologia"] #view-questoes,
    html[data-initial-route="perguntas-frequentes"] #view-questoes,
    html[data-initial-route="privacidade"] #view-questoes,
    html[data-initial-route="termos"] #view-questoes,
    html[data-initial-route="acessibilidade"] #view-questoes,
    html[data-initial-route="contato"] #view-questoes { display:none !important; }

    html[data-initial-route="sobre"] #view-institucional,
    html[data-initial-route="fontes-e-metodologia"] #view-institucional,
    html[data-initial-route="perguntas-frequentes"] #view-institucional,
    html[data-initial-route="privacidade"] #view-institucional,
    html[data-initial-route="termos"] #view-institucional,
    html[data-initial-route="acessibilidade"] #view-institucional,
    html[data-initial-route="contato"] #view-institucional { display:block !important; }

    html[data-initial-route="sobre"] #tab-view-questoes,
    html[data-initial-route="fontes-e-metodologia"] #tab-view-questoes,
    html[data-initial-route="perguntas-frequentes"] #tab-view-questoes,
    html[data-initial-route="privacidade"] #tab-view-questoes,
    html[data-initial-route="termos"] #tab-view-questoes,
    html[data-initial-route="acessibilidade"] #tab-view-questoes,
    html[data-initial-route="contato"] #tab-view-questoes { background:transparent !important; color:var(--text-secondary) !important; box-shadow:none !important; }

    /* Deixa o estado inicial da navegação correto antes da hidratação do app. */
    html[data-initial-route]:not([data-initial-route="recommended"]) :is(#tab-view-recommended, .nav-tabs-priority [data-route-key="recommended"]) { background:transparent !important; color:var(--text-secondary) !important; box-shadow:none !important; }
    html[data-initial-route="questoes"] :is(#tab-view-questoes, .nav-tabs-priority [data-route-key="questoes"]) { background:var(--brand) !important; color:var(--button-text) !important; box-shadow:var(--shadow-sm) !important; }
    html[data-initial-route="questoes"] :is(#tab-view-recommended, .nav-tabs-priority [data-route-key="recommended"]) { background:transparent !important; color:var(--text-secondary) !important; box-shadow:none !important; }
    html[data-initial-route="simulado"] .nav-tabs-priority [data-view="simulado"] { background:var(--brand) !important; color:var(--button-text) !important; box-shadow:var(--shadow-sm) !important; }

    /* Header Right Actions (Conquistas + Backup) */
    .header-right-actions {
      display:flex;
      align-items:center;
      gap:10px;
      margin-left:auto;
    }
    .btn-header-backup {
      display:inline-flex;
      align-items:center;
      gap:5px;
      padding:6px 12px;
      font-size:13px;
      font-weight:700;
      color:var(--text-secondary);
      border:1px solid var(--border);
      background:var(--bg-surface);
      border-radius:var(--radius-sm);
      cursor:pointer;
      transition:all 0.15s ease;
    }
    .btn-header-backup:hover {
      border-color:var(--brand);
      color:var(--brand-text);
      background:var(--brand-bg);
    }
    .btn-header-stats {
      display:inline-flex;
      align-items:center;
      gap:5px;
      padding:6px 12px;
      font-size:13px;
      font-weight:600;
      color:var(--text-secondary);
      border:1px solid var(--border);
      background:var(--bg-surface);
      border-radius:var(--radius-sm);
      text-decoration:none;
      cursor:pointer;
      transition:all 0.15s ease;
    }
    .btn-header-stats:hover,
    .btn-header-stats.active {
      border-color:var(--border-hover);
      color:var(--text-main);
      background:var(--bg-subtle);
    }

    /* Mobile Menu Toggle Button (Desktop: hidden) */
    .mobile-menu-btn {
      display:none;
      align-items:center;
      justify-content:center;
      width:40px;
      height:40px;
      padding:0;
      border:1px solid var(--border);
      border-radius:var(--radius-md);
      background:var(--bg-surface);
      color:var(--text-main);
      cursor:pointer;
      flex-shrink:0;
      transition:all 0.15s ease;
    }
    .mobile-menu-btn:hover {
      background:var(--bg-subtle);
      border-color:var(--border-hover);
      color:var(--brand-text);
    }
    .mobile-menu-btn:focus-visible {
      outline:2px solid var(--brand);
      outline-offset:2px;
    }

    /* Drawer Backdrop (Desktop: hidden) */
    .header-drawer-backdrop {
      display:none;
    }

    /* Drawer Header & Divider (Desktop: hidden) */
    .drawer-header,
    .drawer-divider {
      display:none;
    }

    /* Header Nav Container / Drawer on Desktop */
    .app-header .header-in { display:grid; grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr); gap:12px; }
    .app-header .header-brand-group { grid-column:1; }
    .app-header .nav-tabs { grid-column:2; }
    .app-header .header-right-actions { grid-column:3; display:flex; align-items:center; gap:6px; justify-self:end; }
    .header-nav-drawer {
      display:contents;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      flex:1;
    }

    /* Evita cortar o slogan quando a navegação central ocupa quase toda a linha. */
    @media (min-width:1261px) and (max-width:1320px) {
      .app-header .brand-tagline { display:none; }
    }

    input[type="search"]::-webkit-search-cancel-button,
    input[type="search"]::-webkit-search-decoration {
      -webkit-appearance:none;
      appearance:none;
    }

    /* Linha 1:BUSCAR nos Filtros */
    .f-row-search {
      align-items:flex-start;
      padding-bottom:16px;
      border-bottom:1px dashed var(--border);
    }
    .f-search-container {
      display:flex;
      flex-direction:column;
      gap:8px;
      flex:1;
      max-width:680px;
    }
    .search-input-box {
      position:relative;
      display:flex;
      align-items:center;
      width:100%;
    }
    .search-box-ico {
      position:absolute;
      left:13px;
      top:50%;
      transform:translateY(-50%);
      color:var(--text-muted);
      pointer-events:none;
      display:flex;
      align-items:center;
    }
    .search-input-box input {
      width:100%;
      height:42px;
      border:1.5px solid var(--border);
      border-radius:var(--radius-md);
      padding:0 38px 0 38px;
      font-size:14px;
      background:var(--bg-surface);
      color:var(--text-main);
      outline:none;
      transition:all 0.15s ease;
      box-shadow:0 1px 2px rgba(0, 0, 0, 0.04);
    }
    .search-input-box input:focus {
      border-color:var(--brand);
      box-shadow:0 0 0 3px rgba(245, 158, 11, 0.18);
    }
    .search-input-box.has-value input,
    .search-input-box input.has-value {
      border-color:var(--brand) !important;
      background:var(--brand-bg) !important;
      color:var(--brand-text) !important;
      font-weight:600 !important;
      box-shadow:0 1px 3px rgba(245, 158, 11, 0.12) !important;
    }
    .search-input-box.has-value .search-box-ico,
    .search-input-box.has-value .search-box-ico svg {
      color:var(--brand) !important;
    }
    .search-input-box .search-clear-btn {
      position:absolute;
      right:12px;
      top:50%;
      transform:translateY(-50%);
      width:32px;
      height:32px;
      border-radius:50%;
      background:var(--bg-muted);
      border:none;
      font-size:11px;
      color:var(--text-secondary);
      display:none;
      align-items:center;
      justify-content:center;
      cursor:pointer;
    }
    .search-input-box .search-clear-btn:hover {
      background:var(--border-hover);
      color:var(--text-main);
    }
    .f-search-line { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
    .f-search-line .search-input-box { flex:1 1 280px; width:auto; }
    .f-search-line .f-search-scope-select-wrap { flex:none; }
    .f-search-meta { display:flex; align-items:baseline; justify-content:space-between; gap:4px 16px; margin-top:-2px; }
    .f-search-meta .search-syntax-help { min-width:0; }
    .f-search-meta .hint-more { white-space:nowrap; }
    @media (max-width:520px) { .f-search-meta { flex-direction:column; align-items:flex-start; } }
    .f-search-hints {
      font-size:13px;
      color:var(--text-secondary);
      padding:10px 12px;
      background:var(--bg-muted);
      border-radius:var(--radius-md);
    }
    .f-search-hints[hidden] { display:none; }
    .hint-more {
      flex:none;
      border:0;
      background:transparent;
      color:var(--text-secondary);
      font-size:12px;
      font-weight:600;
      padding:2px 0;
      cursor:pointer;
    }
    .hint-more:hover { color:var(--text-main); text-decoration:underline; }
    .hint-more:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
    .hint-list { display:flex; flex-wrap:wrap; gap:6px; }
    .hint-list[hidden] { display:none !important; }
    .hint-tag {
      display:inline-block;
      background:var(--bg-surface);
      border:1px solid var(--border);
      border-radius:var(--radius-pill, 999px);
      padding:5px 11px;
      color:var(--text-secondary);
      cursor:pointer;
      transition:all 0.12s;
      font-size:12.5px;
      line-height:1.35;
      text-align:left;
    }
    .hint-tag[hidden] { display:none; }
    .hint-tag:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
    .hint-tag:hover { color:var(--text-main); border-color:var(--brand); }
    .search-syntax-help { display:block; margin-left:2px; font-size:12px; color:var(--text-muted); line-height:1.4; }
    .redacao-search-field { display:flex; flex-direction:column; gap:8px; }

    /* Search Scope Selector & Options */
    .f-search-scope-bar {
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
      margin-top:4px;
    }
    .f-search-scope-select-wrap {
      position:relative;
      display:inline-block;
    }
    .f-search-scope-btn {
      display:inline-flex;
      align-items:center;
      gap:6px;
      height:32px;
      padding:0 11px;
      background:var(--bg-surface);
      border:1.5px solid var(--border);
      border-radius:var(--radius-sm, 6px);
      font-size:12px;
      color:var(--text-main);
      cursor:pointer;
      user-select:none;
      transition:all 0.15s ease;
      white-space:nowrap;
    }
    .f-search-scope-btn:hover {
      border-color:var(--brand);
      background:var(--bg-subtle);
    }
    .f-search-scope-btn.active-custom {
      border-color:var(--brand);
      background:var(--brand-bg);
      color:var(--brand-text);
      font-weight:600;
    }
    .scope-btn-icon {
      font-size:13px;
    }
    .scope-btn-prefix {
      color:var(--text-muted);
      font-size:11.5px;
      font-weight:500;
    }
    .scope-btn-label {
      color:var(--text-main);
      font-weight:700;
      max-width:220px;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .f-search-scope-btn.active-custom .scope-btn-label {
      color:var(--brand-text);
    }
    .scope-btn-chevron {
      font-size:10px;
      color:var(--text-muted);
      transition:transform 0.15s ease;
    }
    .f-search-scope-select-wrap.open .scope-btn-chevron {
      transform:rotate(180deg);
    }
    .f-search-scope-popover {
      position:absolute;
      top:calc(100% + 4px);
      right:0;
      left:auto;
      width:min(320px, calc(100vw - 32px));
      min-width:min(280px, calc(100vw - 32px));
      max-width:calc(100vw - 32px);
      box-sizing:border-box;
      background:var(--bg-surface);
      border:1px solid var(--border);
      border-radius:var(--radius-md, 8px);
      box-shadow:0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
      z-index:1200;
      padding:8px 0;
      display:flex;
      flex-direction:column;
      animation:popoverFadeIn 0.12s ease-out;
    }
    .scope-popover-header {
      padding:6px 14px 6px 14px;
      font-size:11px;
      font-weight:800;
      text-transform:uppercase;
      letter-spacing:0.05em;
      color:var(--text-muted);
      border-bottom:1px solid var(--border);
      margin-bottom:4px;
    }
    .scope-popover-subhead {
      padding:6px 14px 2px 14px;
      font-size:10px;
      font-weight:700;
      text-transform:uppercase;
      letter-spacing:0.04em;
      color:var(--text-muted);
    }
    .search-match-img {
      outline:3.5px solid var(--brand) !important;
      outline-offset:2px !important;
      border-radius:var(--radius-sm, 6px) !important;
    }
    .scope-item {
      display:flex;
      align-items:flex-start;
      gap:10px;
      padding:8px 14px;
      cursor:pointer;
      user-select:none;
      transition:background 0.1s ease;
    }
    .scope-item:hover {
      background:var(--bg-subtle);
    }
    .scope-item input[type="checkbox"] {
      margin-top:3px;
      accent-color:var(--brand);
      cursor:pointer;
      width:15px;
      height:15px;
    }
    .scope-item-text {
      display:flex;
      flex-direction:column;
      flex:1;
      font-size:12.5px;
      line-height:1.3;
      color:var(--text-main);
    }
    .scope-item-text small {
      font-size:11px;
      color:var(--text-muted);
      font-weight:400;
      margin-top:1px;
    }
    .scope-badge {
      font-size:10px;
      padding:1px 5px;
      border-radius:4px;
      font-weight:700;
      align-self:center;
    }
    .scope-badge.default {
      background:var(--brand-subtle);
      color:var(--brand-text);
      border:1px solid var(--brand-border);
    }
    /* Term Highlighting */
    mark.search-hl {
      background-color:var(--highlight-bg) !important;
      color:var(--highlight-text) !important;
      padding:1px 3px !important;
      border-radius:3px !important;
      font-weight:700 !important;
      box-shadow:0 1px 2px rgba(0, 0, 0, 0.08) !important;
    }

    .question-mode-header {
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:12px;
      margin:24px 0 16px;
      text-align:center;
    }
    .question-mode-header h1 {
      margin:0;
      font-size:26px;
      font-weight:800;
      line-height:1.2;
    }
    .study-active .question-mode-header,
    .direct-q-mode .question-mode-header,
    .direct-q-mode #filter-hints-section,
    .direct-q-mode .filter-hints-card,
    body.question-mode-recommended #filter-hints-section,
    body.question-mode-recommended #filters-panel,
    body.question-mode-recommended #toolbar-integrated .toolbar-sort,
    body.question-mode-recommended #toolbar-integrated .bulk-notebook-action,
    body.question-mode-recommended #toolbar-integrated #btn-start-filter-sim,
    body.question-mode-recommended #toolbar-integrated .bulk-notebook-help,
    body.question-mode-recommended #pager-top { display:none !important; }

    /* Bloco de Dicas acima dos filtros */
    .filter-hints-card {
      margin-bottom:12px;
      padding:14px 18px;
      background:var(--bg-surface);
      border:1px solid var(--border);
      border-radius:var(--radius-card);
      box-shadow:var(--shadow-sm);
    }
    .filter-hints-header {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-bottom:10px;
    }
    .filter-hints-card:has(#hint-list[hidden]) .filter-hints-header {
      margin-bottom:0;
    }
    .filter-hints-title-wrap {
      display:flex;
      flex-direction:column;
      gap:2px;
    }
    .filter-hints-title {
      font-weight:700;
      font-size:13.5px;
      color:var(--text-main);
    }
    .filter-hints-subtitle {
      font-size:12px;
      color:var(--text-secondary);
    }
    .btn-toggle-section {
      display:block;
      width:100%;
      min-height:44px;
      margin-top:12px;
      text-align:center;
      border:1px solid var(--border);
      background:var(--bg-subtle);
      border-radius:var(--radius-sm);
      padding:5px 12px;
      font-size:12px;
      font-weight:600;
      color:var(--text-secondary);
      cursor:pointer;
      white-space:nowrap;
      transition:all 0.15s ease;
    }
    .btn-toggle-section:hover {
      background:var(--bg-surface);
      color:var(--text-main);
      border-color:var(--brand);
    }
    .hint-active-flash {
      background:var(--brand-subtle) !important;
      border-color:var(--brand) !important;
      color:var(--brand-text) !important;
      transform:scale(1.04);
      transition:all 0.15s ease;
    }

    /* Cabeçalho do Painel de Filtros */
    .filters-header {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:4px 2px 10px;
      margin-bottom:8px;
      border-bottom:1px solid var(--border);
    }
    .filters-header-title {
      display:flex;
      align-items:center;
      gap:8px;
      font-size:14px;
      font-weight:700;
      color:var(--text-main);
    }

    /* Botão Voltar ao Topo */
    .btn-back-to-top {
      position:fixed;
      right:24px;
      bottom:28px;
      z-index:99;
      width:44px;
      height:44px;
      border-radius:50%;
      background:var(--bg-surface);
      border:1px solid var(--border);
      color:var(--text-main);
      box-shadow:0 4px 12px rgba(0, 0, 0, 0.12);
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:center;
      opacity:0;
      visibility:hidden;
      transform:translateY(12px);
      transition:opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease, background 0.15s ease, border-color 0.15s ease;
    }
    .btn-back-to-top.visible {
      opacity:0.92;
      visibility:visible;
      transform:translateY(0);
    }
    .btn-back-to-top:hover {
      opacity:1;
      background:var(--brand);
      color:var(--text-on-dark);
      border-color:var(--brand);
      transform:translateY(-2px);
    }
    @media (max-width:1260px) {
      body.menu-drawer-open .app-header {
        z-index:1002;
      }
      body.menu-drawer-open .achieve-toast {
        pointer-events:none !important;
        opacity:0 !important;
        visibility:hidden !important;
      }
      .app-header .header-in { display:flex; }
      .header-in {
        position:relative;
        padding:10px 16px;
        min-height:56px;
        flex-direction:row;
        align-items:center;
        justify-content:center;
      }
      .mobile-menu-btn {
        display:inline-flex;
        position:absolute;
        left:16px;
        top:50%;
        transform:translateY(-50%);
        z-index:2;
      }
      .header-brand-group { display:none; }
      .nav-tabs-priority {
        display:flex;
        position:absolute;
        left:64px;
        right:12px;
        top:50%;
        transform:translateY(-50%);
        width:auto;
        max-width:none;
        overflow:hidden;
        justify-content:center;
        gap:6px;
      }
      .nav-tabs-priority .nav-tab { flex:0 1 auto; min-width:0; padding:6px 7px; font-size:12px; white-space:nowrap; }
      .nav-tabs-priority .nav-tab:nth-child(n+3) { display:none; }
      .nav-tabs-priority .nav-tab svg { display:block; width:14px; height:14px; flex:none; }
      /* Fallback for already generated HTML until those pages are regenerated. */
      .nav-tabs-priority .nav-tab:not(:has(svg))::before { display:inline-block; flex:none; font-size:14px; line-height:1; }
      .nav-tabs-priority .nav-tab[data-route-key="recommended"]:not(:has(svg))::before { content:"✦"; }
      .nav-tabs-priority .nav-tab[data-route-key="questoes"]:not(:has(svg))::before { content:"⌕"; }
      .nav-tabs-priority .nav-tab[data-view="cadernos"]:not(:has(svg))::before { content:"▤"; }
      .nav-tabs-priority .nav-tab[data-view="simulado"]:not(:has(svg))::before { content:"▣"; }
      .nav-tabs-priority .nav-tab[data-view="conquistas"]:not(:has(svg))::before { content:"★"; }
      .nav-tabs-priority .nav-tab[data-view="estatisticas"]:not(:has(svg))::before { content:"▥"; }
      .nav-tabs-priority .nav-tab[data-view="redacoes"]:not(:has(svg))::before { content:"✎"; }
      @media (max-width:380px) {
        .nav-tabs-priority { gap:2px; padding:2px; }
        .nav-tabs-priority .nav-tab { gap:3px; padding-inline:3px; font-size:11.5px; }
        .nav-tabs-priority .nav-tab svg { width:13px; height:13px; }
        .nav-tabs-priority .nav-tab:not(:has(svg))::before { width:13px; font-size:13px; text-align:center; }
      }
      .drawer-brand {
        display:flex;
        align-items:center;
        gap:10px;
        flex:1;
        min-width:0;
        max-width:calc(100% - 48px);
        justify-content:flex-start;
      }
      .drawer-brand .brand-text-wrap {
        display:flex;
        flex-direction:column;
        min-width:0;
        overflow:hidden;
      }
      .drawer-brand .brand-name {
        font-size:15px;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
      }
      .drawer-brand .brand-tagline {
        font-size:11px;
        line-height:1.35;
        color:var(--text-muted);
        white-space:normal;
        overflow:visible;
        text-overflow:clip;
      }
      .header-drawer-backdrop {
        display:block;
        position:fixed;
        top:0;
        left:0;
        right:0;
        bottom:0;
        background:rgba(var(--backdrop-rgb, 10, 10, 10), 0.62);
        backdrop-filter:blur(3px);
        -webkit-backdrop-filter:blur(3px);
        z-index:1000;
        opacity:0;
        pointer-events:none;
        transition:opacity 0.25s ease;
      }
      .header-drawer-backdrop.open {
        opacity:1;
        pointer-events:auto;
      }
      .header-nav-drawer {
        position:fixed;
        top:0;
        left:0;
        bottom:0;
        right:auto;
        width:min(320px, 86vw);
        background:var(--bg-surface);
        border-right:1px solid var(--border);
        border-left:none;
        box-shadow:6px 0 24px rgba(0, 0, 0, 0.2);
        z-index:1001;
        display:flex;
        flex-direction:column;
        justify-content:flex-start;
        align-items:stretch;
        padding:20px 16px;
        gap:16px;
        overflow-y:auto;
        overscroll-behavior:contain;
        transform:translateX(-105%);
        visibility:hidden;
        pointer-events:none;
        transition:transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.28s;
        box-sizing:border-box;
      }
      .header-nav-drawer.open {
        transform:translateX(0);
        visibility:visible;
        pointer-events:auto;
      }
      .drawer-header {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        width:100%;
        padding-bottom:12px;
        border-bottom:1px solid var(--border);
        box-sizing:border-box;
      }
      @media (min-width:380px) {
        .nav-tabs-priority .nav-tab:nth-child(3) { display:inline-flex; }
      }
      @media (min-width:620px) {
        .nav-tabs-priority .nav-tab:nth-child(4) { display:inline-flex; }
      }
      @media (min-width:800px) {
        .nav-tabs-priority .nav-tab:nth-child(5) { display:inline-flex; }
      }
      @media (min-width:980px) {
        .nav-tabs-priority .nav-tab:nth-child(6) { display:inline-flex; }
      }
      @media (min-width:1160px) {
        .nav-tabs-priority .nav-tab:nth-child(7) { display:inline-flex; }
      }
      /* The compact header keeps names and icons readable at phone widths. */
      @media (max-width:420px) {
        .nav-tabs-priority { gap:0; }
        .nav-tabs-priority .nav-tab { gap:2px; padding-inline:2px; font-size:12px; }
        .nav-tabs-priority .nav-tab svg { width:13px; height:13px; }
        .nav-tabs-priority .nav-tab:not(:has(svg))::before { width:13px; font-size:13px; text-align:center; }
      }
      .drawer-title {
        font-size:16px;
        font-weight:800;
        color:var(--text-main);
        letter-spacing:-0.02em;
      }
      .drawer-close-btn {
        flex-shrink:0;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:36px;
        height:36px;
        padding:0;
        border:1px solid var(--border);
        border-radius:var(--radius-sm);
        background:var(--bg-subtle);
        color:var(--text-secondary);
        cursor:pointer;
        transition:all 0.15s ease;
      }
      .drawer-close-btn:hover {
        background:var(--bg-surface);
        color:var(--text-main);
        border-color:var(--border-hover);
      }
      .drawer-close-btn:focus-visible {
        outline:2px solid var(--brand);
        outline-offset:2px;
      }
      .header-nav-drawer .nav-tabs {
        display:flex;
        flex-direction:column;
        width:100%;
        gap:6px;
        padding:6px;
        background:var(--bg-subtle);
        border:1px solid var(--border);
        border-radius:var(--radius-md);
        box-sizing:border-box;
      }
      .header-nav-drawer .nav-tab {
        width:100%;
        padding:10px 12px;
        font-size:14px;
        font-weight:600;
        justify-content:flex-start;
        gap:10px;
        border-radius:var(--radius-sm);
        box-sizing:border-box;
      }
      .header-nav-drawer .nav-tab svg,
      .header-nav-drawer .nav-emoji {
        display:inline-flex;
      }
      .header-nav-drawer .nav-tab .tab-badge {
        margin-left:auto;
      }
      .drawer-divider {
        display:block;
        width:100%;
        height:1px;
        background:var(--border);
        margin:2px 0;
        box-sizing:border-box;
      }
      .header-nav-drawer .header-right-actions {
        display:flex;
        flex-direction:row;
        flex-wrap:wrap;
        align-items:center;
        gap:8px;
        width:100%;
        margin:0;
        box-sizing:border-box;
      }
      .header-nav-drawer .header-creator-link { width:100%; min-height:40px; justify-content:flex-start; padding:9px 12px; }
      .header-nav-drawer .appearance-settings {
        position:relative;
      }
      .header-nav-drawer .appearance-settings > summary {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        padding:7px 12px;
        font-size:14px;
        font-weight:700;
        background:var(--bg-subtle);
        border:1px solid var(--border);
        border-radius:var(--radius-sm);
        box-sizing:border-box;
        cursor:pointer;
      }
      .header-nav-drawer .appearance-panel {
        position:absolute;
        top:calc(100% + 6px);
        left:0;
        width:300px;
        max-width:calc(100vw - 48px);
        box-sizing:border-box;
        box-shadow:var(--shadow-md);
        z-index:20;
      }
      .header-nav-drawer .btn-conquistas-badge {
        display:inline-flex;
        align-items:center;
        gap:6px;
        padding:6px 12px;
        font-size:12.5px;
        font-weight:700;
        border-radius:var(--radius-sm);
        box-sizing:border-box;
      }
      .header-nav-drawer .btn-header-backup {
        display:inline-flex;
        align-items:center;
        gap:6px;
        padding:6px 12px;
        font-size:12.5px;
        font-weight:700;
        border-radius:var(--radius-sm);
        box-sizing:border-box;
      }
      .btn-back-to-top {
        right:16px;
        bottom:20px;
        width:40px;
        height:40px;
      }
    }

    @media (max-width:380px) {
      .brand-mascot-badge { width:40px; height:40px; border-radius:12px; }
      .app-header .brand-name { font-size:16px; }
      .app-header .brand-tagline { display:none; }
      .app-header .brand { gap:8px; }
    }

.nav-tab { text-decoration:none; }

/* Utilidades: progresso, ferramenta de dados e preferências têm pesos distintos. */
.utility-chevron, .achievement-label { display:none; }
.utility-icon, .utility-external-icon { flex:none; }
.app-header .header-right-actions { gap:8px; flex-wrap:nowrap; }
.app-header .header-right-actions > button, .header-more-toggle {
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  box-sizing:border-box; min-height:38px; margin:0; padding:0 10px;
  color:var(--text-secondary); font-size:12.5px; font-weight:600; line-height:1.4;
  border:1px solid transparent; border-radius:var(--radius-sm); background:transparent;
}
.app-header .header-right-actions .btn-conquistas-badge {
  border-color:var(--brand-border); background:var(--brand-bg); color:var(--text-main);
  padding:0 12px; border-radius:var(--radius-full);
}
.app-header .btn-conquistas-badge .achieve-trophy { font-size:16px; }
.app-header .header-right-actions .btn-header-backup { font-weight:500; }
.app-header .header-right-actions > button:hover, .header-more-toggle:hover { background:var(--bg-subtle); color:var(--text-main); }
.header-more { position:relative; }
.header-more-toggle { position:relative; white-space:nowrap; padding:0 10px; cursor:pointer; }
.header-more-toggle:focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
.header-right-actions[data-update-available="true"] .header-more-toggle::after {
  content:""; position:absolute; top:4px; right:3px; width:7px; height:7px;
  border-radius:50%; background:var(--brand); box-shadow:0 0 0 2px var(--bg-surface);
}
.header-more-panel {
  display:none; position:absolute; right:0; top:calc(100% + 8px); z-index:80;
  width:320px; max-width:calc(100vw - 32px); padding:6px; box-sizing:border-box;
  background:var(--bg-surface); border:1px solid var(--border); border-radius:var(--radius-md); box-shadow:var(--shadow-md);
  max-height:calc(100vh - 80px); overflow-y:auto;
}
.header-more[data-open="true"] > .header-more-panel { display:block; }
.app-header .appearance-settings > summary, .header-more-panel .header-creator-link, .header-menu-action {
  box-sizing:border-box; display:flex; align-items:center; gap:10px;
  width:100%; min-height:44px; padding:10px; margin:0;
  border:0; border-radius:var(--radius-sm); background:transparent; color:var(--text-main);
  font-size:13px; font-weight:500; line-height:1.4; cursor:pointer; text-decoration:none;
}
.header-more-divider {
  display:block; width:100%; height:1px; background:var(--border); margin:6px 0; border:0;
}
.header-more-inst {
  color:var(--text-secondary);
}
.header-more-inst:hover {
  color:var(--text-main);
}
.header-more-inst.active {
  color:var(--brand-text);
  background:var(--brand-bg);
  font-weight:700;
}
.header-more-inst.active:hover {
  background:var(--brand-subtle);
}
.app-header .appearance-settings > summary { list-style:none; }
.app-header .appearance-settings > summary::-webkit-details-marker { display:none; }
.app-header .appearance-settings > summary:hover, .header-more-panel .header-creator-link:hover, .header-menu-action:hover { background:var(--bg-subtle); }
.app-header .appearance-settings .appearance-panel {
  position:static; width:100%; max-width:none; padding:8px 16px 16px 26px;
  border:0; border-radius:0; background:transparent; box-shadow:none; box-sizing:border-box; gap:0;
}
.app-header .appearance-settings .appearance-group { width:100%; box-sizing:border-box; }
.app-header .appearance-settings .appearance-panel select { width:100%; box-sizing:border-box; }
.app-header .appearance-settings > summary .utility-label { flex:1; min-width:0; }
.utility-state { margin-left:auto; color:var(--text-muted); font-size:12px; white-space:nowrap; }
.app-header .appearance-settings > summary .utility-chevron { display:block; transform:rotate(90deg); }
.app-header .appearance-settings[open] > summary .utility-chevron { transform:rotate(-90deg); }
.app-header .appearance-settings > summary:focus-visible, .header-menu-action:focus-visible {
  outline:2px solid var(--brand); outline-offset:-2px;
}
.header-more-panel .header-creator-link {
  margin-top:6px; padding-top:16px; min-height:50px; border-top:1px solid var(--border);
  border-radius:0; color:var(--text-secondary); font-size:12.5px;
}
.utility-external-icon { margin-left:auto; }
.header-menu-action[hidden] { display:none; }
.header-menu-action .utility-label { text-align:left; }
.header-menu-action.update-available .utility-state { color:var(--text-secondary); font-size:11px; }
.header-menu-action.update-available .utility-state::before { content:""; display:inline-block; width:6px; height:6px; margin-right:5px; border-radius:50%; background:var(--brand); vertical-align:middle; }
@media(max-width:1260px) {
  .app-header .header-nav-drawer .header-right-actions { display:flex; flex-direction:column; align-items:stretch; gap:2px; width:100%; }
  .app-header .header-more, .app-header .header-more .header-more-panel { display:contents; }
  .app-header .header-more-toggle { display:none; }
  .app-header .header-right-actions > button,
  .app-header .btn-header-backup,
  .app-header .appearance-settings > summary,
  .app-header .header-menu-action,
  .app-header .header-creator-link {
    display:flex; justify-content:flex-start; width:100%; min-height:48px; height:auto;
    padding:12px 10px; margin:0; gap:10px; border:0; border-radius:var(--radius-sm);
    background:transparent; color:var(--text-main); font-size:14px; font-weight:500;
  }
  .app-header .utility-chevron { display:block; }
  .app-header .header-more-divider { margin:8px 0; width:100%; height:1px; background:var(--border); }
  .app-header .header-creator-link { border-top:1px solid var(--border); border-radius:0; margin-top:12px; padding-top:20px; min-height:56px; font-size:12.5px; color:var(--text-secondary); }
  .app-header .btn-header-backup > .utility-chevron { margin-left:auto; }
  .app-header .appearance-settings .appearance-panel { padding-left:26px; }
  .app-header .header-right-actions > button:hover { background:var(--bg-subtle); }
}

.app-header .header-menu-action[hidden] { display:none; }
.app-header .header-creator-link > svg:first-child { width:18px; height:18px; }

    /* ================= MAIN CONTAINER ================= */
    main {
      max-width:1040px;
      margin:0 auto;
      padding:24px 20px 16px;
      display:flex;
      flex-direction:column;
      flex:1 0 auto;
      box-sizing:border-box;
      width:100%;
    }

    .view-content { display:none; }
    .view-content.active {
      display:flex;
      flex-direction:column;
      flex:1 0 auto;
      width:100%;
    }


    /* ================= FILTROS ================= */
    .filters {
      background:var(--bg-surface);
      border:1px solid var(--border);
      border-radius:var(--radius-lg);
      padding:20px 22px 18px;
      box-shadow:var(--shadow-sm);
      display:flex;
      flex-direction:column;
      gap:16px;
      margin-bottom:20px;
    }
    .filters-body {
      display:flex;
      flex-direction:column;
      gap:18px;
    }
    .f-row {
      display:flex;
      gap:16px;
      align-items:flex-start;
    }
    .f-choice-with-help { flex:1; min-width:0; }
    .f-label {
      flex:0 0 100px;
      font-size:11px;
      font-weight:800;
      text-transform:uppercase;
      letter-spacing:0.06em;
      color:var(--dark-surface);
      padding-top:5px;
    }
    .chips {
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      flex:1;
      align-items:center;
    }
    .chip {
      border:1px solid var(--border);
      background:var(--bg-surface);
      color:var(--text-secondary);
      border-radius:8px;
      padding:4px 11px;
      font-size:12.5px;
      font-weight:600;
      transition:all 0.12s ease;
      display:inline-flex;
      align-items:center;
      gap:6px;
    }
    .chip:hover {
      border-color:var(--border-hover);
      background:var(--bg-subtle);
      color:var(--text-main);
    }
    /* Active State: Amarelo consistente (filtro ativo) */
    .chip.on {
      background: var(--brand-bg);
      border-color: var(--brand);
      color: var(--brand-text);
      font-weight: 700;
      box-shadow: 0 1px 3px rgba(217, 119, 6, 0.12);
      position: relative;
    }
    .chip.on:hover {
      background: var(--brand-subtle);
      border-color: var(--brand-hover);
      color: var(--brand-text);
    }
    :root[data-theme="dark"] .chip.on {
      background: rgba(245, 158, 11, 0.16);
      border-color: rgba(245, 158, 11, 0.7);
      color: #fef08a;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    }
    :root[data-theme="dark"] .chip.on:hover {
      background: rgba(245, 158, 11, 0.25);
      border-color: #fbbf24;
      color: #ffffff;
    }
    .chip .chip-cnt {
      font-size: 11px;
      color: var(--text-muted);
      font-weight: 500;
      margin-left: 2px;
    }
    .chip.on .chip-cnt {
      color: var(--brand-text);
      font-weight: 700;
      opacity: 0.95;
    }
    :root[data-theme="dark"] .chip.on .chip-cnt {
      color: #fde68a;
    }
    :root[data-contrast="high"] .chip.on {
      border: 2px solid #713f12;
      background: #fff7d6;
      color: #422006;
    }
    :root[data-theme="dark"][data-contrast="high"] .chip.on {
      border: 2px solid #fde047;
      background: #241b00;
      color: #fef08a;
    }
    .chip-toggle-more {
      font-size:12px;
      color:var(--brand-text);
      background:var(--brand-bg);
      border:1px dashed var(--brand-border);
      border-radius:8px;
      padding:4px 10px;
      font-weight:700;
      cursor:pointer;
      display:inline-flex;
      align-items:center;
      gap:4px;
      transition:all 0.15s;
    }
    .chip-toggle-more:hover {
      background:var(--brand-subtle);
      border-color:var(--brand);
    }

    /* ================= COMBOBOX MULTI-SELECT (MATÉRIA & ASSUNTO) ================= */
    .f-row-combos {
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:16px;
      width:100%;
      padding-top:16px;
      border-top:1px dashed var(--border);
    }
    .f-row-combos:has(#wrap-combo-materia) { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    @media (max-width:960px) {
      .f-row-combos {
        grid-template-columns:1fr;
        gap:10px;
      }
    }
    .combo-field {
      display:flex;
      flex-direction:column;
      gap:4px;
      position:relative;
    }
    .combo-field:has(.combobox-wrap.open) { z-index:1210; }
    .combo-field .f-label {
      flex:none;
      width:auto;
      height:auto;
      padding:0;
      margin-bottom:2px;
    }
    .combobox-wrap {
      position:relative;
      width:100%;
    }
    .combobox-trigger {
      display:flex;
      align-items:center;
      justify-content:space-between;
      width:100%;
      padding:8px 14px;
      background:var(--bg-surface);
      border:1px solid var(--border);
      border-radius:var(--radius-sm);
      color:var(--text-main);
      font-size:13.5px;
      font-weight:600;
      cursor:pointer;
      transition:all 0.15s ease;
      text-align:left;
    }
    .combobox-trigger:hover {
      border-color:var(--border-hover);
      background:var(--bg-card);
    }
    .combobox-trigger.has-value {
      border-color: var(--brand);
      background: var(--brand-bg);
      color: var(--brand-text);
      font-weight: 700;
      box-shadow: 0 1px 3px rgba(217, 119, 6, 0.1);
    }
    .combobox-trigger.has-value:hover {
      background: var(--brand-subtle);
      border-color: var(--brand-hover);
    }
    .combobox-trigger.has-value .combobox-trigger-arrow {
      color: var(--brand-text);
    }
    :root[data-theme="dark"] .combobox-trigger.has-value {
      background: rgba(245, 158, 11, 0.16);
      border-color: rgba(245, 158, 11, 0.7);
      color: #fef08a;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    }
    :root[data-theme="dark"] .combobox-trigger.has-value:hover {
      background: rgba(245, 158, 11, 0.25);
      border-color: #fbbf24;
      color: #ffffff;
    }
    :root[data-theme="dark"] .combobox-trigger.has-value .combobox-trigger-arrow {
      color: #fde68a;
    }
    :root[data-contrast="high"] .combobox-trigger.has-value {
      border: 2px solid #713f12;
      background: #fff7d6;
      color: #422006;
    }
    :root[data-theme="dark"][data-contrast="high"] .combobox-trigger.has-value {
      border: 2px solid #fde047;
      background: #241b00;
      color: #fef08a;
    }
    .combobox-trigger:disabled,
    .combobox-trigger.zero-available:not(.has-value) {
      opacity: 0.55;
      cursor: not-allowed;
      background: var(--bg-muted, var(--bg-card));
      color: var(--text-muted);
      border-color: var(--border);
    }
    .combobox-trigger:disabled:hover,
    .combobox-trigger.zero-available:not(.has-value):hover {
      background: var(--bg-muted, var(--bg-card));
      border-color: var(--border);
      cursor: not-allowed;
    }
    .combobox-trigger:disabled .combobox-trigger-arrow,
    .combobox-trigger.zero-available:not(.has-value) .combobox-trigger-arrow {
      opacity: 0.45;
    }
    .combobox-trigger-text {
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
      flex:1;
      padding-right:8px;
    }
    .combobox-trigger-arrow {
      font-size:11px;
      color:var(--text-muted);
      transition:transform 0.18s ease;
    }
    .combobox-wrap.open .combobox-trigger-arrow {
      transform:rotate(180deg);
    }
    .combobox-popover {
      position:absolute;
      top:calc(100% + 4px);
      left:0;
      width:100%;
      min-width:min(320px, calc(100vw - 24px));
      max-width:calc(100vw - 24px);
      box-sizing:border-box;
      background:var(--bg-surface);
      border:1px solid var(--border);
      border-radius:var(--radius-md);
      box-shadow:0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
      z-index:1200;
      display:flex;
      flex-direction:column;
      overflow:hidden;
      overscroll-behavior:contain;
      animation:popoverFadeIn 0.15s ease-out;
    }
    @keyframes popoverFadeIn {
      from { opacity:0; transform:translateY(-4px); }
      to { opacity:1; transform:translateY(0); }
    }
    .popover-search-wrap {
      display:flex;
      align-items:center;
      padding:8px 12px;
      border-bottom:1px solid var(--border);
      background:var(--bg-subtle);
      gap:8px;
    }
    .popover-search-icon {
      font-size:13px;
      color:var(--text-muted);
    }
    .popover-search-input {
      border:none;
      background:none;
      outline:none;
      font-size:13px;
      color:var(--text-main);
      width:100%;
    }
    .popover-sort-select {
      flex:0 0 auto;
      max-width:116px;
      min-height:32px;
      padding:4px 20px 4px 7px;
      border:1px solid var(--border);
      border-radius:6px;
      background:var(--bg-surface);
      color:var(--text-secondary);
      font:inherit;
      font-size:11px;
    }
    .popover-sort-select:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
    .btn-clear-sub {
      background:none;
      border:none;
      color:var(--text-muted);
      cursor:pointer;
      font-size:12px;
      padding:0 2px;
      line-height:1;
    }
    .btn-clear-sub:hover {
      color:var(--bad);
    }
    .popover-list {
      max-height:280px;
      overflow-y:auto;
      overscroll-behavior:contain;
      padding:4px 0;
    }
    .popover-group-title {
      font-size:11px;
      font-weight:800;
      color:var(--text-secondary);
      letter-spacing:0.05em;
      text-transform:uppercase;
      padding:8px 14px 4px;
      border-top:1px solid var(--border-light, var(--bg-subtle));
      background:var(--bg-subtle);
    }
    .popover-group-title:first-child {
      border-top:none;
    }
    .popover-item {
      display:flex;
      align-items:center;
      gap:10px;
      padding:7px 14px;
      cursor:pointer;
      user-select:none;
      transition:background 0.1s ease;
      font-size:13px;
      color:var(--text-main);
    }
    .popover-item:hover {
      background:var(--bg-subtle);
    }
    .popover-item.checked {
      background: var(--brand-bg);
      font-weight: 700;
      color: var(--brand-text);
    }
    .popover-item.checked:hover {
      background: var(--brand-subtle);
      color: var(--brand-text);
    }
    :root[data-theme="dark"] .popover-item.checked {
      background: rgba(245, 158, 11, 0.16);
      color: #fef08a;
    }
    :root[data-theme="dark"] .popover-item.checked:hover {
      background: rgba(245, 158, 11, 0.25);
      color: #ffffff;
    }
    .popover-item.zero-count {
      opacity:0.42;
      cursor:not-allowed;
    }
    .popover-item.zero-count:hover {
      background:none;
    }
    .popover-item input[type="checkbox"] {
      width:15px;
      height:15px;
      accent-color:var(--brand);
      cursor:pointer;
    }
    .popover-item input[type="checkbox"]:disabled {
      cursor:not-allowed;
      opacity:0.5;
    }
    .popover-item-name {
      flex:1;
    }
    .popover-item-count {
      font-size:11.5px;
      color:var(--text-muted);
      font-variant-numeric:tabular-nums;
    }
    .popover-habilidade-wide {
      min-width:min(600px, calc(100vw - 24px));
    }
    .popover-habilidade-wide .popover-list {
      max-height:440px;
      padding:0;
    }
    .popover-comp-section {
      position:relative;
    }
    .popover-comp-header {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
      padding:8px 14px;
      background:var(--bg-surface);
      border-top:1px solid var(--border);
      border-bottom:1px solid var(--border-light, rgba(0,0,0,0.06));
      position:sticky;
      top:0;
      z-index:2;
    }
    :root[data-theme="dark"] .popover-comp-header {
      background:var(--bg-subtle);
    }
    .popover-comp-section:first-child .popover-comp-header {
      border-top:none;
    }
    .popover-hab-nav {
      display:flex;
      flex-direction:column;
      gap:6px;
      padding:8px 12px;
      background:var(--bg-surface);
      border-bottom:1px solid var(--border);
    }
    .popover-nav-row {
      display:flex;
      align-items:center;
      gap:5px;
      overflow-x:auto;
      scrollbar-width:none;
      -webkit-overflow-scrolling:touch;
      padding:1px 0;
    }
    .popover-nav-row::-webkit-scrollbar {
      display:none;
    }
    .popover-nav-label {
      font-size:11px;
      font-weight:600;
      color:var(--text-muted);
      text-transform:uppercase;
      letter-spacing:0.03em;
      margin-right:2px;
      flex-shrink:0;
    }
    .popover-nav-pill {
      display:inline-flex;
      align-items:center;
      gap:4px;
      padding:3px 8px;
      border-radius:var(--radius-sm);
      border:1px solid var(--border);
      background:var(--bg-subtle);
      color:var(--text-secondary);
      font-size:11.5px;
      font-weight:500;
      cursor:pointer;
      white-space:nowrap;
      transition:all 0.12s ease;
      user-select:none;
      flex-shrink:0;
    }
    .popover-nav-pill:hover {
      border-color:var(--border-hover);
      color:var(--text-main);
      background:var(--bg-card);
    }
    .popover-nav-pill.active {
      background:var(--bg-surface);
      border-color:var(--border-hover);
      color:var(--text-main);
      font-weight:700;
      box-shadow:0 1px 2px rgba(0,0,0,0.06);
    }
    :root[data-theme="dark"] .popover-nav-pill.active {
      background:var(--bg-subtle);
      border-color:var(--border-hover);
      color:var(--text-main);
    }
    .popover-nav-pill .pill-dot {
      width:5px;
      height:5px;
      border-radius:50%;
      background:var(--brand);
      display:inline-block;
    }

    .popover-comp-info {
      display:flex;
      flex-direction:column;
      gap:1px;
      min-width:0;
      flex:1;
    }
    .popover-comp-tag {
      font-size:11.5px;
      font-weight:700;
      color:var(--text-main);
      letter-spacing:0.01em;
    }
    .popover-comp-desc {
      font-size:11px;
      line-height:1.3;
      color:var(--text-muted);
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .btn-comp-action {
      background:none;
      border:1px solid var(--border);
      border-radius:4px;
      padding:2px 7px;
      font-size:10.5px;
      font-weight:600;
      color:var(--text-secondary);
      cursor:pointer;
      white-space:nowrap;
      flex-shrink:0;
      transition:all 0.1s ease;
    }
    .btn-comp-action:hover {
      border-color:var(--border-hover);
      color:var(--text-main);
      background:var(--bg-card);
    }
    .popover-hab-comp-pill {
      font-size:10px;
      font-weight:600;
      padding:1px 5px;
      border-radius:3px;
      background:var(--bg-subtle);
      border:1px solid var(--border);
      color:var(--text-muted);
    }
    .popover-item-hab {
      align-items:flex-start;
      gap:10px;
      padding:9px 14px;
      border-bottom:1px solid var(--border-light, rgba(0,0,0,0.04));
    }
    .popover-item-hab:last-child {
      border-bottom:none;
    }
    .popover-item-hab input[type="checkbox"] {
      margin-top:2px;
      flex-shrink:0;
    }
    .popover-hab-info {
      display:flex;
      flex-direction:column;
      gap:3px;
      flex:1;
      min-width:0;
    }
    .popover-hab-header {
      display:flex;
      align-items:center;
      gap:6px;
    }
    .popover-hab-code {
      font-weight:700;
      font-size:13px;
      color:var(--brand);
    }
    .popover-hab-comp {
      font-size:11px;
      color:var(--text-muted);
      font-weight:500;
    }
    .popover-hab-desc {
      font-size:12px;
      line-height:1.4;
      color:var(--text-secondary);
      word-break:break-word;
    }
    .popover-item-hab.checked .popover-hab-code,
    .popover-item-hab.checked .popover-hab-desc {
      color: var(--brand-text);
      font-weight: 700;
    }
    :root[data-theme="dark"] .popover-item-hab.checked .popover-hab-code,
    :root[data-theme="dark"] .popover-item-hab.checked .popover-hab-desc {
      color: #fef08a;
    }
    .popover-item-hab.checked .popover-hab-comp {
      color: var(--brand-text);
      opacity: 0.85;
    }
    :root[data-theme="dark"] .popover-item-hab.checked .popover-hab-comp {
      color: #fde68a;
      opacity: 0.9;
    }
    .popover-footer {
      display:flex;
      justify-content:space-between;
      align-items:center;
      padding:8px 14px;
      border-top:1px solid var(--border);
      background:var(--bg-subtle);
    }
    .btn-popover-action {
      background:none;
      border:1px solid var(--border);
      border-radius:var(--radius-sm);
      padding:4px 12px;
      font-size:12px;
      font-weight:600;
      color:var(--text-secondary);
      cursor:pointer;
      transition:all 0.12s ease;
    }
    .btn-popover-action:hover {
      border-color:var(--border-hover);
      color:var(--text-main);
    }
    .btn-popover-apply {
      background:var(--brand);
      border-color:var(--brand);
      color:var(--text-on-dark);
    }
    .btn-popover-apply:hover {
      background:var(--brand-dark);
      border-color:var(--brand-dark);
      color:var(--text-on-dark);
    }

    /* Active Column Chips (Chips associados abaixo de cada coluna) */
    .active-column-chips {
      display: none !important;
    }
    .active-combo-chips {
      display:flex;
      flex-direction:column;
      gap:6px;
      margin-top:8px;
    }
    #active-combo-chips {
      flex-direction:row;
      flex-wrap:wrap;
      align-items:center;
      gap:6px 12px;
    }
    .active-chips-line {
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:4px 6px;
    }
    #active-combo-chips .active-chips-line { min-width:0; }
    #active-combo-chips .active-tag-chip { max-width:100%; }
    #active-combo-chips .active-tag-chip > span {
      max-width:240px;
      min-width:0;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .active-chips-line-lbl {
      font-size:11px;
      font-weight:800;
      color:var(--text-muted);
      text-transform:uppercase;
      letter-spacing:0.04em;
      margin-right:2px;
      flex-shrink:0;
    }
    /* Estilo unificado: AMARELO para qualquer filtro ativo (matéria, assunto, habilidade) */
    .active-tag-chip,
    .active-tag-chip.active-chip-disc,
    .active-tag-chip.active-chip-topic,
    .active-tag-chip.active-chip-hab {
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:3px 9px;
      background:var(--brand-bg);
      border:1px solid var(--brand);
      border-radius:var(--radius-pill);
      font-size:11.5px;
      font-weight:700;
      color:var(--brand-text);
      box-shadow:0 1px 2px rgba(217, 119, 6, 0.08);
      transition:all 0.12s ease;
      max-width:100%;
    }
    .active-tag-chip > span {
      min-width:0;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .active-tag-chip:hover,
    .active-tag-chip.active-chip-disc:hover,
    .active-tag-chip.active-chip-topic:hover,
    .active-tag-chip.active-chip-hab:hover {
      background:var(--brand-subtle);
      border-color:var(--brand-hover);
      color:var(--brand-text);
    }
    :root[data-theme="dark"] .active-tag-chip,
    :root[data-theme="dark"] .active-tag-chip.active-chip-disc,
    :root[data-theme="dark"] .active-tag-chip.active-chip-topic,
    :root[data-theme="dark"] .active-tag-chip.active-chip-hab {
      background:rgba(245, 158, 11, 0.16);
      border-color:rgba(245, 158, 11, 0.7);
      color:#fef08a;
      box-shadow:0 1px 2px rgba(0, 0, 0, 0.3);
    }
    :root[data-theme="dark"] .active-tag-chip:hover,
    :root[data-theme="dark"] .active-tag-chip.active-chip-disc:hover,
    :root[data-theme="dark"] .active-tag-chip.active-chip-topic:hover,
    :root[data-theme="dark"] .active-tag-chip.active-chip-hab:hover {
      background:rgba(245, 158, 11, 0.25);
      border-color:#fbbf24;
      color:#ffffff;
    }
    .active-tag-chip .btn-rm-tag {
      background:none;
      border:none;
      color:var(--brand-text);
      cursor:pointer;
      padding:0 2px;
      font-size:13px;
      font-weight:800;
      line-height:1;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      transition:all 0.12s ease;
      flex-shrink:0;
      opacity:0.85;
    }
    :root[data-theme="dark"] .active-tag-chip .btn-rm-tag {
      color:#fef08a;
    }
    .active-tag-chip .btn-rm-tag:hover {
      color:var(--bad);
      opacity:1;
      transform:scale(1.2);
    }
    :root[data-theme="dark"] .active-tag-chip .btn-rm-tag:hover {
      color:#f87171;
    }
    :root[data-contrast="high"] .active-tag-chip,
    :root[data-contrast="high"] .active-tag-chip.active-chip-disc,
    :root[data-contrast="high"] .active-tag-chip.active-chip-topic,
    :root[data-contrast="high"] .active-tag-chip.active-chip-hab {
      border:2px solid #713f12;
      background:#fff7d6;
      color:#422006;
    }
    :root[data-theme="dark"][data-contrast="high"] .active-tag-chip,
    :root[data-theme="dark"][data-contrast="high"] .active-tag-chip.active-chip-disc,
    :root[data-theme="dark"][data-contrast="high"] .active-tag-chip.active-chip-topic,
    :root[data-theme="dark"][data-contrast="high"] .active-tag-chip.active-chip-hab {
      border:2px solid #fde047;
      background:#241b00;
      color:#fef08a;
    }
    .active-tag-chip.more-chip {
      background:var(--bg-subtle);
      border:1px solid var(--border);
      color:var(--text-secondary);
      font-weight:600;
      font-size:11px;
      cursor:pointer;
      padding:2.5px 7px;
    }
    .active-tag-chip.more-chip:hover {
      background:var(--bg-muted);
      border-color:var(--border-hover);
      color:var(--text-main);
    }
    .active-tag-chip.more-chip:focus-visible {
      outline:2px solid var(--brand);
      outline-offset:2px;
    }
    .combobox-backdrop {
      display:none;
      position:fixed;
      inset:0;
      background:rgba(10, 10, 10, 0.58);
      backdrop-filter:blur(3px);
      z-index:1190;
    }
    @media (min-width:641px) {
      .combobox-backdrop {
        display:none !important;
      }
    }
    @media (max-width:640px) {
      .combobox-wrap.open .combobox-popover {
        position:fixed;
        top:50%;
        bottom:auto;
        left:12px;
        right:12px;
        width:min(460px, calc(100vw - 24px));
        min-width:0;
        max-height:min(70dvh, 520px);
        transform:translateY(-50%);
        border-radius:var(--radius-md);
        z-index:1200;
        box-shadow:0 10px 25px -5px rgba(0, 0, 0, 0.2), 0 8px 10px -6px rgba(0, 0, 0, 0.14);
        animation:popoverFadeIn 0.15s ease-out;
      }
      .combobox-wrap.open .combobox-popover .popover-list {
        max-height:min(42vh, 340px);
      }
    }
    @keyframes slideUpSheet {
      from { transform:translateY(100%); }
      to { transform:translateY(0); }
    }
    mark.hl {
      background:var(--highlight-bg);
      color:var(--highlight-text);
      font-weight:800;
      border-radius:2px;
      padding:0 1px;
    }

    /* Direct Question View Mode */
    .direct-q-mode #feed-route-intro,
    .direct-q-mode .filter-hints-card,
    .direct-q-mode #filter-hints-section,
    .direct-q-mode .search-hints-bar,
    .direct-q-mode .filters,
    .direct-q-mode .toolbar-integrated,
    .direct-q-mode #pager-bot {
      display:none !important;
    }

    /* PPL Tooltip */
    .info-help {
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:14px;
      height:14px;
      border-radius:50%;
      background:rgba(0, 0, 0, 0.08);
      color:inherit;
      font-size:10px;
      font-weight:800;
      cursor:help;
      position:relative;
      margin-left:2px;
      line-height:1;
    }
    .chip.on .info-help {
      background:rgba(255, 255, 255, 0.25);
      color:var(--text-on-dark);
    }
    .info-help:hover::after {
      content:attr(data-tip);
      position:absolute;
      left:50%;
      bottom:calc(100% + 8px);
      transform:translateX(-50%);
      background:var(--dark-charcoal);
      color:var(--text-on-dark);
      font-size:11.5px;
      font-weight:500;
      line-height:1.45;
      padding:8px 12px;
      border-radius:var(--radius-sm);
      white-space:normal;
      width:260px;
      max-width:calc(100vw - 32px);
      box-sizing:border-box;
      box-shadow:0 6px 18px rgba(0,0,0,0.22);
      z-index:100;
      pointer-events:none;
    }


    /* Bottom Filter Tools */
    .f-tools {
      display:flex;
      gap:16px;
      align-items:center;
      flex-wrap:wrap;
      border-top:1px dashed var(--border);
      padding-top:16px;
      margin-top:2px;
      font-size:13px;
      color:var(--text-secondary);
    }
    .f-tools label {
      display:inline-flex;
      gap:6px;
      align-items:center;
      cursor:pointer;
      font-weight:600;
      user-select:none;
      padding:4px 10px;
      border-radius:var(--radius-sm);
      border:1px solid transparent;
      transition:all 0.15s ease;
    }
    .f-tools label:hover {
      background:var(--bg-subtle);
    }
    .f-tools label:has(input:checked),
    .f-tools label.active-filter {
      background: var(--brand-bg);
      border-color: var(--brand);
      color: var(--brand-text);
      font-weight: 700;
      box-shadow: 0 1px 2px rgba(217, 119, 6, 0.08);
    }
    .f-tools label:has(input:checked):hover,
    .f-tools label.active-filter:hover {
      background: var(--brand-subtle);
      border-color: var(--brand-hover);
    }
    :root[data-theme="dark"] .f-tools label:has(input:checked),
    :root[data-theme="dark"] .f-tools label.active-filter {
      background: rgba(245, 158, 11, 0.16);
      border-color: rgba(245, 158, 11, 0.7);
      color: #fef08a;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    }
    :root[data-theme="dark"] .f-tools label:has(input:checked):hover,
    :root[data-theme="dark"] .f-tools label.active-filter:hover {
      background: rgba(245, 158, 11, 0.25);
      border-color: #fbbf24;
      color: #ffffff;
    }
    .f-tools label input[type="checkbox"] {
      accent-color: var(--brand);
    }
    .btn-clear-filters {
      display: none;
      align-items: center;
      gap: 6px;
      background: var(--bad-bg, #fef2f2);
      color: var(--bad-text, #991b1b);
      border: 1.5px solid var(--bad-border, #fca5a5);
      font-weight: 700;
      font-size: 12px;
      padding: 4px 12px;
      border-radius: var(--radius-sm);
      cursor: pointer;
      box-shadow: 0 1px 3px rgba(220, 38, 38, 0.08);
      transition: all 0.15s ease;
    }
    .btn-clear-filters.active {
      display: inline-flex;
    }
    .btn-clear-filters:hover {
      background: rgba(239, 68, 68, 0.18);
      border-color: var(--bad, #dc2626);
      color: #7f1d1d;
      box-shadow: 0 2px 5px rgba(220, 38, 38, 0.15);
      transform: translateY(-1px);
    }
    .btn-clear-filters:active {
      transform: translateY(0);
    }
    :root[data-theme="dark"] .btn-clear-filters {
      background: rgba(239, 68, 68, 0.16);
      border-color: rgba(248, 113, 113, 0.6);
      color: #fecaca;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
    }
    :root[data-theme="dark"] .btn-clear-filters:hover {
      background: rgba(239, 68, 68, 0.28);
      border-color: #f87171;
      color: #ffffff;
      box-shadow: 0 2px 6px rgba(239, 68, 68, 0.25);
    }

    /* ================= INTEGRATED TOOLBAR ================= */
    .toolbar-integrated {
      display:flex;
      flex-direction:column;
      justify-content:flex-start;
      align-items:stretch;
      flex-wrap:wrap;
      gap:10px;
      background:var(--bg-surface);
      border:1px solid var(--border);
      border-radius:var(--radius-md);
      padding:10px 16px;
      margin-bottom:20px;
      box-shadow:var(--shadow-sm);
    }
    .toolbar-left {
      display:flex;
      align-items:center;
      gap:16px;
      flex-wrap:wrap;
      padding-bottom:9px;
      border-bottom:1px solid var(--border);
    }
    .status-count {
      font-size:14.5px;
      color:var(--text-secondary);
    }
    .status-count strong {
      color:var(--text-main);
      font-weight:800;
    }
    .page-indicator {
      font-size:12.5px;
      color:var(--text-muted);
      margin-left:2px;
    }
    .toolbar-sort {
      display:inline-flex;
      align-items:center;
      gap:6px;
      font-size:13px;
      color:var(--text-secondary);
      font-weight:600;
    }
    .toolbar-sort select {
      font-family:inherit;
      font-size:13px;
      font-weight:600;
      padding:4px 10px;
      border:1px solid var(--border);
      border-radius:var(--radius-sm);
      background:var(--bg-surface);
      color:var(--text-main);
      outline:none;
      cursor:pointer;
    }
    .toolbar-sort select.has-value,
    .redacao-select.has-value {
      border-color: var(--border-hover) !important;
      background: var(--bg-surface) !important;
      color: var(--text-main) !important;
      font-weight: 700 !important;
    }
    :root[data-theme="dark"] .toolbar-sort select.has-value,
    :root[data-theme="dark"] .redacao-select.has-value {
      background: var(--bg-surface) !important;
      border-color: var(--border-hover) !important;
      color: var(--text-main) !important;
    }
    .f-booklet-picker select.has-value {
      border-color: var(--brand) !important;
      background: var(--brand-bg) !important;
      color: var(--brand-text) !important;
      font-weight: 700 !important;
      box-shadow: 0 1px 3px rgba(217, 119, 6, 0.1);
    }
    .f-booklet-picker select.has-value:hover {
      background: var(--brand-subtle) !important;
      border-color: var(--brand-hover) !important;
    }
    :root[data-theme="dark"] .f-booklet-picker select.has-value {
      background: rgba(245, 158, 11, 0.16) !important;
      border-color: rgba(245, 158, 11, 0.7) !important;
      color: #fef08a !important;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    }
    :root[data-theme="dark"] .f-booklet-picker select.has-value:hover {
      background: rgba(245, 158, 11, 0.25) !important;
      border-color: #fbbf24 !important;
      color: #ffffff !important;
    }
    :root[data-contrast="high"] .f-booklet-picker select.has-value {
      border: 2px solid #713f12 !important;
      background: #fff7d6 !important;
      color: #422006 !important;
    }
    :root[data-theme="dark"][data-contrast="high"] .f-booklet-picker select.has-value {
      border: 2px solid #fde047 !important;
      background: #241b00 !important;
      color: #fef08a !important;
    }
    .f-booklet-picker select option,
    .f-booklet-picker select optgroup,
    #f-booklet-color option,
    #f-booklet-color optgroup,
    .toolbar-sort select option,
    .toolbar-sort select optgroup,
    select option,
    select optgroup {
      background-color: var(--bg-surface) !important;
      color: var(--text-main) !important;
      font-weight: 500;
    }
    .f-booklet-picker select optgroup,
    #f-booklet-color optgroup,
    select optgroup {
      font-weight: 700 !important;
      color: var(--brand-text) !important;
      background-color: var(--bg-subtle) !important;
    }
    :root[data-theme="dark"] .f-booklet-picker select option,
    :root[data-theme="dark"] #f-booklet-color option,
    :root[data-theme="dark"] select option {
      background-color: var(--bg-surface) !important;
      color: var(--text-main) !important;
    }
    :root[data-theme="dark"] .f-booklet-picker select optgroup,
    :root[data-theme="dark"] #f-booklet-color optgroup,
    :root[data-theme="dark"] select optgroup {
      background-color: var(--bg-subtle) !important;
      color: #fbbf24 !important;
    }
    .toolbar-right {
      display:flex;
      align-items:center;
      gap:6px;
      flex-wrap:wrap;
      justify-content:flex-start;
    }
    .bulk-notebook-action { font-size:12px; white-space:nowrap; }
    .bulk-notebook-action:disabled { opacity:0.5; cursor:not-allowed; }
    .bulk-notebook-help { font-size:11.5px; color:var(--text-muted); }

    /* Inline Pagination */
    .pager-inline {
      display:flex;
      gap:4px;
      align-items:center;
    }
    .pager-btn {
      border:1px solid var(--border);
      background:var(--bg-surface);
      color:var(--text-secondary);
      padding:4px 10px;
      border-radius:var(--radius-sm);
      font-size:12.5px;
      font-weight:600;
      transition:all 0.12s;
    }
    .pager-btn:hover:not(:disabled) {
      border-color:var(--border-hover);
      color:var(--text-main);
      background:var(--bg-subtle);
    }
    .pager-btn.cur {
      background:var(--dark-charcoal);
      border-color:var(--dark-charcoal);
      color:var(--text-on-dark);
      font-weight:700;
    }
    .pager-btn:disabled {
      opacity:0.4;
      cursor:not-allowed;
    }
    .pager-dots {
      padding:0 4px;
      color:var(--text-muted);
      font-size:12px;
    }

    /* Booklet picker select styling */
    .f-booklet-picker {
      flex:1;
      min-width:0;
    }
    .f-booklet-picker select {
      width:min(100%, 380px);
      padding:6px 12px;
      border:1px solid var(--border);
      border-radius:var(--radius-sm);
      background:var(--bg-surface);
      color:var(--text-main);
      font-size:13px;
      font-weight:600;
      cursor:pointer;
      transition:all 0.15s ease;
    }
    .f-booklet-picker select:hover {
      border-color:var(--border-hover);
    }
    .f-booklet-picker select:disabled,
    .f-booklet-picker select.zero-available:not(.has-value) {
      opacity: 0.55;
      cursor: not-allowed;
      background: var(--bg-muted, var(--bg-card));
      color: var(--text-muted);
      border-color: var(--border);
    }
    .f-booklet-picker select:disabled:hover,
    .f-booklet-picker select.zero-available:not(.has-value):hover {
      background: var(--bg-muted, var(--bg-card));
      border-color: var(--border);
      cursor: not-allowed;
    }
    .f-booklet-picker select:focus-visible {
      outline:2px solid var(--brand);
      outline-offset:2px;
    }
    .f-booklet-help {
      display:block;
      margin-top:4px;
      color:var(--text-muted);
      font-size:11.5px;
      line-height:1.4;
    }


/* Porta de entrada: intenções antes dos controles de precisão. */
.filter-hints-card { padding:12px 18px 16px; margin-bottom:8px; border:0; box-shadow:none; background:var(--bg-surface); }
.entry-heading { margin:0; font-size:15px; font-weight:700; min-width:0; }
.entry-toggle { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:44px; padding:0; border:0; background:transparent; color:var(--text-main); font:inherit; text-align:left; cursor:pointer; }
.entry-toggle-state { flex-shrink:0; font-size:12px; font-weight:500; color:var(--text-secondary); }
.entry-toggle:hover .entry-toggle-state { color:var(--text-main); }
.entry-toggle:focus-visible, .search-preset:focus-visible, .year-more:focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
.filter-hints-subtitle { margin:0 0 12px; font-size:13px; color:var(--text-secondary); }
.filter-hints-card:has(#hint-list[hidden]) { padding-bottom:12px; }
.filter-hints-card:has(#hint-list[hidden]) .filter-hints-subtitle { display:none; }
#hint-list[hidden] { display:none; }
.preset-highlights { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.search-preset { display:flex; flex-direction:column; justify-content:center; gap:3px; min-height:64px; min-width:0; padding:10px 12px; border:1px solid transparent; border-radius:8px; background:var(--bg-subtle); text-align:left; color:var(--text-main); cursor:pointer; }
.search-preset strong { font-size:14px; font-weight:650; line-height:1.4; }
.search-preset span { font-size:12px; line-height:1.4; color:var(--text-secondary); }
.search-preset:hover { border-color:var(--brand); background:var(--brand-subtle); }
.preset-more-heading { display:flex; justify-content:space-between; align-items:center; gap:8px; min-height:42px; margin-top:6px; color:var(--text-secondary); font-size:12px; }
.year-more { padding:6px 8px; min-height:36px; border:0; background:transparent; color:var(--text-secondary); font-size:12px; cursor:pointer; border-radius:6px; }
.year-more:hover { background:var(--bg-subtle); color:var(--text-main); }
.preset-chips { display:flex; flex-wrap:wrap; gap:6px; }
.preset-chips .hint-tag { display:inline-flex; align-items:center; min-height:36px; padding:6px 10px; border:0; border-radius:6px; background:var(--bg-subtle); color:var(--text-secondary); font-size:12px; line-height:1.4; text-align:left; }
.preset-chips .hint-tag:hover { color:var(--text-main); background:var(--brand-subtle); }
.preset-chips .preset-mobile-extra { display:none; }
.filters { padding:10px 18px 14px; margin-bottom:16px; gap:12px; box-shadow:none; border:0; }
.filters:has(.filters-body[hidden]) { padding-bottom:10px; gap:10px; }
.filters .filters-header { gap:10px; padding:0; margin:0; border:0; }
.filters-header .entry-heading { flex:1; }
.filter-active-count {
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  vertical-align: middle;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--brand-text);
  background: var(--brand-bg);
  border: 1px solid var(--brand);
  border-radius: var(--radius-pill, 9999px);
  padding: 1px 7px;
  white-space: nowrap;
}
:root[data-theme="dark"] .filter-active-count {
  background: rgba(245, 158, 11, 0.18);
  border-color: rgba(245, 158, 11, 0.6);
  color: #fef08a;
}
.filter-active-summary {
  margin: 12px 0 0;
  padding: 8px 12px;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--brand-text);
  background: var(--brand-bg);
  border: 1px solid var(--brand-subtle);
  border-radius: var(--radius-sm, 6px);
  overflow-wrap: anywhere;
}
:root[data-theme="dark"] .filter-active-summary {
  background: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.3);
  color: #fef08a;
}
.filters:has(.filters-body:not([hidden])) .filter-active-summary { display:none; }
.filter-header-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.filters .btn-clear-filters {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 36px;
  padding: 6px 14px;
  border: 1.5px solid var(--bad, #dc2626);
  background: var(--bad-bg, #fef2f2);
  color: var(--bad-text, #7f1d1d);
  font-size: 12.5px;
  font-weight: 700;
  border-radius: var(--radius-sm);
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(220, 38, 38, 0.12);
  transition: all 0.15s ease;
}
.filters .btn-clear-filters:hover {
  border-color: #b91c1c;
  background: rgba(220, 38, 38, 0.16);
  color: #7f1d1d;
  box-shadow: 0 2px 6px rgba(220, 38, 38, 0.22);
  transform: translateY(-1px);
}
.filters .btn-clear-filters:active {
  transform: translateY(0);
}
:root[data-theme="dark"] .filters .btn-clear-filters {
  border-color: rgba(248, 113, 113, 0.7);
  background: rgba(239, 68, 68, 0.18);
  color: #fecaca;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
}
:root[data-theme="dark"] .filters .btn-clear-filters:hover {
  border-color: #f87171;
  background: rgba(239, 68, 68, 0.30);
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.35);
}
:root[data-contrast="high"] .filters .btn-clear-filters {
  border: 2px solid #991b1b;
  background: #fee2e2;
  color: #7f1d1d;
}
:root[data-theme="dark"][data-contrast="high"] .filters .btn-clear-filters {
  border: 2px solid #f87171;
  background: #450a0a;
  color: #fecaca;
}
.filters .btn-clear-filters span[aria-hidden="true"] {
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
}
.filter-panel-toggle { min-height:36px; padding:4px 0; border:0; background:transparent; cursor:pointer; }
.filters .btn-clear-filters:focus-visible { outline:2px solid var(--bad, #dc2626) !important; outline-offset:2px !important; }
:root[data-theme="dark"] .filters .btn-clear-filters:focus-visible { outline:2px solid #f87171 !important; outline-offset:2px !important; }
.filter-panel-toggle:focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
.filters .btn-clear-filters[hidden], .filter-active-count[hidden], .filter-active-summary[hidden] { display:none; }
.filters-body { gap:14px; }
.filters-body .f-row { display:flex; flex-direction:column; gap:6px; }
.filters-body .filter-sort-row { align-items:flex-start; border-top:1px solid var(--border); margin-top:4px; padding-top:14px; }
.filters-body .f-label { flex:none; padding:0; font-size:12px; text-transform:none; letter-spacing:0; font-weight:600; color:var(--text-secondary); }
.filters .f-row-search { display:flex; flex-direction:column; gap:6px; padding:0 0 12px; border:0; border-bottom:1px solid var(--border-light, var(--border)); }
.filters .f-row-search .f-label { flex:none; padding:0; font-size:12px; text-transform:none; letter-spacing:0; font-weight:600; color:var(--text-secondary); }
.filters-body .filter-sort-row > label {
  color:var(--text-secondary);
  font-size:12px;
  font-weight:600;
}
.filters-body .filter-sort-row select {
  width:min(100%, 360px);
  min-height:44px;
  padding:9px 14px;
  border:1px solid var(--border-hover);
  border-radius:var(--radius-md);
  background:var(--bg-surface);
  color:var(--text-main);
  font:inherit;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.filters-body .filter-sort-row select:hover { border-color:var(--brand); }
.filters-body .filter-sort-row select:focus-visible {
  outline:2px solid var(--focus);
  outline-offset:2px;
  border-color:var(--brand);
}
#f-ord option {
  background:var(--bg-surface);
  color:var(--text-main);
}
#f-ord option:checked {
  background:var(--bg-surface);
  color:var(--text-main);
}
.filter-sort-help { color:var(--text-muted); font-size:12px; font-weight:400; }
.filters .f-search-container { width:100%; max-width:none; gap:4px; }
.filters .f-search-line { flex-wrap:nowrap; }
.filters .f-search-line .search-input-box { flex:1; min-width:0; }
.filters .f-search-scope-btn { min-height:44px; padding:8px 12px; background:var(--bg-subtle); }
.filters .f-search-scope-btn .scope-btn-label { font-weight:500; }
.filters .search-syntax-help { font-size:11px; }
.filters-body .chips { width:100%; flex:none; }
.filters-body .chip { min-height:36px; }
.filters-body .chip[hidden] { display:none; }
.filters-body .f-row-combos { padding:0; border:0; gap:12px; }
.filters-body .combobox-trigger { min-height:44px; }
.filters-body .f-booklet-picker { width:100%; }
.filters-body #f-booklet-color { min-height:44px; width:100%; }
.filters-body .f-booklet-help { font-size:11px; }
.filters-body .f-tools { gap:4px 10px; padding-top:8px; border-top:1px solid var(--border); }
.filters-body .f-tools label { display:inline-flex; align-items:center; min-height:40px; padding:6px 8px; gap:6px; border-radius:6px; cursor:pointer; }
.filters-body .f-tools .filter-secondary { font-weight:400; }
.filters-body .f-tools label:has(input:checked).filter-secondary,
.filters-body .f-tools label.active-filter.filter-secondary {
  font-weight: 700;
}
.filters-body .f-tools label:has(input:disabled),
.filters-body .f-tools label.disabled-filter {
  opacity: 0.45;
  cursor: not-allowed;
}
.filters-body .f-tools label .chip-cnt {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:36px;
  min-height:18px;
  font-size: 10.5px;
  font-weight: 600;
  padding: 1px 5px;
  border-radius: 999px;
  background: var(--bg-subtle);
  color: var(--text-muted);
  line-height: 1.2;
  margin-left: 2px;
  flex-shrink: 0;
}
.filters-body .f-tools label:has(input:checked) .chip-cnt,
.filters-body .f-tools label.active-filter .chip-cnt {
  background: rgba(217, 119, 6, 0.16);
  color: var(--brand-text);
  font-weight: 700;
}
:root[data-theme="dark"] .filters-body .f-tools label:has(input:checked) .chip-cnt,
:root[data-theme="dark"] .filters-body .f-tools label.active-filter .chip-cnt {
  background: rgba(245, 158, 11, 0.28);
  color: #fef08a;
}
.filters-body .f-tools label.zero-count:not(.active-filter):not(:has(input:checked)),
.filters-body .f-tools label.disabled-filter:not(.active-filter):not(:has(input:checked)) {
  opacity: 0.5;
  cursor: not-allowed;
}
.filters-body .f-tools label.disabled-filter input[type="checkbox"]:disabled {
  cursor: not-allowed;
}
@media (max-width:640px) {
  .filter-hints-card { padding:8px 12px 12px; }
  .filter-hints-card:has(#hint-list[hidden]) { padding-bottom:8px; }
  .entry-heading { font-size:14px; }
  .entry-toggle { gap:8px; }
  .preset-highlights { grid-template-columns:1fr; gap:6px; }
  .search-preset { min-height:58px; padding:8px 10px; }
  .preset-highlights .search-preset:nth-child(4) { display:none; }
  .preset-chips .preset-mobile-extra { display:inline-flex; }
  .preset-chips .preset-desktop-extra { display:none; }
  .preset-chips .hint-tag, .year-more { min-height:44px; }
  .filters { padding:8px 12px 12px; }
  .filters:has(.filters-body[hidden]) { padding-bottom:8px; }
  .filters .filters-header { flex-wrap:wrap; }
  .filters-header .entry-heading { flex-basis:calc(100% - 50px); }
  .filter-active-count { font-size:11px; }
  .filters .f-search-line { flex-direction:column; align-items:stretch; }
  .filters .f-search-line .search-input-box { flex:none; }
  .filters .f-search-scope-btn { min-height:40px; }
  .filters-body .chip, .filters .btn-clear-filters, .filters-body .f-tools label { min-height:44px; }
}
/* Ajustes após medir a altura real da entrada e do refinamento. */
.filter-edition-row { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:12px; }
.filter-edition-row > .f-row { min-width:0; }
.filters-body #f-ano .chip,
.filters-body #f-dif .chip {
  min-width: 58px;
  padding: 4px 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.filters-body #f-ano .chip {
  width:82px;
  min-width:82px;
  box-sizing:border-box;
  justify-content:space-between;
  padding-inline:7px;
  gap:4px;
}
.filters-body #f-ano .chip .chip-cnt,
.filters-body #f-dif .chip .chip-cnt {
  font-size: 10.5px;
  font-weight: 600;
  padding: 1px 5px;
  border-radius: 999px;
  background: var(--bg-subtle);
  color: var(--text-muted);
  line-height: 1.2;
}
.filters-body #f-ano .chip .chip-cnt { width:30px; box-sizing:border-box; padding-inline:2px; text-align:center; }
.filters-body #f-dif .chip .chip-cnt { min-width:34px; box-sizing:border-box; text-align:center; }
.filters-body #f-ano .chip.on .chip-cnt,
.filters-body #f-dif .chip.on .chip-cnt {
  background: rgba(217, 119, 6, 0.16);
  color: var(--brand-text);
  font-weight: 700;
}
:root[data-theme="dark"] .filters-body #f-ano .chip.on .chip-cnt,
:root[data-theme="dark"] .filters-body #f-dif .chip.on .chip-cnt {
  background: rgba(245, 158, 11, 0.28);
  color: #fef08a;
}
.filters-body #f-ano .chip.zero-count:not(.on),
.filters-body #f-dif .chip.zero-count:not(.on),
.filters-body #f-ano .chip:disabled:not(.on),
.filters-body #f-dif .chip:disabled:not(.on) {
  opacity: 0.45;
  cursor: not-allowed;
}
@media (max-width:768px) {
  .filter-edition-row { grid-template-columns:1fr; gap:10px; }
}
@media (max-width:640px) {
  .filter-hints-subtitle { margin-bottom:8px; }
  .search-preset { min-height:54px; }
  .preset-more-heading { margin-top:2px; }
  .filters .filters-header { flex-wrap:nowrap; }
  .filters-header .entry-heading { flex-basis:auto; }
  .filters .f-search-container { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 8px; }
  .filters .f-search-line { display:contents; }
  .filters .search-input-box { grid-column:1/-1; }
  .filters .f-search-scope-select-wrap { grid-column:2; grid-row:2; }
  .filters .f-search-meta { grid-column:1; grid-row:2; align-self:center; }
  .filters-body .f-tools { display:grid; grid-template-columns:1fr 1fr; gap:4px; }
  .filters-body .f-tools label { min-width:0; font-size:12px; }
  .filters-body .f-booklet-help { display:none; }
  #view-questoes .toolbar-integrated { gap:8px; padding:10px 12px; margin-bottom:14px; }
  #view-questoes .toolbar-left { gap:8px; }
  #view-questoes .status-count { font-size:13px; }
  #view-questoes .toolbar-right { gap:6px; justify-content:flex-start; }
  #view-questoes .bulk-notebook-help { display:none; }
}

@media (max-width:640px) {
  .filter-panel-toggle { min-height:44px; }
}
@media (max-width:480px) {
  .filters .filters-header:has(#btn-limpar:not([hidden])) { flex-wrap:wrap; gap:8px 0; }
  .filters-header:has(#btn-limpar:not([hidden])) .entry-heading { flex-basis:100%; }
  .filters-header:has(#btn-limpar:not([hidden])) .filter-header-actions { width:100%; justify-content:space-between; }
}


    .filter-apply-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:16px 0 4px; }
    .filter-preview-status { color:var(--text-secondary); font-size:12px; line-height:1.4; }
    .filter-apply-button { min-height:44px; padding:10px 18px; border:1px solid var(--brand); border-radius:var(--radius-sm); background:var(--brand); color:var(--button-text); font:inherit; font-size:14px; font-weight:800; cursor:pointer; transition:background-color .15s ease, border-color .15s ease, transform .15s ease; }
    .filter-apply-button:not(:disabled):hover { background:var(--brand-hover); border-color:var(--brand-hover); transform:translateY(-1px); }
    .filter-apply-button:disabled { background:var(--bg-muted); border-color:var(--border); color:var(--text-muted); cursor:not-allowed; transform:none; }
    @media(max-width:640px) { .filter-apply-row { align-items:stretch; flex-direction:column; } .filter-apply-button { width:100%; } }

/* Unified searchable subject and topic picker */
.content-popover { min-width:min(460px, calc(100vw - 24px)); }
.content-popover .popover-search-wrap { min-height:44px; }
.content-popover .popover-search-input { min-width:0; flex:1; }
.popover-sort-row {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  min-height:42px; padding:5px 12px; border-bottom:1px solid var(--border);
  background:var(--bg-surface);
}
.popover-sort-label { color:var(--text-muted); font-size:11px; }
.popover-sort-options { display:inline-flex; padding:3px; gap:2px; border:1px solid var(--border); border-radius:8px; background:var(--bg-subtle); }
.popover-sort-option {
  min-height:30px; padding:4px 10px; border:0; border-radius:5px; background:transparent;
  color:var(--text-secondary); font:inherit; font-size:11px; cursor:pointer;
}
.popover-sort-option:hover { color:var(--text-main); background:var(--bg-surface); }
.popover-sort-option:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.popover-sort-option.is-active { background:var(--bg-surface); color:var(--text-main); font-weight:700; box-shadow:0 1px 3px rgba(0,0,0,.12); }
.content-matter { border-top:1px solid var(--border-light, var(--border)); }
.content-matter:first-child { border-top:0; }
.content-matter-heading { display:flex; }
.content-matter-toggle {
  appearance:none; width:auto; min-width:0; flex:1; min-height:42px; padding:7px 14px; border:0; background:transparent;
  color:var(--text-main); display:flex; align-items:center; gap:9px; text-align:left; cursor:pointer;
  font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
}
.content-matter-toggle:hover, .content-matter-toggle:focus-visible { background:var(--bg-subtle); }
.content-matter-toggle:focus-visible { outline:2px solid var(--brand); outline-offset:-2px; }
.content-matter-toggle > span:first-of-type { flex:1; }
.content-matter-select-all {
  min-height:42px; padding:0 13px 0 8px; display:flex; align-items:center; gap:6px;
  color:var(--text-secondary); font-size:11px; font-weight:650; cursor:pointer; white-space:nowrap;
}
.content-matter-select-all:hover { color:var(--text-main); }
.content-matter-select-all input { margin:0; accent-color:var(--brand); }
.content-matter-select-all input:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.content-matter-topics { padding:0 0 5px 12px; }
.content-matter-topics[hidden] { display:none; }
.content-popover .popover-item-name { min-width:0; overflow-wrap:anywhere; }
.content-empty { padding:16px; color:var(--text-muted); font-size:13px; text-align:center; }
@media (max-width:640px) {
  .content-popover { min-width:0; max-width:calc(100vw - 24px); }
  .content-popover .popover-list { max-height:min(58vh, 420px); }
  .content-popover .popover-item { min-height:44px; box-sizing:border-box; }
  .popover-sort-row { padding-inline:10px; }
  .popover-sort-option { min-height:36px; padding-inline:12px; }
}

/* Entrada visual com uma ação principal. */
.filter-hints-card { border:1px solid var(--border); padding:16px 18px; background:var(--bg-surface); }
#hints-heading { font-size:clamp(19px, 2.3vw, 25px); letter-spacing:-.5px; }
.filter-hints-subtitle { max-width:72ch; line-height:1.6; margin:2px 0 16px; }
.preset-highlights { grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:8px 14px; }
.search-preset { position:relative; padding:12px 36px 12px 14px; min-height:64px; border-color:var(--border); }
.search-preset .preset-arrow { position:absolute; right:14px; color:var(--text-secondary); font-size:20px; }
.preset-primary { grid-row:span 3; justify-content:flex-start; align-items:flex-start; gap:12px; padding:22px; background:var(--brand-bg); border-color:var(--brand-border); }
.preset-primary .preset-eyebrow { color:var(--brand-text); font-size:10px; font-weight:800; letter-spacing:1px; }
.preset-primary strong { max-width:20ch; font-size:clamp(22px, 2.5vw, 29px); font-weight:800; line-height:1.15; letter-spacing:-.6px; color:var(--text-main); }
.preset-primary .preset-description { max-width:40ch; font-size:13px; color:var(--text-secondary); }
.preset-primary .preset-action { display:flex; align-items:center; justify-content:space-between; gap:18px; width:100%; margin-top:auto; padding:12px 14px; border-radius:7px; background:#f59e0b; color:#0f172a; font-size:14px; font-weight:800; box-shadow:0 3px 0 #b45309; }
.preset-primary .preset-action span { color:inherit; font-size:19px; line-height:1; }
.preset-primary .preset-proof { font-size:11px; color:var(--text-secondary); }
.preset-primary:hover { background:var(--brand-bg); border-color:var(--brand); }
.preset-primary:hover .preset-action { background:#fbbf24; }
.preset-primary:focus-visible { outline:3px solid var(--focus); }
@media (max-width:640px) {
  .filter-hints-card { padding:10px 12px 12px; }
  .preset-highlights { grid-template-columns:minmax(0,1fr); gap:8px; }
  .preset-primary { grid-row:auto; gap:10px; padding:16px; }
  .preset-primary strong { max-width:24ch; font-size:24px; }
  .preset-primary .preset-action { margin-top:4px; }
  .search-preset:not(.preset-primary) { min-height:60px; }
  .filter-hints-subtitle { margin-bottom:12px; }
}

@media (max-width:640px) {
  .popover-sort-label { font-size:10px; }
}

/* Dicas de estudo ficam dentro do painel de filtros e usam uma lista de ações. */
#filters-panel #filter-hints-section {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#filters-panel #filter-hints-section[hidden] { display:none; }
#filters-panel .filters-header { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding-bottom:8px; border-bottom:1px solid var(--border); }
#filters-panel .filter-mode-switch { display:flex; flex:1 1 auto; flex-wrap:wrap; gap:6px; min-width:0; }
#filters-panel .filter-mode-btn { display:inline-flex; flex:none; width:auto; min-height:38px; padding:7px 11px; gap:8px; border:1px solid var(--border); border-radius:8px; background:transparent; font-size:13px; font-weight:700; }
#filters-panel .filter-mode-btn[aria-expanded="true"] { border-color:var(--brand-border); color:var(--brand-text); background:var(--brand-bg); }
#filters-panel .filter-mode-btn .entry-toggle-state { font-size:14px; }
#filters-panel #btn-toggle-filter-state[hidden] { display:none; }
#filters-panel #hints-heading { font-size:14px; letter-spacing:0; }
#filters-panel .filter-hints-subtitle { margin:0 0 10px; font-size:12px; line-height:1.45; }
#filters-panel .preset-list { display:flex; flex-direction:column; gap:6px; max-height:330px; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding:2px 5px 2px 0; }
#filters-panel .preset-list[hidden] { display:none; }
#filters-panel .search-preset {
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  min-height:60px;
  padding:10px 14px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--bg-subtle);
  text-align:left;
}
#filters-panel .search-preset:first-child.preset-featured { border-color:var(--border); background:var(--bg-subtle); }
#filters-panel .search-preset:first-child.preset-featured .preset-copy strong::before { content:"COMECE AQUI"; display:inline-block; margin-right:8px; padding:2px 5px; border:1px solid var(--brand-border); border-radius:4px; color:var(--brand-text); font-size:9px; letter-spacing:.03em; vertical-align:middle; }
#filters-panel .search-preset:hover { border-color:var(--brand); background:var(--brand-subtle); }
#filters-panel .preset-copy { display:flex; flex-direction:column; gap:2px; min-width:0; }
#filters-panel .preset-copy strong { font-size:14px; line-height:1.3; font-weight:750; color:var(--text-main); }
#filters-panel .preset-copy .preset-description { font-size:12px; line-height:1.35; color:var(--text-secondary); }
#filters-panel .preset-meta { display:flex; align-items:center; gap:12px; flex:none; color:var(--text-secondary); }
#filters-panel .preset-count { font-size:11px; white-space:nowrap; }
#filters-panel .preset-arrow { position:static; font-size:20px; line-height:1; color:var(--brand-text); }
#filters-panel .preset-more-heading { min-height:0; margin-top:8px; justify-content:flex-start; }
@media (max-width:640px) {
  #filters-panel .filter-mode-switch { width:100%; }
  #filters-panel .filter-mode-btn { flex:1 1 auto; justify-content:center; }
  #filters-panel #filter-hints-section { padding:0; }
  #filters-panel .preset-list {
    max-height:none;
    overflow:visible;
    overscroll-behavior:auto;
    scrollbar-gutter:auto;
    padding:2px 0;
  }
  #filters-panel .search-preset { min-height:66px; padding:10px 12px; }
  #filters-panel .preset-meta { gap:7px; }
  #filters-panel .preset-count { display:none; }
}

/* A seleção de assuntos permanece identificável com a matéria recolhida. */
.content-matter-label { display:flex; flex-direction:column; align-items:flex-start; gap:3px; min-width:0; }
.content-matter-name { overflow-wrap:anywhere; }
.content-matter-selection { color:var(--brand-text); font-size:11px; line-height:1.35; letter-spacing:0; text-transform:none; font-weight:700; }
.content-matter.has-selection > .content-matter-heading { background:var(--brand-bg); box-shadow:inset 3px 0 0 var(--brand); }
.content-matter.has-selection .content-matter-name { color:var(--brand-text); }

/* Componentes auxiliares: prova, imagem, TRI, histórico detalhado e feed. */
@container (max-width:400px) {
.q-booklet-versions { font-size:11px; }
}
.q-small-link-icon { flex:none; opacity:.68; transition:opacity .15s ease, transform .15s ease; }
.f-booklet-picker { flex:1; min-width:0; }
.f-booklet-picker select {
      width:min(100%, 290px);
      padding:8px 10px;
      border:1px solid var(--border);
      border-radius:var(--radius-sm);
      background:var(--bg-surface);
      color:var(--text-main);
      font-size:13px;
      cursor:pointer;
    }
.f-booklet-picker select:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
.f-booklet-help { display:block; margin-top:4px; color:var(--text-muted); font-size:12px; line-height:1.4; }
.q-booklet-versions { position:relative; display:inline-flex; align-items:center; font-size:12px; }
.q-booklet-versions:not([open]) .q-booklet-version-list { display:none; }
.q-booklet-versions[open] > summary::after { content:"⌃"; }
.q-booklet-version-list {
      position:absolute;
      z-index:30;
      top:calc(100% + 8px);
      right:0;
      left:auto;
      width:min(350px, 100cqw);
      max-width:calc(100vw - 36px);
      box-sizing:border-box;
      max-height:min(330px, 60vh);
      overflow:auto;
      padding:6px;
      border:1px solid var(--border);
      border-radius:var(--radius-md);
      background:var(--bg-surface);
      box-shadow:var(--shadow-hover);
    }
@media (max-width:640px) {
.q-booklet-version-list {
        left:0;
        right:auto;
        max-width:calc(100vw - 36px);
      }
}
.q-booklet-version-link {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:8px 9px;
      border-radius:var(--radius-sm);
      color:var(--text-main);
      font-size:12px;
      line-height:1.35;
      text-decoration:none;
    }
.q-booklet-version-link:hover { background:var(--bg-subtle); color:var(--brand); }
.q-booklet-version-link.current { background:var(--bg-subtle); }
.q-booklet-version-info { display:flex; flex-direction:column; gap:2px; min-width:0; }
.q-booklet-version-status { color:var(--text-muted); font-size:11px; font-weight:600; }
.q-booklet-version-open { flex:none; color:var(--brand); font-weight:700; }
.q-booklet-version-note { margin:5px 8px 8px; color:var(--text-muted); font-size:11px; line-height:1.35; }
.q-booklet-version-link.unavailable { color:var(--text-muted); }
.q-crumb-sep {
      color:var(--text-muted);
      font-size:12px;
    }
.q-tax-crumb {
      display:inline-flex;
      align-items:center;
      flex-wrap:wrap;
      gap:6px;
      min-width:0;
      font-size:12px;
    }
.q-crumb-arrow {
      color:var(--text-muted);
      font-weight:700;
      font-size:11px;
      user-select:none;
    }
.q-topics-cluster {
      display:inline-flex;
      align-items:center;
      flex-wrap:wrap;
      gap:6px;
    }
.q-crumb-separator {
      color:var(--text-muted);
      user-select:none;
      font-size:11px;
    }
.badge-review {
      background:#fff7ed;
      color:#9a3412;
      border:1px solid #fed7aa;
      padding:2px 8px;
      border-radius:var(--radius-sm);
      font-weight:800;
      font-size:11.5px;
      cursor:help;
    }
.badge-annul {
      background:var(--bad-bg);
      color:var(--bad);
      border:1px solid var(--bad-border);
      padding:2px 8px;
      border-radius:var(--radius-sm);
      font-weight:800;
      font-size:11.5px;
    }
.text-ppl {
      color:var(--brand-text);
      font-weight:700;
    }
.q-source-label { font-weight:700; font-style:normal; }
.q-fig { display:block; margin:14px 0; text-align:center; }
.q-fig-description { max-width:760px; margin:0; }
.q-fig img {
      max-width:100%;
      height:auto;
      border:1px solid var(--border);
      border-radius:var(--radius-md);
      background:var(--bg-surface);
      cursor:zoom-in;
      box-shadow:var(--shadow-sm);
    }
.q-fig.search-match-img img,
.tm-img-wrap.search-match-img img {
      outline: 3.5px solid var(--brand) !important;
      outline-offset: 3px !important;
      border-color: var(--brand-border) !important;
      box-shadow: 0 0 0 1px var(--brand-bg), var(--shadow-md) !important;
    }
.q-support table,
.q-enun table {
      border-collapse:collapse;
      margin:12px auto;
      font-size:14px;
      background:var(--bg-surface);
      border-radius:6px;
      overflow:hidden;
      border:1px solid var(--border);
    }
.q-support th,
.q-support td,
.q-enun th,
.q-enun td {
      border:1px solid var(--border);
      padding:6px 14px;
      text-align:center;
    }
.q-support th,
.q-enun th {
      background:var(--bg-subtle);
      font-weight:700;
      color:var(--text-main);
    }
.katex { font-size:1.08em; }
.katex-display { margin:0.8em 0; overflow-x:auto; overflow-y:hidden; }
.katex-error {
      color:inherit !important;
      background:rgba(245, 158, 11, 0.08);
      padding:1px 4px;
      border-radius:3px;
      font-family:inherit !important;
    }
.alt-fb,
.alt-fb-text {
      user-select:text;
    }
.q-interactive-bar {
      margin:14px 0 10px;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
.q-confirm-txt {
      font-size:13.5px;
      color:var(--brand-text);
      font-weight:600;
    }
.q-feedback-row {
      display:flex;
      flex-direction:column;
      gap:10px;
      animation:fadeIn 0.2s ease;
    }
.q-feedback-banner {
      padding:12px 16px;
      border-radius:var(--radius-md);
      font-size:14px;
      line-height:1.4;
      display:flex;
      align-items:center;
      gap:10px;
    }
.q-feedback-banner.success {
      background:var(--ok-bg);
      border:1.5px solid var(--ok);
      color:var(--ok-text);
    }
.q-feedback-banner.wrong {
      background:var(--bad-bg);
      border:1.5px solid var(--bad);
      color:var(--bad-text);
    }
.q-answer-status {
      margin-top:8px;
      font-size:12.5px;
      font-weight:600;
    }
.q-answer-status.ok { color:var(--ok-text); }
.q-answer-status.bad { color:var(--bad-text); }
.q-answer-status[hidden] { display:none; }
.q-feedback-actions {
      display:flex;
      gap:10px;
      align-items:center;
      flex-wrap:wrap;
    }
.ans-priority-section {
      margin-bottom:16px;
      display:flex;
      flex-direction:column;
      gap:8px;
    }
.ans-priority-card {
      padding:12px 14px;
      border-radius:var(--radius-sm);
      font-size:13.5px;
      line-height:1.5;
    }
.ans-priority-card.correct {
      background:var(--ok-bg);
      border-left:4px solid var(--ok);
      color:var(--ok-text);
    }
.ans-priority-card.wrong {
      background:var(--bad-bg);
      border-left:4px solid var(--bad);
      color:var(--bad-text);
    }
.hist-attempt-item {
      display:flex;
      justify-content:space-between;
      align-items:center;
      padding:10px 14px;
      border-bottom:1px solid var(--border);
      font-size:13px;
    }
.hist-attempt-item:last-child {
      border-bottom:none;
    }
.hist-pill {
      font-size:11.5px;
      font-weight:700;
      padding:2px 8px;
      border-radius:var(--radius-pill);
    }
.hist-pill.ok {
      background:var(--ok-bg);
      color:var(--ok-text);
    }
.hist-pill.no {
      background:var(--bad-bg);
      color:var(--bad-text);
    }
.explanation-chevron { flex:none; }
.q-answer {
      display:none;
      margin-top:10px;
      border-top:0;
      padding-top:0;
    }
.q-card.open .q-answer { display:block; }
.clean-feedback-header {
      border-radius:0;
      padding:0;
      margin-bottom:16px;
      display:flex;
      flex-direction:column;
      gap:3px;
    }
.clean-feedback-header.ok {
      background:transparent;
      border:0;
    }
.clean-feedback-header.bad {
      background:var(--bad-bg);
      border:1px solid var(--bad-border);
      border-left:4px solid var(--bad);
    }
.clean-feedback-header.info {
      background:transparent;
      border:0;
    }
.clean-feedback-header .fb-headline {
      font-size:15px;
      font-weight:800;
    }
.clean-feedback-header.ok .fb-headline { color:var(--ok-text); }
.clean-feedback-header.bad .fb-headline { color:var(--bad-text); }
.clean-feedback-header.info .fb-headline { color:var(--text-main); }
.clean-feedback-header .fb-sub {
      font-size:13px;
      color:var(--text-secondary);
    }
.exp-panel-inner {
      display:flex;
      flex-direction:column;
      gap:10px;
    }
.exp-official-answer { display:block; width:100%; max-width:100%; padding:0; border:0; border-radius:0; background:transparent; color:var(--text-secondary); font-size:13px; }
.exp-official-result { color:var(--ok-text); font-weight:700; }
.exp-key-source { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; color:var(--text-muted); font-size:12px; }
.exp-key-links { display:flex; flex-wrap:wrap; align-items:center; gap:4px 14px; }
.exp-key-links a { display:inline-flex; align-items:center; min-height:44px; }
.exp-key-source a { color:var(--info-text); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.exp-key-unverified { color:var(--text-muted); font-size:12px; }
.exp-ai-content { display:flex; flex-direction:column; gap:8px; }
.exp-header {
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:8px 12px;
      justify-content:flex-end;
      padding:0;
      border:0;
    }
.exp-title-group {
      display:flex;
      align-items:center;
      gap:8px;
    }
.exp-icon {
      font-size:16px;
      line-height:1;
    }
.exp-heading {
      font-size:15px;
      font-weight:800;
      color:var(--text-main);
      margin:0;
      letter-spacing:-0.01em;
    }
.exp-attribution .ai-explanation-label {
      font-size:11px;
      font-weight:600;
      color:var(--text-muted);
      background:var(--bg-muted);
      border:1px solid var(--border);
      border-radius:var(--radius-full);
      padding:2.5px 9px;
      display:inline-flex;
      align-items:center;
    }
.exp-attribution .ai-explanation-label[tabindex="0"]:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.exp-content {
      display:flex;
      flex-direction:column;
      gap:12px;
    }
.exp-card {
      border-radius:var(--radius-sm);
      padding:12px 14px;
      background:var(--bg-muted);
      border:1px solid var(--border);
      display:flex;
      flex-direction:column;
      gap:6px;
    }
.exp-card-ok { border-left:3.5px solid var(--border); }
.image-ai-panel.exp-card-ok { background:var(--brand-bg); border-left-color:var(--brand); }
.exp-card-info {
      border-left:3.5px solid var(--brand);
    }
.exp-card-header {
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:6px 10px;
    }
.exp-card-badge {
      font-size:11px;
      font-weight:700;
      padding:1.5px 7px;
      border-radius:var(--radius-sm);
      line-height:1.3;
    }
.exp-card-badge.ok {
      background:var(--ok-bg);
      color:var(--ok-text);
      border:1px solid var(--ok-border);
    }
.exp-card-title {
      font-size:13.5px;
      font-weight:700;
      color:var(--text-main);
    }
.exp-card-text {
      font-size:13.5px;
      line-height:1.6;
      color:var(--text-secondary);
      margin:0;
      overflow-wrap:anywhere;
    }
details summary {
      list-style:none;
    }
details summary::-webkit-details-marker {
      display:none;
    }
.ans-priority-card.correct .priority-card-title { color:var(--ok-text); }
.ans-priority-card.wrong .priority-card-title { color:var(--bad-text); }
.q-ai-disclaimer {
      font-size:11.5px;
      color:var(--text-muted);
      line-height:1.5;
      margin-top:14px;
    }
.q-ai-disclaimer[hidden] { display:none !important; }
.ans-loading-state {
      display:flex;
      align-items:center;
      gap:12px;
      padding:14px 16px;
      background:var(--bg-canvas);
      border:1px dashed var(--border);
      border-radius:var(--radius-md);
      color:var(--text-secondary);
      font-size:13.5px;
      font-weight:500;
    }
.spinner-small {
      width:18px;
      height:18px;
      border:2.5px solid rgba(245, 158, 11, 0.25);
      border-top-color:var(--brand);
      border-radius:50%;
      animation:spin 0.7s linear infinite;
      flex-shrink:0;
    }
@keyframes spin {
      to { transform:rotate(360deg); }
    }
.ans-steps li { margin-bottom:8px; }
.ans-concept-card {
      background:var(--brand-bg);
      border:1px solid var(--brand-border);
      border-radius:var(--radius-md);
      padding:10px 14px;
      font-size:13.5px;
      color:var(--brand-text);
      margin-bottom:14px;
    }
.ai-explanation-label { font-size:12px; color:var(--text-secondary); border-bottom:1px dotted var(--text-muted); cursor:help; }
.q-feedback-attribution { margin:12px 0 8px; }
.q-ad-slot { min-height:160px; margin:20px 0; padding:12px; border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; }
.q-ad-slot[hidden] { display:none; }
.q-ad-slot > small { display:block; color:var(--text-muted); font-size:11px; margin-bottom:8px; }
.recommended-track { overflow-anchor:none; }
#view-questoes #lista { overflow-anchor:none; }
.recommended-track .q-card[hidden] { display:none; }
.recommended-track .q-card { scroll-margin-top:180px; }
.recommended-horizontal { overflow:hidden; touch-action:pan-y pinch-zoom; min-height:min(760px, calc(100svh - 130px)); }
.recommended-horizontal .recommended-track { position:relative; margin-inline:34px; min-height:min(760px, calc(100svh - 130px)); will-change:transform; }
.recommended-horizontal .q-card { width:calc(100% - 40px); box-sizing:border-box; min-height:min(760px, calc(100svh - 130px)); }
.recommended-horizontal .recommended-previous,
.recommended-horizontal .recommended-next,
.recommended-horizontal .recommended-previous-previous,
.recommended-horizontal .recommended-next-next { position:absolute; top:0; pointer-events:none; }
.recommended-horizontal .recommended-previous { right:calc(100% + 12px); }
.recommended-horizontal .recommended-next { left:calc(100% - 28px); }
.recommended-horizontal .recommended-previous-previous { right:calc(200% - 16px); }
.recommended-horizontal .recommended-next-next { left:calc(200% - 56px); }
.recommended-viewport.recommended-horizontal:focus-visible { outline:2px solid #facc15 !important; outline-offset:2px; }
.recommended-viewport.recommended-horizontal.is-arrow-navigating:focus-visible { outline:none !important; }
.recommended-horizontal .recommended-viewport.is-pointer-swiping,
.recommended-horizontal .recommended-viewport.is-pointer-swiping * { user-select:none; -webkit-user-select:none; cursor:grabbing; }
@media (pointer:coarse) {
  .recommended-horizontal .recommended-viewport:focus:not(:focus-visible) { outline:none; }
}
@media (max-width:900px) {
  body.question-mode-recommended .btn-back-to-top { display:none !important; }
}
@media(max-width:420px) {
.recommended-horizontal .recommended-track { margin-inline:34px 0; }
}
.question-mode-recommended #toolbar-integrated { display:none; }
#feed-route-intro { display:none; }
body.question-mode-recommended #feed-route-intro { display:block; }
.app-route-intro { width:calc(100% - 32px); max-width:1050px; margin:24px auto 20px; }
.app-route-intro :is(h1,h2) { margin:0 0 2px; font-size:24px; line-height:1.3; color:var(--text-main); }
.app-route-intro p { margin:0; color:var(--text-secondary); }
.recommended-preferences {
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-top:14px;
}
.recommended-preference { display:flex; align-items:center; gap:8px; color:var(--text-secondary); font-size:12.5px; font-weight:600; }
.recommended-preference select {
  min-height:36px; max-width:min(58vw,300px); padding:6px 30px 6px 10px; border:1px solid var(--border); border-radius:var(--radius-sm);
  background:var(--bg-surface); color:var(--text-main); font:inherit; font-weight:600;
}
.recommended-preference select:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
@media(max-width:600px) {
  .recommended-preferences { align-items:stretch; gap:9px; }
  .recommended-preference { flex:1 1 100%; justify-content:space-between; }
  .recommended-preference select { flex:0 1 62%; max-width:none; }
}
.recommended-matter-picker { position:relative; }
.recommended-matter-trigger {
  display:flex; align-items:center; justify-content:space-between; gap:8px; width:196px; min-height:36px; box-sizing:border-box; padding:6px 10px; border:1px solid var(--border); border-radius:var(--radius-sm);
  background:var(--bg-surface); color:var(--text-main); cursor:pointer; list-style:none;
}
.recommended-matter-trigger::-webkit-details-marker { display:none; }
.recommended-matter-count { flex:1; min-width:0; overflow:hidden; color:var(--text-secondary); font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.recommended-matter-menu {
  position:absolute; top:calc(100% + 6px); left:0; z-index:30; width:min(330px,calc(100vw - 40px)); max-height:min(360px,60vh); overflow:auto;
  padding:10px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--bg-surface); box-shadow:var(--shadow-lg);
}
.recommended-language-section { display:grid; gap:6px; padding:2px 4px 10px; color:var(--text-secondary); font-size:12px; font-weight:700; }
.recommended-language-section select { width:100%; min-height:36px; padding:6px 30px 6px 10px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-surface); color:var(--text-main); font:inherit; font-weight:600; }
.recommended-language-section select:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
.recommended-matter-menu-divider { height:1px; margin:0 4px 8px; background:var(--border); }
.recommended-matter-menu-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:2px 4px 8px; color:var(--text-secondary); font-size:12px; line-height:1.4; }
.recommended-matter-menu-head button { border:0; padding:4px 6px; background:transparent; color:var(--brand); font:inherit; font-weight:700; cursor:pointer; }
.recommended-matter-menu-actions { display:flex; align-items:center; gap:8px; }
.recommended-matter-select-all { display:inline-flex; align-items:center; gap:5px; min-height:32px; padding:2px 5px; border-radius:6px; color:var(--text-main); font-weight:700; cursor:pointer; }
.recommended-matter-select-all:hover { background:var(--bg-subtle); }
.recommended-matter-select-all input { width:16px; height:16px; accent-color:var(--brand); }
.recommended-matter-option { display:flex; align-items:center; gap:9px; min-height:36px; padding:5px 6px; border-radius:6px; color:var(--text-main); font-size:13px; cursor:pointer; }
.recommended-matter-option:hover { background:var(--bg-subtle); }
.recommended-matter-option input { width:16px; height:16px; accent-color:var(--brand); }
.recommended-matter-trigger:focus-visible, .recommended-matter-menu button:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
.recommended-controls {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      width:calc(100% - 24px);
      max-width:480px;
      margin:14px auto 20px;
      padding:8px 14px;
      background:var(--bg-surface);
      border:1px solid var(--border);
      border-radius:var(--radius-pill);
      box-shadow:var(--shadow-md);
      position:fixed;
      left:50%;
      bottom:calc(10px + env(safe-area-inset-bottom, 0px));
      transform:translateX(-50%);
      z-index:20;
      box-sizing:border-box;
    }
.btn-rec-control {
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:8px 16px;
      border-radius:var(--radius-pill);
      font-size:13px;
      font-weight:600;
      border:1px solid var(--border);
      background:var(--bg-surface);
      color:var(--text-main);
      cursor:pointer;
      transition:all 0.15s ease;
      user-select:none;
    }
.btn-rec-control:hover:not(:disabled) {
      border-color:var(--border-hover);
      background:var(--bg-subtle);
    }
.btn-rec-control.btn-rec-next {
      background:var(--brand);
      border-color:var(--brand);
      color:var(--text-on-dark);
      font-weight:700;
    }
.btn-rec-control.btn-rec-next:hover:not(:disabled) {
      background:var(--brand-dark);
      border-color:var(--brand-dark);
    }
.btn-rec-control:disabled {
      opacity:0.35;
      cursor:not-allowed;
    }
.rec-control-status {
      flex:1 1 auto;
      min-width:0;
      font-size:13px;
      font-weight:600;
      color:var(--text-secondary);
      line-height:1.25;
      text-align:center;
    }
@media(max-width:480px) {
.recommended-controls {
        padding:6px 10px;
        bottom:calc(10px + env(safe-area-inset-bottom, 0px));
      }
.btn-rec-control {
        padding:7px 12px;
        font-size:12px;
      }
.rec-control-status {
        font-size:12px;
      }
}
.q-small-filter-icon { flex:none; opacity:.7; }
.q-tax-crumb,
.q-topics-cluster { gap:3px 8px; }
.q-topics-cluster { min-width:0; }
.q-crumb-separator { display:none; }
.image-description .ai-explanation-label { font:inherit; color:inherit; }
.exp-card { line-height:1.65; }

/* Questão: uma coluna comum para contexto, leitura e revisão.
   Escala local de 4/8/12/16/24/32px; superfícies e cores vêm do tema. */
.q-card {
  --q-space-1:4px;
  --q-space-2:8px;
  --q-space-3:12px;
  --q-space-4:16px;
  --q-space-6:24px;
  --q-space-8:32px;
  --q-measure:52rem;
  container-type:inline-size;
  scroll-margin-top:100px;
  padding:var(--q-space-8);
  margin-bottom:var(--q-space-8);
  border:1px solid var(--border-hover);
  border-radius:var(--radius-lg);
  background:var(--bg-surface);
  box-shadow:var(--shadow-sm);
  position:relative;
  min-width:0;
}
.q-report-footer { display:flex; justify-content:flex-end; width:100%; max-width:var(--q-measure); box-sizing:border-box; margin:12px auto 0; padding-top:10px; border-top:1px solid var(--border); }
.q-report-action,.essay-report-action { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:40px; padding:8px 10px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-surface); color:var(--text-secondary); font-family:inherit; font-size:12px; font-weight:600; line-height:1.4; cursor:pointer; }
.q-report-action:hover,.essay-report-action:hover { border-color:var(--border-hover); background:var(--bg-subtle); color:var(--text-main); }
.q-report-action:focus-visible,.essay-report-action:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.q-report-action svg,.essay-report-action svg { flex:none; }
.q-card:hover { border-color:var(--border-hover); }
.question-related-recommendations { width:min(100%,58rem); margin:0 auto 32px; padding:24px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--bg-surface); box-sizing:border-box; }
.question-related-recommendations h2 { margin:0 0 6px; font-size:20px; }
.question-related-recommendations > p { margin:0 0 18px; color:var(--text-secondary); font-size:14px; line-height:1.55; }
.question-related-recommendations > ul { columns:2; column-gap:10px; margin:0; padding:0; list-style:none; }
.question-related-recommendations > ul > li { display:inline-block; width:100%; min-width:0; margin:0 0 10px; vertical-align:top; break-inside:avoid; }
.related-question-card { display:flex; flex-direction:column; align-items:stretch; gap:8px; width:100%; min-width:0; padding:16px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--bg-subtle); color:var(--text-main); box-sizing:border-box; transition:border-color .15s ease,background .15s ease,transform .15s ease; }
.related-question-card:hover { border-color:var(--brand-border); background:var(--brand-bg); transform:translateY(-1px); }
.related-question-card:focus-visible { outline:3px solid var(--focus-ring,var(--brand)); outline-offset:2px; }
.related-question-mainlink { display:grid; gap:8px; min-width:0; color:inherit; text-decoration:none; }
.related-question-mainlink:hover { color:inherit; }
.related-question-mainlink:focus-visible { outline:3px solid var(--focus-ring,var(--brand)); outline-offset:3px; border-radius:var(--radius-sm); }
.related-question-mainlink > .related-question-subject { margin:0; }
.related-question-meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px; color:var(--text-secondary); font-size:11px; font-weight:600; line-height:1.4; }
.related-question-difficulty { padding:1px 6px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-surface); }
.related-question-subject { color:var(--text-secondary); font-size:11px; font-weight:600; line-height:1.4; }
.related-question-title { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:4; color:var(--text-main); font-size:16px; font-weight:750; line-height:1.5; overflow-wrap:anywhere; }
.related-question-excerpt { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; color:var(--text-secondary); font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.related-question-prompt { color:var(--text-main); font-size:16px; font-weight:750; line-height:1.5; overflow-wrap:anywhere; }
.related-question-prompt > :first-child { margin-top:0; }
.related-question-prompt > :last-child { margin-bottom:0; }
.related-question-support { color:var(--text-secondary); font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.related-question-support > :first-child { margin-top:0; }
.related-question-support > :last-child { margin-bottom:0; }
.related-question-figure img { display:block; width:100%; max-height:190px; object-fit:contain; border-radius:var(--radius-sm); background:var(--bg-surface); }
.related-question-link { display:flex; justify-content:space-between; align-items:center; gap:8px; padding-top:4px; color:var(--brand-text); font-size:13px; font-weight:800; text-decoration:none; }
.related-question-link:hover { text-decoration:underline; text-underline-offset:3px; }
.related-question-cta { display:flex; justify-content:space-between; gap:8px; padding-top:4px; color:var(--brand-text); font-size:13px; font-weight:800; text-decoration:none; }
.related-question-cta:hover { text-decoration:underline; text-underline-offset:3px; }
.related-question-link:focus-visible,.related-question-cta:focus-visible { outline:3px solid var(--focus-ring,var(--brand)); outline-offset:3px; border-radius:var(--radius-sm); }
.related-question-booklets { color:var(--text-secondary); font-size:12px; line-height:1.45; }
.related-question-booklets summary { width:fit-content; color:var(--brand-text); font-weight:650; cursor:pointer; }
.related-question-booklets summary::after { content:"⌄"; display:inline-block; margin-left:4px; color:var(--text-secondary); font-size:14px; line-height:1; transition:transform .15s ease; }
.related-question-booklets[open] summary::after { transform:rotate(180deg); }
.related-question-booklets summary:focus-visible { outline:2px solid var(--focus-ring,var(--brand)); outline-offset:3px; border-radius:2px; }
.related-question-booklets ul { display:grid; gap:3px; margin:2px 0 0; padding:0 0 0 16px; list-style:disc; }
.related-question-booklets li { display:list-item; min-width:0; }
.related-question-booklets-empty { margin:0; color:var(--text-secondary); font-size:11px; }
.related-topic-links { display:grid; gap:8px; margin-top:20px; padding-top:16px; border-top:1px solid var(--border); }
.related-topic-link { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:48px; padding:10px 0; color:var(--brand-text); font-size:14px; line-height:1.65; text-decoration:none; overflow-wrap:anywhere; }
.related-topic-link strong { font-weight:750; }
.related-topic-link:hover { text-decoration:underline; text-underline-offset:3px; }
.related-topic-link:focus-visible { outline:3px solid var(--focus-ring,var(--brand)); outline-offset:4px; border-radius:var(--radius-sm); }
.related-topic-link > svg { flex:none; }
.question-related-ad { margin:0 auto 24px; }
@media (max-width:640px) {
  .question-related-recommendations { padding:16px; }
  .question-related-recommendations > ul { columns:1; }
  .related-question-card { padding:14px; }
  .related-question-title { font-size:16px; }
}

.q-landmark-header,.q-reading-pane { width:100%; max-width:var(--q-measure); margin-inline:auto; min-width:0; }
.q-landmark-header { display:grid; grid-template-columns:minmax(0,1fr); row-gap:var(--q-space-2); margin-bottom:var(--q-space-4); padding-bottom:var(--q-space-3); border-bottom:1px solid var(--border); }
.q-head-row { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:var(--q-space-2) var(--q-space-4); }
.q-head-id { display:flex; align-items:center; flex-wrap:wrap; gap:0 var(--q-space-4); min-width:0; }
.q-source-context { min-width:0; }
.q-subject-line { display:flex; align-items:center; flex-wrap:wrap; gap:0 6px; min-height:44px; }
.q-subject-line:has(> *)::before { content:""; width:4px; height:20px; border-radius:2px; background:var(--brand); flex:none; }
.q-source-meta { display:flex; flex-wrap:wrap; align-items:center; gap:var(--q-space-2); }
.q-head-actions,.q-actions-cluster { display:flex; align-items:center; flex-wrap:wrap; gap:var(--q-space-1); min-width:0; }
.q-context-row { display:flex; align-items:center; flex-wrap:wrap; gap:8px 20px; min-width:0; }
.q-meta-cluster { display:flex; align-items:center; flex-wrap:wrap; gap:6px 8px; margin:0; min-width:0; }
.q-meta-cluster:empty,.q-history-slot:empty { display:none; }
.q-context-crumb,.q-tax-link { display:inline-flex; align-items:center; gap:var(--q-space-1); min-height:36px; max-width:100%; color:var(--text-secondary); font-size:12px; line-height:1.5; text-decoration:none; background:transparent; border:0; padding:2px 0; overflow-wrap:anywhere; }
.q-tax-link.q-disc-name { color:var(--text-main); font-size:17px; font-weight:750; min-height:28px; text-decoration:none; }
.q-context-crumb { font-weight:500; }
.q-page-link.btn-card-action { min-height:44px; color:var(--text-secondary); font-size:12px; font-weight:600; text-decoration:none; }
.q-page-link.btn-card-action:hover { color:var(--text-main); text-decoration:none; }
.q-page-link.btn-card-action:focus-visible { outline:2px solid var(--focus-ring,var(--brand)); outline-offset:2px; }
.direct-q-mode .q-page-link,body[data-question-id] .q-page-link { display:none !important; }
.btn-card-action { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; padding:7px 8px; border:0; border-radius:var(--radius-sm); background:transparent; color:var(--text-secondary); font-family:inherit;font-weight:600;font-size:12px;line-height:1.4; cursor:pointer; }
.btn-card-action:hover { background:var(--bg-subtle); color:var(--text-main); }
.btn-card-action.fav.active { background:var(--brand-bg); color:var(--brand-text); }
.btn-card-action.copied { color:var(--ok-text); }
.q-head-actions .action-txt { display:inline; }
.btn-card-action svg { flex:none; }
.q-card-more { position:relative; display:inline-flex; align-items:center; }
.q-card-more > summary { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; padding:7px 8px; border:0; border-radius:var(--radius-sm); background:transparent; color:var(--text-secondary); font-size:12px; font-weight:600; line-height:1.4; list-style:none; cursor:pointer; }
.q-card-more > summary::-webkit-details-marker { display:none; }
.q-card-more > summary:hover,.q-card-more[open] > summary { background:var(--bg-subtle); color:var(--text-main); }
.q-card-more > summary:focus-visible { outline:2px solid var(--focus-ring,var(--brand)); outline-offset:2px; }
.q-card-more-menu { position:absolute; z-index:90; inset-block-start:calc(100% + 6px); inset-inline-end:0; display:grid; gap:6px; width:min(260px,calc(100vw - 40px)); box-sizing:border-box; padding:8px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--bg-surface); box-shadow:var(--shadow-hover); }
.q-card-more:not([open]) .q-card-more-menu { display:none; }
.q-card-more-menu .btn-card-action { width:100%; justify-content:flex-start; min-height:38px; }
.q-card-more-menu .q-booklet-versions { display:block; width:100%; }
.q-card-more-menu .q-booklet-versions > summary { width:100%; box-sizing:border-box; min-height:38px; padding:6px 8px; border:0; border-radius:var(--radius-sm); background:transparent; }
.q-card-more-menu .q-booklet-version-list { width:min(350px,calc(100vw - 40px)); right:0; }
.q-card-more-menu .q-booklet-version-list .q-booklet-version-link { min-height:40px; }
.q-context-crumb:hover,.q-tax-link:hover { color:var(--text-main); }
.q-context-crumb:hover,.q-tax-link:hover { text-decoration:underline; text-underline-offset:3px; }
.q-booklet-versions > summary,.q-classification-details > summary { display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:0 8px; border:0; border-radius:var(--radius-sm); background:transparent; color:var(--text-secondary); font-size:12px; font-weight:600; line-height:1.5; cursor:pointer; list-style:none; }
.q-booklet-versions > summary { white-space:normal; }
.q-classification-details > summary:hover,.q-classification-details[open] > summary { background:var(--bg-subtle); color:var(--text-main); }
.q-classification-details > summary:focus-visible,.q-booklet-versions > summary:focus-visible { outline:2px solid var(--focus-ring,var(--brand)); outline-offset:2px; }
.q-booklet-versions > summary::after { content:"⌄"; }
.q-classification-details { min-width:0; max-width:100%; }
.q-classification-details { position:relative; }
.q-classification-details > summary svg { flex:none; }
.q-classification-details[open] > summary svg { transform:rotate(180deg); }
.q-classification-content { position:absolute; z-index:85; inset-block-start:calc(100% + 3px); inset-inline-start:0; display:grid; gap:var(--q-space-3); width:min(32rem,calc(100vw - 48px)); max-height:min(60vh,28rem); overflow:auto; box-sizing:border-box; padding:var(--q-space-4); margin:0; background:var(--bg-subtle); border:1px solid var(--border); border-radius:var(--radius-sm); box-shadow:var(--shadow-md); min-width:0; }
.q-classification-topics,.q-classification-skill { display:flex; align-items:center; flex-wrap:wrap; gap:var(--q-space-1) var(--q-space-3); }
.q-classification-label { flex-basis:100%; font-size:12px; font-weight:700; color:var(--text-main); }
.q-hb-unavailable { color:var(--text-muted); font-size:12px; }
.q-classification-skill .q-hb-pill { width:fit-content; max-width:100%; flex:0 1 auto; align-items:baseline; }
.q-classification-skill .q-hb-desc-short { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.q-classification-skill .q-hb-desc-short .q-small-filter-icon { margin-left:4px; vertical-align:baseline; }
.q-history-slot { min-width:0; margin-left:auto; padding-left:16px; border-left:1px solid var(--border); }
.q-history-notice { display:flex; align-items:center; flex-wrap:wrap; gap:2px 8px; width:fit-content; max-width:100%; padding:3px 8px; margin:0; border-radius:var(--radius-sm); background:var(--bg-subtle); font-size:12px; line-height:1.5; color:var(--text-secondary); }
.q-history-answered { font-weight:600; }
.q-history-check { display:none; }
.q-history-last { font-weight:600; }
.q-history-last.is-correct { color:var(--ok-text); }
.q-history-last.is-error { color:var(--bad-text); }
.btn-history-link { background:none; border:0; padding:4px 7px; min-height:36px; border-radius:var(--radius-sm); font-family:inherit;font-weight:600;font-size:12px;line-height:1.5; color:var(--text-secondary); text-decoration:none; cursor:pointer; }
.btn-history-link:hover { background:var(--bg-subtle); color:var(--text-main); }
.q-study-content { min-width:0; }
.q-support { font-size:17px; line-height:1.8; color:var(--text-main); overflow-wrap:anywhere; }
.q-support p { margin:0 0 1em; }
.q-support p:last-child { margin-bottom:0; }
.q-source { margin:var(--q-space-3) 0 var(--q-space-6); font-size:12px; line-height:1.6; color:var(--text-muted); font-style:italic; overflow-wrap:anywhere; }
.q-source-label { font-weight:650; font-style:normal; }
.q-enun { margin:var(--q-space-6) 0 var(--q-space-4); padding:0; border:0; background:transparent; font-size:18px; font-weight:700; line-height:1.65; color:var(--text-main); overflow-wrap:anywhere; }
.q-enun p { margin:0 0 .8em; }
.q-enun p:last-child { margin-bottom:0; }
.alts { display:grid; gap:var(--q-space-3); list-style:none; margin:var(--q-space-4) 0 0; padding:0; min-width:0; }
.alt { display:flex; align-items:flex-start; gap:var(--q-space-3); margin:0; padding:var(--q-space-4); border:1px solid var(--border); border-radius:var(--radius-md); background:var(--bg-surface); color:var(--text-main); line-height:1.65; min-width:0; cursor:pointer; box-shadow:none; -webkit-tap-highlight-color:transparent; }
.alt:hover { border-color:var(--text-muted); background:var(--bg-subtle); transform:none; }
.alt-letter { font-family:inherit; display:inline-flex; justify-content:center; align-items:center; flex:0 0 40px; width:40px; height:40px; min-width:40px; padding:0; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-surface); color:var(--text-main); font-size:14px; font-weight:750; line-height:1; -webkit-tap-highlight-color:transparent; }
.alt-letter:active { background:var(--brand-subtle); border-color:var(--brand-active); color:var(--brand-text); }
.alt-body { flex:1; min-width:0; padding-top:6px; font-size:15px; overflow-wrap:anywhere; }
.alt-body p { margin:0 0 .5em; }
.alt-body p:last-child { margin-bottom:0; }
.alt.picked { border-color:var(--brand-border); background:var(--brand-bg); }
.alt.picked .alt-letter { background:var(--brand); color:var(--button-text); border-color:var(--brand-border); }
.alt.correct { border-color:var(--ok); background:var(--bg-surface); }
.alt.wrong { border-color:var(--bad); background:var(--bg-surface); }
.alt.correct .alt-letter { background:var(--ok-bg); color:var(--ok-text); border-color:var(--ok); }
.alt.wrong .alt-letter { background:var(--bad-bg); color:var(--bad-text); border-color:var(--bad); }
.alts.locked .alt { cursor:default; }
.alts.locked .alt:hover { background:var(--bg-surface); }
.alt-status-pill { display:block; width:fit-content; padding:2px 0 0; margin-top:var(--q-space-1); border:0; background:transparent; font-size:12px; font-weight:650; line-height:1.5; }
.alt-status-pill.ok { color:var(--ok-text); }
.alt-status-pill.bad { color:var(--bad-text); }
.q-confirm-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--q-space-3); padding:var(--q-space-3) 0; margin-top:var(--q-space-2); background:transparent; border:0; box-shadow:none; animation:none; }
.btn-submit-ans { min-height:44px; padding:10px 24px; border:1px solid var(--brand-border); border-radius:var(--radius-sm); background:var(--brand); color:var(--button-text); font-family:inherit;font-weight:700;font-size:14px;line-height:1.4; cursor:pointer; box-shadow:none; }
.btn-submit-ans:hover { background:var(--brand-hover); transform:none; box-shadow:none; }
/* A mesma região fecha a resolução: pedagogia, procedência e próximos passos. */
.q-learning:has(> .q-foot:not([hidden]), > .q-explanation-panel:not([hidden]), > .q-followup-row > :not([hidden])) { margin-top:var(--q-space-4); padding:var(--q-space-4) 0 0; border-top:1px solid var(--border); border-radius:0; background:transparent; }
.q-foot { display:inline-flex; vertical-align:middle; margin:0; padding:0; border:0; }
.btn-resolve { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:6px 0; border:0; background:transparent; color:var(--text-secondary); font-family:inherit; font-size:13px; font-weight:600; line-height:1.5; text-align:left; cursor:pointer; }
.btn-resolve[aria-expanded="true"] .explanation-chevron { transform:rotate(180deg); }
.q-foot .btn-resolve { min-height:34px; padding:2px 0; font-size:12.5px; }
button.btn-resolve[data-act="toggle"] { display:inline-flex; align-items:center; flex-wrap:wrap; gap:8px; width:fit-content; max-width:100%; color:var(--text-main); }
.q-explanation-toggle-copy { display:inline-flex; align-items:baseline; flex-wrap:wrap; gap:0 6px; min-width:0; }
.q-explanation-toggle-title { color:var(--text-main); font-size:inherit; font-weight:700; line-height:1.5; }
button.btn-resolve[data-act="toggle"] > svg { flex:none; }
.q-explanation-panel { margin:0 0 8px 10px; padding:12px 14px; border:1px solid var(--border); border-left:3.5px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-muted); box-shadow:none; min-width:0; overflow-wrap:anywhere; }
.q-explanation-panel .exp-card-ok { padding:0; border:0; background:transparent; box-shadow:none; }
.q-explanation-panel .q-answer-confirmation { display:flex; align-items:center; flex-wrap:wrap; gap:4px 8px; align-self:flex-start; margin:0 0 2px; }
.q-explanation-panel .q-explanation-answer-badge { margin:0; }
.q-answer-confirmation .q-official-answer { margin:0; }
.q-exp-ai-attribution { margin:0; color:var(--text-muted); font-size:11px; line-height:1.4; }
.q-exp-ai-attribution .ai-explanation-label { font-size:11px; }
.q-explanation-panel .exp-card-text { color:var(--text-main); font-size:15px; line-height:1.75; }
.q-explanation-panel .exp-content { gap:var(--q-space-4); }
.q-followup-row { display:flex; align-items:center; flex-wrap:wrap; gap:0 16px; margin-top:2px; }
.q-official-answer:not([hidden]) { display:block; flex:0 1 auto; width:auto; max-width:100%; margin:0; }
.q-official-sources { position:relative; border:0; }
.q-official-sources:not([open]) .q-official-source-links { display:none; }
.q-official-source-links { position:absolute; z-index:30; top:calc(100% + 4px); left:0; width:max-content; min-width:min(280px, calc(100vw - 36px)); max-width:min(460px, calc(100vw - 36px)); max-height:min(240px, 55vh); box-sizing:border-box; overflow:auto; padding:6px 10px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--bg-surface); box-shadow:var(--shadow-hover); }
.q-official-sources > summary { display:flex; align-items:center; flex-wrap:wrap; gap:4px 8px; min-height:34px; color:var(--text-secondary); font-size:12px; cursor:pointer; }
.q-official-sources-title { font-weight:650; text-decoration:none; }
.q-source-verified { color:var(--text-muted); }
.q-official-sources > summary svg { flex:none; }
.q-official-sources[open] > summary svg { transform:rotate(180deg); }
.q-official-source-links .exp-key-links { gap:0 var(--q-space-4); }
.q-official-source-links a { color:var(--info-text); min-height:44px; font-size:12px; overflow-wrap:anywhere; }
.q-post-actions { display:flex; align-items:center; flex-wrap:wrap; gap:0 12px; margin:0; padding:0; border:0; }
.btn-post-act,.btn-redo-ans,.q-review-errors-cta { display:inline-flex; align-items:center; min-height:34px; margin:0; padding:2px 0; border:0; border-radius:var(--radius-sm); background:transparent; color:var(--text-secondary); font-family:inherit; font-size:12px; font-weight:600; line-height:1.5; cursor:pointer; }
.q-review-errors-cta { text-decoration:underline; text-underline-offset:3px; }
.btn-post-act:hover,.btn-redo-ans:hover,.q-review-errors-cta:hover { color:var(--text-main); background:transparent; }
.q-foot[hidden],.q-post-actions[hidden],.btn-post-act[hidden],.btn-redo-ans[hidden],.q-review-errors-cta[hidden],.btn-card-action[hidden],.q-explanation-panel[hidden] { display:none!important; }
.q-card :is(button,a,summary):focus-visible { outline:3px solid var(--focus); outline-offset:3px; scroll-margin-block:110px 90px; }
@container (max-width:720px) {
 .q-head-row { align-items:flex-start; }
 .q-head-actions { flex:0 1 auto; flex-basis:auto; width:auto; }
 .q-head-actions .q-actions-cluster { width:auto; margin-left:0; }
 .q-head-actions .q-actions-cluster .btn-card-action { flex:0 0 auto; padding:8px 10px; font-size:12px; }
 .q-context-row { align-items:flex-start; gap:8px 16px; }
 .q-history-slot { margin-left:0; padding-left:0; border-left:0; }
 .q-card-more-menu { max-width:calc(100vw - 36px); }
 .q-card-more-menu .q-booklet-versions[open] .q-booklet-version-list { position:absolute; left:auto; right:0; width:min(350px,calc(100vw - 36px)); max-width:calc(100vw - 36px); margin-top:6px; }
 .q-meta-cluster { gap:4px 16px; }
}
@container (max-width:420px) {
 .q-head-id { align-items:center; justify-content:flex-start; gap:0 var(--q-space-2); width:100%; }
 .q-context-row { display:block; }
 .q-meta-cluster { gap:4px 12px; }
 .q-foot .btn-resolve,.q-official-sources > summary,.btn-redo-ans,.q-review-errors-cta { min-height:36px; }
 .q-history-slot { margin-top:4px; padding-left:0; border-left:0; }
 .q-support { font-size:16px; line-height:1.75; }
 .q-enun { font-size:17px; }
 .q-learning:has(> .q-foot:not([hidden]), > .q-explanation-panel:not([hidden]), > .q-followup-row > :not([hidden])) { padding:var(--q-space-4) 0 0; }
 .q-official-source-links .exp-key-links { flex-direction:column;align-items:flex-start; }
 .alt { padding:var(--q-space-3);gap:var(--q-space-3); }
}
@media (max-width:640px) {
 #view-questoes > #lista { margin-inline:-12px; }
 .q-card { padding:14px 14px; margin-bottom:20px; border-radius:var(--radius-md); }
 .q-landmark-header { row-gap:4px; margin-bottom:12px; padding-bottom:10px; }
 .q-head-row { gap:4px 10px; }
 .q-head-id { width:100%; }
 .q-head-actions { width:100%; justify-content:flex-end; }
 .q-head-actions .q-actions-cluster { width:100%; justify-content:flex-end; margin-inline-start:auto; }
 .q-context-row { padding-top:8px; border-top:1px solid var(--border); }
 .q-subject-line { min-height:32px; }
 .q-context-crumb { min-height:30px; }
 .q-head-actions .q-actions-cluster .btn-card-action { min-height:38px; padding:6px 8px; }
 .q-dif-pill,.q-classification-details > summary,.q-card-more > summary { min-height:38px; }
 .q-meta-cluster { gap:2px 10px; }
 .alt-letter { flex-basis:44px; width:44px; height:44px; min-width:44px; }
 .q-support table,.q-enun table { width:100%;table-layout:auto; }
 .q-support td,.q-support th,.q-enun td,.q-enun th { padding:6px;overflow-wrap:normal; }
}
/* The card width controls wrapping; exam labels stay fully readable. */
.q-question-header {
 display:grid;
 grid-template-columns:minmax(0,1fr) repeat(3,44px);
 grid-template-areas:"subject favorite notebook more" "source source source source" "secondary secondary secondary secondary";
 align-items:start;
 gap:0 2px;
 margin-bottom:16px;
 padding-bottom:10px;
}
.q-question-header .q-subject-line { grid-area:subject; display:flex; align-items:center; min-width:0; min-height:44px; max-width:100%; }
.q-question-header .q-subject-line::before { content:none; }
.q-question-header .q-disc-name { display:block; min-width:0; min-height:0; padding:5px 8px; border-radius:var(--radius-sm); background:var(--brand-bg); color:var(--brand-text); font-size:15px; font-weight:700; white-space:normal; overflow-wrap:anywhere; }
.q-question-header .q-source-context { grid-area:source; min-width:0; max-width:100%; }
.q-question-header .q-context-crumb { display:block; min-height:0; padding:3px 0; font-size:13px; line-height:1.6; white-space:normal; overflow:visible; overflow-wrap:anywhere; text-wrap:pretty; }
.q-question-header .q-exam-prefix,.q-question-header .q-exam-detail { display:inline; }
.q-question-header .q-secondary-meta { grid-area:secondary; display:flex; align-items:center; gap:6px; min-width:0; margin-top:6px; }
.q-question-header .q-classification-details { position:relative; flex:none; min-width:0; max-width:100%; }
.q-question-header .q-classification-details > summary { min-height:44px; padding:0 4px; font-size:14px; white-space:nowrap; }
.q-question-header .q-difficulty-filter { display:inline-flex; align-items:center; justify-content:center; gap:4px; flex:none; min-height:32px; box-sizing:border-box; padding:4px 8px; border:1px solid transparent; border-radius:999px; background:var(--bg-subtle); color:var(--text-main); font-size:13px; text-decoration:none; white-space:nowrap; }
.q-question-header .q-difficulty-filter:hover { text-decoration:underline; text-underline-offset:3px; }
.q-question-header .dif-facil { background:var(--ok-bg); color:var(--ok-text); }
.q-question-header .dif-media { background:var(--info-bg); color:var(--info-text); }
.q-question-header .dif-dificil { background:var(--brand-bg); color:var(--brand-text); }
.q-question-header .dif-muitodificil { background:var(--bad-bg); color:var(--bad-text); }
.q-question-header .q-dif-label { color:inherit; font-size:.88em; font-weight:500; }
.q-question-header .q-dif-value { color:inherit; font-weight:650; }
.q-question-header > [data-act="fav"] { grid-area:favorite; }
.q-question-header > [data-act="notebook"] { grid-area:notebook; }
.q-question-header .q-card-more { grid-area:more; }
.q-question-header > .btn-card-action,.q-question-header .q-tri-action,.q-question-header .q-card-more > summary { min-width:44px; min-height:44px; padding:8px; box-sizing:border-box; }
.q-question-header > .btn-card-action > .action-txt,.q-question-header .q-card-more > summary > span { display:none; }
.q-question-header > .btn-card-action > svg,.q-question-header .q-card-more > summary > svg { width:18px; height:18px; }
.q-question-header .q-tri-action { flex:none; font-size:13px; }
.q-question-header .q-tri-icon { width:16px; height:16px; }
.q-question-header .q-card-more-menu { inset-inline-end:0; }
.q-question-header .q-classification-content { width:min(32rem,calc(100vw - 48px)); }
.q-status-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; max-width:var(--q-measure); margin:0 auto 12px; }
.q-status-row:not(:has(.badge-annul,.badge-review,.q-history-slot > *)) { display:none; }
.q-status-row .q-history-slot { margin:0; padding:0; border:0; }
@container (min-width:480px) {
 .q-question-header {
  grid-template-columns:minmax(0,max-content) minmax(0,1fr) repeat(3,44px);
  grid-template-areas:"subject source favorite notebook more" "secondary secondary secondary secondary secondary";
  column-gap:8px;
 }
 .q-question-header .q-source-context { align-self:center; }
 .q-question-header .q-context-crumb { white-space:nowrap; overflow-wrap:normal; }
}
@container (min-width:1024px) {
 .q-question-header {
  grid-template-columns:minmax(0,max-content) auto minmax(0,1fr) auto auto auto auto 44px;
  grid-template-areas:"subject topics source difficulty favorite notebook tri more";
  align-items:center;
  column-gap:8px;
  row-gap:0;
 }
 .q-question-header .q-secondary-meta { display:contents; }
 .q-question-header .q-subject-line { grid-area:subject; max-width:150px; }
 .q-question-header .q-classification-details { grid-area:topics; }
 .q-question-header .q-source-context { grid-area:source; padding-left:12px; border-left:1px solid var(--border); }
 .q-question-header .q-difficulty-filter { grid-area:difficulty; }
 .q-question-header .q-tri-action { grid-area:tri; }
 .q-question-header > .btn-card-action > .action-txt { display:inline; }
}
@media (max-width:640px) {
 .q-question-header .q-secondary-meta { gap:3px; }
 .q-question-header .q-classification-details > summary { padding-inline:0; font-size:13px; }
 .q-question-header .q-difficulty-filter { gap:3px; padding-inline:7px; font-size:12px; }
 .q-question-header .q-dif-label { font-size:11px; }
 .q-question-header .q-tri-action { gap:3px; padding-inline:4px; font-size:12px; }
 .q-question-header .q-tri-icon { width:14px; height:14px; }
}
@media (prefers-reduced-motion:reduce) { .q-card,.alt,.alt-letter,.btn-submit-ans { animation:none;transition:none; } }

@media (pointer:coarse) { .alt-letter { flex-basis:44px; width:44px; height:44px; min-width:44px; } }

.q-table-scroll { max-width:100%; overflow-x:auto; margin-block:16px; }
.q-table-scroll:focus-visible { outline:3px solid var(--focus); outline-offset:3px; scroll-margin-block:110px 90px; }
.q-table-scroll table { min-width:100%; margin-block:0; }

.direct-q-mode #ad-direct-question-top { width:min(100%,52rem); margin:0 auto 20px; }

/* Individual question title shares the card width; other views keep their own heading. */
.question-page-heading { display:none; }
.direct-q-mode .question-page-heading { display:block; width:min(100%,52rem); margin:0 auto 16px; font-size:20px; line-height:1.4; color:var(--text-main); overflow-wrap:anywhere; }

/* Blocos no fluxo do documento; nunca sobrepor, fixar ou ocultar unidades Google. */
.ad-slot { box-sizing:border-box; width:100%; min-width:0; margin:32px 0; padding:16px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--bg-card, #161b26); color:var(--text-main); }
.ad-slot > small { display:block; margin:0 0 14px; font-size:12px; line-height:1.6; color:var(--text-secondary); }
.ad-affiliate picture, .ad-affiliate img { display:block; width:100%; }
.ad-affiliate img { height:auto; border-radius:10px; aspect-ratio:970 / 180; object-fit:contain; }
.ad-copy { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; padding-top:14px; }
.ad-title { font-size:16px; font-weight:700; margin:0; }
.ad-description { font-size:13px; color:var(--text-secondary); margin:0; }
.ad-cta { display:inline-block; padding:12px 18px; border:1px solid var(--border); border-radius:8px; background:transparent; color:var(--text-main); font:inherit; text-decoration:none; cursor:pointer; }
.ad-cta { margin-left:auto; }
.ad-cta:focus-visible { outline:3px solid #facc15; outline-offset:4px; }
.ad-demo-note { font-size:12px; color:var(--text-secondary); }
.ad-slot[data-ad-provider="adsense"] { min-height:310px; padding:20px; }
.ad-google-demo { min-height:250px; display:grid !important; place-content:center; text-align:center; border:1px dashed var(--border); color:var(--text-secondary); padding:12px; box-sizing:border-box; }
.q-ad-slot:has(.ad-slot) { padding:0; min-height:0; border:0; overflow:visible; }
.q-ad-slot .ad-slot { margin:32px 0; }
.recommended-ad-item { min-height:min(820px, calc(100svh - 160px)); margin:0; scroll-margin-top:160px; }
.ad-feedVertical .ad-affiliate { max-width:520px; margin:auto; }
.ad-feedVertical .ad-affiliate img { aspect-ratio:4 / 5; max-height:58svh; }
.ad-feedVertical .ad-copy { display:block; }
.ad-feedVertical .ad-description { margin-top:8px; }
.ad-feedVertical .ad-cta { margin:16px 0 0; }
@media (max-width:600px) {
  .ad-slot { padding:12px; margin-block:28px; }
  .ad-affiliate img { aspect-ratio:640 / 300; }
  .ad-copy { align-items:flex-start; flex-direction:column; }
  .ad-cta { margin-left:0; }
  .recommended-ad-item { margin:0; }
}

body.has-stable-google .achieve-toast { position:relative; right:auto; bottom:auto; margin:24px auto; max-width:calc(100% - 32px); }
body.has-stable-google .toast.on { position:relative; left:auto; bottom:auto; transform:none; width:fit-content; margin:24px auto; }

/* O controle compartilhado do feed também aparece durante publicidade. */
.recommended-controls .btn-rec-next { color:var(--button-text); }
.recommended-controls .btn-rec-next:hover:not(:disabled) { background:#fbbf24; border-color:#fbbf24; color:var(--button-text); }

/* ================= BANNER GOOGLE / AFILIADOS / IN-FEED ================= */
.ad-search-top-banner {
  margin-block: 24px;
  width: 100%;
}
#ad-search-top > .ad-google-spot,
#ad-redacoes-top > .ad-google-spot,
#ad-conquistas-top > .ad-google-spot,
#ad-stats-top > .ad-google-spot,
.feed-intro-ad > .ad-google-spot {
  margin-block: 0;
}
#ad-redacoes-top,
#ad-conquistas-top,
#ad-stats-top {
  margin-block: 24px;
}
#view-questoes #filters-panel {
  margin-bottom: 0;
}
body.question-mode-recommended .ad-search-top-banner,
.direct-q-mode .ad-search-top-banner {
  display: none !important;
}
.ad-placement-slot {
  display: flow-root;
  width: 100%;
  box-sizing: border-box;
  margin: 16px 0;
}
.ad-placement-slot[hidden] {
  display: none !important;
}
#ad-search-top:empty,
#ad-redacoes-top:empty { display:none; }
.ad-placement-slot-bottom {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding-bottom: 0;
  width: 100%;
}
.ad-placement-slot-bottom .ad-google-spot {
  margin-top: 16px;
  margin-bottom: 0;
}
#cadernos-catalog-view {
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
  width: 100%;
}
.ad-infeed-slot {
  width: 100%;
  box-sizing: border-box;
  margin: 24px 0;
}
.feed-intro-ad { margin:24px 0 30px; }
.ad-feed-slide-item {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: min(760px, calc(100svh - 130px)) !important;
  padding: 24px 16px;
  box-sizing: border-box;
  width: 100%;
}
.ad-feed-slide-item .ad-google-spot {
  margin: auto;
  max-width: 600px;
  width: 100%;
}
.recommended-horizontal .ad-feed-slide-item.recommended-ad-item {
  min-height: min(720px, calc(100svh - 150px)) !important;
  padding: 20px 16px !important;
  justify-content: flex-start;
  align-items: stretch;
  gap: 16px;
}
.feed-ad-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
  color: var(--text-secondary);
  font-size: 12px;
}
.feed-ad-heading span:first-child { font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.recommended-horizontal .ad-feed-slide-item .ad-google-spot { margin: 0 auto; max-width: 600px; }
.recommended-horizontal .feed-ad-slots {
  display:flex;
  flex:1 0 auto;
  flex-direction:column;
  justify-content:space-around;
  gap:16px;
  width:100%;
}
.recommended-horizontal .feed-ad-unit { width:100%; margin:0; }
.recommended-horizontal .feed-ad-unit-square { min-height:300px; }
.recommended-horizontal .feed-ad-unit-banner { min-height:140px; }
.recommended-horizontal .feed-ad-unit-banner .ad-google-box-content { height:90px; }
.ad-feed-mobile-bottom {
  display: none !important;
}
.ad-google-spot {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 820px;
  margin: 14px auto;
  background: var(--bg-card, #161b26);
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 14px);
  padding: 12px 18px;
  box-sizing: border-box;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}
.ad-box-rectangle {
  min-height: 250px !important;
  height: 250px !important;
  max-width: 320px;
  margin: 0 auto;
}
.ad-google-box {
  flex: 1;
  min-width: 0;
  max-width: 760px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ad-google-spot.ad-shopee-spot {
  display:block;
  max-width:820px;
  margin:14px auto;
  padding:0;
  overflow:visible;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.ad-shopee-spot .ad-google-box { max-width:none; gap:0; }
.ad-google-box-header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  color: var(--text-secondary);
}
.ad-google-box-badge {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.5px;
  background: var(--bg-subtle);
  color: var(--text-secondary);
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid var(--border);
}
.ad-google-box-content {
  width: 100%;
  height: 95px;
  background: repeating-linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.02),
    rgba(255, 255, 255, 0.02) 10px,
    rgba(255, 255, 255, 0.04) 10px,
    rgba(255, 255, 255, 0.04) 20px
  );
  border: 1.5px dashed var(--border);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.ad-google-mock-inner {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--text-secondary);
  text-align: left;
  padding: 0 16px;
}
.ad-google-mock-icon {
  font-size: 26px;
  line-height: 1;
}
.ad-google-mock-title {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text-main);
  margin-bottom: 2px;
}
.ad-google-mock-desc {
  font-size: 11.5px;
  color: var(--text-secondary);
}

/* Campanha Shopee clicável com a arte em tamanho de leitura. */
.ad-shopee-campaign { display:block; color:inherit; text-decoration:none; border-radius:12px; overflow:hidden; }
.ad-shopee-campaign:focus-visible { outline:3px solid #facc15 !important; outline-offset:4px; }
.ad-top-shopee-content {
  position:relative;
  width: 100%;
  height: auto;
  background: transparent;
  border: 0;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
}
.ad-top-shopee-pic {
  display: flex;
  width: 100%;
  min-width: 0;
  height: auto;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
  border-radius: 0;
}
.ad-top-shopee-img {
  display:block;
  width: 100%;
  min-width: 0;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  border-radius: 0;
}
.ad-top-shopee-content[data-format="rectangle"] .ad-top-shopee-pic { max-width:360px; margin-inline:auto; }
.ad-top-shopee-info {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  min-width: 0;
  padding:12px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--bg-card,#161b26);
}
.ad-top-shopee-cta {
  align-self: flex-end;
  margin:0;
  min-height:36px;
  box-sizing:border-box;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  color: #ffffff;
  background: #c23315;
  padding: 8px 14px;
  border-radius: 7px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  box-shadow:0 2px 8px rgba(0,0,0,.28);
  pointer-events:auto;
}
.ad-top-shopee-cta:hover {
  background: #9a2810;
}
.ad-top-shopee-demo-note {
  font-size: 10.5px;
  color: var(--text-muted);
  font-style: italic;
  margin-top: 2px;
}

@media (max-width: 640px) {
  .ad-google-spot {
    gap: 8px;
    padding: 10px 12px;
  }
  .ad-google-box-content {
    height: 70px;
  }
  .ad-google-mock-inner {
    gap: 8px;
    padding: 0 8px;
  }
  .ad-google-mock-icon {
    font-size: 20px;
  }
  .ad-google-mock-title {
    font-size: 11.5px;
  }
  .ad-google-mock-desc {
    display: none;
  }
  .ad-top-shopee-cta {
    min-height:36px;
    font-size: 13px;
    padding: 8px 13px;
  }
}

/* ================= BANNER LGPD LIMPO ================= */
.lgpd-banner {
  position: fixed;
  left: 50%;
  bottom: max(16px, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  margin: 0;
  width: min(880px, calc(100% - 32px));
  max-height: min(80vh, calc(100dvh - 32px));
  overflow-y: auto;
  max-width: 880px;
  background: var(--bg-card, #161b26);
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 14px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
  padding: 14px 18px;
  z-index: 1100;
  box-sizing: border-box;
  animation: lgpdSlideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.lgpd-banner.closing {
  opacity: 0;
  transform: translate(-50%, 12px);
  pointer-events: none;
}
@keyframes lgpdSlideUp {
  from { opacity: 0; transform: translate(-50%, 12px); }
  to { opacity: 1; transform: translate(-50%, 0); }
}
.lgpd-content {
  display: flex;
  align-items: center;
  gap: 12px;
}
.lgpd-icon {
  font-size: 28px;
  flex-shrink: 0;
  line-height: 1;
}
.lgpd-text {
  flex: 1;
  min-width: 0;
}
.lgpd-title {
  margin: 0 0 2px 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--text-main);
}
.lgpd-desc {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--text-secondary);
}
.lgpd-desc a {
  color: var(--brand-text, #78350f);
  text-decoration: underline;
}
.lgpd-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.lgpd-actions .btn {
  min-height: 40px;
  font-size: 12px;
  padding: 7px 12px;
  white-space: nowrap;
  background: var(--bg-surface);
  color: var(--text-main);
  border: 1px solid var(--border-strong, var(--border));
  box-shadow: none;
}
.lgpd-actions .btn:hover {
  background: var(--bg-muted);
  border-color: var(--border-hover, var(--brand));
  color: var(--text-main);
}
.lgpd-actions .btn:focus-visible {
  outline: 3px solid var(--focus-ring, var(--focus));
  outline-offset: 2px;
}
@media (max-width: 680px) {
  .lgpd-banner { width:calc(100% - 24px); padding:12px 14px; }
  .lgpd-content {
    display:grid;
    grid-template-columns:auto minmax(0, 1fr);
    align-items:center;
    gap:9px 12px;
  }
  .lgpd-icon { grid-column:1; grid-row:1; }
  .lgpd-text { grid-column:2; }
  .lgpd-actions {
    grid-column:1 / -1;
    width: 100%;
    justify-content: stretch;
  }
  .lgpd-actions .btn {
    flex: 1;
    text-align: center;
    min-height: 44px;
    white-space: normal;
  }
}
@media (prefers-reduced-motion: reduce) {
  .lgpd-banner { animation:none; transition:none; }
}


    /* ================= FILTROS DE REDAÇÃO ================= */
    .redacoes-header {
      margin-bottom:20px;
    }
    .redacoes-filter-panel { margin-bottom:16px; }
    .redacoes-filter-panel .filters-body { padding-top:14px; }
    #redacao-filter-apply-row { justify-content:flex-end; }
    .redacoes-filter-panel .f-row { margin-bottom:14px; }
    .redacoes-filter-panel .f-row:last-child { margin-bottom:0; }
    .redacoes-filter-panel .f-row-combos { margin-top:2px; }
    .redacoes-filter-panel .chips { gap:6px; }
    .redacoes-filter-panel #r-ano .chip { width:82px; min-width:82px; box-sizing:border-box; justify-content:space-between; padding-inline:7px; gap:4px; }
    .redacoes-filter-panel #r-ano .chip .chip-cnt { width:30px; box-sizing:border-box; padding-inline:2px; text-align:center; }
    .redacoes-filter-panel .filter-active-summary { margin-top:12px; }
    .redacoes-toolbar {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-bottom:18px;
      padding:0 2px;
    }
    #ad-redacoes-footer { margin-top:24px; }
    .individual-essay #ad-redacoes-footer { display:none; }
    .redacao-count-label {
      font-size:13.5px;
      font-weight:600;
      color:var(--text-secondary);
    }
    .redacao-count-label strong {
      font-size:15px;
      font-weight:800;
      color:var(--text-main);
    }
    .redacao-ord-wrap {
      display:flex;
      align-items:center;
      gap:8px;
    }
    .redacao-ord-lbl {
      font-size:13px;
      font-weight:600;
      color:var(--text-secondary);
    }
    .redacao-select {
      background:var(--bg-surface);
      border:1px solid var(--border);
      border-radius:var(--radius-md);
      padding:6px 12px;
      font-size:13px;
      font-weight:600;
      color:var(--text-main);
      cursor:pointer;
      outline:none;
      transition:border-color 0.15s, box-shadow 0.15s;
      box-shadow:0 1px 2px rgba(0, 0, 0, 0.03);
    }
    .redacao-select:hover {
      border-color:var(--border-hover);
    }
    .redacao-select:focus {
      border-color:var(--brand);
      box-shadow:0 0 0 2px rgba(245, 158, 11, 0.15);
    }
    .redacao-motivadores-toggle {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-bottom:12px;
      padding:8px 10px;
      color:var(--brand-text);
      font-size:13.5px;
      font-weight:700;
      cursor:pointer;
      list-style:none;
      border:1px solid var(--border);
      border-radius:var(--radius-sm);
      transition:background-color 0.15s,border-color 0.15s;
    }
    .redacao-motivadores-toggle::-webkit-details-marker { display:none; }
    .redacao-motivadores-toggle::after {
      content:"Mostrar ▾";
      flex:none;
      color:var(--text-secondary);
      font-size:11px;
      font-weight:700;
    }
    .redacao-motivadores-toggle:hover {
      background:var(--bg-subtle);
      border-color:var(--border-hover);
    }
    .redacao-motivadores-toggle:focus-visible {
      outline:2px solid var(--focus-ring,var(--brand));
      outline-offset:2px;
    }
    details[open] > .redacao-motivadores-toggle::after {
      content:"Ocultar ▴";
    }
    .redacao-card .q-context-crumb { cursor:default; }
    .redacao-card .q-context-crumb:hover { color:var(--text-secondary); text-decoration:none; }
    .redacao-motivadores { background:var(--bg-subtle); border-radius:var(--radius-md); padding:16px; margin-top:14px; display:flex; flex-direction:column; gap:14px; }
    .tm-item { background:var(--bg-surface); border:1px solid var(--border); border-radius:var(--radius-sm); padding:14px; font-size:14px; }
    .tm-num { font-weight:800; font-size:12px; color:var(--brand-text); text-transform:uppercase; margin-bottom:4px; }
    .tm-img-wrap { margin:12px 0 10px; text-align:center; }
    .tm-img-wrap img { max-width:100%; max-height:520px; height:auto; border-radius:var(--radius-md); border:1px solid var(--border); box-shadow:var(--shadow-sm); background:var(--bg-surface); cursor:zoom-in; transition:transform 0.15s ease, box-shadow 0.15s ease; }
    .tm-img-wrap img:hover { box-shadow:var(--shadow-md); }
    .tm-img-wrap img.tm-image-rotated-180,
    .lightbox img.tm-image-rotated-180 { transform:rotate(180deg); }
    .tm-image-description { margin:4px 0 10px; }
    .tm-content-body { font-size:14px; line-height:1.65; color:var(--text-main); margin-top:6px; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
    .tm-fonte { font-size:11.5px; color:var(--text-muted); margin-top:8px; line-height:1.4; }
    /* Distractor Analysis */
    details.alt-analysis {
      border:0;
      border-radius:0;
      background:transparent;
      overflow:visible;
      max-width:760px;
    }
    details.alt-analysis summary {
      cursor:pointer;
      padding:4px 0;
      font-size:14px;
      font-weight:700;
      color:var(--text-main);
      user-select:none;
    }
    details.alt-analysis[open] summary {
      margin-bottom:10px;
    }
    .an-item {
      display:flex;
      gap:12px;
      padding:6px 0;
      border-top:0;
      font-size:13.5px;
      background:transparent;
    }
    .an-item + .an-item { margin-top:8px; }
    .an-item strong { color:var(--text-main); font-weight:800; }
    .an-mark { flex:0 0 20px; font-weight:800; font-size:15px; }
    .an-item.ok .an-mark { color:var(--ok); }
    .an-item.no .an-mark { color:var(--bad); }
    .an-tipo {
      display:inline-block;
      font-size:11px;
      font-weight:700;
      background:var(--bg-muted);
      color:var(--text-secondary);
      border-radius:var(--radius-full);
      padding:1px 8px;
      margin-left:6px;
    }
    .an-text { margin-top:5px; color:var(--text-secondary); line-height:1.6; }


    .redacoes-grid { display:flex; flex-direction:column; gap:20px; }
    .redacao-card {
      background:var(--bg-surface);
      border:1px solid var(--border);
      border-top:3.5px solid var(--brand);
      border-radius:var(--radius-lg);
      padding:22px 26px;
      box-shadow:var(--shadow-card);
    }
    .redacao-theme {
      font-size:18px;
      font-weight:800;
      color:var(--text-main);
      margin:10px 0 14px;
    }
    .redacao-card { container-type:inline-size; min-width:0; scroll-margin-top:90px; }
    .redacao-card .q-tax-link { text-decoration:none; }
    .redacao-card .q-head-actions .q-actions-cluster { flex-wrap:wrap; }
    .redacao-card-header .q-head-id { gap:4px 10px; }
    .redacao-card-header .q-source-meta { gap:4px 10px; }
    .redacao-card .q-meta-cluster { gap:4px 12px; }
    .redacao-card .redacao-eixo-link { min-height:32px; padding:4px 8px; border-radius:var(--radius-sm); background:var(--bg-subtle); color:var(--text-main); font-size:12px; font-weight:700; text-decoration:none; }
    .essay-report-footer { display:flex; justify-content:flex-end; margin:18px 0 0; padding-top:14px; border-top:1px solid var(--border); }
    .essay-more-cta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:22px; padding-top:16px; border-top:1px solid var(--border); }
    .essay-more-cta p { margin:0; color:var(--text-secondary); font-size:13px; line-height:1.45; }
    .essay-more-cta .btn { flex:none; text-decoration:none; }
    .individual-essay .redacoes-filter-panel,
    .individual-essay .redacoes-toolbar,
    .individual-essay .redacoes-header { display:none; }
    @container (max-width:620px) {
      .redacao-card .q-head-actions .q-actions-cluster { margin-left:0; }
    }
    @media(max-width:520px) {
      .redacao-card { padding:18px 16px; }
      .redacao-theme { font-size:17px; overflow-wrap:anywhere; }
      .redacoes-toolbar { flex-wrap:wrap; }
      .essay-more-cta { align-items:stretch; flex-direction:column; }
      .essay-more-cta .btn { align-self:flex-start; min-height:40px; }
    }

    /* ================= EMPTY STATE ================= */
    .empty-state-card {
      text-align:center;
      padding:50px 24px;
      background:var(--bg-surface);
      border:1.5px dashed var(--border-hover);
      border-radius:var(--radius-lg);
      margin:20px 0;
    }
    .empty-mascot-icon {
      margin-bottom:14px;
    }
    .empty-mascot-image {
      display:block;
      width:112px;
      height:112px;
      object-fit:contain;
      margin-inline:auto;
    }
    #notebook-list .empty-mascot-image { width:96px; height:96px; }
    .empty-title {
      font-size:17px;
      font-weight:800;
      color:var(--text-main);
      margin-bottom:6px;
    }
    .empty-desc {
      font-size:14px;
      color:var(--text-muted);
      max-width:480px;
      margin:0 auto;
    }

    /* ================= BUTTONS & GENERAL UTILITIES ================= */
    .btn {
      border:1px solid var(--border);
      background:var(--bg-surface);
      border-radius:var(--radius-sm);
      padding:6px 14px;
      font-size:13px;
      font-weight:600;
      color:var(--text-secondary);
      transition:all 0.12s;
      display:inline-flex;
      align-items:center;
      gap:6px;
    }
    .btn:hover {
      border-color:var(--border-hover);
      color:var(--text-main);
      background:var(--bg-subtle);
    }
    .btn.primary {
      background:var(--dark-charcoal);
      border-color:var(--dark-charcoal);
      color:var(--text-on-dark);
    }
    .btn.primary:hover {
      background:var(--dark-surface);
    }
    .btn.btn-brand {
      background:var(--brand);
      border-color:var(--brand-hover);
      color:var(--text-on-dark);
      font-weight:700;
    }
    .btn.btn-brand:hover {
      background:var(--brand-hover);
    }
    .btn.sm {
      padding:4px 10px;
      font-size:12px;
    }

    /* Desempenho Tab Styles */
    .stats-card-grid {
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
      gap:16px;
      margin-bottom:24px;
    }
    .stat-card {
      background:var(--bg-surface);
      border:1px solid var(--border);
      border-radius:var(--radius-lg);
      padding:18px 20px;
      box-shadow:var(--shadow-sm);
    }
    .stat-val { font-size:30px; font-weight:800; color:var(--text-main); }
    .stat-lbl { font-size:13px; font-weight:600; color:var(--text-secondary); margin-top:4px; }

    /* Modais, Lightbox & Toast */
    .modal-overlay {
      position:fixed;
      inset:0;
      background:rgba(var(--backdrop-rgb, 10, 10, 10), 0.65);
      z-index:100;
      display:none;
      align-items:center;
      justify-content:center;
      padding:20px;
      overscroll-behavior:contain;
    }
    .modal-overlay.on { display:flex; }
@media (max-width:1260px) {
  body.menu-drawer-open .modal-overlay.on { z-index:1003; }
}
    .modal-box {
      background:var(--bg-surface);
      border-radius:var(--radius-lg);
      max-width:460px;
      width:100%;
      padding:22px 24px;
      box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.2), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
      border:1px solid var(--border);
      overscroll-behavior:contain;
    }
    .modal-head {
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      margin-bottom:16px;
    }
    .modal-close-btn {
      box-sizing:border-box;
      background:var(--bg-surface-alt);
      border:1px solid var(--border);
      font-size:14px;
      color:var(--text-secondary);
      cursor:pointer;
      width:28px;
      height:28px;
      min-width:28px;
      min-height:28px;
      flex:0 0 28px;
      padding:0;
      align-self:flex-start;
      border-radius:50%;
      display:flex;
      align-items:center;
      justify-content:center;
      transition:all 0.15s ease;
    }
    .modal-close-btn:hover {
      background:var(--border);
      color:var(--text-main);
    }
    @media (pointer:coarse) {
      .modal-head > .modal-close-btn {
        width:44px;
        height:44px;
        min-width:44px;
        min-height:44px;
        flex-basis:44px;
      }
    }
    .nb-choice-list {
      display:flex;
      flex-direction:column;
      gap:8px;
      margin-bottom:16px;
      max-height:220px;
      overflow-y:auto;
      overscroll-behavior:contain;
      padding-right:4px;
    }
    .nb-choice-item {
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:10px 14px;
      border:1.5px solid var(--border);
      border-radius:var(--radius-md);
      cursor:pointer;
      transition:all 0.15s ease;
      background:var(--bg-surface);
      user-select:none;
    }
    .nb-choice-item:hover {
      border-color:var(--brand);
      background:var(--brand-bg);
    }
    .nb-choice-item.selected {
      border-color:var(--brand);
      background:var(--brand-subtle);
    }
    .nb-choice-left {
      display:flex;
      align-items:center;
      gap:10px;
    }
    .nb-choice-name {
      font-size:14px;
      font-weight:700;
      color:var(--text-main);
    }
    .nb-choice-item.selected .nb-choice-name {
      color:var(--brand-text);
    }
    .nb-choice-count {
      font-size:12px;
      color:var(--text-muted);
    }
    .nb-choice-badge {
      width:20px;
      height:20px;
      border-radius:50%;
      border:1.5px solid var(--border);
      display:flex;
      align-items:center;
      justify-content:center;
      color:transparent;
      background:var(--bg-surface);
      transition:all 0.15s ease;
      flex-shrink:0;
    }
    .nb-choice-item.selected .nb-choice-badge {
      border-color:var(--brand);
      background:var(--brand);
      color:var(--text-on-dark);
    }
    .modal-new-nb-wrap {
      padding-top:14px;
      border-top:1px dashed var(--border);
      margin-bottom:18px;
    }
    .modal-input {
      flex:1;
      height:36px;
      padding:0 12px;
      border:1px solid var(--border);
      border-radius:var(--radius-sm);
      font-size:13.5px;
      outline:none;
    }
    #input-export-filename { min-width:0; }
    .modal-input:focus {
      border-color:var(--brand);
      box-shadow:0 0 0 2px rgba(245, 158, 11, 0.2);
    }
    #modal-bulk-notebook .modal-box { max-width:460px; }
    #modal-bulk-notebook .modal-head h3 { font-size:17px; font-weight:800; }
    #modal-bulk-notebook .modal-head p { margin-top:4px; }
    #modal-bulk-notebook .modal-new-nb-wrap { padding:18px 20px; margin:0; border:0; }
    #modal-bulk-notebook label { display:block; margin-bottom:6px; font-size:12px; font-weight:700; }
    #modal-bulk-notebook .modal-input { display:block; width:100%; margin-bottom:10px; }
    #modal-bulk-notebook .modal-input[hidden] { display:none; }
    #modal-bulk-notebook .bulk-notebook-explain,
    #modal-bulk-notebook-count { color:var(--text-secondary); font-size:12px; line-height:1.5; }
    #bulk-notebook-error { color:var(--bad); font-size:12px; font-weight:700; }
    #bulk-notebook-error[hidden] { display:none; }
    #modal-bulk-notebook .modal-footer { padding:14px 20px; }
    .modal-footer {
      display:flex;
      justify-content:flex-end;
      gap:10px;
      padding-top:14px;
      border-top:1px solid var(--border);
    }
    .segmented-tabs {
      display:inline-flex;
      background:var(--bg-subtle, var(--bg-subtle));
      padding:3.5px;
      border-radius:var(--radius-md, 8px);
      border:1px solid var(--border);
      gap:4px;
      margin:10px 0 14px;
    }
    .segmented-tab {
      border:none;
      background:transparent;
      color:var(--text-secondary);
      font-size:12.5px;
      font-weight:600;
      padding:6px 14px;
      border-radius:6px;
      cursor:pointer;
      transition:all 0.15s ease;
      display:inline-flex;
      align-items:center;
      gap:6px;
      user-select:none;
    }
    .segmented-tab:hover:not(.active) {
      color:var(--text-main);
      background:rgba(0, 0, 0, 0.04);
    }
    .segmented-tab.active {
      background:var(--bg-surface);
      color:var(--text-main);
      font-weight:700;
      box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);
    }
    .lightbox {
      position:fixed;
      inset:0;
      background:rgba(12, 12, 12, 0.94);
      z-index:200;
      display:none;
      align-items:center;
      justify-content:center;
      padding:24px;
      cursor:zoom-out;
    }
    .lightbox.on { display:flex; }
    .lightbox img {
      position:relative;
      z-index:1;
      max-width:96vw;
      max-height:92vh;
      background:var(--bg-surface);
      border-radius:var(--radius-md);
    }
    .lightbox .lightbox-close { z-index:2; cursor:pointer; }
    .toast {
      position:fixed;
      bottom:24px;
      left:50%;
      transform:translateX(-50%) translateY(20px);
      background:var(--dark-charcoal);
      color:var(--text-on-dark);
      padding:10px 20px;
      border-radius:var(--radius-full);
      font-size:13px;
      font-weight:600;
      opacity:0;
      pointer-events:none;
      transition:0.25s ease;
      z-index:300;
      box-shadow:var(--shadow-hover);
    }
    .toast.on { opacity:1; transform:translateX(-50%); }

    .study-shell { width:100%; max-width:1280px; margin:0 auto; box-sizing:border-box; }
    .study-shell[hidden] { display:none; }
    #view-questoes.study-active > :not(.study-shell) { display:none !important; }

    #modal-app-dialog { z-index:200; }
    #modal-app-dialog .modal-box, .tri-modal-box { max-height:calc(100dvh - 40px); overflow:auto; }
    #modal-app-dialog h3, .tri-modal-box h3 { margin:0; font-size:18px; color:var(--text-main); }
    .dialog-message { color:var(--text-secondary); font-size:14px; line-height:1.6; white-space:pre-line; overflow-wrap:anywhere; }
    #app-dialog-message { margin:0 0 20px; }
    #app-dialog-error { margin:10px 0 0; }
    #modal-app-dialog .modal-head { margin-bottom:20px; }
    #app-dialog-label { display:block; margin-bottom:8px; font-size:13px; font-weight:600; }
    #app-dialog-input { width:100%; background:var(--bg-canvas); color:var(--text-main); padding:10px 12px; }
    .dialog-error { color:var(--bad-text); font-size:13px; line-height:1.4; }
    .dialog-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; margin-top:24px; }
    .tri-modal-box { max-width:640px; }
    .tri-parameters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:18px 0; }
    .tri-parameter { margin:0; padding:12px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-muted); }
    .tri-parameter dt { font-size:12px; color:var(--text-secondary); }
    .tri-parameter dd { margin:6px 0; font-size:21px; font-weight:700; color:var(--text-main); }
    .tri-parameter p, .tri-source { font-size:13px; line-height:1.5; color:var(--text-secondary); margin:6px 0 0; }
    .tri-sources { display:flex; flex-direction:column; gap:10px; margin-top:18px; padding-top:16px; border-top:1px solid var(--border); }
    .tri-sources a { color:var(--brand-text); font-size:13px; overflow-wrap:anywhere; }
    @media(max-width:480px) { .tri-parameters { grid-template-columns:1fr; } .tri-parameter { display:grid; grid-template-columns:1fr auto; gap:6px 12px; } .tri-parameter p { grid-column:1 / -1; } .tri-parameter dd { margin:0; } }

/* Compartilhamento genérico / share sheet */
.content-share-box {
  max-width: 440px;
  width: 100%;
  max-height: calc(100dvh - 32px);
  overflow: auto;
  padding: 20px 22px;
}
.report-content-context { white-space:normal; overflow:visible; text-overflow:initial; }
.report-content-instructions { margin:0 0 14px; color:var(--text-secondary); font-size:13px; line-height:1.5; }
.report-content-form-link { display:flex; justify-content:center; min-height:40px; text-decoration:none; }
.report-content-box .content-share-link { margin-bottom:12px; }
.content-share-box .modal-head {
  margin-bottom: 8px;
}
.content-share-box h3 {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  color: var(--text-main);
  letter-spacing: -0.01em;
}
.content-share-context {
  margin: 0 0 16px;
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.45;
  white-space: normal;
  overflow-wrap: anywhere;
}
.content-share-link {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  background: var(--bg-canvas);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 4px 4px 4px 12px;
}
.content-share-link input {
  width: 0;
  min-width: 0;
  flex: 1;
  height: 36px;
  padding: 0;
  background: transparent;
  color: var(--text-secondary);
  border: none;
  font-size: 12.5px;
  text-overflow: ellipsis;
  outline: none;
}
.content-share-copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 36px;
  padding: 0 14px;
  border: 1px solid var(--brand-border);
  border-radius: var(--radius-sm);
  background: var(--brand);
  color: #111827;
  font-size: 12.5px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.05s ease;
  flex-shrink: 0;
}
.content-share-copy:hover {
  background: var(--brand-hover);
  border-color: var(--brand-dark);
}
.content-share-copy.copied {
  background: var(--ok);
  border-color: var(--ok);
  color: #ffffff;
}
.content-share-native {
  width: 100%;
  min-height: 40px;
  margin-bottom: 12px;
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--bg-subtle);
  color: var(--text-main);
  font-size: 13px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
}
.content-share-native:hover {
  background: var(--bg-muted);
  border-color: var(--border-hover);
}
.content-share-native[hidden], .content-share-status[hidden], .content-share-note[hidden] {
  display: none;
}
.content-share-channels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.content-share-channel {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 8px 12px;
  color: var(--text-main);
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.content-share-channel:hover {
  background: var(--bg-muted);
  border-color: var(--border-hover);
}
.content-share-channel svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  color: var(--text-secondary);
}
.content-share-channel:hover svg {
  color: var(--text-main);
}
.content-share-channel-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.content-share-box :is(button, a, input):focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
.content-share-note {
  margin: 12px 0 0;
  color: var(--text-muted);
  font-size: 12px;
  line-height: 1.4;
}
.content-share-status {
  margin: 10px 0 0;
  color: var(--ok-text);
  background: var(--ok-bg);
  border: 1px solid var(--ok-border);
  border-radius: var(--radius-sm);
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}
.content-share-status.is-error {
  color: var(--bad-text);
  background: var(--bad-bg);
  border-color: var(--bad-border);
}
@media (max-width: 480px) {
  .content-share-box {
    padding: 16px;
    max-width: calc(100vw - 24px);
    border-radius: var(--radius-md);
  }
  .content-share-channels {
    grid-template-columns: 1fr;
  }
}

    .study-shell { width:100%; max-width:1280px; margin:0 auto; box-sizing:border-box; }
#view-simulado.active { display:block; }
    .study-panel { background:var(--bg-surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:24px; margin-bottom:16px; box-shadow:var(--shadow-sm); }
    .study-panel h2, .study-panel h3 { margin:0 0 10px; line-height:1.25; }
    .study-panel p { color:var(--text-secondary); margin:8px 0 16px; }
    .study-actions, .study-source-tabs { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:16px; }
    .study-actions button, .study-source-tabs button, .study-panel select, .study-panel input { font:inherit; }
    .study-panel .btn { min-height:42px; }
    .study-panel .btn:focus-visible, .study-panel select:focus-visible, .study-map button:focus-visible, .study-map-panel summary:focus-visible { outline:3px solid var(--brand-active); outline-offset:2px; }
    .study-panel .btn:disabled { cursor:not-allowed; opacity:.48; }
    .study-panel select { width:100%; max-width:100%; padding:10px 12px; border:1px solid var(--border-hover); border-radius:var(--radius-md); background:var(--bg-surface); color:var(--text-main); }
    .study-panel input[type="checkbox"] { accent-color:var(--brand-active); width:18px; height:18px; vertical-align:middle; }
    .study-config-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px; margin:20px 0; }
    .study-config-official { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .study-config-grid label { display:grid; gap:6px; font-weight:700; font-size:13px; }
    .study-config-grid .study-booklet-field { grid-column:span 2; }
    .study-source-tabs { padding:5px; background:var(--bg-subtle); border-radius:var(--radius-md); width:max-content; max-width:100%; }
    .study-source-tabs .btn { border-color:transparent; }
    .study-source-tabs .btn[aria-pressed="true"] { box-shadow:var(--shadow-sm); }
    .study-source-note, .study-filter-summary { border:1px solid var(--border); background:var(--bg-canvas); border-radius:var(--radius-md); padding:14px 16px; }
    .study-filter-summary { margin-top:16px; }
    .study-filter-summary p:last-child { margin-bottom:0; }
    .study-filter-tags { display:flex; gap:7px; flex-wrap:wrap; margin:12px 0; }
    .study-filter-tags span { background:var(--bg-surface); border:1px solid var(--border-hover); border-radius:var(--radius-full); padding:4px 10px; font-size:12px; font-weight:600; }
    .study-timer-control { display:flex; align-items:center; gap:12px; width:max-content; max-width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--bg-canvas); cursor:pointer; }
    .study-timer-control:hover { border-color:var(--brand-active); }
    .study-panel .study-timer-control input[type="checkbox"] { position:absolute; width:1px; height:1px; opacity:0; }
    .study-timer-control .study-timer-switch { display:block; position:relative; width:42px; height:24px; flex:none; border-radius:var(--radius-full); background:var(--text-muted); transition:background .15s ease; }
    .study-timer-switch::after { content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:var(--bg-surface); box-shadow:var(--shadow-sm); transition:transform .15s ease; }
    .study-timer-control input:checked + .study-timer-switch { background:var(--brand-active); }
    .study-timer-control input:checked + .study-timer-switch::after { transform:translateX(18px); }
    .study-timer-control input:focus-visible + .study-timer-switch { outline:3px solid var(--brand-active); outline-offset:3px; }
    .study-timer-control strong, .study-timer-control small { display:block; line-height:1.35; }
    .study-timer-control small { color:var(--text-muted); font-size:12px; font-weight:400; }
    .study-setup-actions { border-top:1px solid var(--border); padding-top:18px; }
    .study-session-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:16px; }
    .study-session-heading h3 { margin:0; }
    .study-session-heading > span { font-size:12px; color:var(--text-muted); }
    .study-session-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:14px; }
    .study-session-card { display:flex; flex-direction:column; min-width:0; padding:18px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--bg-canvas); }
    .study-session-card-top, .study-session-progress, .study-session-card-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; }
    .study-session-card-top { align-items:flex-start; }
    .study-session-card-top { display:grid; grid-template-columns:max-content minmax(0,1fr) auto; align-items:center; gap:8px; }
    .study-session-badge { display:inline-flex; align-items:center; padding:3px 9px; border-radius:var(--radius-full); color:var(--brand-text); background:var(--brand-subtle); font-size:11px; font-weight:800; white-space:nowrap; }
    .study-session-badge.completed { background:var(--ok-bg); color:var(--ok-text); }
    .study-session-date { color:var(--text-muted); font-size:11px; text-align:right; }
    .study-session-delete { flex:none; min-height:32px; padding:5px 9px; color:var(--text-muted); }
    .study-session-delete:hover { color:var(--text-main); border-color:var(--border-hover); }
    .study-session-card h4 { margin:14px 0 16px; font-size:15px; line-height:1.45; overflow-wrap:anywhere; }
    .study-session-progress { font-size:13px; }
    .study-session-progress span { color:var(--text-muted); }
    .study-session-progress-bar { height:7px; margin:10px 0 16px; border-radius:var(--radius-full); background:var(--bg-muted); overflow:hidden; }
    .study-session-progress-bar span { display:block; height:100%; background:var(--brand-active); }
    .study-session-score { margin:0 0 16px !important; font-size:14px; }
    .study-session-result { margin-bottom:16px; }
    .study-session-result .study-session-score { margin:0 0 4px !important; }
    .study-session-errors { margin:0 0 4px !important; font-size:12px; }
    .study-session-meta { margin:0 0 14px !important; color:var(--text-secondary); font-size:12px; }
    .study-session-area-heading { display:flex; justify-content:space-between; gap:8px; margin-bottom:8px; font-size:12px; }
    .study-session-area-heading span { color:var(--text-muted); }
    .study-session-area-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
    .study-session-area { display:grid; gap:2px; min-width:0; padding:10px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-surface); }
    .study-session-area span { overflow-wrap:anywhere; color:var(--text-secondary); font-size:12px; font-weight:700; }
    .study-session-area strong { color:var(--text-main); font-size:22px; line-height:1.2; }
    .study-session-area small { color:var(--text-muted); font-size:11px; }
    .study-session-card-foot { margin-top:auto; padding-top:14px; border-top:1px solid var(--border); }
    .study-session-card-foot > span { color:var(--text-muted); font-size:11px; }
    .study-session-card-foot .btn { flex:none; justify-content:center; }
    .study-session-card-foot.completed { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
    .study-session-card-foot.completed .btn { width:100%; min-width:0; padding-inline:8px; font-size:12px; }
    .study-session-archive > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; list-style:none; }
    .study-session-archive > summary::-webkit-details-marker { display:none; }
    .study-session-archive > summary::after { content:"⌄"; color:var(--text-secondary); transition:transform .15s ease; }
    .study-session-archive[open] > summary::after { transform:rotate(180deg); }
    .study-session-archive > summary span { margin-left:auto; color:var(--text-muted); font-size:12px; }
    .study-session-archive[open] .study-session-grid { margin-top:16px; }
    #study-progress { border-bottom:1px solid var(--border); padding-bottom:16px; }
    .study-progress-top { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
    .study-delivery-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
    .study-delivery-heading h2 { margin:0 0 6px; }
    .study-delivery-heading p { margin:0; }
    .study-progress-top strong { font-size:17px; }
    #study-progress p { margin:6px 0 12px; font-size:13px; }
    .study-progress-bar { height:7px; background:var(--bg-muted); border-radius:var(--radius-full); overflow:hidden; }
    .study-progress-bar span { display:block; height:100%; background:var(--ok); transition:width .2s ease; }
    .study-run-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,290px); gap:20px; align-items:start; }
    .study-run-main { min-width:0; }
    .study-running .q-card { margin:20px 0; }
    .study-running .q-card.simulation .q-foot, .study-running .q-card.simulation .q-post-actions, .study-running .q-card.simulation .q-interactive-bar { display:none; }
    .study-running .q-card.simulation .alt.picked { border-color:var(--info); background:var(--info-bg); }
    #study-controls { display:grid; gap:14px; border-top:1px solid var(--border); padding-top:16px; }
    .study-actions-secondary { display:flex; flex-wrap:wrap; gap:8px; }
    .study-actions-secondary { align-items:center; padding-top:12px; border-top:1px dashed var(--border-hover); }
    .study-actions-secondary .btn { font-size:12px; }
    .study-flag-button { margin-right:auto; background:var(--brand-bg); border-color:var(--brand-border); color:var(--brand-text); }
    .study-flag-button:hover, .study-flag-button[aria-pressed="true"] { background:var(--brand-subtle); border-color:var(--brand-active); color:var(--brand-text); }
    .study-delivery-button.btn { background:var(--dark-charcoal); border-color:var(--dark-charcoal); color:var(--text-on-dark); }
    .study-delivery-button.btn:hover { background:var(--dark-surface); color:var(--text-on-dark); }
    .study-pause-button { margin-left:auto; min-height:44px !important; }
    .study-timer-readout { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid var(--brand-border); border-radius:var(--radius-full); background:var(--brand-subtle); color:var(--brand-text); font-variant-numeric:tabular-nums; font-weight:800; white-space:nowrap; }
    .study-session-timer { display:inline-flex; align-items:center; width:fit-content; padding:6px 10px; border:1px solid var(--brand-border); border-radius:var(--radius-full); background:var(--brand-subtle); color:var(--brand-text) !important; font-weight:700; font-variant-numeric:tabular-nums; }
    #study-map-wrap, #study-review-map-wrap { position:sticky; top:88px; margin-top:20px; }
    .study-map-panel { background:var(--bg-canvas); border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; }
    .study-map-panel summary { display:flex; justify-content:space-between; align-items:center; gap:8px; cursor:pointer; padding:14px; font-weight:800; list-style:none; }
    .study-map-panel summary::-webkit-details-marker { display:none; }
    .study-map-panel summary::after { content:"⌄"; font-size:18px; line-height:1; }
    .study-map-panel[open] summary::after { content:"⌃"; }
    .study-map-panel summary span { margin-left:auto; font-weight:600; font-size:11px; color:var(--text-muted); white-space:nowrap; }
    .study-map-legend { display:flex; gap:8px 12px; flex-wrap:wrap; padding:0 14px 12px; font-size:11px; color:var(--text-secondary); }
    .study-map-legend span { display:inline-flex; align-items:center; gap:5px; }
    .study-map-legend i { width:12px; height:12px; border:1px solid var(--border-hover); border-radius:3px; background:var(--bg-surface); }
    .study-map-legend i.answered, .study-map-legend i.correct { background:var(--ok-bg); border-color:var(--ok); }
    .study-map-legend i.wrong { background:var(--bad-bg); border-color:var(--bad); }
    .study-map-legend i.excluded { background:var(--bg-subtle); border-color:var(--text-muted); }
    .study-map-legend i.flagged { background:var(--brand-subtle); border-color:var(--brand-active); }
    .study-map { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; padding:6px 14px 12px; max-height:calc(100vh - 240px); overflow-y:auto; }
    .study-map button { position:relative; min-height:34px; scroll-margin-top:96px; border:1px solid var(--border-hover); border-radius:var(--radius-sm); background:var(--bg-surface); color:var(--text-main); font-weight:700; cursor:pointer; }
    .study-map button:hover { border-color:var(--brand-active); transform:translateY(-1px); }
    .study-map button.answered, .study-map button.correct { background:var(--ok-bg); border-color:var(--ok); color:var(--ok-text); }
    .study-map button.wrong { background:var(--bad-bg); border-color:var(--bad); color:var(--bad-text); }
    .study-map button.excluded { background:var(--bg-subtle); border-color:var(--text-muted); color:var(--text-muted); cursor:default; }
    .study-map button.flagged { box-shadow:inset 0 0 0 2px var(--brand-active); }
    .study-map button.current { outline:3px solid var(--focus); outline-offset:1px; }
    .study-map button span { position:absolute; top:0; right:3px; font-size:10px; color:var(--brand-text); }
    .study-map-panel p { margin:10px 14px 14px; font-size:11px; }
    .study-delivery-map { max-width:760px; margin:20px 0; }
    .study-delivery-map .study-map { grid-template-columns:repeat(auto-fill,minmax(42px,1fr)); max-height:none; }
    .study-review #study-review-card { min-width:0; scroll-margin-top:90px; }
    #study-card { scroll-margin-top:90px; }
    #study-card:focus-visible { outline:3px solid #facc15 !important; outline-offset:3px; }
    :root.study-arrow-navigation #study-card:focus-visible { outline:none !important; }
    .study-touch-hint { display:none; }
    @media(max-width:900px) {
      .study-keyboard-hint { display:none; }
      .study-touch-hint { display:inline; }
      .study-running #study-card { touch-action:pan-y pinch-zoom; }
    }
    .study-delivery-actions { border-top:1px solid var(--border); padding-top:18px; justify-content:flex-end; }
    .study-result-summary { font-size:14px; }
    .study-result-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; margin:22px 0; }
    .study-result-area { border:1px solid var(--border); border-radius:var(--radius-md); padding:18px; background:var(--bg-canvas); }
    .study-result-area h3 { font-size:14px; min-height:2.5em; color:var(--text-secondary); }
    .study-result-score { display:block; color:var(--text-main); font-size:32px; line-height:1.15; }
    .study-result-score-empty { display:block; font-size:17px; line-height:1.4; }
    .study-result-score-label { display:block; color:var(--text-muted); font-size:12px; font-weight:700; }
    .study-result-area p { margin:14px 0 0; font-size:13px; }
    .study-score-method { border-top:1px solid var(--border); padding:14px 0; font-size:13px; }
    .study-score-method summary { cursor:pointer; font-weight:700; }
    .study-score-method summary:focus-visible { outline:3px solid var(--brand-active); outline-offset:3px; }
    .study-score-method p { margin:8px 0 0; }
    .study-score-method a { color:var(--brand-text); text-decoration:underline; }
    .q-actions-cluster[hidden], .q-foot[hidden], .q-post-actions[hidden] { display:none !important; }
    .popover-group-select { display:flex; align-items:center; gap:8px; cursor:pointer; }
    .popover-group-select input { accent-color:var(--brand-active); }
    .popover-group-select small { margin-left:auto; font-size:10px; text-transform:none; }
    @media(max-width:900px) { .study-config-official { grid-template-columns:repeat(2,minmax(0,1fr)); } .study-run-layout { grid-template-columns:1fr; } #study-map-wrap, #study-review-map-wrap { position:static; margin-top:16px; grid-row:1; } .study-map { max-height:none; } }
    @media(max-width:640px) { .study-panel { padding:16px; } .study-config-official { grid-template-columns:minmax(0,1fr); } .study-config-grid .study-booklet-field { grid-column:auto; } .study-source-tabs { width:100%; } .study-source-tabs .btn { flex:1 1 100%; } .study-session-card-top { grid-template-columns:minmax(0,1fr) auto; } .study-session-card-top .study-session-date { grid-column:1; grid-row:2; text-align:left; } .study-session-card-top .study-session-delete { grid-column:2; grid-row:1 / span 2; } .study-session-card-foot:not(.completed) { align-items:flex-start; flex-direction:column; } .study-session-date { text-align:left; } .study-session-card-foot .btn { width:100%; } .study-progress-top { flex-direction:row; align-items:center; } .study-delivery-heading { align-items:flex-start; } .study-actions-secondary { width:100%; } .study-actions-secondary .btn { flex:1 1 45%; justify-content:center; } .study-actions-secondary .study-flag-button, .study-actions-secondary .study-delivery-button { flex:1 1 0; flex-basis:0; min-width:0; margin-right:0; padding-inline:7px; font-size:11px; } .study-actions-secondary .study-pause-button { flex-basis:100%; margin-left:0; } .study-delivery-actions .btn { flex:1 1 100%; } .study-map { grid-template-columns:repeat(6,minmax(0,1fr)); } .study-map button { min-height:44px; } }

    /* Header Conquistas Badge */
    .btn-conquistas-badge {
      display:inline-flex;
      align-items:center;
      gap:6px;
      background:var(--bg-surface);
      border:1px solid var(--border);
      border-radius:var(--radius-full);
      padding:5px 12px;
      font-size:13px;
      font-weight:700;
      color:var(--text-main);
      cursor:pointer;
      transition:all 0.15s ease;
      white-space:nowrap;
    }
    .btn-conquistas-badge:hover {
      background:var(--brand-bg);
      border-color:var(--brand);
      color:var(--brand-text);
      transform:translateY(-1px);
    }
    .achieve-trophy { font-size:15px; }

    /* A navegação fica inline, imediatamente acima do cartão, em todas as larguras. */
    .study-navigation-controls {
      margin:0;
      z-index:60;
    }
    #study-shell:has(.study-running) { padding-bottom:96px; }
    #study-shell .study-navigation-controls.is-footer-visible { opacity:0; visibility:hidden; pointer-events:none; }
    .study-navigation-controls .rec-control-status { display:flex; flex-direction:column; align-items:center; gap:2px; line-height:1.1; }
    .study-navigation-controls .rec-control-position { color:var(--text-main); font-size:13px; font-weight:800; font-variant-numeric:tabular-nums; }
    .study-navigation-controls .rec-control-hint { font-size:11px; }
    .study-shell.is-pointer-swiping,
    .study-shell.is-pointer-swiping * { user-select:none; -webkit-user-select:none; cursor:grabbing; }
    .study-running #study-card { overflow-anchor:none; }
    .study-running #study-track { will-change:transform; }
    .study-running #study-card { padding-top:20px; }
    .study-running #study-track > .q-card { margin:0; }
    .study-flag-button { margin-right:auto; background:var(--bg-subtle); border-color:var(--border-hover); color:var(--text-main); }
    .study-flag-button:hover, .study-flag-button[aria-pressed="true"] { background:var(--brand-subtle); border-color:var(--brand-active); color:var(--brand-text); }
    .study-delivery-button.btn { background:var(--bg-subtle); border-color:var(--border-hover); color:var(--text-main); }
    .study-delivery-button.btn:hover { background:var(--brand-subtle); border-color:var(--brand-active); color:var(--brand-text); }
    .study-running .q-card.simulation .alt.picked { border-color:var(--brand-active); background:var(--brand-subtle); }
    .study-progress-bar span { background:var(--brand-active); }
    .study-map button.answered { background:var(--brand-subtle); border-color:var(--brand-active); color:var(--brand-text); }
    @media(max-width:900px) {
      .study-running #study-card,
      .study-running #study-card * { touch-action:pan-y pinch-zoom; }
      .study-running #study-card img { -webkit-user-drag:none; user-select:none; }
      body:has(#study-shell:not([hidden]) .study-running) .btn-back-to-top { display:none !important; }
    }

    /* ================= MEUS CADERNOS & FAVORITAS ================= */
    .nb-topbar {
      display:flex;
      justify-content:space-between;
      align-items:center;
      margin-bottom:18px;
      flex-wrap:wrap;
      gap:12px;
    }
    .nb-topbar-actions {
      display:flex;
      gap:8px;
      align-items:center;
      flex-wrap:wrap;
    }

    /* Grade de Cadernos (Cards) */
    .nb-grid {
      display:flex;
      flex-direction:column;
      gap:26px;
      margin-bottom:32px;
    }
    .nb-section-title {
      font-size:13px;
      font-weight:800;
      color:var(--text-secondary);
      margin:0 0 12px;
      padding-bottom:8px;
      border-bottom:1px solid var(--border);
    }
    .nb-section-grid {
      display:grid;
      grid-template-columns:repeat(auto-fill, minmax(min(100%, 300px), 1fr));
      gap:18px;
    }
    .nb-empty-custom { font-size:13px; color:var(--text-muted); }
    .nb-card {
      background:var(--bg-surface);
      border:1px solid var(--border);
      border-radius:var(--radius-md);
      padding:20px 22px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:16px;
      cursor:pointer;
      transition:transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
      position:relative;
    }
    .nb-card:hover {
      transform:translateY(-2px);
      border-color:var(--border-hover);
      box-shadow:0 4px 14px rgba(0, 0, 0, 0.06);
    }
    .nb-card-header {
      display:flex;
      justify-content:space-between;
      align-items:center;
    }
    .nb-card-title-row {
      display:flex;
      align-items:center;
      gap:10px;
      font-size:17px;
      font-weight:800;
      color:var(--text-main);
    }
    .nb-card-icon {
      font-size:19px;
      line-height:1;
    }
    .nb-card-meta {
      font-size:16px;
      font-weight:700;
      color:var(--text-main);
    }
    .nb-card-meta .meta-sub {
      font-size:13.5px;
      font-weight:500;
      color:var(--text-muted);
    }
    .nb-card-footer {
      display:flex;
      justify-content:space-between;
      align-items:center;
      padding-top:12px;
      border-top:1px solid var(--bg-subtle, var(--bg-subtle));
    }
    .nb-card-badge {
      font-size:11px;
      font-weight:700;
      padding:3px 9px;
      border-radius:var(--radius-pill);
      text-transform:uppercase;
      letter-spacing:0.03em;
    }
    .nb-card-badge.fav {
      background:var(--brand-subtle);
      color:var(--brand-text);
    }
    .nb-card-badge.err {
      background:var(--bad-bg);
      color:var(--bad-text);
    }
    .nb-card-open {
      font-size:13px;
      font-weight:700;
      color:var(--brand-text);
      display:flex;
      align-items:center;
      gap:4px;
      transition:transform 0.15s ease;
    }
    .nb-card:hover .nb-card-open {
      transform:translateX(2px);
    }

    .nb-card:has(.nb-kebab-menu.show), .nb-card:focus-within {
      z-index: 40;
    }
    /* Menu Kebab de Três Pontos */
    .nb-kebab-wrap {
      position:relative;
    }
    .nb-kebab-wrap:has(.show), .nb-detail-more-wrap:has(.show) {
      z-index: 50;
    }
    .btn-kebab {
      background:none;
      border:none;
      padding:4px 8px;
      font-size:18px;
      font-weight:700;
      color:var(--text-muted);
      border-radius:var(--radius-sm);
      cursor:pointer;
      line-height:1;
      display:flex;
      align-items:center;
      justify-content:center;
      width:32px;
      height:32px;
      transition:all 0.12s;
    }
    .btn-kebab:hover, .btn-kebab.active {
      background:var(--bg-muted);
      color:var(--text-main);
    }
    .nb-kebab-menu {
      position:absolute;
      right:0;
      top:100%;
      margin-top:6px;
      background:var(--bg-surface);
      border:1px solid var(--border);
      border-radius:var(--radius-md);
      box-shadow:0 8px 24px rgba(0, 0, 0, 0.25);
      z-index:100;
      min-width:240px;
      max-width:calc(100vw - 24px);
      box-sizing:border-box;
      display:none;
      padding:6px;
      flex-direction:column;
    }
    .nb-kebab-menu.show { display:flex; }
    .kebab-item {
      display:flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      font-size:13px;
      font-weight:600;
      color:var(--text-secondary);
      background:none;
      border:none;
      width:100%;
      text-align:left;
      border-radius:var(--radius-sm);
      cursor:pointer;
      transition:all 0.1s;
      white-space:nowrap;
    }
    .kebab-item:hover {
      background:var(--bg-subtle);
      color:var(--text-main);
    }
    .kebab-item.danger { color:var(--bad); }
    .kebab-item.danger:hover { background:var(--bad-bg); color:var(--bad-text); }
    .kebab-divider {
      height:1px;
      background:var(--bg-subtle, var(--bg-subtle));
      margin:4px 0;
    }

    /* Detalhe do Caderno Aberto */
    .nb-detail-header {
      background:var(--bg-surface);
      border:1px solid var(--border);
      border-radius:var(--radius-md);
      padding:18px;
      margin-bottom:20px;
      display:flex;
      flex-direction:column;
      align-items:stretch;
      gap:14px;
      box-shadow:0 1px 2px rgba(0, 0, 0, 0.03);
    }
    .nb-detail-main {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px 24px;
      flex-wrap:wrap;
    }
    .nb-detail-identity { min-width:0; flex:1; }
    .nb-detail-nav { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
    .nb-detail-title {
      font-size:18px;
      font-weight:800;
      color:var(--text-main);
      margin:0 0 2px;
    }
    .nb-detail-sub {
      font-size:13px;
      color:var(--text-secondary);
    }
    .nb-detail-actions {
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
      padding-top:12px;
      border-top:1px solid var(--border);
    }
    .nb-detail-actions .btn.sm {
      padding:6px 12px;
      font-size:12.5px;
      font-weight:600;
      border-radius:var(--radius-sm);
    }
    .nb-detail-actions .btn.sm.danger {
      color:var(--bad);
      border-color:var(--bad-border);
      background:var(--bad-bg);
    }
    .nb-detail-actions .btn.sm.danger:hover {
      background:var(--bad-bg);
      border-color:var(--bad-border);
    }
    @media(max-width:640px) {
      .nb-detail-header { padding:14px; }
      .nb-detail-main { align-items:flex-start; }
      .nb-detail-nav { width:100%; }
    }

    .nb-organize-help { margin:-8px 0 12px; color:var(--text-muted); font-size:12px; line-height:1.5; }
    .nb-removal-notice { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 16px; padding:10px 12px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-subtle); color:var(--text-main); font-size:13px; }
    .nb-removal-notice[hidden] { display:none; }
    .nb-question-tools { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin:-5px 0 14px; padding-bottom:10px; border-bottom:1px solid var(--bg-subtle); color:var(--text-secondary); font-size:12px; }
    .nb-position-label { font-weight:700; }
    .nb-position-input { width:58px; height:32px; padding:4px 6px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-canvas); color:var(--text-main); text-align:center; }
    .nb-position-total { color:var(--text-muted); }
    .nb-move-question, .nb-remove-question { min-height:32px; padding:4px 10px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-surface); color:var(--text-secondary); font:inherit; cursor:pointer; }
    .nb-move-question { width:34px; font-size:16px; }
    .nb-move-question:disabled { opacity:.55; cursor:default; }
    .nb-move-question:not(:disabled):hover, .nb-remove-question:hover { border-color:var(--brand-border); color:var(--brand-text); background:var(--brand-bg); }
    .nb-remove-question { margin-left:auto; color:var(--bad-text); }
    .nb-question-tools button:focus-visible, .nb-question-tools input:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
    @media(max-width:480px) { .nb-question-tools { gap:5px; } .nb-position-label { flex-basis:100%; } .nb-remove-question { margin-left:auto; } }

    /* Hierarquia de Ações do Caderno */
    .nb-detail-actions-primary {
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
    }
    .nb-detail-more-wrap {
      position:relative;
    }
    .btn-nb-more {
      display:inline-flex;
      align-items:center;
      gap:4px;
      cursor:pointer;
    }
    .nb-detail-more-menu {
      position:absolute;
      right:0;
      top:100%;
      margin-top:6px;
      min-width:240px;
      z-index:100;
    }
    .kebab-subtext {
      font-size:11.5px;
      opacity:0.75;
      font-weight:400;
      margin-left:4px;
    }

    /* Modal de Compartilhamento de Caderno */
    .nb-share-meta-badge {
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:4px 10px;
      background:var(--bg-muted);
      border:1px solid var(--border);
      border-radius:var(--radius-pill);
      font-size:12px;
      font-weight:700;
      color:var(--text-main);
    }
    .nb-share-warning {
      background:var(--bad-bg);
      border:1px solid var(--bad-border);
      color:var(--bad-text);
      padding:10px 12px;
      border-radius:var(--radius-sm);
      font-size:12.5px;
      line-height:1.4;
      margin-top:10px;
    }
    .nb-share-warning[hidden] {
      display:none;
    }
    .nb-share-url-input {
      text-overflow:ellipsis;
      overflow:hidden;
      white-space:nowrap;
    }

    /* Banner de Caderno Compartilhado Temporário */
    .shared-nb-banner {
      background: var(--brand-subtle, rgba(245, 158, 11, 0.08));
      border: 1px solid var(--brand-border, rgba(245, 158, 11, 0.3));
      border-radius: var(--radius-md, 12px);
      padding: 18px 20px;
      margin-bottom: 24px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      flex-wrap: wrap;
    }
    .shared-nb-banner-main {
      display: flex;
      align-items: flex-start;
      gap: 16px;
      flex: 1;
      min-width: 260px;
    }
    .shared-nb-banner-icon {
      width: 36px;
      height: 39px;
      object-fit: contain;
      flex-shrink: 0;
    }
    .shared-nb-banner-text {
      flex: 1;
    }
    .shared-nb-banner-badge {
      display: inline-block;
      font-size: 11px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--brand-text, #b45309);
      margin-bottom: 4px;
    }
    .shared-nb-banner-title {
      font-size: 18px;
      font-weight: 800;
      color: var(--text-main);
      margin: 0 0 4px;
    }
    .shared-nb-banner-desc {
      font-size: 13px;
      color: var(--text-secondary);
      margin: 0;
      line-height: 1.5;
    }
    .shared-nb-banner-missing {
      margin-top: 8px;
      padding: 6px 10px;
      background: var(--bad-bg, #fef2f2);
      border: 1px solid var(--bad-border, #fecaca);
      border-radius: var(--radius-sm, 6px);
      font-size: 12px;
      color: var(--bad-text, #991b1b);
      line-height: 1.4;
    }
    .shared-nb-banner-actions {
      flex-shrink: 0;
    }

    /* Erro ao carregar caderno compartilhado */
    .shared-nb-error-card {
      text-align: center;
      padding: 48px 24px;
      background: var(--bg-surface);
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      margin: 20px 0;
    }
    .shared-nb-error-icon {
      font-size: 40px;
      margin-bottom: 12px;
    }
    .shared-nb-error-title {
      font-size: 18px;
      font-weight: 800;
      color: var(--text-main);
      margin: 0 0 8px;
    }
    .shared-nb-error-desc {
      font-size: 13.5px;
      color: var(--text-secondary);
      max-width: 480px;
      margin: 0 auto 20px;
      line-height: 1.5;
    }
    .shared-nb-error-actions {
      display: flex;
      justify-content: center;
      gap: 10px;
      flex-wrap: wrap;
    }

    /* Modal de Conflito de Nome */
    .nb-collision-options {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .nb-collision-choice {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      padding: 12px 14px;
      border: 1px solid var(--border);
      border-radius: var(--radius-sm, 8px);
      background: var(--bg-surface);
      cursor: pointer;
      transition: border-color 0.15s ease, background 0.15s ease;
    }
    .nb-collision-choice:has(input:checked) {
      border-color: var(--brand, #d97706);
      background: var(--brand-subtle, rgba(245, 158, 11, 0.05));
    }
    .nb-collision-choice input[type="radio"] {
      margin-top: 3px;
      accent-color: var(--brand, #d97706);
    }
    .nb-collision-choice-content {
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 3px;
    }
    .nb-collision-choice-content strong {
      font-size: 13.5px;
      color: var(--text-main);
    }

    /* Slot de Afiliado Shopee no Caderno */
    .nb-affiliate-slot {
      margin-top: 32px;
      padding-top: 20px;
      border-top: 1px solid var(--border);
    }
    .ad-notebook-slot {
      margin: 0 0 16px;
    }


    /* Conquistas Page & Cards */
    #view-conquistas {
      padding: 0;
    }
    .conquistas-header {
      margin-bottom: 20px;
    }
    .conquistas-header-main {
      display: flex;
      flex-direction: column;
      gap: 16px;
      margin-bottom: 18px;
    }
    .conquistas-title-row {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .conquistas-trophy-icon {
      color: var(--brand-text);
      line-height: 1;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .conquistas-title {
      font-size: 22px;
      font-weight: 800;
      color: var(--text-main);
      margin: 0 0 4px;
      letter-spacing: -0.01em;
    }
    .conquistas-subtitle {
      font-size: 13.5px;
      color: var(--text-secondary);
      margin: 0;
      line-height: 1.4;
    }
    .conquistas-summary-bar {
      background: var(--bg-surface);
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      padding: 16px 20px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      box-shadow: var(--shadow-sm);
    }
    @media (max-width:640px) {
      .conquistas-title-row { flex-wrap:wrap; }
      .conquistas-title-row > div { min-width:0; flex:1 1 calc(100% - 52px); }
      .conquistas-title-row > .stats-action-btn { margin-left:44px !important; align-self:flex-start !important; }
      .conquistas-summary-bar {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 14px 16px;
      }
    }
    .summary-metric-block {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .summary-metric-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 8px;
    }
    .summary-metric-title {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 13.5px;
      font-weight: 800;
      color: var(--text-main);
    }
    .summary-metric-count {
      font-size: 13px;
      font-weight: 800;
      color: var(--brand-text);
      font-variant-numeric: tabular-nums;
    }
    .summary-metric-sub {
      font-size: 11.5px;
      color: var(--text-secondary);
      line-height: 1.35;
    }
    .conquistas-progress-track {
      width: 100%;
      height: 8px;
      background: rgba(0, 0, 0, 0.08);
      border-radius: var(--radius-full);
      overflow: hidden;
    }
    :root[data-theme="dark"] .conquistas-progress-track {
      background: rgba(255, 255, 255, 0.16);
      border: 1px solid rgba(255, 255, 255, 0.10);
      box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.35);
    }
    :root[data-theme="dark"][data-contrast="high"] .conquistas-progress-track {
      background: #262626;
      border: 1px solid #fff;
    }
    .conquistas-progress-fill {
      height: 100%;
      border-radius: var(--radius-full);
      transition: width 0.4s ease;
    }
    .conquistas-progress-fill.academic-fill {
      background: linear-gradient(90deg, var(--brand-hover), var(--brand));
    }
    .conquistas-progress-fill.extras-fill {
      background: linear-gradient(90deg, var(--brand-hover), var(--brand));
    }
    .conquistas-category-bar {
      margin-bottom: 12px;
    }
    .conquistas-tabs {
      display: flex;
      flex-wrap: wrap;
      min-width: 0;
      gap: 8px;
      padding-bottom: 4px;
    }
    .conquistas-category-bar:has(#achieve-category-tabs:empty) ~ * { visibility: hidden; }
    .conquistas-tabs .chip {
      white-space: normal;
      min-width: 0;
      max-width: 100%;
      flex: 0 1 auto;
      cursor: pointer;
    }
    .conquistas-info-note {
      font-size: 12px;
      color: var(--text-secondary);
      margin-bottom: 18px;
      line-height: 1.4;
    }
    .achieve-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      min-width: 0;
      gap: 16px;
      align-items: stretch;
    }
    .achieve-card {
      background: var(--bg-surface);
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      padding: 16px;
      display: flex;
      gap: 14px;
      align-items: flex-start;
      transition: border-color 0.15s ease, box-shadow 0.15s ease;
      position: relative;
      scroll-margin-top: 84px;
      min-width: 0;
    }
    .achieve-card.highlight-pulse {
      animation: achievePulse 2.4s cubic-bezier(0.2, 0.8, 0.2, 1);
    }
    @keyframes achievePulse {
      0% {
        box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.6);
        border-color: var(--brand);
      }
      30% {
        box-shadow: 0 0 0 8px rgba(245, 158, 11, 0.35);
        border-color: var(--brand);
      }
      100% {
        box-shadow: 0 0 0 0 rgba(245, 158, 11, 0);
      }
    }
    .achieve-card.expanded {
      grid-column: 1 / -1;
      border-color: var(--border-hover);
      box-shadow: var(--shadow-sm);
    }
    .achieve-card.unlocked {
      background: var(--bg-surface);
      border-color: rgba(34, 197, 94, 0.35);
    }
    :root[data-theme="dark"] .achieve-card.unlocked {
      border-color: rgba(34, 197, 94, 0.4);
    }
    .achieve-card.locked {
      background: var(--bg-canvas);
      border-color: var(--border);
    }
    .achieve-card-badge-wrap {
      flex-shrink:0;
      width:80px;
      height:80px;
    }
    .achieve-card-badge-wrap svg { width:80px; height:80px; }
    .achieve-card-info {
      flex:1;
      min-width:0;
    }
    .achieve-card-top {
      display:flex;
      flex-direction:row;
      flex-wrap:wrap;
      align-items:center;
      gap:3px 6px;
      margin-bottom:6px;
    }
    .achieve-card-title {
      font-size:13.5px;
      font-weight:800;
      color:var(--text-main);
      margin:0;
      line-height:1.3;
    }
    .achieve-badges-row {
      display:flex;
      align-items:center;
      gap:5px;
      flex-wrap:wrap;
    }
    .achieve-group-tag {
      font-size:10.5px;
      font-weight:700;
      padding:1.5px 6px;
      border-radius:var(--radius-pill);
      letter-spacing:0.02em;
    }
    .achieve-group-tag.academic {
      background:var(--brand-subtle);
      color:var(--brand-text);
      border:1px solid var(--brand-border);
    }
    .achieve-group-tag.extra {
      background:var(--info-bg);
      color:var(--info-text);
      border:1px solid var(--info-border);
    }
    .achieve-cat-tag {
      font-size:10.5px;
      font-weight:700;
      padding:1.5px 6px;
      border-radius:var(--radius-pill);
      background:var(--bg-subtle);
      color:var(--text-secondary);
      flex:0 0 auto;
      width:max-content;
    }
    .achieve-card-desc {
      font-size:12px;
      color:var(--text-secondary);
      line-height:1.35;
      margin:0 0 8px;
    }
    .achieve-prog-bar-wrap {
      margin-bottom:5px;
    }
    .achieve-card-prog-track {
      height:5px;
      background:var(--bg-muted);
      border-radius:3px;
      overflow:hidden;
    }
    :root[data-theme="dark"] .achieve-card-prog-track {
      background:rgba(255, 255, 255, 0.16);
      box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);
    }
    :root[data-theme="dark"][data-contrast="high"] .achieve-card-prog-track {
      background:#262626;
      border:1px solid #fff;
    }
    .achieve-card-prog-fill {
      height:100%;
      background:var(--brand);
      border-radius:3px;
      transition:width 0.3s ease;
    }
    .achieve-card.unlocked .achieve-card-prog-fill {
      background:var(--ok);
    }
    .achieve-metric-status {
      font-size:11px;
      font-weight:700;
      line-height:1.3;
    }
    .achieve-metric-status.unlocked {
      color:var(--ok-text);
    }
    .achieve-metric-status.locked {
      color:var(--text-muted);
    }
    .achieve-questions-btn {
      margin-top:9px;
      border:0;
      background:transparent;
      padding:0;
      color:var(--brand-active);
      font-size:12px;
      font-weight:800;
      cursor:pointer;
    }
    .achieve-questions-btn:hover { text-decoration:underline; }
    .achievement-filter-bar {
      display:flex;
      align-items:center;
      gap:10px;
      margin:0 0 12px;
      color:var(--text-secondary);
      font-size:13px;
    }
    .achievement-filter-bar[hidden] { display:none; }
    .achievement-filter-bar button {
      border:0;
      background:transparent;
      color:var(--brand-active);
      font-weight:700;
      cursor:pointer;
    }
    .direct-q-mode .achievement-filter-bar { display:none; }

    /* Live Achievement Celebration Toast */
    .achieve-toast {
      position:fixed;
      bottom:24px;
      right:24px;
      background:var(--bg-surface);
      border:1.5px solid var(--brand-border);
      border-radius:var(--radius-lg);
      box-shadow:0 12px 32px rgba(180, 83, 9, 0.14), 0 4px 12px rgba(0, 0, 0, 0.06);
      padding:16px 18px;
      display:flex;
      align-items:flex-start;
      gap:15px;
      z-index:1000;
      width:410px;
      max-width:calc(100% - 32px);
      transform:translateY(12px);
      visibility:hidden;
      opacity:0;
      transition:transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
      pointer-events:none;
    }
    .achieve-toast.show {
      visibility:visible;
      transform:translateY(0);
      opacity:1;
      pointer-events:auto;
    }
    @media (prefers-reduced-motion:reduce) {
      .achieve-toast { transition:opacity 0.2s ease; transform:none !important; }
    }
    .achieve-toast-art-wrap {
      position:relative;
      flex-shrink:0;
    }
    .achieve-toast-badge {
      width:64px;
      height:64px;
      border-radius:var(--radius-md);
      background:linear-gradient(135deg, var(--brand-bg), var(--brand-subtle));
      border:2px solid var(--brand-border);
      box-shadow:0 2px 8px rgba(245, 158, 11, 0.2);
      display:flex;
      align-items:center;
      justify-content:center;
      overflow:hidden;
      transition:transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    }
    .achieve-toast.show .achieve-toast-badge {
      animation:badgePop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) backwards;
    }
    @keyframes badgePop {
      0% { transform:scale(0.6) rotate(-8deg); }
      70% { transform:scale(1.1) rotate(3deg); }
      100% { transform:scale(1) rotate(0deg); }
    }
    .achieve-toast-badge svg {
      width:58px;
      height:58px;
    }
    .achieve-toast-badge img {
      display:block;
      width:100%;
      height:100%;
      object-fit:cover;
    }
    .achieve-toast-fallback { color:var(--brand-text); font-size:34px; line-height:1; }
    .achieve-toast-sparkles {
      position:absolute;
      top:-6px;
      right:-6px;
      font-size:13px;
      pointer-events:none;
      filter:drop-shadow(0 1px 2px rgba(245, 158, 11, 0.4));
    }
    .achieve-toast-content {
      flex:1;
      min-width:0;
      display:flex;
      flex-direction:column;
      gap:3px;
    }
    .achieve-toast-tag {
      font-size:11px;
      font-weight:800;
      color:var(--brand-hover);
      text-transform:uppercase;
      letter-spacing:0.06em;
      display:flex;
      align-items:center;
      gap:4px;
    }
    .achieve-toast-title {
      font-size:15px;
      font-weight:800;
      color:var(--text-main);
      margin:0;
      line-height:1.3;
    }
    .achieve-toast-sub {
      font-size:12.5px;
      color:var(--text-secondary);
      margin:0 0 6px;
      line-height:1.4;
    }
    .achieve-toast-actions {
      display:flex;
      align-items:center;
      gap:8px;
      margin-top:2px;
    }
    .achieve-toast-actions .btn.sm {
      padding:5px 14px;
      font-size:12px;
      font-weight:700;
      border-radius:var(--radius-sm);
    }
    .achieve-toast-close {
      position:absolute;
      top:10px;
      right:12px;
      background:none;
      border:none;
      color:var(--text-muted);
      cursor:pointer;
      font-size:15px;
      padding:4px;
      line-height:1;
      border-radius:4px;
      transition:all 0.12s;
    }
    .achieve-toast-close:hover {
      background:var(--bg-muted);
      color:var(--text-main);
    }

    /* Mobile Adaptations */
    @media (max-width:768px) {
      .search-wrap { max-width:100%; min-width:100%; }
      .f-row { flex-direction:column; gap:6px; }
      .f-label { flex:none; width:100%; padding-top:0; }
      .toolbar-integrated { flex-direction:column; align-items:stretch; gap:10px; }
      .toolbar-left { justify-content:space-between; }
      .toolbar-right { justify-content:center; }
      .q-card { padding:18px 16px 16px; }
      .q-head-row { flex-wrap:wrap; }
      .q-actions-cluster { margin-left:0; width:100%; }
      .q-actions-cluster .btn-card-action { flex:1 1 0; justify-content:center; padding:0 6px; font-size:11.5px; }
      .q-actions-cluster .btn-card-action.icon-only { flex:0 0 36px; padding:0; }
      .achieve-toast { right:12px; left:12px; bottom:12px; width:auto; max-width:calc(100% - 24px); }
    }

    /* ───────────── DETALHES DE PROGRESSO DAS CONQUISTAS ───────────── */
    .achieve-card-actions {
      display: flex;
      flex-direction: column;
      gap: 6px;
      margin-top: 8px;
    }
    .achieve-card-buttons-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      flex-wrap: wrap;
    }
    .achieve-expand-btn {
      border: 0;
      background: transparent;
      padding: 2px 0;
      color: var(--text-secondary);
      font-size: 11.5px;
      font-weight: 700;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      gap: 4px;
      transition: color 0.15s ease;
    }
    .achieve-expand-btn:hover {
      color: var(--brand-text);
      text-decoration: underline;
    }
    .achieve-action-cta {
      border: 0;
      background: transparent;
      padding: 2px 0;
      color: var(--brand-active);
      font-size: 12px;
      font-weight: 800;
      cursor: pointer;
      text-align: left;
      display: inline-flex;
      align-items: center;
      gap: 4px;
      transition: opacity 0.15s ease;
    }
    .achieve-action-cta:hover {
      text-decoration: underline;
    }
    .achieve-card-detail {
      margin-top: 10px;
      padding-top: 10px;
      border-top: 1px dashed var(--border);
      display: flex;
      flex-direction: column;
      gap: 8px;
      font-size: 12px;
      animation: fadeInDetail 0.2s ease;
    }
    @keyframes fadeInDetail {
      from { opacity: 0; transform: translateY(-4px); }
      to { opacity: 1; transform: translateY(0); }
    }
    @media (prefers-reduced-motion: reduce) {
      .achieve-card-detail { animation: none !important; }
    }

    /* 1. Cobertura por Ano (Viajante no tempo) */
    .achieve-years-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(70px, 1fr));
      gap: 6px;
      margin: 6px 0 10px;
    }
    .year-pill {
      font-size: 11.5px;
      font-weight: 700;
      padding: 4px 6px;
      border-radius: var(--radius-sm);
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      letter-spacing: 0.02em;
    }
    .year-pill.done {
      background: rgba(34, 197, 94, 0.12);
      color: var(--ok-text);
      border: 1px solid rgba(34, 197, 94, 0.3);
    }
    .year-pill.neutral {
      background: var(--bg-surface);
      color: var(--text-secondary);
      border: 1px solid var(--border);
    }
    :root[data-theme="dark"] .year-pill.done {
      background: rgba(34, 197, 94, 0.2);
      color: #86efac;
    }

    /* 2. Cobertura por Área (Polímata, Caçador de Gráficos, etc.) */
    .area-prog-rows {
      display: flex;
      flex-direction: column;
      gap: 6px;
      margin: 6px 0 10px;
    }
    .area-prog-row {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 11.5px;
    }
    .area-prog-name {
      width: 80px;
      flex-shrink: 0;
      font-weight: 700;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .area-prog-track {
      flex: 1;
      height: 6px;
      background: var(--bg-muted);
      border-radius: var(--radius-full);
      overflow: hidden;
    }
    :root[data-theme="dark"] .area-prog-track {
      background: rgba(255, 255, 255, 0.15);
    }
    .area-prog-fill {
      height: 100%;
      background: var(--brand);
      border-radius: var(--radius-full);
      transition: width 0.3s ease;
    }
    .area-prog-row.done .area-prog-fill {
      background: var(--ok);
    }
    .area-prog-val {
      font-size: 11px;
      font-weight: 700;
      font-variant-numeric: tabular-nums;
      flex-shrink: 0;
      min-width: 48px;
      text-align: right;
    }

    /* 3. Requisitos Compostos (Topic achievements) */
    .composite-metrics-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      margin: 6px 0 10px;
    }
    .composite-metric-tile {
      background: var(--bg-canvas);
      border: 1px solid var(--border);
      border-radius: var(--radius-sm);
      padding: 8px 10px;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .composite-metric-tile.done {
      border-color: rgba(34, 197, 94, 0.35);
      background: rgba(34, 197, 94, 0.05);
    }
    .composite-tile-label {
      font-size: 10.5px;
      font-weight: 700;
      color: var(--text-secondary);
      text-transform: uppercase;
      letter-spacing: 0.03em;
    }
    .composite-tile-val {
      font-size: 13.5px;
      font-weight: 800;
      color: var(--text-main);
      font-variant-numeric: tabular-nums;
    }
    .composite-tile-sub {
      font-size: 11px;
      color: var(--text-muted);
    }

    /* Hierarquia Limpa de Passos & Explicação */
    .achieve-step-section {
      margin-bottom: 8px;
    }
    .achieve-step-label {
      font-size: 11px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--text-muted);
      margin-bottom: 4px;
    }
    .achieve-step-summary {
      margin-top: 4px;
      margin-bottom: 8px;
    }
    .achieve-step-guide {
      background: var(--bg-canvas);
      border: 1px solid var(--border);
      border-radius: var(--radius-sm);
      padding: 8px 12px;
      display: flex;
      flex-direction: column;
      gap: 3px;
      font-size: 12px;
      line-height: 1.4;
    }
    .achieve-step-guide .guide-title {
      font-weight: 800;
      color: var(--text-main);
      font-size: 11.5px;
      text-transform: uppercase;
      letter-spacing: 0.03em;
    }
    .achieve-step-guide .guide-text {
      color: var(--text-secondary);
    }
    .achieve-detail-cta-wrap {
      margin-top: 6px;
      display: flex;
    }
    .achieve-detail-cta-wrap .achieve-action-cta {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 6px 12px;
      font-weight: 700;
      font-size: 12px;
      border-radius: var(--radius-sm);
    }

    /* 4. Coroas de Área */
    .crown-peer-list {
      display: flex;
      flex-direction: column;
      gap: 4px;
      max-height: 170px;
      overflow-y: auto;
      padding-right: 4px;
      margin: 4px 0 6px;
    }
    .crown-peer-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 6px;
      padding: 4px 6px;
      border-radius: var(--radius-sm);
      background: var(--bg-canvas);
      font-size: 11px;
    }
    .crown-peer-item.done {
      color: var(--text-secondary);
    }
    .crown-peer-item.pending {
      font-weight: 700;
      border: 1px dashed var(--border);
    }
    .crown-peer-title {
      flex: 1;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .crown-peer-prog {
      font-weight: 800;
      font-variant-numeric: tabular-nums;
    }

    /* 5. Mestre Máximo Breakdown */
    .supreme-breakdown-grid {
      display: flex;
      flex-direction: column;
      gap: 5px;
      margin: 4px 0 6px;
    }
    .supreme-cat-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 6px;
      padding: 4px 6px;
      border-radius: var(--radius-sm);
      background: var(--bg-canvas);
      font-size: 11.5px;
    }
    .supreme-cat-name {
      font-weight: 700;
      display: flex;
      align-items: center;
      gap: 5px;
    }
    .supreme-crown-icon {
      font-size: 12px;
      line-height: 1;
    }

    /* 6. Erros e Simulados */
    .errors-stats-row {
      display: flex;
      gap: 8px;
      margin: 4px 0 6px;
    }
    .errors-chip {
      flex: 1;
      background: var(--bg-canvas);
      border: 1px solid var(--border);
      border-radius: var(--radius-sm);
      padding: 6px 8px;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .errors-chip-num {
      font-size: 13px;
      font-weight: 800;
      font-variant-numeric: tabular-nums;
    }
    .errors-chip-label {
      font-size: 10.5px;
      color: var(--text-secondary);
    }

    /* ───────────── BANNER COMEMORATIVO NO MODAL ───────────── */
    .achieve-ceremony-banner {
      background: linear-gradient(135deg, rgba(245, 158, 11, 0.18), rgba(217, 119, 6, 0.12));
      border: 1.5px solid var(--brand-border);
      border-radius: var(--radius-md);
      padding: 12px 16px;
      margin-bottom: 16px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }
    .achieve-ceremony-banner[hidden] { display:none; }
    @media (max-width: 600px) {
      .achieve-ceremony-banner {
        flex-direction: column;
        align-items: flex-start;
      }
    }
    .ceremony-banner-content {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .ceremony-banner-icon {
      font-size: 24px;
      flex-shrink: 0;
    }
    .ceremony-banner-sub {
      font-size: 12px;
      color: var(--text-secondary);
      margin-top: 2px;
    }

    /* ───────────── MODAL CERIMÔNIA 100% ACADÊMICA ───────────── */
    .ceremony-modal-box {
      max-width: 580px;
      width: 95%;
      max-height: calc(100dvh - 40px);
      border-radius: var(--radius-lg);
      background: var(--bg-surface);
      border: 2px solid var(--brand);
      box-shadow: 0 20px 60px rgba(180, 83, 9, 0.25), 0 4px 16px rgba(0, 0, 0, 0.1);
      position: relative;
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }
    .ceremony-gold-glow {
      position: absolute;
      top: -100px;
      left: 50%;
      transform: translateX(-50%);
      width: 400px;
      height: 250px;
      background: radial-gradient(circle, rgba(245, 158, 11, 0.22) 0%, rgba(245, 158, 11, 0) 70%);
      pointer-events: none;
      z-index: 0;
    }
    .ceremony-head {
      padding: 16px 20px 8px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      position: relative;
      z-index: 1;
    }
    .ceremony-badge-ribbon {
      font-size: 11px;
      font-weight: 900;
      letter-spacing: 0.08em;
      color: var(--brand-hover);
      text-transform: uppercase;
      background: var(--brand-subtle);
      border: 1px solid var(--brand-border);
      padding: 4px 10px;
      border-radius: var(--radius-pill);
    }
    .ceremony-body {
      padding: 8px 24px 20px;
      flex: 1 1 auto;
      min-height: 0;
      overflow-y: auto;
      position: relative;
      z-index: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
    }
    .ceremony-art-wrap {
      margin: 4px 0 12px;
      display: flex;
      justify-content: center;
    }
    .ceremony-mascot-art {
      width:210px;
      height:210px;
      max-width:100%;
      object-fit:contain;
      border-radius:0;
      background:transparent;
      filter:drop-shadow(0 6px 12px rgba(0, 0, 0, 0.16));
    }
    .ceremony-title {
      font-size: 22px;
      font-weight: 900;
      color: var(--text-main);
      margin: 0 0 6px;
      line-height: 1.25;
    }
    .ceremony-lead {
      font-size: 14.5px;
      color: var(--brand-text);
      margin: 0 0 10px;
    }
    .ceremony-msg {
      font-size: 13px;
      line-height: 1.5;
      color: var(--text-secondary);
      margin: 0 0 16px;
      max-width: 460px;
    }
    .ceremony-stats-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      width: 100%;
      margin-bottom: 16px;
    }
    .ceremony-stat-card {
      background: var(--bg-canvas);
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      padding: 10px 8px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 3px;
    }
    .ceremony-stat-card.highlight {
      border-color: var(--brand-border);
      background: var(--brand-bg);
    }
    .ceremony-stat-val {
      font-size: 16px;
      font-weight: 900;
      color: var(--brand-hover);
      font-variant-numeric: tabular-nums;
    }
    .ceremony-stat-lbl {
      font-size: 10.5px;
      color: var(--text-secondary);
      font-weight: 700;
      line-height: 1.2;
    }
    .ceremony-footer {
      padding: 14px 24px;
      background: var(--bg-canvas);
      border-top: 1px solid var(--border);
      display: flex;
      justify-content: flex-end;
      align-items: center;
      gap: 8px;
      position: relative;
      z-index: 1;
    }
    @media (max-width: 500px) {
      .ceremony-footer {
        flex-direction: column;
      }
      .ceremony-footer .btn {
        width: 100%;
      }
      .ceremony-stats-grid {
        grid-template-columns: 1fr;
      }
    }

    .taxonomy-migration-alert {
      display: flex;
      align-items: flex-start;
      gap: 14px;
      margin: 16px 0;
      padding: 16px 18px;
      border: 2px solid #fecaca;
      border-left-width: 8px;
      border-radius: 10px;
      background: #991b1b;
      color: #fff;
      box-shadow: 0 3px 12px rgb(127 29 29 / 22%);
    }
    .taxonomy-migration-alert-icon {
      display: grid;
      width: 28px;
      height: 28px;
      flex: 0 0 28px;
      place-items: center;
      border: 2px solid currentColor;
      border-radius: 50%;
      font-size: 19px;
      font-weight: 900;
      line-height: 1;
    }
    .taxonomy-migration-alert strong,
    .taxonomy-migration-alert span:not(.taxonomy-migration-alert-icon) {
      display: block;
      color: inherit;
    }
    .taxonomy-migration-alert strong { font-size: 15px; line-height: 1.35; }
    .taxonomy-migration-alert span:not(.taxonomy-migration-alert-icon) { margin-top: 4px; font-size: 13px; line-height: 1.45; }

/* Trilha acadêmica V2: conteúdo, metas e próximos passos. */
.achieve-area-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:20px 0 14px; }
.achieve-section-heading { margin:22px 0 -8px; font-size:15px; color:var(--text-main); }
.achieve-area-tile { display:flex; flex-direction:column; gap:6px; padding:14px; background:var(--bg-surface); border:1px solid var(--border); border-radius:10px; color:var(--text-main); }
.achieve-area-tile strong { font-size:14px; line-height:1.35; }
.achieve-area-tile span { font-size:13px; line-height:1.5; }
.achieve-area-tile small { color:var(--text-secondary); line-height:1.5; }
.achieve-next-step { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px; border:1px solid var(--brand-border); border-radius:12px; background:var(--brand-bg); margin:14px 0; }
.achieve-next-step h3 { color:var(--text-main); font-size:18px; margin:5px 0; }
.achieve-next-step p { color:var(--text-secondary); margin:5px 0; font-size:13px; line-height:1.6; }
.achieve-next-progress { display:flex; flex-direction:column; gap:3px; margin:10px 0 !important; color:var(--text-main) !important; }
.achieve-next-progress strong { font-size:14px; }
.achieve-next-progress span { font-size:12px; }
.achieve-next-step .btn { flex:0 0 auto; min-height:44px; }
.achieve-next-label { color:var(--brand-text); font-size:12px; font-weight:800; }
.achieve-migration-note,.achieve-target-caption { color:var(--text-secondary); font-size:12px; line-height:1.6; }
.achieve-grid .achieve-card { align-items:flex-start; }
.achieve-grid .achieve-card-info { min-width:0; width:100%; }
.achieve-card-detail[hidden] { display:none; }
.achieve-grid .achieve-card-detail { padding-top:12px; }
.achieve-card-summary { display:flex; flex-direction:column; gap:4px; margin:8px 0; color:var(--text-secondary); font-size:13px; line-height:1.5; }
.achieve-card-summary strong { color:var(--text-main); font-size:14px; }
.achieve-card-summary .achieve-complete-label { color:var(--ok-text); }
.achieve-summary-metrics { display:grid; grid-template-columns:minmax(0,1fr); gap:0; margin:0; }
.achieve-summary-metrics > div { display:grid; grid-template-columns:minmax(76px,.38fr) minmax(0,1fr); align-items:baseline; gap:4px 8px; min-width:0; padding:6px 0; border-bottom:1px solid var(--border); }
.achieve-summary-metrics > div:last-child { border-bottom:0; }
.achieve-summary-metrics dt { color:var(--text-secondary); font-size:12px; font-weight:700; }
.achieve-summary-metrics dd { margin:0; color:var(--text-main); font-size:13px; font-weight:700; overflow-wrap:anywhere; }
.achieve-summary-metrics small { display:block; margin-top:1px; color:var(--text-secondary); font-size:11px; }
.achieve-card-primary-action { display:flex; flex-wrap:wrap; gap:8px; }
.achieve-card-primary-action .btn { min-height:42px; }
.achieve-language-cta { display:flex; flex-wrap:wrap; align-items:center; gap:8px; color:var(--text-secondary); font-size:13px; }
.achieve-card-actions { align-items:flex-start; }
.achieve-card-actions .achieve-expand-btn { min-height:40px; padding-inline:4px; }
.achieve-detail-section h4 { font-size:13px; color:var(--text-main); margin:12px 0 8px; }
.achieve-detail-section p { font-size:13px; line-height:1.65; color:var(--text-secondary); }
.achieve-checks { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.achieve-checks li { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:start; gap:4px 8px; padding:9px 0; border-bottom:1px solid var(--border); font-size:13px; color:var(--text-main); line-height:1.5; }
.achieve-checks li:last-child { border-bottom:0; }
.achieve-checks li > span:nth-child(2) { display:flex; flex-direction:column; gap:2px; }
.achieve-checks li strong { font-size:13px; white-space:normal; }
.achieve-checks li small { color:var(--text-secondary); font-size:12px; }
.achieve-check-icon { width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--border); border-radius:50%; font-weight:800; }
.achieve-checks .is-done .achieve-check-icon { border-color:var(--ok-border); color:var(--ok-text); }
.achieve-unlocked-note,.achieve-legacy-note { padding:10px 12px; background:var(--bg-subtle); border-radius:8px; }
.achieve-progress-list,.achieve-topic-list { list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.achieve-progress-list li,.achieve-topic-list li { min-width:0; padding:9px 11px; border:1px solid var(--border); border-radius:8px; display:grid; gap:3px; color:var(--text-main); }
.achieve-progress-list li > strong { color:var(--text-secondary); font-size:11px; letter-spacing:.03em; }
.achieve-progress-list li > span { font-size:14px; }
.achieve-progress-list li > small,.achieve-topic-list small { color:var(--text-secondary); font-size:12px; line-height:1.5; }
.achieve-topic-list li { grid-template-columns:auto minmax(0,1fr); align-items:start; gap:7px; }
.achieve-topic-list li.is-done > span:first-child { color:var(--ok-text); font-weight:800; }
.achieve-topic-hint,.achieve-legacy-note { color:var(--text-secondary); font-size:12px !important; line-height:1.6; }
.achieve-simulation-edition { font-weight:700; color:var(--text-main) !important; }
.achieve-detail-section > ul:not(.achieve-checks):not(.achieve-progress-list):not(.achieve-topic-list) { padding-left:20px; line-height:1.7; }
.achieve-scope { margin:14px 0; color:var(--text-secondary); font-size:12px; }
.achieve-scope summary { cursor:pointer; min-height:32px; }
.achieve-scope ul { padding-left:18px; line-height:1.7; }
.achieve-detail-cta-wrap { display:flex; flex-wrap:wrap; gap:8px; }
.achieve-expand-btn:focus-visible,.achieve-scope summary:focus-visible,.achieve-card a:focus-visible,.achieve-next-step a:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.achieve-grid .achieve-expand-btn { min-height:40px; }
.achieve-grid .achieve-metric-status { line-height:1.6; }
@media(max-width:900px) { .achieve-area-overview { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px) { .achieve-next-step { align-items:stretch; flex-direction:column; padding:14px; } .achieve-area-overview { gap:8px; } .achieve-area-tile { padding:10px; } .achieve-area-tile span { font-size:12px; } .achieve-checks li { grid-template-columns:auto minmax(0,1fr); } .achieve-checks li > b { grid-column:2; } .achieve-checks li strong { white-space:normal; } }
@media(prefers-reduced-motion:reduce) { .achieve-card,.achieve-card-prog-fill { transition:none; animation:none; } }
.achieve-grid .achieve-card { min-height:0; }
.achieve-grid .achieve-card.locked .achieve-card-info { display:flex; flex-direction:column; align-self:stretch; }
.achieve-grid .achieve-card.locked .achieve-card-actions { margin-top:0; padding-top:0; }
.achieve-grid .achieve-card-actions { flex-direction:row; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:6px 12px; }
.achieve-card-expand-hint { color:var(--text-muted); font-size:11px; font-weight:700; white-space:nowrap; }
.achieve-card:hover .achieve-card-expand-hint { color:var(--brand-text); }
.achieve-group-heading { grid-column:1 / -1; margin:12px 0 -6px; color:var(--text-main); font-size:17px; }
.achieve-grid .achieve-card.unlocked { padding:10px 12px; gap:14px; align-items:center; }
.achieve-grid .achieve-card.unlocked .achieve-card-badge-wrap,
.achieve-grid .achieve-card.unlocked .achieve-card-badge-wrap svg { width:84px; height:84px; }
.achieve-grid .achieve-card-badge-wrap image { filter:saturate(.88); }
.achieve-grid .achieve-card.unlocked .achieve-card-top { align-items:center; gap:3px 6px; margin:0 0 2px; }
.achieve-grid .achieve-card.unlocked .achieve-card-title { font-size:13.5px; }
.achieve-card-check { display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; border:1px solid var(--ok-border); border-radius:50%; color:var(--ok-text); font-size:11px; font-weight:800; flex:none; }
.achieve-grid .achieve-card.unlocked .achieve-card-desc { margin:0; font-size:11.5px; line-height:1.25; }
.achieve-grid .achieve-card.unlocked .achieve-card-actions { margin:3px 0 0; }
.achieve-grid .achieve-card.unlocked .achieve-card-primary-action .btn { display:inline-flex; min-height:0; padding:0; border:0; background:transparent; color:var(--brand-active) !important; font-size:11.5px; font-weight:700; box-shadow:none; }
:root[data-theme="dark"] .achieve-grid .achieve-card.unlocked .achieve-card-primary-action .btn { color:#fcd34d !important; }
.achieve-grid .achieve-card.unlocked .achieve-card-primary-action .btn:hover { text-decoration:underline; }
.achieve-grid .achieve-card.unlocked .achieve-card-primary-action .btn::after { content:' ↗'; white-space:pre; }
.achieve-card-open { position:absolute; inset:0; z-index:1; border:0; border-radius:inherit; background:transparent; cursor:pointer; }
.achieve-card-open:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.achieve-card-zoom { position:relative; z-index:2; display:block; padding:0; border:0; border-radius:14px; background:transparent; cursor:zoom-in; appearance:none; }
.achieve-card-zoom svg { display:block; }
.achieve-card-zoom:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.achieve-card-primary-action a,.achieve-card-primary-action button,.achieve-card-detail { position:relative; z-index:2; }
.achieve-grid .achieve-card.expanded { align-items:flex-start; }
.achieve-card-detail[hidden] { display:none; }
.achieve-card-extra .achieve-cat-tag { display:none; }
.achieve-card-prog-track { height:6px; }
.achieve-grid .achieve-card.locked .achieve-prog-bar-wrap { margin-top:8px; }
.achieve-grid .achieve-card.locked .achieve-card-summary { margin:auto 0 7px; }
.achieve-grid .achieve-card.locked .achieve-card-summary strong { font-size:12px; }
.achieve-grid .achieve-card.locked .achieve-card-summary span { font-size:11px; }
.achieve-area-tile { min-width:0; overflow-wrap:anywhere; }
.achieve-next-step > div { min-width:0; }
.achieve-checks strong { overflow-wrap:anywhere; }
@media(max-width:360px) { .achieve-area-overview { grid-template-columns:minmax(0,1fr); } }
@media(max-width:520px) {
  .achieve-grid { grid-template-columns:minmax(0,1fr); }
  .achieve-grid .achieve-card { display:grid; grid-template-columns:72px minmax(0,1fr); gap:8px 12px; }
  .achieve-grid .achieve-card-badge-wrap { width:72px; height:72px; grid-column:1; grid-row:1; }
  .achieve-grid .achieve-card-badge-wrap svg { width:72px; height:72px; }
  .achieve-grid .achieve-card-info { display:contents; }
  .achieve-grid .achieve-card-info > * { grid-column:1 / -1; min-width:0; }
  .achieve-grid .achieve-card-info > .achieve-card-top { grid-column:2; grid-row:1; }
  .achieve-summary-metrics > div { grid-template-columns:minmax(68px,.34fr) minmax(0,1fr); }
  .achieve-grid .achieve-card.unlocked { display:flex; }
  .achieve-grid .achieve-card.unlocked .achieve-card-badge-wrap,
  .achieve-grid .achieve-card.unlocked .achieve-card-badge-wrap svg { width:72px; height:72px; }
  .achieve-grid .achieve-card.unlocked .achieve-card-info { display:block; }
  .achieve-grid .achieve-card.locked .achieve-card-info { display:contents; }
  .achieve-grid .achieve-card.locked .achieve-card-summary { margin:7px 0; }
}

/* css/statistics.css - Estilos para a página de Estatísticas do Macaco do ENEM */

.stats-container {
  max-width: 1080px;
  margin: 0 auto;
  padding: 24px 16px 0;
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
  width: 100%;
}
/* Header & Switch Principal (Dois Grandes Blocos) */
.stats-header {
  margin-bottom: 0;
}
.stats-header-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 16px;
}
.stats-title-group :is(h1,h2) {
  font-size: 26px;
  font-weight: 800;
  color: var(--text-main);
  letter-spacing: -0.02em;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}
.stats-subtitle {
  font-size: 14px;
  color: var(--text-secondary);
  max-width: 680px;
  line-height: 1.5;
}

/* Toggle dos Dois Grandes Blocos */
.stats-main-toggle {
  display: inline-flex;
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  padding: 3px;
  border-radius: var(--radius-pill);
  gap: 2px;
}
.stats-toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 16px;
  border-radius: var(--radius-pill);
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary);
  border: none;
  background: transparent;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.stats-toggle-btn:hover {
  color: var(--text-main);
}
.stats-toggle-btn.active {
  background: var(--bg-surface);
  color: var(--text-main);
  font-weight: 700;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
:root[data-theme="dark"] .stats-toggle-btn.active {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

/* Sub-navegação / Abas de Progressive Disclosure */
.stats-subnav {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 8px;
  margin-bottom: 0;
  border-bottom: 1px solid var(--border);
  scrollbar-width: none;
}
.stats-container > #ad-stats-top {
  margin: 16px 0;
}
.stats-subnav::-webkit-scrollbar {
  display: none;
}
.stats-tab-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: var(--radius-pill);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-secondary);
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: all 0.12s ease;
}
.stats-tab-btn:hover {
  background: var(--bg-subtle);
  color: var(--text-main);
}
.stats-tab-btn.active {
  background: var(--bg-surface);
  border-color: var(--border-hover);
  color: var(--text-main);
  font-weight: 700;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

/* Grid de Métricas Principais (Overview) */
.stats-metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
  gap: 12px;
  margin-bottom: 24px;
}
.stats-metric-card {
  min-width: 0;
  background: var(--bg-surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-shadow: var(--shadow-sm);
}
.stats-metric-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.stats-metric-value {
  font-size: 26px;
  font-weight: 800;
  color: var(--text-main);
  line-height: 1.1;
}
.stats-metric-sub {
  font-size: 12px;
  color: var(--text-secondary);
}

/* Seções e Cards de Conteúdo */
.stats-section {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.stats-card {
  background: var(--bg-surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  padding: 20px;
  box-shadow: var(--shadow-sm);
}
.stats-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 16px;
}
.stats-card-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-main);
  display: flex;
  align-items: center;
  gap: 8px;
}
.stats-card-desc {
  font-size: 13px;
  color: var(--text-secondary);
  margin-top: 2px;
}

/* Barra de Filtros Internos (Áreas / Período) */
.stats-filter-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.stats-filter-chip {
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  font-size: 11.5px;
  font-weight: 600;
  color: var(--text-secondary);
  border: 1px solid var(--border);
  background: var(--bg-subtle);
  cursor: pointer;
  transition: all 0.12s ease;
}
.stats-filter-chip:hover {
  border-color: var(--border-hover);
  color: var(--text-main);
}
.stats-filter-chip.active {
  background: var(--bg-surface);
  border-color: var(--border-hover);
  color: var(--text-main);
  font-weight: 700;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.stats-report-filters,
.stats-personal-filters {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 16px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  background: var(--bg-subtle);
}
.stats-personal-filters {
  align-items: center;
  margin-bottom: 0;
}
.stats-personal-filters > div:first-child {
  flex: 1 1 260px;
}
.stats-report-filters label,
.stats-personal-filters label,
.stats-scope-select-label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 700;
}
.stats-scope-select {
  min-width: 150px;
  max-width: 100%;
  padding: 7px 30px 7px 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg-surface);
  color: var(--text-main);
  font: inherit;
}
.stats-report-result-count {
  margin-left: auto;
  color: var(--text-muted);
  font-size: 12px;
}

/* Gráficos de Barras Horizontais */
.stats-bar-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.stats-bar-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.stats-bar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}
.stats-bar-label {
  font-weight: 600;
  color: var(--text-main);
}
.stats-bar-val {
  font-weight: 700;
  color: var(--text-secondary);
}
.stats-bar-track {
  width: 100%;
  height: 8px;
  background: var(--bg-subtle);
  border-radius: var(--radius-pill);
  overflow: hidden;
  position: relative;
}
.stats-bar-fill {
  height: 100%;
  background: var(--brand);
  border-radius: var(--radius-pill);
  transition: width 0.3s ease;
}
.stats-bar-fill.accent-blue { background: #3b82f6; }
.stats-bar-fill.accent-green { background: #10b981; }
.stats-bar-fill.accent-purple { background: #8b5cf6; }
.stats-bar-fill.accent-amber { background: #f59e0b; }

/* Tabela de Rankings ("O que mais cai") */
.stats-ranking-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.stats-ranking-table th {
  text-align: left;
  padding: 8px 12px;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border-bottom: 1px solid var(--border);
}
.stats-ranking-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--border);
  vertical-align: middle;
}
.stats-ranking-table tr:last-child td {
  border-bottom: none;
}
.stats-ranking-table tr:hover td {
  background: var(--bg-subtle);
}
.ranking-pos {
  font-weight: 700;
  color: var(--text-muted);
  font-size: 12px;
  width: 32px;
}
.ranking-topic-title {
  font-weight: 600;
  color: var(--text-main);
}
.ranking-topic-sub {
  font-size: 11.5px;
  color: var(--text-muted);
}
.ranking-count {
  font-weight: 700;
  color: var(--text-main);
  white-space: nowrap;
}
.ranking-dif-badge {
  display: inline-block;
  padding: 2px 7px;
  border-radius: var(--radius-sm);
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.ranking-dif-badge.facil { background: var(--ok-bg); color: var(--ok-text); }
.ranking-dif-badge.media { background: var(--bg-subtle); color: var(--text-secondary); border: 1px solid var(--border); }
.ranking-dif-badge.dificil { background: #fff7ed; color: #c2410c; border: 1px solid #ffedd5; }
.ranking-dif-badge.muito-dificil { background: var(--bad-bg); color: var(--bad-text); border: 1px solid var(--bad-border); }

/* Ações e Links diretos para Questões */
.stats-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  font-size: 12px;
  font-weight: 600;
  color: var(--text-main);
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  text-decoration: none;
  cursor: pointer;
  transition: all 0.12s ease;
  white-space: nowrap;
}
.stats-action-btn:hover {
  background: var(--bg-muted);
  border-color: var(--border-hover);
}
.stats-action-btn.primary {
  background: var(--brand);
  border-color: var(--brand);
  color: var(--button-text, #0f172a);
  font-weight: 700;
}
.stats-action-btn.primary:hover {
  background: var(--brand-hover);
  border-color: var(--brand-hover);
  color: var(--button-text, #0f172a);
}
:root[data-theme="dark"] .stats-action-btn.primary {
  background: var(--brand);
  border-color: var(--brand);
  color: #0f172a;
}
:root[data-theme="dark"] .stats-action-btn.primary:hover {
  background: #fde047;
  border-color: #fde047;
  color: #000000;
}

/* Cards de Habilidade Oficial */
.stats-hab-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 14px;
}
.stats-hab-card {
  background: var(--bg-surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: var(--shadow-sm);
  transition: border-color 0.15s ease;
}
.stats-hab-card:hover {
  border-color: var(--border-hover);
}
.stats-hab-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.stats-hab-code-pill {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: var(--radius-sm);
  font-size: 12px;
  font-weight: 800;
  background: var(--bg-subtle);
  border: 1px solid var(--border-hover);
  color: var(--text-main);
}
.stats-hab-comp {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-muted);
}
.stats-hab-desc {
  font-size: 13px;
  line-height: 1.45;
  color: var(--text-main);
}
.stats-hab-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 8px;
  border-top: 1px solid var(--border);
  font-size: 12px;
}
.stats-hab-count {
  font-weight: 700;
  color: var(--text-secondary);
}
.stats-hab-subtopics {
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: var(--bg-subtle);
  padding: 8px 10px;
  border-radius: var(--radius-sm);
  font-size: 11.5px;
}
.stats-hab-subtopics-title {
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: 10.5px;
}

/* Nota Pedagógica / Transparência */
.stats-notice-box {
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 14px 16px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 12.5px;
  color: var(--text-secondary);
  line-height: 1.5;
}
.stats-notice-icon {
  font-size: 18px;
  flex-shrink: 0;
  line-height: 1;
}

/* Estado Vazio de Desempenho Pessoal */
.stats-empty-state {
  text-align: center;
  padding: 48px 20px;
  background: var(--bg-surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  max-width: 540px;
  margin: 20px auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.stats-empty-icon {
  font-size: 42px;
}
.stats-empty-title {
  font-size: 18px;
  font-weight: 800;
  color: var(--text-main);
}
.stats-empty-desc {
  font-size: 13.5px;
  color: var(--text-secondary);
  line-height: 1.5;
}

/* Cards de Recomendação e Reforço */
.stats-recommend-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
}
.stats-recommend-card {
  background: var(--bg-surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
}
.stats-recommend-card.needs-work {
  border-left: 4px solid var(--bad);
}
.stats-recommend-card.solid {
  border-left: 4px solid var(--ok);
}

/* Responsividade Mobile */
@media (max-width: 640px) {
  .stats-container {
    padding: 16px 12px 0;
  }
  .stats-header-top {
    flex-direction: column;
    align-items: stretch;
  }
  .stats-main-toggle {
    width: 100%;
    display: flex;
  }
  .stats-toggle-btn {
    flex: 1;
    justify-content: center;
  }

  /* Os rótulos completos precisam caber também em telas de 320 CSS px. */
  @media (max-width: 360px) {
    .stats-main-toggle {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
    }
    .stats-toggle-btn {
      min-width: 0;
      justify-content: flex-start;
      white-space: normal;
      text-align: left;
    }
  }
  .stats-subnav {
    margin-left: -12px;
    margin-right: -12px;
    padding-left: 12px;
    padding-right: 12px;
    padding-bottom: 8px;
    gap: 6px;
    -webkit-overflow-scrolling: touch;
  }
  .stats-tab-btn {
    flex-shrink: 0;
    padding: 7px 12px;
    font-size: 12px;
  }
  .stats-metrics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .stats-hab-grid {
    grid-template-columns: 1fr;
  }
  .stats-ranking-table {
    display: block;
    overflow-x: auto;
  }
  .stats-report-filters label,
  .stats-personal-filters label {
    flex: 1 1 100%;
    justify-content: space-between;
  }
  .stats-report-filters label select,
  .stats-personal-filters label select {
    min-width: 0;
    flex: 1;
  }
  .stats-report-result-count {
    margin-left: 0;
  }
}

:root {
  color-scheme: light;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg-canvas:#111111; --bg-surface:#1b1b1b; --bg-subtle:#252525; --bg-muted:#343434;
  --text-main:#fafafa; --text-secondary:#e5e5e5; --text-muted:#b8b8b8;
  --border:#484848; --border-hover:#858585;
  --dark-charcoal:#111111; --dark-surface:#242424;
  --brand:#f4c430; --brand-hover:#ffd95a; --brand-dark:#f4c430; --brand-active:#ffe082;
  --brand-bg:#30270c; --brand-subtle:#40330c; --brand-text:#ffe28a; --brand-border:#c59c20;
  --loading-shimmer-edge:rgba(244,196,48,.07); --loading-shimmer-highlight:rgba(244,196,48,.24);
  --ok:#4ade80; --ok-bg:#123323; --ok-border:#4ade80; --ok-text:#a7f3d0;
  --bad:#fca5a5; --bad-bg:#3b1c28; --bad-border:#f87171; --bad-text:#fecaca;
  --info:#93c5fd; --info-bg:#192f50; --info-border:#60a5fa; --info-text:#bfdbfe;
  --focus:#ffe082; --highlight-bg:#fde047; --highlight-text:#0f172a;
}
:root[data-contrast="high"] {
  --text-main:#000; --text-secondary:#000; --text-muted:#171717;
  --bg-canvas:#fff; --bg-surface:#fff; --bg-subtle:#fff; --bg-muted:#e5e5e5;
  --border:#171717; --border-hover:#000;
  --brand:#fbbf24; --brand-hover:#fcd34d; --brand-dark:#713f12; --brand-active:#713f12;
  --brand-bg:#fff7d6; --brand-subtle:#fef3c7; --brand-text:#422006; --brand-border:#713f12;
  --ok:#166534; --ok-bg:#fff; --ok-border:#166534; --ok-text:#14532d;
  --bad:#991b1b; --bad-bg:#fff; --bad-border:#991b1b; --bad-text:#7f1d1d;
  --info:#1e40af; --info-bg:#fff; --info-border:#1e40af; --info-text:#172554;
  --focus:#000; --highlight-bg:#fde047; --highlight-text:#000; --shadow-sm:none; --shadow-md:none; --shadow-card:none;
}
:root[data-theme="dark"][data-contrast="high"] {
  --bg-canvas:#000; --bg-surface:#000; --bg-subtle:#000; --bg-muted:#262626;
  --text-main:#fff; --text-secondary:#fff; --text-muted:#fff; --border:#fff; --border-hover:#fff;
  --brand-bg:#241b00; --brand-subtle:#241b00; --brand-text:#fef08a;
  --brand-active:#fde047; --brand-dark:#fde047; --brand-border:#fde047;
  --ok:#86efac; --ok-bg:#000; --ok-border:#86efac; --ok-text:#bbf7d0;
  --bad:#fca5a5; --bad-bg:#000; --bad-border:#fca5a5; --bad-text:#fecaca;
  --info:#bfdbfe; --info-bg:#000; --info-border:#bfdbfe; --info-text:#dbeafe; --focus:#fde047;
  --highlight-bg:#fde047; --highlight-text:#000;
}
/* Warm reading changes interface tokens only. Never tint a common ancestor,
   image or advertising unit. High contrast, forced colors and print take priority. */
@media screen and (forced-colors:none) {
  :root[data-blue-light="true"]:not([data-contrast="high"]) {
    --backdrop-rgb:35,28,20;
    --bg-canvas:#f8efdf; --bg-surface:#fff8eb; --bg-subtle:#f2e6d1; --bg-muted:#e7d8bf;
    --text-main:#2d251c; --text-secondary:#514431; --text-muted:#66553f;
    --border:#d9c6a6; --border-hover:#b8a282;
    --info:#8a4b12; --info-text:#763e0d; --info-bg:#fff0d7; --info-border:#c68a3c;
    --focus:#8a4b12;
    --dark-charcoal:#231c14; --dark-surface:#30271d;
  }
  :root[data-theme="dark"][data-blue-light="true"]:not([data-contrast="high"]) {
    --backdrop-rgb:20,19,18;
    --bg-canvas:#141312; --bg-surface:#211f1b; --bg-subtle:#2d2923; --bg-muted:#3d382f;
    --text-main:#f6eedf; --text-secondary:#ded3c0; --text-muted:#c9bda8;
    --dark-charcoal:#141312; --dark-surface:#211f1b;
    --border:#776853; --border-hover:#b9aa91;
    --info:#e8bd80; --info-text:#f5d5a5; --info-bg:#352b20; --info-border:#a88b64;
    --focus:#facc15;
  }
}
.appearance-filter-help { margin:0 0 8px 26px; color:var(--text-secondary); font-size:13px; line-height:1.5; }
/* Yellow controls use dark text in all themes. */
.btn.btn-brand, .btn-submit-ans, .q-correct-answer, .stats-action-btn.primary {
  color:var(--button-text) !important;
}
.btn.primary { color:var(--text-on-dark); }
mark, .search-highlight { background:var(--highlight-bg); color:var(--highlight-text); }
a { color:var(--info-text); }
.q-fig, .tm-img-wrap { max-width:100%; }
button.q-fig { border:0; background:transparent; padding:0; width:fit-content; max-width:100%; margin-inline:auto; color:inherit; }
/* Keep original diagrams and transparent raster crops on white, without inversion. */
.q-fig img, .tm-img-wrap img, .lightbox img { background:#fff; filter:none; }
input, select, textarea { color:var(--text-main); background-color:var(--bg-surface); }
select option, select optgroup { color:var(--text-main); background-color:var(--bg-surface); }
select optgroup { font-weight:700; color:var(--brand-text); }
input::placeholder, textarea::placeholder { color:var(--text-muted); opacity:1; }
input[type="checkbox"], input[type="radio"] { accent-color:var(--brand-active); }
:focus-visible { outline:3px solid var(--focus) !important; outline-offset:3px !important; }
.app-header .nav-tabs .nav-tab:focus-visible { outline:none !important; outline-offset:0 !important; border-radius:var(--radius-sm); box-shadow:0 0 0 3px var(--focus) !important; }
:root[data-contrast="high"] :focus-visible { outline-width:4px !important; }
button, summary, .alt, [role="button"], .popover-item { min-height:32px; }
button, [role="button"] { min-width:24px; }
.q-tax-link { min-height:24px; }
:root[data-contrast="high"] :is(button, input, select, textarea, .q-card, .modal-box, .popover-item, .combobox-popover) {
  border-width:2px; border-style:solid; border-color:var(--border);
}
:root[data-contrast="high"] :is(.on.chip, .active.nav-tab, [aria-pressed="true"], .picked.alt, .checked.popover-item) {
  outline:2px solid var(--brand-active); outline-offset:-3px; font-weight:800;
}
:root[data-contrast="high"] .nav-tab.active {
  background:var(--brand) !important;
  color:var(--button-text) !important;
  border:3px solid var(--text-main);
}
:root[data-contrast="high"] a { text-decoration:underline; text-underline-offset:3px; }
:root[data-contrast="high"] .alt.correct { border:3px solid var(--ok-border) !important; }
:root[data-contrast="high"] .alt.wrong { border:3px dashed var(--bad-border) !important; }
:root[data-contrast="high"] .study-map .correct { border:3px solid var(--ok-border); }
:root[data-contrast="high"] .study-map .wrong { border:3px dashed var(--bad-border); }
:root[data-contrast="high"] .app-header .header-more-panel { border:2px solid var(--text-main); }
:root[data-contrast="high"] .app-header .appearance-settings > summary,
:root[data-contrast="high"] .app-header .appearance-settings .appearance-panel select,
:root[data-contrast="high"] .app-header .appearance-check input { border:2px solid var(--text-main); }
:root[data-contrast="high"] .app-header .appearance-settings .appearance-divider { height:2px; background:var(--text-main); }
:root[data-contrast="high"] .app-header .appearance-settings .appearance-panel { border-left:3px solid var(--text-main); }
:root[data-contrast="high"] .app-header .appearance-check { border:2px solid var(--text-main); }
:root[data-contrast="high"] .app-header .appearance-filter-help,
:root[data-contrast="high"] .app-header .appearance-zoom-help { border-left:2px solid var(--text-main); padding:8px 10px; }
:root[data-contrast="high"] .app-header .appearance-accessibility-link { display:block; padding:8px 10px; border:2px solid var(--text-main); }
.skip-link { position:fixed; top:8px; left:8px; transform:translateY(-180%); z-index:10000; background:var(--bg-surface); padding:12px; border:2px solid var(--focus); }
.skip-link:focus { transform:none; }
#main-content, .q-card, h1, h2 { scroll-margin-top:170px; }
.appearance-settings { position:relative; font-size:14px; }
.appearance-settings > summary { cursor:pointer; padding:7px 10px; border:1px solid var(--border-hover); border-radius:var(--radius-sm); font-weight:700; }
.appearance-panel { position:absolute; z-index:80; right:0; top:calc(100% + 8px); width:300px; max-width:calc(100vw - 24px); padding:16px; background:var(--bg-surface); border:2px solid var(--border-hover); border-radius:var(--radius-md); box-shadow:var(--shadow-md); display:grid; gap:0; }
.appearance-group { min-inline-size:0; display:grid; gap:6px; margin:0; padding:0; border:0; }
.appearance-group legend { margin:0 0 2px; padding:0; color:var(--text-secondary); font-size:14px; font-weight:750; }
.appearance-divider { height:1px; margin:14px 8px 12px; background:var(--border); }
.appearance-accessibility-group { gap:0; }
.appearance-panel select { padding:8px; border:1px solid var(--border-hover); border-radius:var(--radius-sm); }
.appearance-check { display:flex; align-items:center; gap:8px; min-height:38px; padding:5px 8px; border:1px solid transparent; border-radius:var(--radius-sm); color:var(--text-main); cursor:pointer; box-sizing:border-box; }
.appearance-panel input { width:18px; height:18px; }
.appearance-check input { flex:0 0 18px; margin:0; }
.appearance-zoom-help { margin:10px 0 0; color:var(--text-secondary); font-size:13px; line-height:1.5; }
.appearance-zoom-help kbd { padding:1px 3px; border:1px solid var(--border); border-radius:3px; font:inherit; color:var(--text-main); }
.appearance-accessibility-link { display:inline-block; margin-top:10px; font-size:13px; line-height:1.4; text-underline-offset:2px; }
.appearance-panel select:focus-visible, .appearance-check input:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.nb-choice-item { width:100%; text-align:left; color:var(--text-main); font:inherit; }
.lightbox-close { position:absolute; top:20px; right:20px; padding:10px 16px; border:2px solid var(--brand); color:#171717; background:var(--brand); border-radius:8px; font-weight:750; }
.lightbox-close:hover { background:var(--brand-hover); border-color:var(--brand-hover); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media (pointer:coarse) {
  button, summary, [role="button"], .popover-item { min-height:44px; }
  .q-tax-link { min-height:32px; }
}
@media (max-width:600px) {
  .header-right-actions { flex-wrap:wrap; }
  .appearance-panel { right:auto; left:0; }
  .q-support table, .q-enun table, .alt-body table { display:block; max-width:100%; overflow-x:auto; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation-duration:0.01ms !important; transition-duration:0.01ms !important; scroll-behavior:auto !important; }
}
:root[data-reduce-motion="true"] *, :root[data-reduce-motion="true"] *::before, :root[data-reduce-motion="true"] *::after {
  animation-duration:0.01ms !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;
}
@media (forced-colors:active) {
  :focus-visible { outline:3px solid Highlight !important; }
  .app-header .nav-tabs .nav-tab:focus-visible { outline:3px solid Highlight !important; box-shadow:none !important; }
  .alt.picked, [aria-pressed="true"], .chip.on { border:3px solid Highlight !important; }
  .alt.correct { border:3px solid CanvasText !important; }
  .alt.wrong { border:3px dashed CanvasText !important; }
}

.f-label { color:var(--text-secondary); }
.question-mode-switch a.active, .btn-popover-apply { color:var(--button-text); }
.btn-popover-apply:hover { background:var(--brand-hover); color:var(--button-text); }
.q-booklet-version-open { color:var(--brand-text); }
.q-support table, .q-enun table, .alt-body table,
.q-support td, .q-enun td, .alt-body td { background:var(--bg-surface) !important; color:var(--text-main) !important; }
.q-support th, .q-enun th, .alt-body th { background:var(--bg-subtle) !important; color:var(--text-main) !important; }
.nb-choice-left, .nb-choice-name, .nb-choice-count { display:block; }
.nb-choice-left { display:flex; }
button.nb-card-open { background:transparent; border:1px solid var(--border-hover); border-radius:var(--radius-sm); padding:6px 12px; font:inherit; color:var(--brand-text); }

main table, main td { background:var(--bg-surface) !important; color:var(--text-main) !important; }
main th { background:var(--bg-subtle) !important; color:var(--text-main) !important; }

button.alt-letter:disabled { cursor:default; opacity:1; }

.appearance-changing *, .appearance-changing *::before, .appearance-changing *::after { transition:none !important; }
.nav-tab:hover:not(.active) { background:var(--bg-surface); }

.btn-toggle-section { flex-shrink:0; white-space:nowrap; }

.modal-close-btn { background:var(--bg-subtle); }
.modal-close-btn:hover { background:var(--brand); color:var(--button-text); }

button, .alt { transition-property:transform, box-shadow, opacity !important; }

.achieve-toast-tag { color:var(--brand-text) !important; }

/* Permite que os controles de ordenação caibam em 320px e sob ampliação. */
.toolbar-left, .toolbar-right, .toolbar-sort { min-width:0; max-width:100%; }
.toolbar-sort select { min-width:0; max-width:100%; flex:1; }

@media (max-width:640px) {
  .q-head-actions { flex-wrap:wrap; }
  .q-booklet-version-list { width:min(350px, calc(100vw - 80px)); max-width:calc(100vw - 80px); }
}

.institutional-footer { overflow-wrap:anywhere; border-top:1px solid var(--border); margin-top:16px; color:var(--text-secondary); background:var(--bg-surface); }
.institutional-page .institutional-footer { margin-top:48px; }
.institutional-footer-in { max-width:1040px; margin:auto; padding:28px 20px; display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr); gap:24px; font-size:13px; }
.institutional-footer p { margin:0 0 8px; }
.institutional-footer-brand { color:var(--text-main); font-weight:800; font-size:16px; }
.institutional-footer a { color:var(--text-secondary); text-decoration:underline; text-underline-offset:3px; }
.institutional-footer a:hover { color:var(--brand-text); }
.institutional-footer-group > p { color:var(--text-main); font-weight:700; }
.institutional-footer-group ul { list-style:none; display:grid; gap:2px; }
.institutional-footer-group a { display:inline-block; padding:4px 0; min-height:28px; }
.institutional-header { border-bottom:1px solid var(--border); background:var(--bg-surface); }
.institutional-header .header-in { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 16px; }
.institutional-header .header-brand-group { flex:0 0 auto; }
.institutional-header .nav-tabs { flex:0 1 auto; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.institutional-header .nav-tabs::-webkit-scrollbar { display:none; }
.institutional-header .institutional-actions { flex:0 0 auto; display:flex; align-items:center; gap:12px; }
@media (max-width:960px) {
  .institutional-header .header-in { padding:10px 16px; }
  .institutional-header .header-brand-group { order:1; }
  .institutional-header .institutional-actions { order:2; }
  .institutional-header .nav-tabs { order:3; width:100%; justify-content:flex-start; }
}
.institutional-main { min-width:0; max-width:760px; margin:auto; padding:30px 24px 16px; overflow-wrap:anywhere; font-size:16px; line-height:1.8; }
.institutional-breadcrumb { font-size:13px; color:var(--text-muted); margin-bottom:28px; }
.institutional-intro { margin-bottom:30px; }
.institutional-eyebrow { font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--brand-text); margin-bottom:8px; }
.institutional-main h1 { font-size:clamp(1.8rem,5vw,2.8rem); line-height:1.18; letter-spacing:-.03em; margin:0 0 16px; }
.institutional-lead { font-size:18px; line-height:1.65; color:var(--text-secondary); }
.institutional-main section { margin-top:32px; }
.institutional-main h2 { font-size:23px; line-height:1.35; letter-spacing:-.02em; margin-bottom:14px; }
.institutional-main h3 { font-size:18px; line-height:1.45; margin:24px 0 10px; }
.institutional-main p { margin-bottom:16px; }
.institutional-main a { text-decoration:underline; text-underline-offset:3px; }
.institutional-main ul, .institutional-main ol { padding-left:24px; margin:16px 0; }
.institutional-main li { margin-bottom:12px; }
.institutional-main code { font-size:.92em; }
.institutional-date { font-size:13px; color:var(--text-muted); }
.institutional-toc { display:flex; flex-wrap:wrap; column-gap:20px; row-gap:4px; margin:20px 0; font-size:14px; }
.institutional-toc a { padding:4px 0; }
.institutional-definitions dt { font-weight:800; margin:20px 0 6px; }
.institutional-definitions dd { color:var(--text-secondary); }
.institutional-creator { border-left:3px solid var(--brand); padding-left:20px; }
.institutional-main .institutional-note { font-size:14px; color:var(--text-secondary); margin-top:32px; }
.institutional-contact-panel { margin-top:0 !important; padding:24px; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--bg-surface); }
.institutional-contact-panel h2 { margin-top:0; }
.institutional-contact-address { margin-top:20px; }
.institutional-contact-address label { display:block; margin-bottom:8px; font-weight:700; }
.institutional-contact-copy-row { display:flex; align-items:stretch; gap:10px; }
.institutional-contact-copy-row input { flex:1 1 auto; width:100%; min-width:0; min-height:48px; padding:10px 12px; border:1px solid var(--border-strong,var(--border)); border-radius:var(--radius-md); background:var(--bg-main); color:var(--text-main); font:inherit; font-weight:700; }
.institutional-contact-copy { flex:0 0 auto; min-height:48px; padding:10px 16px; border:1px solid var(--brand); border-radius:var(--radius-md); background:var(--brand); color:var(--button-text,#1f2937); font:inherit; font-weight:800; cursor:pointer; }
.institutional-contact-copy:hover { filter:brightness(1.06); }
.institutional-contact-copy:focus-visible,.institutional-contact-copy-row input:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.institutional-main .institutional-contact-help,.institutional-main .institutional-contact-status { margin:8px 0 0; color:var(--text-secondary); font-size:14px; line-height:1.55; }
.institutional-main .institutional-contact-status:empty { display:none; }
.institutional-contact-topics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; list-style:none; padding:0 !important; }
.institutional-contact-topics li { display:grid; gap:4px; margin:0; padding:16px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--bg-surface); }
.institutional-contact-topics strong { color:var(--text-main); }
.institutional-contact-topics span { color:var(--text-secondary); font-size:14px; line-height:1.55; }
.institutional-faq { border-bottom:1px solid var(--border); padding:14px 0; }
.institutional-faq summary { font-weight:700; cursor:pointer; }
.institutional-faq p { padding:12px 0 0 20px; margin:0; color:var(--text-secondary); }
.institutional-page #main-content, .institutional-page h1, .institutional-page h2 { scroll-margin-top:24px; }
@media(max-width:600px) {
  .institutional-footer-in { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .institutional-identity { grid-column:1/-1; }
  .institutional-main { padding:24px 20px 8px; }
  .institutional-contact-panel { padding:18px; }
  .institutional-contact-copy-row { flex-direction:column; }
  .institutional-contact-copy { width:100%; }
  .institutional-contact-topics { grid-template-columns:1fr; }
  .institutional-header .header-in { gap:12px; }
  .institutional-actions { gap:16px; }
  .institutional-page .appearance-panel { left:auto; right:0; max-width:calc(100vw - 40px); }
}
@media print { .institutional-actions, .institutional-footer, .skip-link { display:none; } .institutional-main { max-width:none; } .institutional-faq > p { display:block; } }

.linkedin-icon { display:inline-block; width:14px; height:14px; vertical-align:-2px; margin-right:5px; flex:none; }
.header-creator-link .linkedin-icon { margin-right:0; }

.institutional-footer a[href*="linkedin.com"], .institutional-main a[href*="linkedin.com"] { white-space:nowrap; }

.guide-page #view-institucional { display:block; }
.guide-page #view-institucional > .institutional-main { max-width:900px; padding-top:30px; }
.guide-page .institutional-main > article { max-width:800px; margin:0 auto; }
.guide-breadcrumb { margin:0 0 22px; color:var(--text-muted); font-size:13px; line-height:1.5; }
.guide-breadcrumb ol { display:flex; flex-wrap:wrap; gap:7px; list-style:none; padding:0; margin:0; }
.guide-breadcrumb li:not(:last-child)::after { content:"/"; margin-left:7px; color:var(--border-strong,var(--text-muted)); }
.guide-breadcrumb a { color:var(--text-secondary); }
.guide-intro { margin:0 0 22px; }
.guide-eyebrow { color:var(--brand-text); font-size:12px; line-height:1.4; font-weight:800; letter-spacing:.06em; text-transform:uppercase; margin:0 0 8px; }
.guide-intro h1 { font-size:clamp(1.8rem,4.5vw,2.7rem); line-height:1.16; letter-spacing:-.035em; margin:0 0 12px; }
.guide-lead { font-size:17px; line-height:1.65; color:var(--text-secondary); margin:0; }
.guide-summary { padding:20px 22px; margin:24px 0 30px; border:1px solid color-mix(in srgb,var(--brand) 38%,var(--border)); border-left:4px solid var(--brand); border-radius:var(--radius-lg,16px); background:var(--bg-surface); box-shadow:0 8px 24px rgb(0 0 0 / .08); }
.guide-summary-label { color:var(--brand-text); font-size:12px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; margin:0 0 6px; }
.guide-summary > p:not(.guide-summary-label) { margin:0 0 14px; line-height:1.65; }
.guide-summary small { display:block; margin-top:8px; color:var(--text-muted); font-size:12px; }
.guide-cta { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:10px 17px; border-radius:var(--radius-pill,999px); border:1px solid var(--border); color:var(--text-main)!important; text-decoration:none!important; font-weight:800; line-height:1.35; background:var(--bg-muted); transition:transform .16s ease,background .16s ease; }
.guide-cta:hover { transform:translateY(-1px); background:var(--bg-surface); }
.guide-cta-primary { border-color:var(--brand); color:var(--brand-contrast,#201600)!important; background:var(--brand); }
.guide-cta-primary:hover { background:var(--brand-hover,var(--brand)); }
.guide-cta:focus-visible,.guide-page a:focus-visible { outline:3px solid var(--focus-ring,#60a5fa); outline-offset:3px; }
.guide-prose section { margin:30px 0; }
.guide-prose h2 { font-size:22px; margin-bottom:12px; }
.guide-prose p,.guide-prose li { line-height:1.75; }
.guide-prose ol { padding-left:24px; }
.guide-prose li { padding-left:4px; margin:0 0 10px; }
.guide-screenshot { margin:22px 0; overflow:hidden; border:1px solid var(--border); border-radius:14px; background:var(--bg-surface); box-shadow:0 6px 18px rgb(0 0 0 / .06); }
.guide-screenshot img { display:block; width:100%; height:auto; background:var(--bg-muted); }
.guide-screenshot figcaption { padding:10px 13px; color:var(--text-secondary); font-size:13px; line-height:1.55; }
.guide-final-cta { padding:20px 22px; border:1px solid var(--border); border-radius:var(--radius-lg,16px); background:var(--bg-surface); }
.guide-final-cta h2 { margin-top:0; }
.guide-final-cta > p { color:var(--text-muted); font-size:13px; margin:10px 0 0; }
.guide-related ul { list-style:none; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.guide-related li { margin:0; }
.guide-related a { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:46px; padding:10px 13px; border:1px solid var(--border); border-radius:12px; background:var(--bg-surface); color:var(--text-main); text-decoration:none; font-weight:650; line-height:1.45; }
.guide-related a:hover,.guide-card a:hover { border-color:var(--brand); color:var(--brand-text); }
.guide-screenshot-placeholder { margin:22px 0; padding:20px; border:2px dashed var(--brand); border-radius:14px; background:color-mix(in srgb,var(--brand) 7%,var(--bg-surface)); color:var(--text-main); }
.guide-screenshot-placeholder > strong { display:inline-block; padding:4px 8px; border-radius:6px; color:var(--brand-text); background:var(--bg-muted); font-size:12px; letter-spacing:.06em; }
.guide-screenshot-placeholder p { margin:10px 0 0; font-size:14px; }
.guide-index-list { list-style:none; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.guide-card { min-width:0; padding:18px; border:1px solid var(--border); border-radius:14px; background:var(--bg-surface); }
.guide-card h2 { font-size:18px; line-height:1.4; margin:7px 0; }
.guide-card h2 a { color:var(--text-main); text-decoration:none; }
.guide-card > p:not(.guide-eyebrow) { margin:0 0 12px; color:var(--text-secondary); font-size:14px; line-height:1.6; }
.guide-card-link { font-weight:800; color:var(--brand-text); }
@media(max-width:620px) {
  .guide-page #view-institucional > .institutional-main { padding:22px 16px 10px; }
  .guide-summary { padding:17px; margin:20px 0 25px; }
  .guide-summary .guide-cta { width:100%; }
  .guide-index-list,.guide-related ul { grid-template-columns:minmax(0,1fr); }
  .guide-card { padding:16px; }
  .guide-intro h1 { font-size:clamp(1.75rem,8vw,2.2rem); }
  .guide-prose h2 { font-size:20px; }
}
.guide-main { max-width:900px; }
