/* Site Manda Pra Clínica: componentes e páginas.
   Estrutura de fórum (como o Reddit): barra do topo com busca, menu lateral de comunidades (especialidades),
   feed de posts no centro; a página de guia tem coluna da direita com calculadora e autoria. Guias e casos abrem como post com discussão.
   Visual da marca do protótipo aprovado (Site/prototipo/index.html). Tokens em tokens.css.
   Mobile first: os estilos base valem para o celular; as media queries acrescentam colunas em telas maiores. */

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--space-4))}
/* body em coluna: o conteúdo cresce e o rodapé fica sempre no fim da tela, mesmo em páginas curtas.
   Com o zoom do site (--zoom, abaixo) o vh também encolhe; dividir por --zoom devolve a altura da tela inteira. */
body{min-height:calc(100vh / var(--zoom));min-height:calc(100dvh / var(--zoom));display:flex;flex-direction:column;margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
/* Zoom-out de 15% em telas a partir de 720 px, a pedido: texto, espaços e ícones ficam todos 15% menores, como o
   zoom do navegador. No celular fica em 100% para o texto corrido não ficar abaixo de 16 px. */
:root{--zoom:1}
@media (min-width:720px){:root{--zoom:.85}html{zoom:var(--zoom)}}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--navy-deep)}
a{color:var(--link)}
h1,h2,h3,h4{font-family:var(--font-sans);font-weight:var(--fw-black);line-height:var(--lh-heading);margin:0;text-wrap:balance;letter-spacing:-.01em}
p{margin:0}
img{max-width:100%}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:var(--space-4);top:-100px;z-index:40;background:var(--orange);color:var(--navy-deep);font-weight:var(--fw-black);padding:var(--space-2) var(--space-4);border-radius:var(--r-sm)}
.skip:focus{top:var(--space-2)}
[hidden]{display:none!important}

/* ---------- Elementos de marca ---------- */
.eyebrow{font-size:var(--fs-label);font-weight:var(--fw-black);letter-spacing:.12em;text-transform:uppercase;color:var(--orange-deep)}
.tag{display:inline-block;background:linear-gradient(90deg,var(--cream-2),var(--orange));color:var(--navy);font-weight:var(--fw-black);font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;padding:.25rem .6rem;border-radius:var(--r-pill);white-space:nowrap}
.pill{display:inline-block;font-size:var(--fs-label);font-weight:var(--fw-semibold);padding:.2rem .6rem;border-radius:var(--r-pill);border:1px solid var(--line);color:var(--muted)}
.soon{background:var(--surface-2);color:var(--muted);font-size:.75rem;font-weight:var(--fw-black);letter-spacing:.08em;text-transform:uppercase;padding:.2rem .5rem;border-radius:6px;white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:0;border-radius:var(--r-pill);padding:.6rem 1.1rem;font-weight:var(--fw-black);text-decoration:none;background:var(--primary);color:var(--on-primary);min-height:44px}
.btn.orange{background:var(--orange);color:var(--navy-deep)}
.btn.ghost{background:transparent;color:inherit;border:1.5px solid var(--line)}
.btn:hover{filter:brightness(1.06)}

/* Aviso de conteúdo de exemplo (mesma faixa laranja do protótipo) */
.proto{background:var(--orange);color:var(--navy-deep);font-size:var(--fs-small);font-weight:var(--fw-semibold);text-align:center;padding:.4rem var(--gutter)}

/* ---------- Barra do topo ---------- */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:12;background:var(--navy-deep);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.top-in{display:flex;align-items:center;gap:var(--space-2);min-height:var(--header-h);padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
.icon-btn{flex:none;width:40px;height:40px;border-radius:var(--r-md);border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;display:grid;place-items:center;font-size:1.05rem;line-height:1}
.icon-btn:hover{background:rgba(255,255,255,.1)}
.menu-btn{border-color:transparent;font-size:1.35rem}
.brand{flex:none;display:block;border-radius:var(--r-sm)}
.brand img{height:34px;width:auto;display:block}
.top-search{flex:1;min-width:0;max-width:640px;margin-inline:auto;display:flex;align-items:center;gap:.45rem;background:#fff;border-radius:var(--r-pill);padding:0 .9rem;height:42px}
.top-search:focus-within{outline:3px solid var(--orange);outline-offset:2px}
.top-search input{flex:1;min-width:0;height:100%;border:0;background:transparent;font:inherit;font-size:var(--fs-body);color:var(--navy)}
.top-search input:focus-visible{outline:none}
.top-search input::placeholder{color:#6B7A8F}
.top-search-ic{font-size:.9rem;opacity:.75}
.top-actions{display:flex;align-items:center;gap:var(--space-2);flex:none}
.btn-enter{display:none}
@media (min-width:720px){
  .top-in{gap:var(--space-4)}
  .btn-enter{display:inline-flex;align-items:center;gap:.45rem;font-weight:var(--fw-black);background:var(--orange);color:var(--navy-deep);border-radius:var(--r-pill);padding:.45rem 1rem;text-decoration:none;max-width:220px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .btn-enter:hover{filter:brightness(1.06)}
}

/* ---------- Estrutura: shell (menu + página) cresce até o fim da tela ---------- */
.shell{flex:1 0 auto;display:flex;flex-direction:column}
.page{flex:1 0 auto;display:flex;flex-direction:column;min-width:0}
.page > main{flex:1 0 auto}

/* ---------- Menu lateral (gaveta no celular, coluna fixa a partir de 1200 px) ---------- */
.side-nav{position:fixed;inset:0 auto 0 0;z-index:20;width:min(300px,86vw);background:var(--surface);border-right:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain;transform:translateX(-100%);visibility:hidden;transition:transform .2s,visibility 0s .2s;padding-bottom:var(--space-6)}
body.menu-open .side-nav{transform:none;visibility:visible;transition:transform .2s}
.nav-overlay{position:fixed;inset:0;z-index:19;background:rgba(5,15,28,.55);opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s}
body.menu-open .nav-overlay{opacity:1;visibility:visible;transition:opacity .2s}
.side-nav-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);background:var(--navy-deep);padding:.6rem .75rem;min-height:var(--header-h)}
.side-nav-head img{height:32px;width:auto;display:block}
.nav-list{list-style:none;margin:0;padding:.5rem .75rem;display:grid;grid-template-columns:minmax(0,1fr);gap:2px}
.nav-list a,.nav-list .off{display:flex;align-items:center;gap:.7rem;padding:.5rem .75rem;border-radius:var(--r-md);color:var(--fg);text-decoration:none;font-weight:var(--fw-semibold);min-height:44px}
.nav-list a:hover{background:var(--surface-2)}
.nav-list a[aria-current]{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--orange)}
.nav-list .off{color:var(--muted);cursor:default}
.nav-list small{margin-left:auto;color:var(--muted);font-weight:var(--fw-regular);font-size:var(--fs-meta)}
.ni{width:24px;text-align:center;flex:none;font-size:1.05rem}
/* Biblioteca com as especialidades logo abaixo (cada uma abre a Biblioteca filtrada); o ▾ recolhe a lista */
.nav-linha{display:flex;align-items:center;gap:2px}
.nav-linha a{flex:1;min-width:0}
.nav-abre{flex:none;width:36px;height:36px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--muted);display:grid;place-items:center;font-size:1.15rem;cursor:pointer}
.nav-abre:hover{background:var(--surface-2);color:var(--fg)}
.nav-abre span{transition:transform .15s}
html[data-esp-menu="fechado"] .nav-abre span{transform:rotate(-90deg)}
html[data-esp-menu="fechado"] .nav-sub{display:none}
.nav-sub{list-style:none;margin:2px 0 .3rem .85rem;padding:0 0 0 .3rem;border-left:2px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr);gap:2px}
.nav-sub small{flex:none}
.nav-sub a{min-height:40px;padding:.35rem .45rem;gap:.5rem}
.nav-sub .nt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-sec{border-top:1px solid var(--line);margin-inline:.75rem}
.nav-sec summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:.8rem .75rem .35rem;font-size:var(--fs-label);font-weight:var(--fw-black);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted);border-radius:var(--r-sm)}
.nav-sec summary::-webkit-details-marker{display:none}
.nav-sec summary::after{content:"▾";transition:transform .15s}
.nav-sec:not([open]) summary::after{transform:rotate(-90deg)}
.nav-sec .nav-list{padding-inline:0}
@media (max-width:1199.98px){body.menu-open{overflow:hidden}}
@media (min-width:1200px){
  .shell{display:grid;grid-template-columns:var(--nav-w) minmax(0,1fr);align-items:start}
  .page{align-self:stretch}
  .side-nav{position:sticky;top:calc(var(--header-h) + env(safe-area-inset-top,0px));height:calc(100vh / var(--zoom) - var(--header-h));width:auto;transform:none;visibility:visible;transition:none;z-index:auto;background:transparent}
  .side-nav-head,.menu-btn,.nav-overlay{display:none}
  .shell{transition:grid-template-columns .2s}
  .side-nav .nav-collapse{display:flex}
  /* Menu recolhido: só os ícones; os rótulos continuam para leitor de tela */
  html[data-nav="mini"] .shell{grid-template-columns:var(--nav-w-mini) minmax(0,1fr)}
  html[data-nav="mini"] .side-nav .nt,html[data-nav="mini"] .side-nav .nav-list small{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  html[data-nav="mini"] .nav-list{padding-inline:.5rem}
  html[data-nav="mini"] .nav-list a,html[data-nav="mini"] .nav-list .off{justify-content:center;padding-inline:0;gap:0}
  html[data-nav="mini"] .nav-sec{margin-inline:.5rem}
  html[data-nav="mini"] .nav-abre{display:none}
  html[data-nav="mini"] .nav-sub{display:grid;margin-left:0;padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:2px}
  html[data-nav="mini"] .nav-sec summary{justify-content:center;padding-inline:0}
  html[data-nav="mini"] .nav-collapse{justify-content:center;margin-inline:.5rem;padding-inline:0}
}
.nav-collapse{display:none;align-items:center;gap:.6rem;margin:.75rem .75rem .25rem;width:calc(100% - 1.5rem);padding:.45rem .75rem;min-height:40px;border:1px solid var(--line);border-radius:var(--r-md);background:transparent;color:var(--muted);font-weight:700;font-size:var(--fs-small)}
.nav-collapse:hover{color:var(--fg);background:var(--surface-2)}
html[data-nav="mini"] .nav-collapse{width:calc(100% - 1rem)}
.nav-collapse-ic{width:24px;text-align:center;font-size:1.1rem;line-height:1}

/* ---------- Página: feed + coluna da direita ---------- */
.cols{max-width:var(--cols-max);margin-inline:auto;padding:var(--space-4) max(var(--gutter),env(safe-area-inset-right,0px)) var(--space-8) max(var(--gutter),env(safe-area-inset-left,0px));display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6)}
.feed-col{display:grid;gap:var(--space-4);min-width:0;align-content:start}
.rail{display:grid;gap:var(--space-3);grid-template-rows:auto 1fr;min-width:0}
.rail-body{display:grid;gap:var(--space-4);align-content:start;min-width:0}
.rail-toggle{display:none}
@media (min-width:960px){
  .cols{transition:grid-template-columns .2s}
  .rail-toggle{display:inline-flex;align-items:center;gap:.4rem;justify-self:end;min-height:32px;padding:.25rem .75rem;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);font-size:var(--fs-meta);font-weight:700}
  .rail-toggle:hover{color:var(--fg);border-color:var(--navy-mid)}
  .rail-toggle-ic{font-size:1rem;line-height:1}
  /* Coluna recolhida: vira uma faixa fina com o botão "Mostrar coluna" na vertical, que acompanha a rolagem */
  html[data-rail="mini"] .cols:not(.single){grid-template-columns:minmax(0,1fr) var(--rail-w-mini)}
  html[data-rail="mini"] .rail-body{display:none}
  html[data-rail="mini"] .cols:not(.single) > .rail{position:sticky;top:calc(var(--header-h) + var(--space-4) + env(safe-area-inset-top,0px));align-self:start}
  html[data-rail="mini"] .rail-toggle{flex-direction:column;justify-self:stretch;gap:.6rem;padding:.8rem 0;border-radius:var(--r)}
  html[data-rail="mini"] .rail-toggle-lbl{writing-mode:vertical-rl;transform:rotate(180deg)}
}
@media (min-width:960px){
  .cols{grid-template-columns:minmax(0,1fr) var(--rail-w);padding-top:var(--space-6)}
  .cols.single{grid-template-columns:minmax(0,1fr)}
  .rail.sticky{position:sticky;top:calc(var(--header-h) + var(--space-4) + env(safe-area-inset-top,0px));align-self:start}
}
@media (min-width:960px){.pillbtn.only-narrow{display:none}}  /* atalhos para a coluna da direita, só quando ela fica embaixo */
.sec-label{font-size:var(--fs-label);font-weight:var(--fw-black);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted)}

/* ---------- Destaques da comunidade (cartões do protótipo) ---------- */
.highlights{display:grid;gap:var(--space-3)}
.hl-grid{display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1fr)}
@media (min-width:560px){.hl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Cartões de destaque compactos (cerca de 30% mais baixos): resumo em até 2 linhas, botão menor */
.spot{border-radius:var(--r);padding:var(--space-3) var(--space-4) var(--space-4);color:#fff;background:linear-gradient(160deg,var(--navy),var(--navy-deep));display:flex;flex-direction:column;gap:.45rem;position:relative;overflow:hidden;min-width:0}
.spot.caso{background:linear-gradient(160deg,var(--caso-from),var(--caso-to))}
.spot h3{font-family:var(--font-serif);font-style:italic;font-weight:700;font-size:1.15rem;line-height:1.2;color:var(--cream-2);-webkit-text-stroke:.4px var(--orange);position:relative}
.spot .band{display:inline-block;transform:rotate(-1.5deg);padding:.15rem .55rem;font-weight:var(--fw-black);font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase;align-self:flex-start;background:var(--cream-2);color:var(--navy)}
.spot p{opacity:.92;position:relative;font-size:var(--fs-small);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.spot .btn{align-self:flex-start;margin-top:auto;position:relative;min-height:34px;padding:.3rem .85rem;font-size:var(--fs-small)}
.spot .sym{position:absolute;right:-14px;bottom:-21px;width:105px;opacity:.12;pointer-events:none}

/* ---------- Barra do feed e filtros ---------- */
.feed-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}
.feed-bar .left,.feed-bar .right{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.seg{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);padding:2px;gap:2px}
.seg button{position:relative;border:0;background:transparent;color:var(--muted);font-weight:700;font-size:var(--fs-meta);border-radius:var(--r-pill);padding:.15rem .7rem;min-height:26px}
.seg button::after{content:"";position:absolute;inset:-6px 0}
.seg button[aria-pressed="true"]{background:var(--primary);color:#fff}
/* Controle de ordenar ("Em destaque / A–Z") 25% menor que os demais */
.seg[aria-label="Ordenar"]{padding:2px;gap:1px}
.seg[aria-label="Ordenar"] button{font-size:.72rem;line-height:1.5;padding:0 .4rem;min-height:18px}
.count{color:var(--muted);font-size:var(--fs-body)}
.filters{display:flex;flex-wrap:wrap;gap:.45rem}
.fchip{border:1.5px solid var(--line);background:var(--surface);color:var(--fg);border-radius:var(--r-pill);padding:.35rem .8rem;font-weight:var(--fw-semibold);font-size:var(--fs-small);min-height:40px}
.fchip small{color:var(--muted);font-weight:var(--fw-regular);margin-left:.2rem;font-size:var(--fs-meta)}
/* Filtro único: uma lista suspensa "Filtrar" no lugar dos chips (Frameworks); a contagem fica ao lado */
.barra-filtro{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem var(--space-4)}
.filtro-unico{display:flex;align-items:center;gap:.5rem;flex:1 1 100%;min-width:0;font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--muted)}
.filtro-unico select{flex:1 1 auto;min-width:0;max-width:100%;font:inherit;font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--fg);background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:.45rem .7rem;min-height:42px}
@media (min-width:560px){.filtro-unico{flex:0 1 auto}}
.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r);padding:var(--space-6);text-align:center;color:var(--muted)}
.more{justify-self:center}

/* ---------- Posts do feed ---------- */
.feed{display:grid;gap:var(--space-3)}
.post{position:relative;background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);border-top:4px solid var(--navy);padding:.8rem 1rem .7rem;display:grid;gap:.45rem;min-width:0}
.post.express{border-top-color:var(--kind-express)}
.post.atualizacao{border-top-color:var(--kind-atualizacao)}
.post.caso{border-top-color:var(--kind-caso)}
.post.instagram{border-top-color:var(--line)}
.post.off{box-shadow:none;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .45rem;font-size:var(--fs-meta);color:var(--muted)}
.post-meta .pin{color:var(--orange-deep);font-weight:var(--fw-black)}
.comm{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.4rem;font-weight:var(--fw-black);color:var(--fg);text-decoration:none}
.comm:hover{text-decoration:underline}
.comm-ic{width:32px;height:32px;border-radius:50%;background:var(--navy);color:var(--orange);display:inline-grid;place-items:center;font-style:normal;font-weight:var(--fw-black);font-size:.75rem;letter-spacing:-.02em;flex:none}
.comm-ic.caso{background:var(--kind-caso);font-size:1.15rem;line-height:1}  /* emoji em ~55% do círculo */
.post-title{font-size:var(--fs-h3)}
.post-title a{color:inherit;text-decoration:none}
.post-title a::after{content:"";position:absolute;inset:0;border-radius:var(--r)}
.post-title a:focus-visible{outline:none}
.post-title a:focus-visible::after{outline:3px solid var(--orange);outline-offset:2px}
.post:has(.post-title a):hover{box-shadow:0 0 0 1.5px var(--navy-mid),var(--shadow)}
.post-body{color:var(--muted)}
.post-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.pillbtn{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.35rem;min-height:36px;padding:.3rem .8rem;border:0;border-radius:var(--r-pill);background:var(--surface-2);color:var(--fg);font-size:var(--fs-small);font-weight:700;text-decoration:none;white-space:nowrap}
.pillbtn:hover{filter:brightness(.95)}
.pillbtn[aria-pressed="true"]{background:var(--orange);color:var(--navy-deep)}
.vote{position:relative;z-index:1;display:inline-flex;align-items:center;gap:2px;padding:0 3px;background:var(--surface-2);border-radius:var(--r-pill)}
/* Botão de voto 40% menor (22 px, ícone 12 px); a área de toque invisível continua com cerca de 38 px */
.vote button{position:relative;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);display:grid;place-items:center}
.vote button::after{content:"";position:absolute;inset:-8px -3px}
.vote svg{width:12px;height:12px}
.vote button:hover{background:rgba(127,127,127,.15);color:var(--fg)}
.vote button[aria-pressed="true"] svg{fill:currentColor;fill-opacity:.25}
.vote output{min-width:2ch;text-align:center;font-weight:var(--fw-black);font-size:var(--fs-label);font-variant-numeric:tabular-nums}
.vote output:empty{display:none}
.vote.is-up{background:var(--orange)}
.vote.is-up button,.vote.is-up output{color:var(--navy-deep)}
.vote.is-down{background:var(--navy-mid)}
.vote.is-down button,.vote.is-down output{color:#fff}
/* Cartões resumidos dos casos anteriores (coluna da direita da aba Casos clínicos) */
.case-list{display:grid;gap:var(--space-3)}
.post.small{padding:.65rem .85rem;gap:.35rem}
.post.small .post-title{font-size:var(--fs-body)}

/* ---------- Feed do Início: posts da comunidade (artigo, vídeo, questão, discussão) e "Criar post" ---------- */
.av-mini{width:30px;height:30px;border-radius:50%;background:var(--surface-2);color:var(--heading-on-surface);display:inline-grid;place-items:center;font-style:normal;font-weight:var(--fw-black);font-size:.75rem;flex:none}
.av-mini.grande{width:30px;height:30px;font-size:.75rem;background:var(--navy);color:var(--orange)}
.autor-post{display:inline-flex;align-items:center;gap:.35rem;color:var(--fg);font-weight:var(--fw-semibold)}
.post.comunidade{border-top-color:var(--navy-mid)}
.post.comunidade.questao{border-top-color:var(--orange)}
.post.comunidade.local{border-style:dashed}
.link-card{position:relative;z-index:1;display:flex;align-items:center;gap:.8rem;border:1px solid var(--line);border-radius:var(--r-md);padding:.7rem .85rem;text-decoration:none;color:var(--fg);background:var(--bg);min-width:0}
.link-card:hover{border-color:var(--navy-mid)}
.lc-ic{width:42px;height:42px;border-radius:var(--r-sm);background:var(--surface-2);display:grid;place-items:center;font-size:1.3rem;flex:none}
.lc-txt{display:grid;gap:.1rem;min-width:0;flex:1}
.lc-txt b{overflow-wrap:anywhere}
.lc-txt small{color:var(--muted);font-size:var(--fs-meta)}
.lc-txt .lc-dom{color:var(--link)}
.lc-seta{color:var(--muted);flex:none}
.video-card{position:relative;z-index:1;display:grid;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;text-decoration:none;color:var(--fg);background:var(--bg);max-width:560px}
.vc-thumb{position:relative;aspect-ratio:16/9;background:radial-gradient(500px 200px at 85% -20%,rgba(255,168,74,.35),transparent 60%),linear-gradient(160deg,var(--navy),var(--navy-deep));display:grid;place-items:center;overflow:hidden}
.vc-thumb img{position:absolute;right:-24px;bottom:-30px;width:46%;opacity:.15}
.vc-play{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--navy);display:grid;place-items:center;font-size:1.5rem;padding-left:5px;box-shadow:0 6px 20px rgba(0,0,0,.3);position:relative}
.video-card:hover .vc-play{background:var(--orange)}
.vc-dur{position:absolute;right:.6rem;bottom:.6rem;background:rgba(0,0,0,.75);color:#fff;font-size:var(--fs-meta);font-weight:var(--fw-black);padding:.1rem .45rem;border-radius:4px}
.vc-info{display:grid;gap:.1rem;padding:.65rem .85rem}
.vc-info small{color:var(--link);font-size:var(--fs-meta)}
.q-post{display:grid;gap:.6rem;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);padding:.85rem}
.q-post .q-enunciado{font-size:var(--fs-body);font-weight:var(--fw-semibold)}
.q-dica{color:var(--muted)}
.q-post .q-feedback{background:var(--surface)}
.q-post .q-feedback .pillbtn{justify-self:start}
.marca-autor{display:inline-block;margin-left:.3rem;background:var(--surface-2);color:var(--muted);border-radius:var(--r-pill);padding:0 .5rem;font-size:var(--fs-label);font-weight:var(--fw-black)}
.post-comentarios{border-top:1px solid var(--line);padding-top:.8rem;display:grid;gap:.8rem}
.mini-coments:empty{display:none}
.criar-post{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);min-width:0}
.cp-abrir{display:flex;align-items:center;gap:.55rem;width:100%;border:0;background:transparent;color:var(--muted);text-align:left;padding:.4rem .65rem;border-radius:var(--r);min-height:44px;font-size:var(--fs-small)}
.cp-convite{flex:1;min-width:0;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-pill);padding:.3rem .8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-abrir:hover .cp-convite{border-color:var(--navy-mid)}
.cp-icones{flex:none;display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);padding-right:.15rem}
#cp-form{padding:0 var(--space-4) var(--space-4)}
.cp-tipos{justify-self:start}
.cp-alts{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem}
@media (min-width:560px){.cp-alts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:419.98px){.cp-icones{display:none}}

/* ---------- Post aberto (guia ou caso) ---------- */
.post.full{padding:0 0 var(--space-4);gap:var(--space-4);overflow:hidden}
.post-hero{background:linear-gradient(160deg,var(--navy),var(--navy-deep));color:#fff;padding:var(--space-4) var(--space-4) var(--space-5);display:grid;gap:.55rem}
.post.caso .post-hero{background:linear-gradient(160deg,var(--caso-top-from),var(--caso-to))}
.post-hero .post-meta{color:rgba(255,255,255,.8)}
.post-hero .comm{color:#fff}
.post-hero h1{font-size:var(--fs-h1-page);color:var(--cream-2);text-transform:uppercase;overflow-wrap:anywhere}
.post-hero h1.serif{font-family:var(--font-serif);font-style:italic;font-weight:700;text-transform:none;-webkit-text-stroke:.7px var(--orange);font-size:clamp(1.7rem,1.2rem + 2.5vw,2.5rem)}
.post-hero .sub{opacity:.9;font-size:1.05rem;max-width:60ch}
.post-hero .chips-meta{display:flex;gap:.5rem;flex-wrap:wrap;font-size:var(--fs-meta)}
.post-hero .chips-meta span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:.2rem .6rem;border-radius:var(--r-pill);overflow-wrap:anywhere;min-width:0}
.post-hero .band{display:inline-block;justify-self:start;transform:rotate(-1.5deg);background:#fff;color:var(--caso-to);padding:.3rem .8rem;font-weight:var(--fw-black);font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase;margin-top:.3rem}
.post.full > .post-actions,.post-content{padding-inline:var(--space-4)}
.post-content{display:grid;gap:1.4rem;min-width:0}
@media (min-width:720px){
  .post-hero{padding:var(--space-6) var(--space-6) var(--space-6)}
  .post.full > .post-actions,.post-content{padding-inline:var(--space-6)}
}

/* Conteúdo do guia (estilo Clínica Express) */
.tldr{background:var(--bg);border-left:5px solid var(--orange);border-radius:0 var(--r) var(--r) 0;padding:var(--space-4) 1.2rem}
.tldr .eyebrow{margin-bottom:.4rem}
.tldr ol{margin:.2rem 0 0;padding-left:1.2rem;display:grid;gap:.3rem}
.band-h{background:var(--navy);color:#fff;font-weight:var(--fw-black);padding:.5rem .9rem;border-radius:var(--r-sm);font-size:1rem;display:flex;gap:.6rem;align-items:center}
.band-h .n{background:var(--orange);color:var(--navy-deep);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-meta);flex:none}
.step{display:grid;gap:.7rem;min-width:0}
.formula{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:.9rem var(--space-4);font-variant-numeric:tabular-nums;min-width:0}
.formula b{color:var(--heading-on-surface);font-size:1.1rem;display:block;overflow-wrap:anywhere}
.formula small{color:var(--muted);display:block;margin-top:.3rem;font-size:var(--fs-body)}
.attn{background:linear-gradient(135deg,var(--attn-from),var(--attn-to));color:var(--attn-fg);border-radius:var(--r);padding:var(--space-4) 1.2rem;display:grid;gap:.4rem}
.attn .eyebrow{color:var(--attn-eyebrow)}
.attn ul{margin:0;padding-left:1.1rem;display:grid;gap:.35rem}
.cards2{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem}
@media (min-width:560px){.cards2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mini{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:.85rem var(--space-4);min-width:0}
.mini-h{font-size:var(--fs-body);color:var(--heading-on-surface);margin-bottom:.35rem}
.mini ul{margin:0;padding-left:1.1rem;display:grid;gap:.2rem}
.ref{color:var(--muted);border-top:1px solid var(--line);padding-top:var(--space-4);display:grid;gap:.5rem;overflow-wrap:anywhere}
.ref b{color:var(--fg)}

/* Tabelas: viram cartões empilhados no celular (.tbl-stack) e tabela a partir de 560 px */
.tblwrap{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow:hidden}
table{border-collapse:collapse;width:100%;font-size:var(--fs-body)}
th,td{padding:.55rem .8rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
th{background:var(--surface-2);font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase}
tr:last-child td{border-bottom:0}
.tbl-stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tbl-stack,.tbl-stack tbody,.tbl-stack tr,.tbl-stack td{display:block}
.tbl-stack tr{border-bottom:1px solid var(--line)}
.tbl-stack tr:last-child{border-bottom:0}
.tbl-stack td{display:flex;justify-content:space-between;gap:var(--space-4);border-bottom:0;padding:.35rem .8rem}
.tbl-stack td::before{content:attr(data-label);color:var(--muted);font-weight:var(--fw-semibold)}
.tbl-stack td:first-child{background:var(--surface-2);font-weight:var(--fw-black);padding-block:.55rem}
.tbl-stack td:first-child::before{content:none}
/* .compact: cada linha vira título + valores lado a lado, com o rótulo pequeno em cima (como os sinais vitais) */
.tbl-stack.compact tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.tbl-stack.compact td{display:block;padding-block:.45rem}
.tbl-stack.compact td:first-child{grid-column:1/-1;padding-block:.5rem}
.tbl-stack.compact td::before{display:block;font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase}
@media (min-width:560px){
  .tbl-stack.compact tr{display:table-row}
  .tbl-stack.compact td{display:table-cell;padding:.55rem .8rem}
  .tbl-stack{display:table}
  .tbl-stack thead{position:static;width:auto;height:auto;overflow:visible;clip:auto;display:table-header-group}
  .tbl-stack tbody{display:table-row-group}
  .tbl-stack tr{display:table-row;border-bottom:0}
  .tbl-stack td{display:table-cell;border-bottom:1px solid var(--line);padding:.55rem .8rem}
  .tbl-stack tr:last-child td{border-bottom:0}
  .tbl-stack td::before{content:none}
  .tbl-stack td:first-child{background:transparent;font-weight:var(--fw-regular)}
}

/* Conteúdo do caso */
.box{border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.1rem;display:grid;gap:.7rem;min-width:0}
.box > h2{color:var(--orange-deep);text-transform:uppercase;letter-spacing:.08em;font-size:var(--fs-meta)}
.vitals{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.6rem}
.vitals div{background:var(--surface-2);border-radius:var(--r-sm);padding:.5rem .7rem;font-size:var(--fs-small)}
.vitals b{display:block;font-size:1.1rem;font-variant-numeric:tabular-nums}
.opts{display:grid;gap:.6rem}
.opt{display:flex;gap:.8rem;align-items:flex-start;border:1.5px solid var(--line);border-radius:var(--r-md);padding:.8rem .9rem;background:var(--surface);text-align:left;color:inherit;width:100%;font-size:var(--fs-body)}
.opt .l{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-weight:var(--fw-black);display:grid;place-items:center;flex:none}
.opt[aria-pressed="true"]{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,168,74,.25)}
.opt[aria-pressed="true"] .l{background:var(--orange);color:var(--navy-deep)}
.bars{display:grid;gap:.45rem;font-size:var(--fs-small)}
.bars:empty{display:none}
.bars .bar{display:grid;grid-template-columns:22px 1fr 44px;gap:.5rem;align-items:center}
.bars i{display:block;height:10px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden}
.bars i b{display:block;height:100%;background:var(--navy-mid)}
.bars span{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}
.bars .note{color:var(--muted)}
.lock{display:flex;gap:.7rem;align-items:center;background:var(--surface-2);border-radius:var(--r-md);padding:.8rem var(--space-4);color:var(--muted)}

/* ---------- Discussão (comentários em fio) ---------- */
.thread{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);padding:var(--space-4);display:grid;gap:var(--space-4);min-width:0}
.thread-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem}
.thread-head h2{font-size:1.125rem}
.sort-label{color:var(--muted);font-size:var(--fs-small)}
.composer{border:1px solid var(--line);border-radius:var(--r);padding:.5rem .6rem .6rem;display:grid;gap:.5rem;background:var(--bg)}
.composer:focus-within{border-color:var(--navy-mid)}
.composer textarea{width:100%;border:0;background:transparent;font:inherit;font-size:var(--fs-body);color:var(--fg);min-height:80px;resize:vertical;padding:.3rem}
.composer textarea:focus-visible{outline:none}
.form-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between}
.form-row .btns{display:flex;gap:.5rem;margin-left:auto}
.form-error{color:#B4410C;font-weight:var(--fw-semibold)}
:root[data-theme="dark"] .form-error{color:var(--orange)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .form-error{color:var(--orange)}}
.comments,.replies{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4)}
.cmt{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:.6rem}
.cmt-av{width:36px;height:36px;border-radius:50%;background:var(--surface-2);color:var(--heading-on-surface);display:grid;place-items:center;font-weight:var(--fw-black);font-size:.75rem}
.cmt.team .cmt-av{background:var(--navy);color:var(--orange)}
.cmt-main{min-width:0}
.cmt-meta{font-size:var(--fs-meta);color:var(--muted);display:flex;flex-wrap:wrap;gap:.2rem .4rem;align-items:center}
.cmt-meta b{color:var(--fg)}
.badge-team{background:var(--orange);color:var(--navy-deep);font-size:.75rem;font-weight:var(--fw-black);letter-spacing:.06em;text-transform:uppercase;padding:.1rem .4rem;border-radius:4px}
.cmt-body{overflow-wrap:anywhere;margin-top:.15rem}
.cmt-actions{display:flex;gap:.2rem;align-items:center;flex-wrap:wrap;margin-top:.25rem}
.cmt-actions .vote,.cmt-actions .pillbtn{background:transparent}
.cmt-actions .pillbtn{color:var(--muted)}
.cmt-actions .pillbtn:hover{background:var(--surface-2)}
.cmt > .replies{grid-column:1/-1;margin:var(--space-3) 0 0 17px;padding-left:15px;border-left:2px solid var(--line)}
.cmt > .replies:empty{display:none}
.cmt.mine .cmt-av{background:var(--orange);color:var(--navy-deep)}
.cmt-main .composer{margin-top:.5rem}
.thread-empty{color:var(--muted)}

/* ---------- Fase 2: formulários, Biblioteca, Estúdio e perfil ---------- */
.painel{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);min-width:0}
.painel > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:.85rem var(--space-4);font-weight:var(--fw-black);border-radius:var(--r);min-height:48px}
.painel > summary::-webkit-details-marker{display:none}
.painel > summary::after{content:"▾";margin-left:auto;color:var(--muted);transition:transform .15s}
.painel[open] > summary::after{transform:rotate(180deg)}
.painel[open] > summary{border-bottom:1px solid var(--line);border-radius:var(--r) var(--r) 0 0}
.painel-h{font-size:1rem;padding:.85rem var(--space-4);border-bottom:1px solid var(--line)}
.painel-in,.painel > form{padding:var(--space-4);display:grid;gap:.8rem}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem var(--space-4);min-width:0}
@media (min-width:720px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .wide{grid-column:1/-1}}
.campo{display:grid;gap:.3rem;font-weight:var(--fw-semibold);min-width:0;margin:0;padding:0;border:0}
.campo legend{padding:0;margin-bottom:.3rem;font-weight:var(--fw-semibold)}
.opc{color:var(--muted);font-weight:var(--fw-regular)}
.campo input:not([type=radio]):not([type=checkbox]),.campo select,.campo textarea,.facetas select{font:inherit;font-size:var(--fs-body);font-weight:var(--fw-regular);width:100%;min-width:0;padding:.55rem .7rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--fg);min-height:44px}
.campo textarea{resize:vertical;min-height:80px}
.campo input[type=file]{padding:.45rem}
.campo [aria-invalid="true"]{border-color:var(--erro);box-shadow:0 0 0 2px var(--erro-bg)}
.opcao{display:flex;gap:.6rem;align-items:flex-start;font-weight:var(--fw-regular);min-height:44px;padding-block:.35rem;cursor:pointer}
.opcao input{width:20px;height:20px;margin:.15rem 0 0;flex:none;accent-color:var(--navy)}
.facetas{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem}
.facetas label{display:grid;gap:.25rem;font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--muted)}
@media (min-width:560px){.facetas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:960px){.facetas{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Biblioteca: parte e seção do Harrison na primeira linha (mais largas), tipo, selo e acesso na segunda */
@media (min-width:960px){
  .facetas:has([data-faceta="parte"]){grid-template-columns:repeat(6,minmax(0,1fr))}
  .facetas:has([data-faceta="parte"]) > label{grid-column:span 2}
  .facetas:has([data-faceta="parte"]) > label:nth-child(-n+2){grid-column:span 3}
}
.facetas select:disabled{opacity:.6}
/* Selo da parte/seção do Harrison no cartão (link para o filtro) */
.post-badges{min-width:0}
.harrison{display:inline-block;min-width:0;font-size:var(--fs-label);font-weight:var(--fw-black);padding:.2rem .6rem;border-radius:var(--r-pill);background:var(--surface-2);color:var(--link);text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.harrison:hover{text-decoration:underline}
/* Sumário: as 20 partes, como no livro */
.sumario-partes{list-style:none;margin:0;padding:var(--space-3) var(--space-4) 0;display:grid;grid-template-columns:minmax(0,1fr);gap:2px}
@media (min-width:720px){.sumario-partes{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-4)}}
.sumario-partes a{display:flex;align-items:center;gap:.6rem;padding:.4rem .5rem;border-radius:var(--r-sm);color:var(--fg);text-decoration:none;font-weight:var(--fw-semibold);min-height:40px}
.sumario-partes a:hover{background:var(--surface-2)}
.sumario-partes a span{flex:1;min-width:0}
.sumario-partes small{color:var(--muted);font-weight:var(--fw-regular);font-size:var(--fs-meta)}
.sumario-partes a.vazia,.nav-sub a.vazia{color:var(--muted)}
.sumario-partes a.vazia .comm-ic,.nav-sub a.vazia .comm-ic{opacity:.45}
.sumario-fonte{color:var(--muted);font-size:var(--fs-meta);margin:0;padding:.6rem var(--space-4) var(--space-4)}
.btn.perigo{background:var(--erro);color:#fff}
:root[data-theme="dark"] .btn.perigo{color:var(--navy-deep)}  /* no escuro, --erro é claro: texto escuro */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn.perigo{color:var(--navy-deep)}}

/* Biblioteca: selos de revisão e acesso, moderação */
.post.material{border-top-color:var(--navy-mid)}
.post.material[data-selo="membro"]{border-top-color:var(--line)}
.post.material.local{border-style:dashed}
.post-badges{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.selo,.acesso{display:inline-flex;align-items:center;gap:.3rem;font-size:var(--fs-label);font-weight:var(--fw-black);padding:.2rem .6rem;border-radius:var(--r-pill)}
.selo.revisado{background:var(--primary);color:#fff}
.selo.membro{background:var(--surface-2);color:var(--muted)}
.selo.time{background:var(--cream-2);color:var(--navy-deep)}
.selo.revisao{background:#FBE5DA;color:#8A3208}
.acesso{border:1px solid var(--line);color:var(--muted)}
.acesso.membros{border-color:var(--orange-deep);color:var(--orange-deep)}
.mod-acoes{display:none;gap:.4rem;flex-wrap:wrap}
html[data-papel="professor"] .mod-acoes,html[data-papel="admin"] .mod-acoes{display:inline-flex}  /* moderação: perfis Professor e Administrador (conta.js) */
.correcao-nota{margin:0;padding:.5rem .75rem;border-radius:var(--r-md);background:#FBE5DA;color:#8A3208;font-size:var(--fs-small)}

/* Estúdio: abas, baralhos, flashcard, questões */
.tabs{display:flex;flex-wrap:wrap;gap:.25rem;border-bottom:1px solid var(--line)}
.tab{border:0;background:transparent;color:var(--muted);font-weight:var(--fw-black);padding:.6rem .9rem;min-height:44px;border-bottom:3px solid transparent;margin-bottom:-1px}
.tab[aria-selected="true"]{color:var(--fg);border-bottom-color:var(--orange)}
.tab-panel{display:grid;gap:var(--space-4);min-width:0}
.decks{display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1fr)}
@media (min-width:720px){.decks{grid-template-columns:repeat(2,minmax(0,1fr))}}
.deck{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);border-top:4px solid var(--orange);padding:var(--space-4);display:grid;gap:.6rem;min-width:0}
.deck h3{font-size:var(--fs-h3)}
.deck .fonte{color:var(--muted)}
.deck-stats{display:flex;flex-wrap:wrap;gap:.4rem}
.deck-stats span{background:var(--surface-2);border-radius:var(--r-pill);padding:.2rem .65rem;font-size:var(--fs-small);font-weight:700}
.deck .btn{justify-self:start}
.estudo{display:grid;gap:var(--space-4)}
.estudo-topo,.q-topo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem}
.flashcard{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow);border-top:4px solid var(--orange);padding:var(--space-6) var(--space-5);min-height:220px;display:grid;gap:var(--space-4);align-content:center;text-align:center;min-width:0}
.fc-frente{font-size:clamp(1.15rem,1rem + 1vw,1.45rem);font-weight:var(--fw-black);color:var(--heading-on-surface);overflow-wrap:anywhere}
.fc-verso{font-size:1.0625rem;border-top:1px dashed var(--line);padding-top:var(--space-4);overflow-wrap:anywhere}
#fc-mostrar{justify-self:center;min-width:220px}
.notas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
@media (min-width:560px){.notas{grid-template-columns:repeat(4,minmax(0,1fr))}}
.nota{display:grid;gap:.1rem;justify-items:center;border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--fg);font-weight:var(--fw-black);padding:.6rem .4rem;min-height:56px}
.nota small{font-weight:var(--fw-regular);color:var(--muted);font-size:var(--fs-meta)}
.nota.de-novo{border-color:var(--erro);color:var(--erro)}
.nota.bom{border-color:var(--navy-mid)}
.nota.facil{border-color:var(--ok);color:var(--ok)}
.questao{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);border-top:4px solid var(--navy-mid);padding:var(--space-4) var(--space-5);display:grid;gap:var(--space-4);min-width:0}
.q-enunciado{font-size:1.0625rem;font-weight:var(--fw-semibold)}
.opt.certa{border-color:var(--ok);background:var(--ok-bg)}
.opt.certa .l{background:var(--ok);color:#fff}
.opt.errada{border-color:var(--erro);background:var(--erro-bg)}
.opt.errada .l{background:var(--erro);color:#fff}
.opt:disabled{cursor:default;color:inherit;opacity:1}
.q-feedback{display:grid;gap:.5rem;background:var(--bg);border-radius:var(--r-md);padding:var(--space-4)}
.q-feedback p b{margin-right:.3rem}
.q-feedback .veredito{font-weight:var(--fw-black)}
.q-feedback .veredito.ok{color:var(--ok)}
.q-feedback .veredito.erro{color:var(--erro)}
.q-nav{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.fonte-nota{color:var(--muted)}
.meus-cartoes,.lista-simples{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.meus-cartoes li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:.7rem .9rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .8rem;align-items:start;overflow-wrap:anywhere}
.meus-cartoes li span{color:var(--muted)}
.meus-cartoes li button{grid-row:1 / span 2;grid-column:2}
.ia-breve{display:grid;gap:.3rem;border:1.5px dashed var(--line);border-radius:var(--r);padding:var(--space-4);color:var(--muted)}
.ia-breve b{color:var(--fg)}

/* Estúdio: Minhas notas (caderno pessoal). O "papel" fica claro também no modo escuro, para as cores do texto valerem. */
/* Minhas notas: editor à esquerda e pastas na coluna da direita (a partir de 960 px); no celular, as pastas abrem numa gaveta */
.notas-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);align-items:start}
.notas-editor{display:grid;gap:var(--space-4);min-width:0}
.notas-celular{display:flex}
@media (min-width:960px){
  .notas-layout{grid-template-columns:minmax(0,1fr) var(--rail-w)}
  .notas-celular,.notas-lateral [data-fechar-pastas]{display:none}
  .gaveta.notas-lateral{position:sticky;inset:auto;top:calc(var(--header-h) + var(--space-4) + env(safe-area-inset-top,0px));z-index:auto;width:auto;max-height:calc(100vh / var(--zoom) - var(--header-h) - var(--space-8));transform:none;visibility:visible;transition:none;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}
}
.barra-editor{position:sticky;top:calc(var(--header-h) + var(--space-2) + env(safe-area-inset-top,0px));z-index:6;display:flex;flex-wrap:wrap;align-items:center;gap:.15rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:.35rem .45rem}
.ferr{width:38px;height:38px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--fg);display:inline-grid;place-items:center;font-size:1rem;line-height:1;flex:none}
.ferr:hover{background:var(--surface-2)}
.ferr[aria-pressed="true"]{background:var(--surface-2);color:var(--link);box-shadow:inset 0 -2px 0 var(--orange)}
.ferr[hidden]{display:none}
.so-celular{display:none}
@media (max-width:559.98px){
  .barra-editor .sep,.barra-editor .extra{display:none}
  .barra-editor.mais .extra{display:inline-grid}
  .so-celular{display:inline-grid}
  .ferr-select{max-width:9.5rem}
}
.ferr-select{font:inherit;font-size:var(--fs-small);font-weight:var(--fw-semibold);border:1px solid transparent;background:transparent;color:var(--fg);border-radius:var(--r-sm);padding:.4rem .4rem;min-height:38px}
.ferr-select:hover{background:var(--surface-2)}
.barra-editor .sep{width:1px;height:24px;background:var(--line);margin-inline:.2rem}
.a-cor{font-weight:var(--fw-black);border-bottom:3px solid var(--erro);line-height:1}
.paleta-wrap{position:relative;display:inline-flex}
.paleta{position:absolute;top:calc(100% + 6px);left:0;z-index:7;display:grid;grid-template-columns:repeat(5,32px);gap:.35rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow);padding:.45rem}
.paleta[hidden]{display:none}
/* As cores valem para a folha, que é clara também no modo escuro */
.amostra{width:32px;height:32px;border-radius:var(--r-sm);border:1px solid #E1DCCF;background:#fff;color:var(--amostra);font-weight:var(--fw-black);font-size:1rem;cursor:pointer;display:grid;place-items:center;padding:0}
.amostra.fundo{background:var(--amostra);color:#2B3026}
.amostra.nenhuma{color:#8A93A0}
.amostra:hover{box-shadow:0 0 0 2px #4776AB}
/* Segunda linha da barra: autocorreção à esquerda, janela à parte e "fixar por cima" à direita */
.barra-linha2{flex:1 0 100%;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;padding:.25rem .2rem 0}
.ed-ac{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--fg);cursor:pointer;min-height:36px}
.ed-ac input{width:18px;height:18px;accent-color:var(--navy-mid);margin:0}
.fora-grupo{display:flex;flex-wrap:wrap;gap:.4rem;margin-left:auto}
.btn-fora{display:inline-flex;align-items:center;gap:.4rem;border:1.5px solid var(--navy-mid);background:transparent;color:var(--link);border-radius:var(--r-sm);padding:.35rem .7rem;font:inherit;font-size:var(--fs-small);font-weight:var(--fw-semibold);min-height:36px;cursor:pointer}
.btn-fora svg{width:17px;height:17px}
.btn-fora:hover{background:var(--surface-2)}
.btn-fora.pin{background:var(--navy-mid);border-color:var(--navy-mid);color:#fff}
.btn-fora.pin:hover{filter:brightness(1.08)}
.btn-fora[hidden]{display:none}
.ferr:disabled{opacity:.35;cursor:default;background:transparent}
/* No celular não há janela à parte nem janela fixada (mas a janela à parte, estreita, mantém o "Fixar por cima") */
@media (max-width:719.98px){html:not(.janela-notas) .fora-grupo{display:none}}
/* A nota segue o zoom-out do site como o resto do Estúdio; a folha é 20% mais alta que a original (420 → 504 px, texto 320 → 384 px) */
.nota-papel{background:#FFFEFA;color:#2B3026;border-radius:var(--r-lg);box-shadow:var(--shadow);padding:var(--space-5) var(--space-5) var(--space-8);display:grid;grid-template-columns:minmax(0,1fr);gap:.7rem;min-width:0;min-height:504px;align-content:start;color-scheme:light}
.nota-titulo{font:inherit;font-family:var(--font-sans);font-weight:var(--fw-black);font-size:clamp(1.5rem,1.2rem + 1.5vw,2rem);color:#1E3E61;border:0;background:transparent;padding:0;width:100%;min-width:0}
.nota-titulo::placeholder{color:#C3CAD4}
.nota-titulo:focus-visible{outline:none}
.nota-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;color:#5C6675;font-size:var(--fs-small);border-bottom:1px solid #E6E0D2;padding-bottom:.7rem}
.nota-meta select{min-width:0;font:inherit;font-size:var(--fs-small);font-weight:var(--fw-semibold);background:#EFE9DA;color:#1E3E61;border:0;border-radius:var(--r-pill);padding:.4rem .8rem;min-height:36px;max-width:100%}
.nota-status{margin-left:auto;color:#5C6675}
.nota-aviso{background:#FBE5DA;color:#8A3208;border-radius:var(--r-sm);padding:.5rem .7rem;font-weight:var(--fw-semibold)}
.nota-papel{position:relative}
.nota-corpo{min-height:384px;outline:none;font-size:var(--fs-body);line-height:1.6;overflow-wrap:anywhere;display:flow-root}
.nota-corpo:empty::before{content:attr(data-placeholder);color:#9AA3AF}
.nota-corpo h1,.nota-corpo h2,.nota-corpo h3{color:#1E3E61;margin:1rem 0 .4rem}
.nota-corpo h1{font-size:1.6rem}
.nota-corpo h2{font-size:1.3rem}
.nota-corpo h3{font-size:1.1rem}
.nota-corpo p,.nota-corpo div{margin:0 0 .5rem}
.nota-corpo ul,.nota-corpo ol{margin:.2rem 0 .6rem;padding-left:1.5rem}
.nota-corpo a{color:#2F5F94}
.nota-corpo img{max-width:100%;height:auto;border-radius:var(--r-sm);display:block;margin:.5rem 0}
.nota-corpo blockquote{margin:0 0 .5rem;padding-left:1rem;border-left:3px solid #E1DCCF;color:#4A5260}
/* Imagens da nota: arrastar para posicionar (à esquerda ou à direita com o texto ao lado, ou no centro), cantos para o tamanho,
   duplo clique para recortar. O recorte não corta o arquivo: guarda a parte que aparece (data-recorte = x,y,largura,altura). */
.nfig{position:relative;margin:.6rem 0;max-width:100%;width:fit-content;clear:both;user-select:none;-webkit-user-select:none;touch-action:manipulation}
.nfig img{display:block;width:100%;max-width:100%;height:auto;margin:0;border-radius:6px;cursor:grab;-webkit-user-drag:none}
.nfig:not([data-largura]) img{width:auto}
.nfig[data-flutua="esq"]{float:left;clear:none;margin:.25rem 1.1rem .6rem 0}
.nfig[data-flutua="dir"]{float:right;clear:none;margin:.25rem 0 .6rem 1.1rem}
.nfig[data-flutua="centro"]{margin-inline:auto}
.nfig-caixa{display:block;position:relative;border-radius:6px}
.nfig.recortada .nfig-caixa{overflow:hidden}
.nfig.recortada img{position:absolute;max-width:none;border-radius:0}
.nfig.sel .nfig-caixa{outline:2px solid #4776AB;outline-offset:2px}
.nfig.sel img{touch-action:none}
.nfig-ui{position:absolute;inset:0;pointer-events:none}
.nfig-ui > *{pointer-events:auto}
.nfig.arrastando{opacity:.45}
body.nfig-movendo,body.nfig-movendo *{cursor:grabbing!important}
.nfig-al{position:absolute;width:14px;height:14px;background:#fff;border:2px solid #4776AB;border-radius:4px;z-index:3;touch-action:none}
.nfig-al-nw{left:-8px;top:-8px;cursor:nwse-resize}
.nfig-al-ne{right:-8px;top:-8px;cursor:nesw-resize}
.nfig-al-sw{left:-8px;bottom:-8px;cursor:nesw-resize}
.nfig-al-se{right:-8px;bottom:-8px;cursor:nwse-resize}
.nfig-barra{position:absolute;left:0;top:calc(100% + 8px);z-index:4;display:flex;align-items:center;gap:2px;background:#fff;border:1px solid #E1DCCF;border-radius:10px;box-shadow:0 6px 18px rgba(15,39,66,.18);padding:3px}
.nfig[data-flutua="dir"] .nfig-barra{left:auto;right:0}
.nfig[data-flutua="centro"] .nfig-barra{left:50%;transform:translateX(-50%)}
.nfig-barra button{width:34px;height:34px;border:0;border-radius:7px;background:transparent;color:#1E3E61;display:grid;place-items:center;cursor:pointer;padding:0}
.nfig-barra button:hover{background:#EFE9DA}
.nfig-barra button[aria-pressed="true"]{background:#DCEBF6;color:#2F5F94}
.nfig-barra .apagar{color:#B4410C}
.nfig-barra .sep{width:1px;height:22px;background:#E1DCCF;margin-inline:2px}
.nfig.cortando{overflow:visible;z-index:5}
.nfig.cortando .nfig-caixa,.nfig.cortando .nfig-ui{visibility:hidden}
.nfig-capa{position:absolute;z-index:6;touch-action:none}
.nfig-capa > img{position:absolute;inset:0;width:100%;height:100%;max-width:none;border-radius:0;cursor:default}
.nfig-capa-sombra{position:absolute;inset:0;overflow:hidden}
.nfig-janela{position:absolute;box-shadow:0 0 0 9999px rgba(10,20,36,.6)}
.nfig-marco{position:absolute;border:2px solid #fff;outline:1px solid rgba(0,0,0,.35);cursor:move}
.nfig-ch{position:absolute;width:14px;height:14px;background:#fff;border:2px solid #4776AB;border-radius:3px}
.nfig-ch-n,.nfig-ch-s{left:calc(50% - 7px);cursor:ns-resize}
.nfig-ch-e,.nfig-ch-w{top:calc(50% - 7px);cursor:ew-resize}
.nfig-ch-n{top:-8px}.nfig-ch-s{bottom:-8px}.nfig-ch-e{right:-8px}.nfig-ch-w{left:-8px}
.nfig-ch-nw{left:-8px;top:-8px;cursor:nwse-resize}.nfig-ch-ne{right:-8px;top:-8px;cursor:nesw-resize}
.nfig-ch-sw{left:-8px;bottom:-8px;cursor:nesw-resize}.nfig-ch-se{right:-8px;bottom:-8px;cursor:nwse-resize}
.nfig-cbarra{position:absolute;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;background:#fff;border:1px solid #E1DCCF;border-radius:10px;box-shadow:0 6px 18px rgba(15,39,66,.2);padding:.35rem;width:max-content;max-width:min(92vw,520px);z-index:7}
.nfig-cbarra .btn{min-height:34px;padding:.3rem .8rem;font-size:var(--fs-small)}
.nfig-cbarra span{font-size:var(--fs-meta);color:#5C6675;padding-inline:.3rem}
.nfig-guia{position:absolute;height:3px;background:#4776AB;border-radius:2px;z-index:8;pointer-events:none}
.nfig-guia span{position:absolute;top:-30px;white-space:nowrap;background:#1E3E61;color:#fff;font-size:var(--fs-meta);font-weight:var(--fw-semibold);border-radius:6px;padding:.2rem .55rem}
.nota-corpo ul.checklist{list-style:none;padding-left:.2rem}
.nota-corpo ul.checklist li{position:relative;padding-left:1.9rem;margin-bottom:.25rem}
.nota-corpo ul.checklist li::before{content:"";position:absolute;left:0;top:.2em;width:1.15em;height:1.15em;border:2px solid #4776AB;border-radius:5px;background:#fff;cursor:pointer;box-sizing:border-box}
.nota-corpo ul.checklist li[data-feito]{color:#7A8494;text-decoration:line-through}
.nota-corpo ul.checklist li[data-feito]::before{background:#1E3E61 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/85% no-repeat;border-color:#1E3E61}
@media (min-width:720px){.nota-papel{padding:var(--space-6) var(--space-8) var(--space-10)}}

/* Gaveta "Pastas" (abre pela direita, como no CardioAtt) */
.gaveta{position:fixed;inset:0 0 0 auto;z-index:22;width:min(380px,90vw);background:var(--surface);border-left:1px solid var(--line);box-shadow:-12px 0 32px rgba(0,0,0,.18);display:flex;flex-direction:column;gap:.6rem;padding:var(--space-4);overflow-y:auto;overscroll-behavior:contain;transform:translateX(100%);visibility:hidden;transition:transform .2s,visibility 0s .2s}
.gaveta.aberta{transform:none;visibility:visible;transition:transform .2s}
.gaveta-fundo{position:fixed;inset:0;z-index:21;background:rgba(5,15,28,.45);opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s}
.gaveta-fundo.aberta{opacity:1;visibility:visible;transition:opacity .2s}
.gaveta-topo{display:flex;align-items:center;gap:.3rem}
.gaveta-topo h2{font-size:1.4rem;margin-right:auto}
.gaveta-busca{font:inherit;font-size:var(--fs-body);width:100%;padding:.55rem .8rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);color:var(--fg);min-height:44px}
.pasta-grupo{font-size:var(--fs-label);font-weight:var(--fw-black);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted);margin:.8rem 0 .2rem}
.pasta-linha{display:flex;align-items:center;gap:.15rem}
.pasta-cab{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;border:0;background:transparent;color:var(--fg);text-align:left;cursor:pointer;padding:.45rem .3rem;border-radius:var(--r-sm);font:inherit;font-weight:var(--fw-semibold);min-height:40px}
.pasta-cab:hover{background:var(--surface-2)}
.pasta-seta{width:1rem;color:var(--muted);transition:transform .15s;text-align:center;flex:none}
.pasta-cab[aria-expanded="true"] .pasta-seta{transform:rotate(90deg)}
.pasta-nome{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pasta-cab small{margin-left:auto;background:var(--surface-2);color:var(--muted);border-radius:var(--r-pill);padding:0 .5rem;font-size:var(--fs-label);font-weight:var(--fw-black)}
.pasta-mais{width:32px;height:32px;opacity:.55}
.pasta-linha:hover .pasta-mais,.pasta-mais:focus-visible{opacity:1}
.pasta-vazio{color:var(--muted);padding:.5rem .3rem}
.pasta-notas .vazio button{border:0;background:none;color:var(--link);font:inherit;font-weight:var(--fw-semibold);text-decoration:underline;cursor:pointer;padding:0}
/* Seções (títulos) da nota aberta, para pular até elas */
.nota-secoes{list-style:none;margin:0 0 .3rem .6rem;padding:0;display:grid;gap:1px}
.nota-secoes button{display:flex;gap:.45rem;align-items:baseline;width:100%;border:0;background:transparent;color:var(--muted);text-align:left;font:inherit;font-size:var(--fs-small);padding:.3rem .4rem;border-radius:var(--r-sm);cursor:pointer}
.nota-secoes button:hover{background:var(--surface-2);color:var(--fg)}
.nota-secoes .num{font-size:var(--fs-label);font-weight:var(--fw-black);color:var(--link);min-width:1.1rem}
.pasta-notas{list-style:none;margin:0 0 .3rem 1.1rem;padding:0 0 0 .5rem;border-left:2px solid var(--line);display:grid;gap:2px}
.pasta-notas li{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem;position:relative}
.pasta-notas li > .nota-secoes{flex:1 0 100%}
.pasta-notas .abrir-nota{flex:1;min-width:0;text-align:left;border:0;background:transparent;color:var(--fg);padding:.45rem .5rem;border-radius:var(--r-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:40px}
.pasta-notas .abrir-nota:hover{background:var(--surface-2)}
.pasta-notas .abrir-nota[aria-current]{background:var(--surface-2);color:var(--link);font-weight:var(--fw-black);box-shadow:inset 3px 0 0 var(--orange)}
.pasta-notas .vazio{color:var(--muted);padding:.3rem .5rem}
.menu-nota{position:fixed;z-index:40;width:min(240px,80vw);max-height:60vh;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow);padding:.35rem;display:grid}
.menu-nota button{border:0;background:transparent;color:var(--fg);text-align:left;padding:.5rem .65rem;border-radius:var(--r-sm);min-height:40px}
.menu-nota button:hover,.menu-nota button:focus-visible{background:var(--surface-2)}
.menu-nota .rotulo{font-size:var(--fs-label);font-weight:var(--fw-black);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted);padding:.5rem .65rem .2rem;border-top:1px solid var(--line);margin-top:.2rem}
.menu-nota .mover{padding-left:1.1rem}
.menu-nota .apagar{color:var(--erro);border-top:1px solid var(--line);border-radius:0 0 var(--r-sm) var(--r-sm);margin-top:.2rem}

/* Enquanto as notas estão numa janela à parte ou fixadas por cima, aqui elas ficam em pausa */
.notas-fora{display:grid;justify-items:center;gap:.6rem;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:var(--space-8) var(--space-5);color:var(--fg)}
.notas-fora[hidden],.notas-layout[hidden]{display:none}
.notas-fora-ic{font-size:2rem}
.notas-fora h3{font-size:1.25rem;margin:0}
.notas-fora p{max-width:46ch;color:var(--muted);margin:0}
/* estudio.html?janela=notas: a janela à parte (e a fixada por cima) mostra só o editor */
html.janela-notas{--header-h:0px;--zoom:1;zoom:1}
.janela-notas body::before,.janela-notas .skip,.janela-notas .proto,.janela-notas header.top,.janela-notas .side-nav,.janela-notas .nav-overlay,.janela-notas footer.site,.janela-notas .tabs{display:none!important}
.janela-notas .shell{display:block}
.janela-notas #conteudo .cols{padding-top:var(--space-3)}
.janela-notas #nota-janela{display:none}

/* ---------- Capítulo MPC (capitulo/*.html): texto longo com citação por autor e ano ---------- */
.capitulo .post-content p,.capitulo .post-content li{line-height:1.6}
.cap-nota{background:var(--surface-2);border-radius:var(--r-md);padding:.75rem var(--space-4);color:var(--fg);margin:0}
.cap-toc{border:1px solid var(--line);border-radius:var(--r-md);padding:.8rem var(--space-4);background:var(--surface)}
.cap-toc ol{margin:.4rem 0 0;padding-left:1.3rem;columns:2 16rem;column-gap:var(--space-6)}
.cap-toc li{break-inside:avoid;padding:.12rem 0}
.cap-h3{font-size:1.1rem;color:var(--heading-on-surface);margin:.6rem 0 0}
.cap-passos,.cap-lista{margin:0;padding-left:1.3rem;display:grid;gap:.45rem}
.cap-obs{color:var(--muted);margin:0}
.cap-fonte{color:var(--muted);margin:0}
.mini p{margin:.2rem 0 0}
a.cit{font-size:.82em;font-weight:var(--fw-semibold);white-space:nowrap;color:var(--link);text-decoration:none;border-bottom:1px dotted currentColor}
a.cit:hover{border-bottom-style:solid}
details.caso{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:.2rem var(--space-4)}  /* só os casos do capítulo; .post.caso, .spot.caso e .comm-ic.caso têm regras próprias */
details.caso summary{cursor:pointer;padding:.6rem 0;line-height:1.5}
details.caso[open] summary{border-bottom:1px solid var(--line);margin-bottom:.5rem}
details.caso ol{margin:0 0 .8rem;padding-left:1.3rem;display:grid;gap:.35rem}
.cap-refs{margin:0;padding-left:1.4rem;display:grid;gap:.45rem;color:var(--fg)}
.cap-refs li:target{background:var(--cream-2);color:var(--navy-deep);border-radius:var(--r-sm)}
[id^="r-"],.capitulo .step{scroll-margin-top:calc(var(--header-h) + var(--space-4))}
/* No celular, as tabelas de texto longo do capítulo mostram o rótulo acima do valor (e não espremido ao lado) */
@media (max-width:559.98px){.capitulo .tbl-stack td{display:block}.capitulo .tbl-stack td::before{display:block;font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.1rem}}

/* ---------- Frameworks diagnósticos ---------- */
.fw-grade{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3)}
@media (min-width:720px){.fw-grade{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1280px){.fw-grade{grid-template-columns:repeat(3,minmax(0,1fr))}}
.fw-card{overflow-wrap:anywhere;position:relative;background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);border-top:4px solid var(--fw-cor);padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.5rem;min-width:0}
.fw-card[hidden]{display:none}
.fw-card:hover{box-shadow:0 0 0 1.5px var(--fw-cor),var(--shadow)}
.fw-card-topo{display:flex;align-items:center;gap:.55rem}
.fw-ic,.fw-ic-mini{display:inline-grid;place-items:center;border-radius:var(--r-sm);color:var(--fw-cor);background:color-mix(in srgb,var(--fw-cor) 14%,transparent);font-style:normal;flex:none}
.fw-ic{width:36px;height:36px;font-size:1.1rem}
.fw-esp{font-size:var(--fs-label);font-weight:var(--fw-black);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted)}
.fw-fav{margin-left:auto;position:relative;z-index:1;width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:1.25rem}
.fw-fav:hover{background:var(--surface-2)}
.fw-fav[aria-pressed="true"]{color:var(--orange-deep)}
.fw-card h3{font-size:1.15rem}
.fw-card h3 a{color:inherit;text-decoration:none}
.fw-card h3 a::after{content:"";position:absolute;inset:0;border-radius:var(--r)}
.fw-card h3 a:focus-visible{outline:none}
.fw-card h3 a:focus-visible::after{outline:3px solid var(--orange);outline-offset:2px}
.fw-card > p{color:var(--muted)}
.fw-passo{margin-top:auto !important;display:flex;flex-wrap:wrap;gap:.2rem .5rem;align-items:baseline;color:var(--fg) !important;font-weight:var(--fw-semibold)}
.fw-passo span{font-size:var(--fs-label);font-weight:var(--fw-black);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fw-cor)}
.post.fw{border-top-color:var(--fw-cor)}
.fw-hero .comm-ic.fw-ic-mini{width:24px;height:24px;font-size:var(--fs-meta);background:rgba(255,255,255,.9)}
.fw-barra{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem}
.fw-zoom{display:inline-flex;align-items:center;gap:.25rem}
.fw-zoom[hidden],.fw-canvas[hidden]{display:none}
.fw-zoom output{min-width:3.2rem;text-align:center;font-weight:var(--fw-black);font-variant-numeric:tabular-nums}
.fw-dica{color:var(--muted)}
.fw-canvas{cursor:grab;border:1px solid var(--line);border-radius:var(--r);background-color:var(--bg);background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:18px 18px;overflow:auto;max-height:78vh;padding:var(--space-4);overscroll-behavior:contain}
.fw-palco{margin:0 auto}
.fw-canvas.arrastando{cursor:grabbing;user-select:none}
/* Fluxograma: árvore de cima para baixo, com conectores em CSS */
.fw-arvore,.fw-arvore ul{display:flex;justify-content:center;list-style:none;margin:0;padding:0}
.fw-arvore{width:max-content;transform-origin:0 0}
.fw-arvore ul{padding-top:26px;position:relative}
.fw-arvore li{display:flex;flex-direction:column;align-items:center;position:relative;padding:26px 8px 0}
.fw-arvore > li{padding-top:0}
.fw-arvore li::before,.fw-arvore li::after{content:"";position:absolute;top:0;right:50%;width:50%;height:26px;border-top:2px solid var(--navy-mid)}
.fw-arvore li::after{right:auto;left:50%;border-left:2px solid var(--navy-mid)}
.fw-arvore > li::before,.fw-arvore > li::after{display:none}
.fw-arvore li:only-child::before{display:none}
.fw-arvore li:only-child::after{border-top:0}
.fw-arvore li:first-child::before,.fw-arvore li:last-child::after{border-top:0}
.fw-arvore li:first-child:not(:only-child)::after{border-radius:10px 0 0 0}
.fw-arvore li:last-child:not(:only-child)::before{border-right:2px solid var(--navy-mid);border-radius:0 10px 0 0}
.fw-arvore li:last-child:not(:only-child)::after{border:0}
.fw-arvore ul::before{content:"";position:absolute;top:0;left:50%;height:26px;border-left:2px solid var(--navy-mid)}
.fw-no{overflow-wrap:anywhere;display:grid;gap:.3rem;justify-items:center;text-align:center;width:232px;padding:.85rem .9rem;border-radius:var(--r);background:var(--surface);border:1.5px solid var(--line);color:var(--fg);box-shadow:var(--shadow);font:inherit;position:relative;z-index:1}
button.fw-no{cursor:pointer}
button.fw-no:hover{border-color:var(--navy-mid)}
.fw-no.root{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--fw-cor) 45%,transparent),var(--shadow)}
.fw-no.root .fw-no-sub{color:rgba(255,255,255,.85)}
.fw-no.leaf{border:2px solid var(--orange)}
.fw-no.ativo{outline:3px solid var(--orange);outline-offset:2px}
.fw-no-rot{font-size:1.0625rem;font-weight:var(--fw-black);line-height:1.3}
.fw-no-sub{font-size:var(--fs-body);color:var(--muted);line-height:1.35}
.fw-pill{font-size:var(--fs-small);font-weight:var(--fw-black);border-radius:var(--r-pill);padding:.12rem .55rem;color:var(--pill);background:color-mix(in srgb,var(--pill) 14%,transparent);border:1px solid color-mix(in srgb,var(--pill) 40%,transparent)}
.fw-no.root .fw-pill{color:#fff;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.12)}
.fw-no-dica{font-size:var(--fs-small);font-weight:var(--fw-black);color:var(--orange-deep)}
.fw-no.root .fw-no-dica{color:var(--orange)}
/* Passo a passo: lista vertical com linha de ligação */
.fw-lista,.fw-lista ol{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.fw-lista ol{margin:.55rem 0 0 .9rem;padding-left:.9rem;border-left:2px solid var(--navy-mid)}
.fw-lista[hidden]{display:none}
.fw-lista .fw-no{width:100%;max-width:640px;justify-items:start;text-align:left}
.fw-relacionados{display:grid;gap:var(--space-3)}
.fw-relacionados .fchip{display:inline-flex;align-items:center;gap:.35rem;text-decoration:none}
.fw-ic-chip{color:var(--fw-cor)}
/* Gaveta do quadro */
.fw-gaveta{width:min(560px,94vw);gap:.75rem;overflow-wrap:anywhere}
.fw-d-esp{margin-right:auto;font-size:var(--fs-meta);font-weight:var(--fw-black);letter-spacing:var(--tracking-label);text-transform:uppercase}
.fw-d-titulo{font-size:1.45rem;border-bottom:3px solid var(--fw-cor,var(--orange));padding-bottom:.5rem}
.fw-d-titulo:focus-visible{outline:none}
.fw-d-sub{color:var(--muted)}
.fw-d-destaque{display:grid;gap:.5rem}
.fw-d-destaque[hidden]{display:none}
.fw-d-caixa{display:flex;flex-wrap:wrap;gap:.4rem .6rem;align-items:baseline;background:var(--surface-2);border-radius:var(--r-md);padding:.65rem .8rem;font-weight:var(--fw-semibold)}
.fw-d-rotulo{background:var(--navy);color:#fff;font-size:var(--fs-label);font-weight:var(--fw-black);letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:.15rem .5rem}
.fw-d-abas{gap:0}
.fw-d-abas[hidden]{display:none}
.fw-d-abas .tab{padding:.55rem .7rem;font-size:var(--fs-body)}
.fw-d-corpo{display:grid;gap:.7rem;outline:none}
.fw-d-sec{font-size:1.0625rem;color:var(--heading-on-surface);margin-top:.3rem}
.fw-disc{border:1px solid var(--line);border-left:4px solid var(--navy-mid);border-radius:var(--r-sm);padding:.6rem .75rem;display:grid;gap:.2rem}
.fw-pista{font-weight:var(--fw-black)}
.fw-aponta{color:var(--link);font-weight:var(--fw-semibold)}
.fw-contra{color:var(--muted)}
.fw-metodo{margin:0;padding-left:1.1rem;display:grid;gap:.35rem}
.fw-alerta{background:var(--erro-bg);color:var(--erro);border-radius:var(--r-sm);padding:.6rem .75rem;font-weight:var(--fw-semibold)}
.fw-caixa{background:var(--bg);border-radius:var(--r-md);padding:.7rem .85rem}
.fw-caixa ul{margin:.3rem 0 0;padding-left:1.1rem;display:grid;gap:.25rem}
.fw-cuidado{color:var(--muted);font-style:italic}
.fw-d-nav{display:flex;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.5rem;border-top:1px solid var(--line)}
.fw-impressao{display:none}
/* ---------- Conta: perfil de acesso, cápsulas e moderação (assets/js/conta.js) ---------- */
/* Visibilidade por perfil: html[data-papel] vem do <head> (sem piscar). .so-prof = professor e admin; .so-admin = só admin;
   .sem-prof e .sem-admin = o aviso de acesso restrito para quem não tem o perfil. */
html:not([data-papel="professor"]):not([data-papel="admin"]) .so-prof{display:none!important}
html:not([data-papel="admin"]) .so-admin{display:none!important}
html[data-papel="professor"] .sem-prof,html[data-papel="admin"] .sem-prof,html[data-papel="admin"] .sem-admin{display:none!important}
/* Modo time: a troca de perfil só aparece para quem abriu o link do time (?equipe=1, no <head>) ou já é professor/admin. */
html:not([data-equipe]) .so-equipe{display:none!important}
html[data-equipe] .sem-equipe{display:none!important}
.capsulas-topo{flex:none;display:inline-flex;align-items:center;gap:.3rem;height:40px;padding:0 .65rem;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.25);color:#fff;text-decoration:none;font-weight:var(--fw-black);font-size:var(--fs-small);font-variant-numeric:tabular-nums;white-space:nowrap}
.capsulas-topo:hover{background:rgba(255,255,255,.08)}
.capsulas-topo.pulsa{animation:capsula-pulsa 1s ease}
@keyframes capsula-pulsa{30%{transform:scale(1.12);background:rgba(255,168,74,.28);border-color:var(--orange)}}
@media (prefers-reduced-motion:reduce){.capsulas-topo.pulsa{animation:none}}
.mod-btn{border:0;background:transparent;color:var(--muted);font-size:var(--fs-meta);font-weight:700;padding:.15rem .4rem;border-radius:var(--r-pill);min-height:28px}
.post-actions .mod-btn{min-height:36px;padding:.3rem .8rem;background:var(--surface-2);color:var(--fg);font-size:var(--fs-small)}
.mod-btn:hover{color:var(--fg);background:var(--surface-2)}
.moderado{opacity:.6;outline:2px dashed var(--orange);outline-offset:3px;border-radius:var(--r-md)}
.moderado-rotulo{grid-column:1/-1;margin:0 0 .3rem;font-size:var(--fs-meta);font-weight:700;color:var(--orange-deep)}
html:not([data-papel="professor"]):not([data-papel="admin"]) .moderado{display:none!important}
.fc-fonte{display:block;margin-top:.6rem;color:var(--muted);font-size:var(--fs-meta)}
.papeis{display:grid;gap:.6rem;margin:0;padding:0;border:0;min-width:0}
@media (min-width:720px){.papeis{grid-template-columns:repeat(3,minmax(0,1fr))}}
.papel-op{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.5rem;row-gap:.2rem;align-items:start;padding:.75rem;border:1.5px solid var(--line);border-radius:var(--r-md);cursor:pointer;min-width:0}
.papel-op input{margin-top:.25rem;accent-color:var(--orange)}
.papel-op span{grid-column:2;color:var(--muted);font-size:var(--fs-small)}
.papel-op:has(input:checked){border-color:var(--orange);background:var(--surface-2)}

@media print{
  .fw-barra,.fw-dica,.fw-canvas,.fw-lista,.fw-relacionados,.fw-gaveta,.gaveta-fundo{display:none!important}
  .fw-impressao{display:grid;gap:.6rem}
  .fw-imp-no{break-inside:avoid;border-top:1px solid #ccc;padding-top:.4rem}
  .fw-imp-no h3{font-size:1rem}
}

/* Perfil */
.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-2)}
@media (min-width:720px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
.kpi{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);padding:var(--space-4);display:grid;gap:.2rem;min-width:0}
.kpi b{font-size:1.6rem;font-weight:var(--fw-black);color:var(--heading-on-surface);font-variant-numeric:tabular-nums;line-height:1.1}
.kpi span{color:var(--muted);font-size:var(--fs-small)}
.lista-simples li{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap;padding-block:.35rem;border-bottom:1px dashed var(--line)}
.lista-simples li:last-child{border-bottom:0}
.lista-simples .vazio{color:var(--muted);border:0}
.zona-perigo{border:1px solid var(--erro)}

/* ---------- Coluna da direita ---------- */
.rail-card{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;min-width:0}
.rail-card > h2{background:var(--navy);color:#fff;font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;padding:.65rem var(--space-4)}
.rail-in{padding:var(--space-4);display:grid;gap:.7rem}
.rail-in > p{color:var(--muted)}
.rail-links{list-style:none;margin:0;padding:0;display:grid}
.rail-links a,.rail-links .item{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;text-decoration:none;color:var(--fg);font-weight:var(--fw-semibold)}
.rail-links a:hover{color:var(--link)}
.rail-links small{margin-left:auto;color:var(--muted);font-weight:var(--fw-regular);font-size:var(--fs-meta);flex:0 1 auto;text-align:right}
.rail-links .item{color:var(--muted)}
.authors{display:flex;gap:.7rem;align-items:center}
.authors .av{width:38px;height:38px;border-radius:50%;background:var(--navy);color:var(--orange);display:grid;place-items:center;font-weight:var(--fw-black);font-size:var(--fs-meta);flex:none}
.calc{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);padding:1.1rem;display:grid;gap:.7rem;z-index:2}
.calc h2{font-size:1.05rem;display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}
.calc label{display:grid;gap:.2rem;font-size:var(--fs-small);color:var(--muted);font-weight:var(--fw-semibold);min-width:0}
.calc input{font:inherit;font-size:var(--fs-body);padding:.55rem .6rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--fg);width:100%;min-width:0}
.calc input[aria-invalid="true"]{border-color:#C2410C;box-shadow:0 0 0 2px rgba(194,65,12,.2)}
.calc .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.calc .hint{color:var(--muted);font-size:var(--fs-body)}
.out{background:var(--navy);color:#fff;border-radius:var(--r-md);padding:.8rem .9rem;display:grid;gap:.45rem;font-size:var(--fs-body)}
.out b{font-size:1.15rem;color:var(--cream-2);font-variant-numeric:tabular-nums}
.out .flag{color:var(--orange);font-weight:var(--fw-black)}
@media (min-width:960px){.calc{position:sticky;top:calc(var(--header-h) + var(--space-4) + env(safe-area-inset-top,0px))}}

/* ---------- Rodapé (faixa compacta; o aviso educacional fica em todas as páginas) ---------- */
footer.site{background:var(--navy-deep);color:#fff;padding:var(--space-3) max(var(--gutter),env(safe-area-inset-right,0px)) var(--space-3) max(var(--gutter),env(safe-area-inset-left,0px))}
footer.site .foot{max-width:var(--cols-max);margin-inline:auto;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem var(--space-4)}
footer.site img{height:26px;width:auto;display:block}
footer.site .disclaimer{order:3;flex:1 1 100%;margin:0;font-size:var(--fs-body);line-height:1.4;opacity:.9}
footer.site .disclaimer b{color:var(--orange)}
footer.site .legal{order:2;margin:0 0 0 auto;font-size:var(--fs-small);opacity:.7;white-space:nowrap}
@media (min-width:720px){footer.site .disclaimer{order:2;flex:1 1 320px}footer.site .legal{order:3;margin-left:0}}
footer.site a{color:#fff}

/* ---------- Toast ---------- */
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--navy-deep);color:#fff;padding:.6rem var(--space-4);border-radius:var(--r-md);font-size:var(--fs-body);box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s;width:max-content;max-width:calc(100vw - 2 * var(--gutter));text-align:center;z-index:35}
.toast.on{opacity:1}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- Impressão / PDF ---------- */
@media print{
  :root{--bg:#fff;--surface:#fff;--fg:#111;--muted:#444;--line:#ccc;--heading-on-surface:var(--navy)}
  body::before,.skip,.proto,.side-nav,.nav-overlay,.top-search,.top-actions,.menu-btn,.post-actions,.thread,.rail,.toast,footer.site ul{display:none!important}
  header.top{position:static}
  .shell,.cols{display:block}
  .post{box-shadow:none}
  .post-hero,.band-h,.attn,.tag{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .step,.attn,.tblwrap,.mini{break-inside:avoid}
  footer.site{padding-block:var(--space-4);-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
