/* Above Hub — tokens.css
   Camada de primitivos compartilhada entre index.html (Student Hub) e teacher.html (Teacher Hub).
   Extraído em 2026-07-21 a partir dos dois blocos :root que existiam duplicados e já haviam divergido
   (Teacher Hub tinha --danger/--success que o Student Hub não tinha; Student Hub tinha --font-brush,
   --manuscript-*, --soft-gray, --shadow-xs, --shadow-gold, --r-2xl e --sp-9 que o Teacher Hub não tinha).
   União dos dois, sem perda: cada hub passa a ter acesso ao superset completo.
   Nenhum valor foi alterado nesta extração — só consolidado num único ponto de verdade. */

:root {
  /* Marca */
  --gold: #C58A12;
  --gold-soft: #D9A33C;
  --gold-deep: #8F6208;
  --gold-tint: rgba(197,138,18,0.08);

  /* Neutros */
  --black: #0A0A0A;
  --off-white: #F8F5EF;
  --paper: #FDFBF6;
  --soft-gray: #D8D2C8;
  --ink: #1A1612;
  --ink-muted: #6B6358;
  --ink-soft: #9A9185;
  --line: #E8E1D3;
  --line-soft: #EFE9DD;

  /* "Manuscrito" (O Arquivo) */
  --manuscript-bg: #F4EFE6;
  --manuscript-warm: #EFE7DA;
  --manuscript-aged: #E8DDCC;
  --manuscript-ivory: #F5F1E8;

  /* Acento secundário */
  --petroleum: #2E4A46;
  --terracotta: #8C5A3C;
  --warm-cream: #EFE7D8;

  /* Estado (já existia só no Teacher Hub) */
  --danger: #A83B2A;
  --success: #3A6B4F;

  /* Tipografia */
  --font-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-brush: 'Caveat Brush', cursive;

  /* Espaçamento */
  --sp-1: 4px;  --sp-2: 8px;   --sp-3: 12px; --sp-4: 16px;
  --sp-5: 24px; --sp-6: 32px;  --sp-7: 48px; --sp-8: 64px; --sp-9: 96px;

  /* Raio de borda */
  --r-sm: 8px;  --r-md: 14px;  --r-lg: 20px; --r-xl: 28px;  --r-2xl: 36px;

  /* Sombra */
  --shadow-xs: 0 1px 2px rgba(10,10,10,0.04);
  --shadow-sm: 0 1px 2px rgba(10,10,10,0.04), 0 2px 8px rgba(10,10,10,0.04);
  --shadow-md: 0 4px 14px rgba(10,10,10,0.06), 0 10px 28px rgba(10,10,10,0.05);
  --shadow-lg: 0 14px 40px rgba(10,10,10,0.1), 0 28px 72px rgba(10,10,10,0.06);
  --shadow-gold: 0 8px 24px rgba(197,138,18,0.22);

  /* Easing */
  --ease: cubic-bezier(.2, .7, .2, 1);

  /* Fontes de CONTEUDO do caderno — nao da interface.
     A interface segue em Inter + Cormorant Garamond. */
  --font-note: 'Saira Condensed', 'Inter', sans-serif;
  --font-note-alt: 'Oswald', 'Inter', sans-serif;
  --font-note-hand: 'Pacifico', cursive;
}

/* =========================================================================
   MY NOTEBOOK — folha e presets tipograficos (2026-07-27)
   Camada de componente compartilhada entre index.html e teacher.html.
   Estava duplicada nos dois arquivos; unificada aqui para nao divergir.
   Tamanhos em pt porque foi assim que o Founder especificou — sem conversao
   nem arredondamento no meio do caminho.

     Texto normal  Saira Condensed  11pt  regular
     Titulo        Saira Condensed  26pt  regular
     Subtitulo     Saira Condensed  15pt  negrito
     Titulo 1      Oswald           20pt  regular
     Titulo 2      Saira Condensed  13pt  negrito
     Titulo 3      Pacifico         14pt  regular
   ========================================================================= */
.nb-sheet {
  background: #FFFFFF;
  max-width: 780px;
  margin: 0 auto;
  padding: 56px 64px 64px;
  border: 1px solid var(--line-soft);
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(26,22,18,.05), 0 14px 32px -22px rgba(26,22,18,.28);
}
.nb-sheet.rich-editor { border: 1px solid var(--line-soft); background: #FFFFFF; overflow: visible; }
.nb-sheet .rich-editable { padding: 0; min-height: 240px; }
.nb-sheet.rich-editor.readonly { background: #FFFFFF; }
/* Toolbar presa no topo da folha, sangrando ate as bordas dela.
   Fica sempre visivel ao rolar, sem cobrir o texto que esta sendo escrito. */
.nb-sheet .rich-toolbar {
  position: sticky; top: 0; z-index: 4;
  margin: -56px -64px 30px; padding: 9px 14px;
  background: #FFFFFF; border-bottom: 1px solid var(--line-soft);
  border-radius: 4px 4px 0 0;
}

/* Presets aplicados por CLASSE, nunca por estilo inline — e o que permite
   sanitizar conteudo colado de fora sem perder a formatacao do caderno. */
.nb-sheet .rich-editable .nb-t  { font-family: var(--font-note);      font-weight: 400; font-size: 26pt; line-height: 1.15; margin: 0 0 10px;   color: var(--ink); }
.nb-sheet .rich-editable .nb-t1 { font-family: var(--font-note-alt);  font-weight: 400; font-size: 20pt; line-height: 1.25; margin: 24px 0 8px; color: var(--ink); }
.nb-sheet .rich-editable .nb-st { font-family: var(--font-note);      font-weight: 700; font-size: 15pt; line-height: 1.3;  margin: 18px 0 6px; color: var(--ink); }
.nb-sheet .rich-editable .nb-t2 { font-family: var(--font-note);      font-weight: 700; font-size: 13pt; line-height: 1.35; margin: 14px 0 4px; color: var(--ink); }
.nb-sheet .rich-editable .nb-t3 { font-family: var(--font-note-hand); font-weight: 400; font-size: 14pt; line-height: 1.45; margin: 20px 0 6px; color: var(--terracotta); }

/* Texto normal — cobre tambem conteudo antigo, salvo antes dos presets
   existirem (paragrafo solto, div, item de lista, citacao). */
.nb-sheet .rich-editable,
.nb-sheet .rich-editable p,
.nb-sheet .rich-editable div,
.nb-sheet .rich-editable li,
.nb-sheet .rich-editable blockquote {
  font-family: var(--font-note); font-weight: 400; font-size: 11pt; line-height: 1.75; color: var(--ink);
}
.nb-sheet .rich-editable p { margin: 0 0 10px; }
.nb-sheet .rich-editable ul,
.nb-sheet .rich-editable ol { margin: 0 0 10px; padding-left: 24px; }
.nb-sheet .rich-editable blockquote {
  margin: 14px 0; padding-left: 14px; border-left: 2px solid var(--line);
  color: var(--ink-muted); font-style: italic;
}
.nb-sheet .rich-editable mark { background: rgba(217,163,60,.32); padding: 0 2px; }
.nb-sheet .rich-editable hr { border: none; border-top: 1px solid var(--line); margin: 22px 0; }
.nb-sheet .rich-editable a { color: var(--gold-deep); text-decoration: underline; }
.nb-sheet .rich-editable img { max-width: 100%; height: auto; border-radius: 4px; margin: 12px 0; box-shadow: 0 6px 18px -8px rgba(26,22,18,.35); }
.nb-sheet .rich-editable img.nb-uploading { opacity: .45; filter: grayscale(1); }

/* Checklist — nao existe comando nativo do navegador para isso, entao e uma
   lista com marcador proprio, clicavel. */
.nb-sheet .rich-editable ul.nb-check { list-style: none; padding-left: 4px; }
.nb-sheet .rich-editable ul.nb-check li { position: relative; padding-left: 28px; margin-bottom: 5px; }
.nb-sheet .rich-editable ul.nb-check li::before {
  content: ""; position: absolute; left: 2px; top: 4px; width: 15px; height: 15px;
  border: 1.5px solid var(--soft-gray); border-radius: 3px; background: #fff; cursor: pointer;
}
.nb-sheet .rich-editable ul.nb-check li.done::before { background: var(--gold); border-color: var(--gold); }
.nb-sheet .rich-editable ul.nb-check li.done::after {
  content: ""; position: absolute; left: 6.5px; top: 6px; width: 5px; height: 10px;
  border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); pointer-events: none;
}
.nb-sheet .rich-editable ul.nb-check li.done { color: var(--ink-soft); text-decoration: line-through; }

/* Botao de tela cheia escondido NO CADERNO enquanto o fundo cinza nao for
   resolvido (2026-07-27). A folha cresce sozinha conforme se escreve, entao
   ampliar e conforto, nao necessidade — e melhor nao oferecer do que oferecer
   quebrado. Para devolver, basta apagar esta regra: o resto continua pronto.
   Nas outras telas (O Arquivo, Self-Study, Exercise Builder) o botao segue
   normal, agora sem a cortina presa por dentro. */
.nb-sheet [data-rich-fullscreen] { display: none; }

/* ── Tela cheia ──
   O `.rich-editor.fullscreen` do app pinta o painel de creme (--paper), a
   toolbar de bege (--warm-cream) e reescreve os corpos (16px, h2 31px) com
   seletores mais especificos que os presets. No caderno isso apagava tanto o
   branco da folha quanto a tipografia aprovada. Aqui devolvemos as duas coisas:
   folha branca, destacada do fundo do app, e os mesmos pt de sempre. */
.nb-sheet.rich-editor.fullscreen {
  max-width: none; padding: 0; border-radius: var(--r-lg);
  background: #FFFFFF; border-color: var(--line);
}
.nb-sheet.rich-editor.fullscreen .rich-toolbar {
  margin: 0; padding: 10px 16px; border-radius: var(--r-lg) var(--r-lg) 0 0;
  background: #FFFFFF; border-bottom: 1px solid var(--line-soft);
}
.nb-sheet.rich-editor.fullscreen .rich-editable {
  max-width: 780px; width: 100%; margin: 0 auto;
  padding: 44px 28px 40vh !important;
  background: #FFFFFF;
}
/* Tipografia: reafirmada com especificidade suficiente para vencer as regras
   de fullscreen do app. Mesmos valores da folha normal. */
.nb-sheet.rich-editor.fullscreen .rich-editable,
.nb-sheet.rich-editor.fullscreen .rich-editable p,
.nb-sheet.rich-editor.fullscreen .rich-editable div,
.nb-sheet.rich-editor.fullscreen .rich-editable li,
.nb-sheet.rich-editor.fullscreen .rich-editable blockquote {
  font-family: var(--font-note); font-size: 11pt; line-height: 1.75;
}
.nb-sheet.rich-editor.fullscreen .rich-editable .nb-t  { font-family: var(--font-note);      font-size: 26pt; font-weight: 400; }
.nb-sheet.rich-editor.fullscreen .rich-editable .nb-t1 { font-family: var(--font-note-alt);  font-size: 20pt; font-weight: 400; }
.nb-sheet.rich-editor.fullscreen .rich-editable .nb-st { font-family: var(--font-note);      font-size: 15pt; font-weight: 700; }
.nb-sheet.rich-editor.fullscreen .rich-editable .nb-t2 { font-family: var(--font-note);      font-size: 13pt; font-weight: 700; }
.nb-sheet.rich-editor.fullscreen .rich-editable .nb-t3 { font-family: var(--font-note-hand); font-size: 14pt; font-weight: 400; }

@media (max-width: 1024px) {
  .nb-sheet {
    max-width: none; padding: 22px 20px 36px; border-radius: 0;
    border-left: none; border-right: none; box-shadow: none;
  }
  .nb-sheet .rich-toolbar { margin: -22px -20px 22px; padding: 8px 12px; }
  .nb-sheet .rich-editable .nb-t  { font-size: 21pt; }
  .nb-sheet .rich-editable .nb-t1 { font-size: 17pt; }
  /* espaco para o teclado virtual nao cobrir o trecho editado */
  .nb-sheet .rich-editable { padding-bottom: 45vh; }
}
