/* =============================================================================
 * Camada de Estudo V2 — visual escalável
 *  - Toolbar híbrida: pílula compacta (default) ↔ expandida (auto on selection)
 *  - Modal grande pra notas/resumos/reescritas + tags
 *  - Notebook com busca, filtros, agrupamento, comparação reescrita
 *  - Badge de contador em cada bloco com anotações
 *  - Mutual exclusion com painel de checkpoints (Fase 2)
 * ============================================================================= */
:root{
  --v2-bg:#f4f7fb;
  --v2-surface:#ffffff;
  --v2-soft:#eef5fb;
  --v2-line:#cdd9e8;
  --v2-text:#12233d;
  --v2-muted:#53627a;
  --v2-accent:#0f766e;
  --v2-accent-soft:#d9f5ef;
  --v2-warn:#b45309;
  --v2-danger:#b91c1c;
  --v2-shadow:0 14px 32px rgba(15,35,65,.10);
  --v2-shadow-strong:0 24px 64px rgba(15,35,65,.25);
}

/* ===== Highlights do ALUNO — distintos dos .hl-* (editorial do material) =====
 *
 * Material usa 6 tons pastel SÓLIDOS (.hl-termo_central amarelo, .hl-contraste
 * azul, .hl-pegadinha vermelho etc.). Pra não confundir com edição do aluno,
 * aqui:
 *  - Cores fora da paleta editorial (cyan, magenta, lime — nenhuma em .hl-*)
 *  - Tons mais saturados (não pastel)
 *  - Sem box-shadow (material não tem; remove ruído)
 * ============================================================================ */
.study-highlight{
  background:#fde68a;                                /* amarelo dourado (mais quente que termo_central) */
  border-radius:3px;
  padding:0;              /* 2026-07-02: 3px laterais partiam a palavra ao meio quando o grifo começa/termina dentro dela ("EX EMPLO") */
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  cursor:help;
}
.study-highlight[data-study-type="nota"]{
  background:#a5f3fc;                                /* cyan — NÃO existe em .hl-* */
  text-decoration-color:#0891b2;
}
.study-highlight[data-study-type="resumo"]{
  background:#f5d0fe;                                /* magenta/pink — NÃO existe em .hl-* */
  text-decoration-color:#a21caf;
}
.study-highlight[data-study-type="reescrita"]{
  background:#d9f99d;                                /* lime — NÃO existe em .hl-* (verde editorial é mais frio) */
  text-decoration-color:#4d7c0f;
}

/* Pending highlight — aparece ao abrir modal de nota/resumo/reescrita pra aluno
   ver qual trecho está sendo anotado. Borda tracejada animada distingue do
   highlight final. Removido ao salvar (vira highlight definitivo) ou cancelar. */
.study-highlight-pending{
  background:#fef3c7!important;
  outline:2px dashed #f59e0b;
  outline-offset:1px;
  border-radius:4px;
  animation:study-pending-pulse 1.4s ease-in-out infinite;
}
@keyframes study-pending-pulse{
  0%,100%{outline-color:#f59e0b;background:#fef3c7}
  50%{outline-color:#fde68a;background:#fef9c3}
}
[data-theme="dark"] .study-highlight-pending{
  background:#3a2f0a!important;
  outline-color:#fbbf24!important;
}
[data-theme="dark"] @keyframes study-pending-pulse{
  0%,100%{outline-color:#fbbf24;background:#3a2f0a}
  50%{outline-color:#fde68a;background:#4a3f1a}
}

/* "Jump to" flash em block destacado */
.study-jump-flash{animation:study-flash 1.4s ease-out}
@keyframes study-flash{
  0%,100%{box-shadow:none}
  20%{box-shadow:0 0 0 4px rgba(15,118,110,.4),0 0 0 8px rgba(15,118,110,.15)}
}

/* ===== Toolbar (estado compacto = pílula pequena) ======================== */
.study-toolbar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:1000;font-family:Verdana,sans-serif;transition:width .2s ease,padding .2s ease}
.study-toolbar-collapsed-pill{display:none;align-items:center;gap:8px;border:1px solid var(--v2-line);border-radius:999px;background:rgba(255,255,255,.96);box-shadow:var(--v2-shadow);padding:9px 16px;cursor:pointer;font:inherit;font-weight:700;color:var(--v2-text);font-size:1rem;transition:transform .15s ease,box-shadow .15s ease}
.study-toolbar-collapsed-pill:hover{transform:translateY(-2px);box-shadow:var(--v2-shadow-strong)}
.study-toolbar-icon{font-size:1.05rem;line-height:1}
.study-toolbar-pill-label{letter-spacing:.01em}
.study-toolbar-counter{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--v2-accent);color:#fff;font-weight:800;font-size:1rem}
.study-toolbar-expanded{display:grid;grid-template-columns:minmax(180px,260px) minmax(240px,420px) auto;gap:10px;align-items:center;width:min(1080px,calc(100vw - 24px));border:1px solid var(--v2-line);border-radius:20px;background:rgba(255,255,255,.97);box-shadow:var(--v2-shadow-strong);padding:11px 12px}
.study-toolbar.is-collapsed > .study-toolbar-collapsed-pill{display:inline-flex}
.study-toolbar.is-collapsed > .study-toolbar-expanded{display:none}
.study-toolbar.is-disabled .study-toolbar-actions button:not([data-study-open-notebook]):not([data-study-toolbar-minimize]){opacity:.45;pointer-events:none}
.study-toolbar.is-disabled textarea{opacity:.5}
.study-toolbar-main{display:grid;gap:2px;min-width:0}
.study-toolbar-main strong{font-size:1rem;color:var(--v2-text)}
.study-toolbar-main span{font-size:1rem;color:var(--v2-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.study-toolbar textarea{min-height:42px;max-height:92px;resize:vertical;border:1px solid #cbd8e7;border-radius:12px;padding:8px;font:inherit;color:var(--v2-text);background:var(--v2-surface)}
.study-toolbar-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.study-toolbar-actions button{border:1px solid #b7c9db;border-radius:999px;background:var(--v2-surface);color:var(--v2-text);font-weight:700;padding:8px 11px;cursor:pointer;font-size:1rem;transition:background .15s ease,border-color .15s ease,transform .1s ease}
.study-toolbar-actions button:hover{background:var(--v2-accent-soft);border-color:#8bc7bc;transform:translateY(-1px)}
.study-toolbar-actions [data-study-toolbar-minimize]{padding:8px 10px}

/* ===== Modal (notas/resumos/reescritas com tags) ========================= */
.study-modal{border:0;border-radius:18px;padding:0;box-shadow:var(--v2-shadow-strong);width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 32px);background:var(--v2-surface);font-family:Verdana,sans-serif}
/* Fundo transparente: a caixinha de anotar/resumir pode ser arrastada pra ver o
   que está embaixo enquanto se escreve, então NÃO escurece a página atrás. */
.study-modal::backdrop{background:transparent}
.study-modal-form{display:grid;gap:14px;padding:20px}
/* A barra de cima é a alça de arrastar (a caixinha é móvel). */
.study-modal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--v2-line);padding-bottom:10px;margin:0;cursor:move;touch-action:none;user-select:none}
.study-modal-head h3{margin:0;font-size:1.2rem;font-family:Georgia,"Times New Roman",serif}
.study-modal-close{border:0;background:transparent;color:var(--v2-muted);font-size:1.3rem;cursor:pointer;padding:4px 8px;border-radius:8px;transition:background .15s}
.study-modal-close:hover{background:var(--v2-soft);color:var(--v2-text)}
.study-modal-quote{margin:0;border-left:4px solid var(--v2-accent);padding:10px 14px;background:var(--v2-soft);border-radius:0 12px 12px 0;color:var(--v2-text);font-family:Georgia,"Times New Roman",serif;font-style:italic}
.study-modal-label{display:grid;gap:6px}
.study-modal-label > span,.study-modal-tags-label > span{font-weight:700;font-size:1rem;color:var(--v2-text)}
.study-modal-label textarea{min-height:120px;resize:vertical;border:1px solid var(--v2-line);border-radius:12px;padding:10px;font:inherit;color:var(--v2-text);background:var(--v2-surface);line-height:1.5}
.study-modal-tags-label{display:grid;gap:6px}
.study-modal-tags-label input{border:1px solid var(--v2-line);border-radius:10px;padding:8px 12px;font:inherit;color:var(--v2-text);background:var(--v2-surface)}
.study-modal-tag-suggestions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:4px 0}
.study-modal-tag-suggestions > span{font-size:1rem;color:var(--v2-muted);font-weight:600}
.study-modal-tag-chip{border:1px dashed var(--v2-line);border-radius:999px;padding:4px 11px;background:var(--v2-soft);color:var(--v2-text);font-size:1rem;cursor:pointer;font-family:inherit;transition:background .12s,border-color .12s}
.study-modal-tag-chip:hover{background:var(--v2-accent-soft);border-color:#8bc7bc;border-style:solid}
.study-modal-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--v2-line);padding-top:14px;margin:0}
.study-btn-primary{border:1px solid var(--v2-accent);border-radius:10px;padding:9px 18px;background:var(--v2-accent);color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:background .12s}
.study-btn-primary:hover{background:#0d6660}
.study-btn-secondary{border:1px solid var(--v2-line);border-radius:10px;padding:9px 18px;background:var(--v2-surface);color:var(--v2-text);font:inherit;font-weight:700;cursor:pointer}
.study-btn-secondary:hover{background:var(--v2-soft)}

/* ===== Notebook (right sidebar) =========================================== */
/* Coluna flexível: cabeçalho/placar/barra de controles tomam a altura natural e
   a LISTA estica pra preencher o resto e ROLAR. Antes era grid de 3 trilhas, mas
   quando o placar de acerto/erro aparece viram 4 filhos e a lista perdia o espaço
   flexível -> não rolava. Flex column é robusto com o placar aparecendo ou não. */
.study-notebook{position:fixed;right:10px;top:10px;bottom:10px;z-index:1001;width:min(560px,calc(100vw - 20px));border:1px solid #b7c9db;border-radius:22px;background:var(--v2-surface);box-shadow:var(--v2-shadow-strong);padding:0;box-sizing:border-box;overflow:hidden;font-family:Verdana,sans-serif;display:flex;flex-direction:column;min-height:0}
/* Quando checkpoint panel está presente, reposiciona notebook pra esquerda
   dele (panel ocupa 360px na direita; mais 28px de gap). */
body.study-with-checkpoints .study-notebook{right:calc(360px + 28px);width:min(420px,calc(100vw - 408px))}
@media (max-width:1100px){
  body.study-with-checkpoints .study-notebook{right:18px;top:78px;width:min(380px,calc(100vw - 36px));z-index:1002;box-shadow:0 24px 64px rgba(15,35,65,.4)}
}
.study-notebook[hidden]{display:none}
.study-notebook header{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #dbe5f0;padding:14px 16px}
.study-notebook h2{font-family:Georgia,"Times New Roman",serif;margin:0;font-size:1.35rem}
.study-notebook-actions{display:flex;gap:6px;align-items:center}
.study-notebook-actions button{border:1px solid #b7c9db;border-radius:999px;background:var(--v2-surface);color:var(--v2-text);font-weight:700;padding:6px 11px;cursor:pointer;font-size:1rem}
.study-notebook-actions button:hover{background:var(--v2-accent-soft);border-color:#8bc7bc}
/* Painel de desempenho (acerto/erro/% + sequência) — riqueza do caderno-vivo */
.study-notebook-stats{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:9px 16px;border-bottom:1px solid var(--v2-line);font-size:1rem;font-weight:700}
.study-notebook-stats[hidden]{display:none}
.study-notebook-stats .sns-item{display:inline-flex;align-items:center;gap:4px}
.study-notebook-stats [hidden]{display:none !important}
.study-notebook-stats .sns-ic{font-size:1em;line-height:1}
.study-notebook-stats .sns-item--ok{color:#16a34a}
.study-notebook-stats .sns-item--err{color:#dc2626}
.study-notebook-stats .sns-item--pct{color:var(--v2-accent)}
.study-notebook-stats .sns-item--streak{color:#ea580c}
.study-notebook-stats .sns-pct-label,.study-notebook-stats .sns-streak-label{font-weight:600;color:var(--v2-muted);font-size:1em}
.study-notebook-stats .sns-sep{color:var(--v2-muted);opacity:.6}
.study-notebook-stats[hidden]{display:none}
/* legibilidade nas skins escuras: labels mais claras */
.study-notebook[data-skin="constelacao"] .study-notebook-stats,
.study-notebook[data-skin="mesa"] .study-notebook-stats,
.study-notebook[data-skin="trilhos"] .study-notebook-stats{border-bottom-color:rgba(212,168,87,.2)}
.study-notebook[data-skin="constelacao"] .sns-pct-label,.study-notebook[data-skin="constelacao"] .sns-streak-label,.study-notebook[data-skin="constelacao"] .sns-sep,
.study-notebook[data-skin="mesa"] .sns-pct-label,.study-notebook[data-skin="mesa"] .sns-streak-label,.study-notebook[data-skin="mesa"] .sns-sep,
.study-notebook[data-skin="trilhos"] .sns-pct-label,.study-notebook[data-skin="trilhos"] .sns-streak-label,.study-notebook[data-skin="trilhos"] .sns-sep{color:var(--cad-muted)}
.study-notebook[data-skin="constelacao"] .sns-item--pct,.study-notebook[data-skin="mesa"] .sns-item--pct,.study-notebook[data-skin="trilhos"] .sns-item--pct{color:var(--cad-gold-bright)}
.study-notebook-toolbar{display:grid;gap:8px;padding:10px 16px;border-bottom:1px solid var(--v2-line);background:var(--v2-soft)}
.study-notebook-search{border:1px solid var(--v2-line);border-radius:10px;padding:7px 10px;font:inherit;font-size:1rem;color:var(--v2-text);background:var(--v2-surface)}
/* Botão que recolhe/expande toda a seção de filtros (compacto, fica no topo) */
.study-notebook-filters-toggle{
  display:flex;align-items:center;gap:6px;width:100%;
  border:1px solid var(--v2-line);background:var(--v2-surface);
  color:var(--v2-text);font-family:inherit;font-size:1rem;font-weight:700;
  padding:5px 10px;border-radius:8px;cursor:pointer;
  transition:background .12s;
}
.study-notebook-filters-toggle:hover{background:var(--v2-accent-soft)}
.study-notebook-filters-toggle .snft-caret{transition:transform .18s;font-size:1rem;color:var(--v2-muted)}
.study-notebook-filterbox.is-collapsed .study-notebook-filters-toggle .snft-caret{transform:rotate(-90deg)}
.study-notebook-filters-toggle .snft-label{text-transform:uppercase;letter-spacing:.06em}
.study-notebook-filters-toggle .snft-current{
  margin-left:auto;font-weight:600;color:var(--v2-muted);
  text-transform:none;letter-spacing:0;
  max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
/* !important pra vencer o `.study-notebook-filters{display:flex !important}` do
   tema (v3_caderno_skins.css) — sem isso o botão "recolher filtros" não escondia
   nada na prática. */
.study-notebook-filterbox.is-collapsed .study-notebook-filters,
.study-notebook-filterbox.is-collapsed .study-notebook-subs{display:none !important}
/* Categorias: grade que distribui em colunas iguais — sem chip órfão numa linha
   só (era o "Anotações" sozinho). Auto-fit equilibra 3+2 / 2+2+1 conforme largura. */
.study-notebook-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:6px}
.study-notebook-filters button{justify-content:center;text-align:center}
@media(max-width:520px){.study-notebook-filters{grid-template-columns:repeat(2,1fr)}}
.study-notebook-filters button{border:1px solid var(--v2-line);background:var(--v2-surface);color:var(--v2-muted);font-weight:600;padding:3px 9px;border-radius:999px;cursor:pointer;font-size:1rem;font-family:inherit;transition:background .12s,color .12s,border-color .12s}
.study-notebook-filters button:hover{background:var(--v2-accent-soft)}
.study-notebook-filters button.is-active{background:var(--v2-accent);color:#fff;border-color:var(--v2-accent)}
.study-notebook-grouping{display:flex;align-items:center;gap:6px;font-size:1rem;color:var(--v2-muted);cursor:pointer}
.study-notebook-grouping input{accent-color:var(--v2-accent)}
.study-notebook-list{display:grid;gap:10px;padding:12px 16px;overflow-y:auto;flex:1 1 auto;min-height:0;align-content:start}
.study-notebook-empty{margin:0;color:var(--v2-muted);font-size:1rem;text-align:center;padding:18px 0}
.study-notebook-group-head{margin:14px 0 4px;padding:6px 10px;font-size:1rem;font-weight:800;color:var(--v2-accent);background:var(--v2-soft);border-radius:8px;cursor:pointer;text-transform:uppercase;letter-spacing:.04em;font-family:Verdana,sans-serif;transition:background .12s}
.study-notebook-group-head:first-child{margin-top:0}
.study-notebook-group-head:hover{background:var(--v2-accent-soft)}

/* ===== Vista em árvore (Curso > Área > Tema > Átomo > anotações) ========= */
.study-tree{display:flex;flex-direction:column;gap:2px}
.study-tree-node{display:flex;flex-direction:column}
.study-tree-toggle{
  display:flex;align-items:center;gap:8px;width:100%;text-align:left;
  border:0;background:transparent;cursor:pointer;
  padding:6px 8px;border-radius:8px;font-family:inherit;
  font-size:1rem;font-weight:700;color:var(--v2-text);transition:background .12s;
}
.study-tree-toggle:hover{background:var(--v2-soft)}
.study-tree-caret{transition:transform .15s;font-size:1rem;color:var(--v2-muted);flex:0 0 auto}
.study-tree-node.is-collapsed > .study-tree-toggle .study-tree-caret{transform:rotate(-90deg)}
.study-tree-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.study-tree-count{
  margin-left:auto;flex:0 0 auto;font-size:1rem;font-weight:700;color:var(--v2-muted);
  background:var(--v2-soft);border-radius:999px;padding:1px 8px;
}
.study-tree-children{
  display:flex;flex-direction:column;gap:4px;
  padding-left:12px;margin:2px 0 2px 7px;border-left:1px solid var(--v2-line);
}
.study-tree-node.is-collapsed > .study-tree-children{display:none}
/* Nível 0 (curso) em destaque; níveis mais fundos, mais discretos */
.study-tree-node[data-tree-level="0"] > .study-tree-toggle{
  color:var(--v2-accent);text-transform:uppercase;letter-spacing:.04em;font-weight:800;font-size:1rem;
}
.study-tree-node[data-tree-level="3"] > .study-tree-toggle{font-weight:650}
[data-theme="dark"] .study-tree-count{background:#1e293b;color:#94a3b8}
[data-theme="dark"] .study-tree-children{border-left-color:#475569}
[data-theme="dark"] .study-tree-toggle:hover{background:#0f172a}

/* ===== Note cards (no notebook) ========================================== */
.study-note-card{border:1px solid #dbe5f0;border-radius:14px;background:#f9fbfe;padding:11px 13px;display:grid;gap:7px}
.study-note-card-grifo{border-left:4px solid #f59e0b}
.study-note-card-nota{border-left:4px solid #3b82f6}
.study-note-card-resumo{border-left:4px solid #8b5cf6}
.study-note-card-reescrita{border-left:4px solid #10b981}
/* Tipos block-level adicionados na FASE 4 (aprendizagem ativa) */
.study-note-card-bookmark{border-left:4px solid #fbbf24;background:linear-gradient(135deg,#fffbeb,#fef3c7);}
.study-note-card-autoavaliacao{border-left:4px solid #a78bfa;background:linear-gradient(135deg,#faf5ff,#ede9fe);}
[data-theme="dark"] .study-note-card-autoavaliacao{background:linear-gradient(135deg,#1e1b4b,#312e81);}
.study-note-card-duvida{border-left:4px solid #f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7);}
.study-note-card-revisar{border-left:4px solid #ef4444;background:linear-gradient(135deg,#fef2f2,#fee2e2);}
.study-note-card-erro{border-left:4px solid #dc2626;background:linear-gradient(135deg,#fef2f2,#fecaca);}
.study-note-card-afeto{border-left:4px solid #ec4899;background:linear-gradient(135deg,#fdf2f8,#fce7f3);}
[data-theme="dark"] .study-note-card-afeto{background:linear-gradient(135deg,#3b0a2e,#500724);}
/* Tipos "silenciosos" — registrados mas com presença visual menor pra não
   competir com o que precisa de atenção (dúvidas/revisar/erros). */
.study-note-card-entendi,
.study-note-card-acerto,
.study-note-card-oculto{
  opacity:.55;
  background:#f8fafc;
  border-left:3px solid #94a3b8;
  font-size:1em;
}
.study-note-card-entendi:hover,
.study-note-card-acerto:hover,
.study-note-card-oculto:hover{ opacity:1; }
.study-note-card-entendi{border-left-color:#10b981;}
.study-note-card-acerto{border-left-color:#16a34a;}
.study-note-card-oculto{border-left-color:#64748b;}

/* Block-ref label (mostrado em vez de blockquote quando não há selected_text) */
.study-note-card-block-ref{
  font-size:1rem;color:var(--v2-text);font-style:italic;
  padding:6px 8px;background:rgba(255,255,255,.5);border-radius:6px;
}
.study-note-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0}
.study-note-card-head strong{font-size:1rem;text-transform:uppercase;letter-spacing:.06em;color:var(--v2-accent);font-weight:800}
.study-note-card-status{font-size:1rem;background:var(--v2-soft);border-radius:6px;padding:2px 6px;color:var(--v2-warn);font-weight:700}
.study-note-card-actions{display:flex;gap:4px}
.study-note-card-actions button{border:1px solid var(--v2-line);background:transparent;color:var(--v2-muted);width:26px;height:26px;border-radius:6px;cursor:pointer;font-size:1rem;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background .12s,color .12s}
.study-note-card-actions button:hover{background:var(--v2-soft);color:var(--v2-text)}
.study-note-card blockquote{margin:0;border-left:3px solid #f59e0b;padding-left:10px;color:var(--v2-text);font-family:Georgia,"Times New Roman",serif;font-size:1rem}
.study-note-card-note{margin:0;color:var(--v2-text);font-size:1rem;line-height:1.5}
.study-note-card-tags{display:flex;flex-wrap:wrap;gap:4px}
.study-note-card-tag{font-size:1rem;background:var(--v2-accent-soft);color:var(--v2-accent);font-weight:700;padding:2px 8px;border-radius:999px;font-family:Verdana,sans-serif}
.study-note-card-meta{margin:0;color:var(--v2-muted);font-size:1rem;font-family:Verdana,sans-serif}
/* Cross-references (Fase D) — chips clicáveis no card que ligam ao painel de recursos */
.study-note-card-refs{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding-top:4px;border-top:1px dashed var(--v2-line);margin-top:4px}
.study-note-card-refs > strong{font-size:1rem;text-transform:uppercase;letter-spacing:.04em;color:var(--v2-muted);font-weight:800;margin-right:4px}
.study-ref-chip{display:inline-flex;align-items:center;font-size:1rem;font-weight:700;border-radius:999px;padding:2px 8px;cursor:pointer;text-decoration:none;transition:transform .12s;font-family:Verdana,sans-serif}
.study-ref-chip:hover{transform:translateY(-1px)}
.study-ref-chip-lei{background:rgba(37,99,235,.12);color:#1e40af;border:1px solid rgba(37,99,235,.3)}
.study-ref-chip-termo{background:rgba(124,58,237,.12);color:#6d28d9;border:1px solid rgba(124,58,237,.3)}
.study-ref-chip-formula{background:rgba(13,148,136,.12);color:#0f766e;border:1px solid rgba(13,148,136,.3)}
[data-theme="dark"] .study-ref-chip-lei{background:rgba(96,165,250,.18)!important;color:#93c5fd!important;border-color:rgba(96,165,250,.4)!important}
[data-theme="dark"] .study-ref-chip-termo{background:rgba(196,181,253,.18)!important;color:#c4b5fd!important;border-color:rgba(196,181,253,.4)!important}
[data-theme="dark"] .study-ref-chip-formula{background:rgba(94,234,212,.18)!important;color:#5eead4!important;border-color:rgba(94,234,212,.4)!important}
.study-note-card.is-orphaned{border-color:#fca5a5;background:#fff5f5}
.study-note-card.is-reanchored{border-color:#8bc7bc;background:#f2fffb}

/* Reescrita: comparação visual lado a lado */
.study-note-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:start;padding:8px 0;border-top:1px dashed var(--v2-line);border-bottom:1px dashed var(--v2-line);font-size:1rem;line-height:1.45}
.study-note-compare-original,.study-note-compare-rewritten{padding:6px;border-radius:8px}
.study-note-compare-original{background:#fef9e7;border:1px solid #fde68a}
.study-note-compare-rewritten{background:#dff8d9;border:1px solid #86efac}
.study-note-compare strong{display:block;font-size:1rem;text-transform:uppercase;letter-spacing:.04em;color:var(--v2-muted);font-weight:800;margin-bottom:4px}
.study-note-compare-arrow{font-size:1.2rem;color:var(--v2-accent);align-self:center;font-weight:800}

/* ===== Block badge (contador "X anotações") ============================== */
.study-block-counter{display:inline-flex;align-items:center;gap:6px;font-family:Verdana,sans-serif;font-size:1rem;font-weight:700;color:var(--v2-muted);background:var(--v2-soft);border:1px solid var(--v2-line);border-radius:999px;padding:2px 9px;margin-left:8px;letter-spacing:.02em;cursor:default;vertical-align:middle}

/* ===== Mobile responsive ================================================= */
@media (max-width:760px){
  .study-toolbar{left:8px;right:8px;bottom:8px;transform:none}
  .study-toolbar-expanded{grid-template-columns:1fr;width:auto}
  .study-toolbar-actions{justify-content:flex-start;flex-wrap:wrap}
  .study-notebook{right:0;left:0;top:0;bottom:0;width:auto;max-width:none;border-radius:0;border:0}
  .study-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}
  .study-note-compare{grid-template-columns:1fr;text-align:left}
  .study-note-compare-arrow{transform:rotate(90deg);align-self:start;margin:0 0 0 4px}
}

/* ===== Dark mode integração ============================================== */
[data-theme="dark"] .study-toolbar-collapsed-pill{background:rgba(30,41,59,.96);border-color:#475569;color:#e2e8f0;box-shadow:0 14px 32px rgba(0,0,0,.4)}
[data-theme="dark"] .study-toolbar-collapsed-pill:hover{background:rgba(51,65,85,.96)}
[data-theme="dark"] .study-toolbar-counter{background:#5eead4;color:#0f172a}
[data-theme="dark"] .study-toolbar-expanded{background:rgba(30,41,59,.97)!important;border-color:#475569!important}
[data-theme="dark"] .study-toolbar-main strong{color:#e2e8f0!important}
[data-theme="dark"] .study-toolbar-main span{color:#94a3b8!important}
[data-theme="dark"] .study-toolbar textarea{background:#1e293b!important;color:#e2e8f0!important;border-color:#475569!important}
[data-theme="dark"] .study-toolbar-actions button{background:#1e293b!important;color:#e2e8f0!important;border-color:#475569!important}
[data-theme="dark"] .study-toolbar-actions button:hover{background:#334155!important;border-color:#5eead4!important}
[data-theme="dark"] .study-modal{background:#1e293b!important;color:#e2e8f0!important}
[data-theme="dark"] .study-modal::backdrop{background:transparent}
[data-theme="dark"] .study-modal-head{border-color:#475569!important}
[data-theme="dark"] .study-modal-head h3{color:#e2e8f0!important}
[data-theme="dark"] .study-modal-quote{background:#273449!important;color:#e2e8f0!important;border-color:#5eead4!important}
[data-theme="dark"] .study-modal-label > span,[data-theme="dark"] .study-modal-tags-label > span{color:#e2e8f0!important}
[data-theme="dark"] .study-modal-label textarea,[data-theme="dark"] .study-modal-tags-label input{background:#0f172a!important;color:#e2e8f0!important;border-color:#475569!important}
[data-theme="dark"] .study-modal-tag-chip{background:#273449!important;color:#cbd5e1!important;border-color:#475569!important}
[data-theme="dark"] .study-modal-tag-chip:hover{background:#334155!important;border-color:#5eead4!important}
[data-theme="dark"] .study-btn-primary{background:#5eead4!important;color:#0f172a!important;border-color:#5eead4!important}
[data-theme="dark"] .study-btn-primary:hover{background:#34d399!important}
[data-theme="dark"] .study-btn-secondary{background:#1e293b!important;color:#e2e8f0!important;border-color:#475569!important}
[data-theme="dark"] .study-btn-secondary:hover{background:#334155!important}
[data-theme="dark"] .study-notebook{background:#1e293b!important;border-color:#475569!important}
[data-theme="dark"] .study-notebook header{border-color:#475569!important}
[data-theme="dark"] .study-notebook h2{color:#e2e8f0!important}
/* :not(.study-skin-dot) — este background:SHORTHAND !important RESETAVA o
   background-image das bolinhas de skin (que SÃO <button> aqui). O Safari deixava
   o reset vencer o gradiente da skin (bug de cascata shorthand×longhand), apagando
   as bolinhas. As bolinhas têm estilo próprio; esta regra genérica não é pra elas. */
[data-theme="dark"] .study-notebook-actions button:not(.study-skin-dot){background:#1e293b!important;color:#e2e8f0!important;border-color:#475569!important}
[data-theme="dark"] .study-notebook-actions button:not(.study-skin-dot):hover{background:#334155!important}
[data-theme="dark"] .study-notebook-toolbar{background:#0f172a!important;border-color:#475569!important}
[data-theme="dark"] .study-notebook-search{background:#1e293b!important;color:#e2e8f0!important;border-color:#475569!important}
[data-theme="dark"] .study-notebook-filters button{background:#1e293b!important;color:#94a3b8!important;border-color:#475569!important}
[data-theme="dark"] .study-notebook-filters button.is-active{background:#5eead4!important;color:#0f172a!important;border-color:#5eead4!important}
[data-theme="dark"] .study-notebook-empty{color:#94a3b8!important}
[data-theme="dark"] .study-notebook-group-head{background:#273449!important;color:#5eead4!important}
[data-theme="dark"] .study-notebook-group-head:hover{background:#334155!important}
[data-theme="dark"] .study-notebook-grouping{color:#94a3b8!important}
[data-theme="dark"] .study-note-card{background:#0f172a!important;border-color:#475569!important}
[data-theme="dark"] .study-note-card-head strong{color:#5eead4!important}
[data-theme="dark"] .study-note-card-status{background:#3a1f08!important;color:#fbbf24!important}
[data-theme="dark"] .study-note-card-actions button{background:transparent!important;color:#94a3b8!important;border-color:#475569!important}
[data-theme="dark"] .study-note-card-actions button:hover{background:#334155!important;color:#e2e8f0!important}
[data-theme="dark"] .study-note-card blockquote{color:#e2e8f0!important;border-color:#fbbf24!important}
[data-theme="dark"] .study-note-card-note{color:#e2e8f0!important}
[data-theme="dark"] .study-note-card-tag{background:#1e3a5f!important;color:#7dd3fc!important}
[data-theme="dark"] .study-note-card-meta{color:#94a3b8!important}
[data-theme="dark"] .study-note-card.is-orphaned{background:#3a1212!important;border-color:#ef4444!important}
[data-theme="dark"] .study-note-card.is-reanchored{background:#0e2a1c!important;border-color:#22c55e!important}
[data-theme="dark"] .study-note-compare-original{background:#3a2f0a!important;border-color:#fbbf24!important;color:#fde68a!important}
[data-theme="dark"] .study-note-compare-rewritten{background:#0e2a1c!important;border-color:#22c55e!important;color:#bbf7d0!important}
[data-theme="dark"] .study-note-compare strong{color:#94a3b8!important}
[data-theme="dark"] .study-note-compare-arrow{color:#5eead4!important}
[data-theme="dark"] .study-block-counter{background:#273449!important;color:#94a3b8!important;border-color:#475569!important}
/* Dark mode — mesma lógica: cores saturadas únicas, sem sublinhado.
   :not(tachar/sublinhar) — o fundo do grifo não entra no tachar (linha cortando)
   nem no sublinhar (linha reta). */
[data-theme="dark"] .study-highlight:not([data-study-type="tachar"]):not([data-study-type="sublinhar"]){
  background:#854d0e!important;                      /* âmbar profundo (não pastel) */
  color:#fef3c7!important;
  box-shadow:none!important;
}
[data-theme="dark"] .study-highlight[data-study-type="nota"]{
  background:#155e75!important;                      /* cyan profundo */
  color:#a5f3fc!important;
  text-decoration-color:#67e8f9!important;
}
[data-theme="dark"] .study-highlight[data-study-type="resumo"]{
  background:#86198f!important;                      /* magenta profundo */
  color:#f5d0fe!important;
  text-decoration-color:#e879f9!important;
}
[data-theme="dark"] .study-highlight[data-study-type="reescrita"]{
  background:#3f6212!important;                      /* lime profundo */
  color:#d9f99d!important;
  text-decoration-color:#a3e635!important;
}

/* ===== Flashcard do aluno: cartão revisável no caderno (1.1) ============== */
.study-fc{display:grid;gap:10px;margin-top:8px}
.study-fc-face{border:1px solid var(--v2-line);border-radius:12px;padding:12px 14px;font-size:16px;line-height:1.5;color:var(--v2-text);background:var(--v2-surface)}
.study-fc-front{background:var(--v2-soft);font-weight:600}
.study-fc-back{border-left:4px solid var(--v2-accent)}
.study-fc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.study-fc-flip{border:1px solid var(--v2-accent);background:var(--v2-accent);color:#fff;border-radius:999px;padding:7px 16px;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.study-fc-flip:hover{filter:brightness(.95)}
.study-fc-rate{display:flex;flex-wrap:wrap;gap:6px}
.study-fc-rate-btn{border:1px solid var(--v2-line);background:var(--v2-surface);color:var(--v2-text);border-radius:999px;padding:6px 13px;font:inherit;font-size:16px;font-weight:600;cursor:pointer;transition:background .12s,color .12s,border-color .12s}
.study-fc-rate-btn:hover{background:var(--v2-accent-soft);border-color:var(--v2-accent)}
.study-fc-rate-btn[data-rate="errei"].is-picked{background:#dc2626;color:#fff;border-color:#dc2626}
.study-fc-rate-btn[data-rate="dificil"].is-picked{background:#ea580c;color:#fff;border-color:#ea580c}
.study-fc-rate-btn[data-rate="medio"].is-picked{background:#ca8a04;color:#fff;border-color:#ca8a04}
.study-fc-rate-btn[data-rate="facil"].is-picked{background:#16a34a;color:#fff;border-color:#16a34a}

/* "＋ Novo flashcard" no modo Meus flashcards do caderno */
.study-fc-new{display:block;width:100%;border:1px dashed var(--v2-accent);background:var(--v2-accent-soft);color:var(--v2-text);border-radius:12px;padding:9px 14px;font:inherit;font-size:16px;font-weight:700;cursor:pointer;margin-bottom:10px}
.study-fc-new:hover{background:var(--v2-accent);color:#fff}

/* ===== Desfazer (toast "X aplicado · Desfazer") ==========================
   Aparece embaixo, no centro, logo acima da barra flutuante de marcação.
   Fica ~5s e some; clicar Desfazer (ou Ctrl/Cmd+Z) reverte a última marca. */
.study-undo-toast{
  position:fixed;left:50%;bottom:84px;transform:translateX(-50%) translateY(10px);
  z-index:1003;display:flex;align-items:center;gap:12px;
  background:var(--v2-surface,#fff);color:var(--v2-text,#0f2341);
  border:1px solid var(--v2-line,#cbd8e7);border-radius:999px;
  box-shadow:var(--v2-shadow-strong,0 18px 48px rgba(15,35,65,.28));
  padding:9px 11px 9px 18px;font-family:Verdana,sans-serif;font-size:16px;
  opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;
}
.study-undo-toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
.study-undo-toast-msg{font-weight:700}
.study-undo-toast-btn{
  border:1px solid var(--v2-accent,#0f766e);background:var(--v2-accent,#0f766e);color:#fff;
  font:inherit;font-size:16px;font-weight:800;border-radius:999px;padding:7px 16px;cursor:pointer;
  transition:background .12s ease,transform .1s ease;
}
.study-undo-toast-btn:hover{background:#0d6660;transform:translateY(-1px)}
[data-theme="dark"] .study-undo-toast{background:rgba(30,41,59,.98);color:#e2e8f0;border-color:#475569;box-shadow:0 18px 48px rgba(0,0,0,.45)}
@media (max-width:760px){
  .study-undo-toast{bottom:96px;left:8px;right:8px;transform:translateY(10px);justify-content:space-between}
  .study-undo-toast.is-visible{transform:translateY(0)}
}

/* ===== Caderno trocar de lado (não cobrir o que o aluno edita) ============ */
.study-notebook[data-side="left"]{right:auto;left:10px}
body.study-with-checkpoints .study-notebook[data-side="left"]{left:10px;right:auto}
.study-notebook-swap{
  border:1px solid #b7c9db;border-radius:999px;background:var(--v2-surface);color:var(--v2-text);
  font-weight:700;min-width:34px;height:34px;cursor:pointer;font-size:16px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;padding:0 8px;
  transition:background .12s ease,border-color .12s ease;
}
.study-notebook-swap:hover{background:var(--v2-accent-soft);border-color:#8bc7bc}
[data-theme="dark"] .study-notebook-swap{background:rgba(30,41,59,.9);border-color:#475569;color:#e2e8f0}
@media (max-width:760px){
  /* no celular o caderno é tela cheia: ignora o lado */
  .study-notebook[data-side="left"]{left:0;right:0}
}
