/* AKASHA · Sistema Santuário — tokens e camada transversal (carregar por último em todas as páginas).
 * Obsidiana é profundidade. Vinho é atmosfera. Carmim é ativação. Ouro é precisão. Marfim é conhecimento.
 * Esta folha NÃO muda dados, motores ou comportamento: redefine as variáveis que as folhas anteriores já usam
 * (--bg, --panel, --text, --accent…) e unifica tipografia, navegação, botões, campos, diálogos e foco.
 * Especificação: docs/akasha/SISTEMA_VISUAL_SANTUARIO.md */

/* ---------- 1. TOKENS ---------- */
:root{
 /* marca */
 --ak-obsidiana:#0d0b0d;--ak-carvao:#191316;--ak-ferro:#241a1e;--ak-vinho:#3a121a;--ak-vinho-luz:#5a1420;
 --ak-carmim:#a71926;--ak-rosso:#ba2934;--ak-ouro:#c6a57d;--ak-marfim:#f0e8dc;--ak-cinza:#b9aaa4;--ak-linha:#403135;
 /* superfícies */
 --ak-fundo:var(--ak-obsidiana);--ak-sup-1:var(--ak-carvao);--ak-sup-2:var(--ak-ferro);--ak-sup-atmosfera:var(--ak-vinho);
 --ak-borda:var(--ak-linha);--ak-borda-forte:#5a4448;--ak-veu:rgba(13,11,13,.72);--ak-sombra:0 24px 70px rgba(0,0,0,.55);
 /* texto e estados */
 --ak-texto:var(--ak-marfim);--ak-texto-2:var(--ak-cinza);--ak-texto-ouro:var(--ak-ouro);--ak-texto-sobre-acao:#fff9f2;
 --ak-acao:var(--ak-rosso);--ak-acao-hover:#c8343f;--ak-link:#e3c9a4;--ak-selecao:rgba(167,25,38,.45);
 /* navegação */
 --ak-nav-fundo:rgba(13,11,13,.9);--ak-nav-item:#b9aaa4;--ak-nav-item-ativo:var(--ak-marfim);--ak-nav-marca:var(--ak-ouro);
 --ak-nav-hover:rgba(240,232,220,.07);--ak-nav-ativo:linear-gradient(90deg,rgba(90,20,32,.6),rgba(90,20,32,0));--ak-topo:56px;
 /* foco e acessibilidade */
 --ak-foco:#eed5b2;--ak-foco-largura:2px;--ak-foco-recuo:3px;--ak-alvo:44px;
 /* científico: semântica própria, independente da marca (acerto, erro, alerta, informação) */
 --ak-sci-certo:#7fc8a0;--ak-sci-errado:#f0a0a8;--ak-sci-alerta:#e4be83;--ak-sci-info:#8fb8d8;--ak-sci-neutro:#b9aaa4;
 /* movimento */
 --ak-rapido:.14s;--ak-medio:.24s;--ak-lento:.5s;--ak-curva:cubic-bezier(.2,.7,.2,1);
 /* forma e tipografia */
 --ak-raio-1:4px;--ak-raio-2:8px;--ak-raio-3:14px;
 --ak-serif:"Literata",Georgia,"Iowan Old Style","Times New Roman",serif;
 --ak-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;

 /* variáveis das folhas anteriores → tokens (compatibilidade durante a migração) */
 color-scheme:dark;
 --bg:var(--ak-fundo);--panel:var(--ak-sup-1);--panel2:var(--ak-sup-2);--text:var(--ak-texto);--muted:var(--ak-texto-2);--line:var(--ak-borda);
 --accent:var(--ak-carmim);--accent-soft:rgba(167,25,38,.14);--ok:var(--ak-sci-certo);--warn:var(--ak-sci-alerta);
 --display:var(--ak-serif);--body:var(--ak-sans);--serif:var(--ak-serif);--sans:var(--ak-sans);
 --side:#110d0f;--rose:var(--ak-carmim);--rose2:#e2a2a5;--gold:var(--ak-ouro);--green:var(--ak-sci-certo);--danger:var(--ak-sci-errado);
 --hub-wine:var(--ak-carmim);--hub-red:var(--ak-carmim);--hub-red-hover:var(--ak-acao-hover);--hub-gold:var(--ak-ouro);
 --hub-cream:var(--ak-texto);--hub-soft:var(--ak-texto-2);--hub-ink:var(--ak-fundo);--hub-line:var(--ak-borda);
}
:root[data-theme="light"]{
 --ak-fundo:#f5f0e9;--ak-sup-1:#fffcf6;--ak-sup-2:#ece3d9;--ak-sup-atmosfera:#ead8d4;
 --ak-borda:#d9c6bd;--ak-borda-forte:#bfa79c;--ak-veu:rgba(48,35,38,.42);--ak-sombra:0 18px 50px rgba(49,20,32,.14);
 --ak-texto:#302326;--ak-texto-2:#6a5852;--ak-texto-ouro:#7a5230;--ak-acao:#921923;--ak-acao-hover:#7c141d;--ak-link:#7a2a1e;--ak-selecao:rgba(146,25,35,.22);
 --ak-foco:#7a5230;
 --ak-sci-certo:#1f6b47;--ak-sci-errado:#a3232f;--ak-sci-alerta:#7a5a12;--ak-sci-info:#1f5c86;--ak-sci-neutro:#6a5852;
 color-scheme:light;--accent:#921923;--accent-soft:rgba(146,25,35,.1);--rose2:#921923;
}

/* ---------- 2. BASE: tipografia, seleção, foco ---------- */
body{font-family:var(--ak-sans);background:var(--ak-fundo);color:var(--ak-texto)}
button,input,textarea,select{font-family:var(--ak-sans)}
h1,h2,h3,.book-title,.hub-crumb-brand,.hub-brand-copy strong,.section-header,.reader-export-dialog h2{font-family:var(--ak-serif)!important;font-optical-sizing:auto}
h1,h2,h3{font-weight:600;letter-spacing:-.012em}
.hub-page h1{letter-spacing:-.02em}
::selection{background:var(--ak-selecao)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--ak-foco-largura) solid var(--ak-foco);outline-offset:var(--ak-foco-recuo)}
/* Textos pequenos que usavam o carmim como cor de letra (2,6:1 sobre obsidiana) passam a usar ouro. */
.section-kicker,.book-section .section-number,.archive-eyebrow,.archive-overline,.hub-page .hub-eyebrow,.hub-page .hub-overline{color:var(--ak-texto-ouro)!important}
.book-title>span[style]{color:var(--ak-texto-ouro)!important}
.archive-eyebrow i{background:var(--ak-texto-ouro);opacity:.7}
.ak-eyebrow{margin:0;font:600 11px/1.4 var(--ak-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ak-texto-ouro)}

/* ---------- 3. COMPONENTES COMPARTILHADOS ---------- */
.ak-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;border-radius:var(--ak-raio-2);border:1px solid transparent;font:600 14px/1.2 var(--ak-sans);text-decoration:none;cursor:pointer;transition:background var(--ak-rapido) ease,border-color var(--ak-rapido) ease,color var(--ak-rapido) ease}
.ak-btn .hub-icon{width:16px;height:16px;flex-basis:16px}
.ak-btn-primary{background:var(--ak-rosso);color:#fff9f2!important;border-color:#c8414a}
.ak-btn-primary:hover{background:#c8343f;text-decoration:none}
.ak-btn-quiet{background:transparent;color:var(--ak-texto)!important;border-color:transparent;border-bottom-color:color-mix(in srgb,var(--ak-texto-ouro) 60%,transparent);border-radius:0;padding-inline:6px}
.ak-btn-quiet:hover{border-bottom-color:var(--ak-texto-ouro);text-decoration:none}
.action,.archive-command{border-radius:var(--ak-raio-2);font-family:var(--ak-sans);min-height:40px}
.action:not(.secondary):not(.ghost),.archive-command-primary{background:var(--ak-acao);border-color:var(--ak-acao);color:#fff9f2!important}
.action:not(.secondary):not(.ghost):hover,.archive-command-primary:hover{background:var(--ak-acao-hover)}
.action.secondary{background:transparent;border-color:var(--ak-borda-forte);color:var(--ak-texto)}
.action.secondary:hover{background:var(--ak-sup-2)}
.action:disabled,.ak-btn:disabled{opacity:.42;cursor:default}
.topbtn{min-height:40px;border-radius:var(--ak-raio-2);background:transparent;border:1px solid var(--ak-borda);color:var(--ak-texto);font:600 12.5px/1 var(--ak-sans)}
.topbtn:hover{background:var(--ak-sup-2)}
.topbtn.red{background:var(--ak-acao);border-color:transparent;color:#fff9f2}
.topbtn.red:hover{background:var(--ak-acao-hover)}
.hub-topbar .topbtn.topbtn-icon{width:40px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.hub-topbar .topbtn.mobile-nav{width:40px;padding:0;display:none;align-items:center;justify-content:center}
@media(max-width:750px){.hub-topbar .topbtn.mobile-nav{display:inline-flex}}
.topbtn .hub-icon{width:17px;height:17px;flex-basis:17px}
/* Campos: base de baixa especificidade; regras de componente existentes continuam valendo. */
#app :where(input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=color]),textarea,select),.rc-app :where(input:not([type=range]):not([type=checkbox]):not([type=radio]),textarea,select){background:var(--ak-sup-1);color:var(--ak-texto);border:1px solid var(--ak-borda-forte);border-radius:var(--ak-raio-2);padding:11px 12px;font:400 15px/1.4 var(--ak-sans);min-height:var(--ak-alvo)}
#app :where(input,textarea)::placeholder{color:color-mix(in srgb,var(--ak-texto-2) 80%,transparent)}
#app :where(input[type=checkbox],input[type=radio],input[type=range]){accent-color:var(--ak-acao)}
/* Diálogos, folhas e avisos */
.auth-backdrop,.reader-export-backdrop{background:var(--ak-veu);backdrop-filter:blur(6px)}
.auth-modal,.reader-export-dialog{background:var(--ak-sup-1);color:var(--ak-texto);border:1px solid var(--ak-borda-forte);border-radius:var(--ak-raio-3);box-shadow:var(--ak-sombra)}
.auth-modal h2,.reader-export-dialog h2{font-size:24px;line-height:1.2;color:var(--ak-texto)}
.auth-modal .quote{font-family:var(--ak-serif);font-size:15px;line-height:1.55;color:var(--ak-texto)!important;border-left:0!important;padding:8px 10px!important;background:var(--ak-sup-2);border-radius:var(--ak-raio-1)}
.note-card,.infobox{border-radius:var(--ak-raio-2);border-color:var(--ak-borda)}
.reader-dock-menu,.reader-context-menu{background:var(--ak-sup-1);border-color:var(--ak-borda-forte);border-radius:var(--ak-raio-2);box-shadow:var(--ak-sombra)}
.reader-dock-menu button,.reader-context-menu button{color:var(--ak-texto);font-family:var(--ak-sans)}
.reader-dock-menu button:hover,.reader-context-menu button:hover{background:var(--ak-sup-2)}
.toast{background:var(--ak-sup-2);color:var(--ak-texto);border:1px solid var(--ak-borda-forte);border-radius:var(--ak-raio-2);font-family:var(--ak-sans)}
.dock-b{display:none}

/* ---------- 4. NAVEGAÇÃO LATERAL ---------- */
.hub-sidebar{background:var(--ak-nav-fundo)!important;border-right:1px solid rgba(198,165,125,.14)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--ak-marfim)}
.hub-sidebar .hub-brand{height:72px;min-height:72px;padding:14px 18px 10px!important}
.hub-brand-link img{width:46px;height:46px;flex:0 0 46px;filter:none}
.layout:not(.pinned) .hub-brand-link img{width:46px;height:46px;flex-basis:46px}
.hub-brand-copy strong{font:600 18px/1.2 var(--ak-serif);letter-spacing:.22em;color:var(--ak-marfim)}
.hub-nav-label{font:600 10px/1.4 var(--ak-sans);letter-spacing:.18em;color:#a8968c}
.hub-case-tag{color:var(--ak-ouro);font-weight:600}
.hub-side-divider,.hub-sidebar .nav-separator{background:rgba(198,165,125,.16)}
.hub-sidebar .hub-navbtn{position:relative;min-height:var(--ak-alvo);border:0;border-radius:var(--ak-raio-2);color:var(--ak-nav-item);font:560 13px/1.2 var(--ak-sans);transition:background var(--ak-rapido) ease,color var(--ak-rapido) ease}
.hub-sidebar .hub-navbtn .label{font-weight:560}
.hub-sidebar .hub-navbtn:hover{background:var(--ak-nav-hover);color:var(--ak-marfim);border-color:transparent}
.hub-sidebar .hub-navbtn.active{background:var(--ak-nav-ativo);color:var(--ak-nav-item-ativo);border-color:transparent}
.hub-sidebar .hub-navbtn.active::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;border-radius:2px;background:var(--ak-ouro)}
.hub-sidebar .hub-navbtn.active .hub-icon{color:var(--ak-ouro)}
.hub-sidebar .side-note{color:#a8968c}.hub-sidebar .side-note>span:first-child{color:var(--ak-ouro);letter-spacing:.2em}
.layout .sidebar{transition:width var(--ak-medio) var(--ak-curva)}

/* ---------- 5. BARRA SUPERIOR ---------- */
.topbar.hub-topbar{height:var(--ak-topo);gap:8px;background:color-mix(in srgb,var(--ak-fundo) 84%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ak-texto-ouro) 22%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform var(--ak-medio) var(--ak-curva)}
.hub-breadcrumb .hub-crumb-brand{font:600 14px/1.3 var(--ak-serif);letter-spacing:.2em}
.hub-breadcrumb .hub-crumb-link{min-height:32px;font-family:var(--ak-sans)}
.hub-breadcrumb .hub-crumb-current{font-weight:600}
/* Recolhe ao rolar para baixo; volta ao rolar para cima, ao receber foco ou quando o menu está aberto. */
html.ak-topo-oculto .topbar.hub-topbar:not(:focus-within):not(:has(.ak-caso-menu[open])){transform:translateY(-102%)}
html.ak-topo-oculto .layout.mobile-open .topbar.hub-topbar{transform:none}
.book-section{scroll-margin-top:calc(var(--ak-topo) + 18px)}

/* ---------- 6. PAVILHÃO: Biblioteca, página do caso, ambientes ---------- */
.archive-page .archive-page-header h1,.archive-case-heading h1{font-weight:600}
.archive-page-header p,.archive-case-heading p{color:var(--ak-texto-2)}
.archive-section-heading h2{font-weight:600}
.archive-case-badge{border-radius:var(--ak-raio-1);border-color:color-mix(in srgb,var(--ak-texto-ouro) 45%,transparent);color:var(--ak-texto-ouro);font-family:var(--ak-sans)}
.archive-index-row{border-radius:var(--ak-raio-1);transition:background var(--ak-rapido) ease}
.archive-index-row:hover{background:color-mix(in srgb,var(--ak-sup-atmosfera) 55%,transparent)}
.archive-index-number{color:var(--ak-texto-ouro);font-family:var(--ak-sans);font-variant-numeric:tabular-nums}
.archive-index-copy strong{font:600 17px/1.3 var(--ak-serif);color:var(--ak-texto)}
.archive-index-copy small{color:var(--ak-texto-2)}
.archive-semester{border-radius:var(--ak-raio-2)}
.archive-semester.selected{background:color-mix(in srgb,var(--ak-sup-atmosfera) 70%,transparent);border-color:color-mix(in srgb,var(--ak-texto-ouro) 50%,transparent)}
.archive-semester:not(.available){opacity:.62}
.archive-semester:not(.available) .archive-semester-meta{color:var(--ak-texto-2)}
.archive-case-facts b{font-family:var(--ak-serif);color:var(--ak-texto)}
.archive-command-link{color:var(--ak-texto)!important;border-bottom-color:color-mix(in srgb,var(--ak-texto-ouro) 60%,transparent)}
.archive-text-button,.archive-inline-action{color:var(--ak-texto)!important;font-family:var(--ak-sans)}
.akash-footer{color:var(--ak-texto-2);font-family:var(--ak-sans);letter-spacing:.2em}
.chapter-tile{border-radius:var(--ak-raio-2)}.chapter-tile small{color:var(--ak-texto-ouro)}
.chapter-stage-number{color:var(--ak-texto-ouro)}

/* ---------- 7. RECALL e SIMULADOS (página própria) ---------- */
.rc-sidebar{background:var(--ak-nav-fundo);border-right:1px solid rgba(198,165,125,.14)}
.rc-app h1,.rc-app h2,.rc-app h3{font-family:var(--ak-serif)!important}

@media(max-width:750px){
 .topbar.hub-topbar{padding:0 10px}
 .hub-sidebar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0d0b0d!important}
}
@media(prefers-reduced-motion:reduce){
 .topbar.hub-topbar,.layout .sidebar,.ak-btn,.archive-index-row,.hub-sidebar .hub-navbtn{transition:none!important}
}
@media print{.topbar.hub-topbar{transform:none!important}}
.hub-brand-copy:after{display:none!important}
/* O instrumento do Arquivo deixa de aparecer como ornamento na página do caso: evita uma segunda figura parecida com o ARMIN. */
.archive-case-device{display:none!important}

/* ---------- 8. CONTRASTE: carmim deixa de ser cor de letra pequena sobre superfícies escuras ---------- */
/* Só no tema escuro e só em rótulos sobre fundo escuro. Pranchas e folhas de papel (fundo claro) mantêm o carmim. */
:root:not([data-theme="light"]) :is(.c01-study-eyebrow,.c01-study-question span,.c01-study-chain li span,.c01-study-chain figcaption,.c01-study-pitfall strong,.lesson-eyebrow,.lesson-step-id,.lesson-chain-no,.lesson-objectives span,.raiz-kicker,.question-no,.story-stage,.chapter-stage-number,.section-evidence b){color:var(--ak-texto-ouro)}
:root:not([data-theme="light"]) :is(.lesson-local-index a,.raiz-open,.src-list a,.textbook-reading-list a,sup.ref a){color:var(--ak-link)}
/* Erro de resposta usa o token científico, não a cor da marca. */
.option.wrong{color:var(--ak-sci-errado)}

/* ---------- 9. NAVEGAÇÃO EM TRÊS NÍVEIS (ciclo 2) ---------- */
/* Lateral: plataforma + caso atual + "em planejamento". Instrumentos do caso: menu compacto na barra superior. */
.hub-nav-planejado{margin-top:auto;opacity:.72}
.hub-nav-planejado .hub-navbtn{font-weight:500}
.hub-sidebar .hub-nav{display:flex;flex-direction:column}
.ak-caso-menu{position:relative;flex:0 0 auto}
.ak-caso-menu>summary{list-style:none;display:inline-flex;align-items:center;gap:8px;padding:0 12px;cursor:pointer;user-select:none}
.ak-caso-menu>summary::-webkit-details-marker{display:none}
.ak-caso-menu[open]>summary{background:var(--ak-sup-2)}
.ak-caso-seta{font-size:10px;color:var(--ak-texto-2)}
.ak-caso-lista{position:absolute;z-index:60;right:0;top:calc(100% + 8px);width:248px;padding:6px;display:flex;flex-direction:column;gap:2px;background:var(--ak-sup-1);border:1px solid var(--ak-borda-forte);border-radius:var(--ak-raio-2);box-shadow:var(--ak-sombra)}
.ak-caso-lista button{display:flex;align-items:center;gap:12px;width:100%;min-height:var(--ak-alvo);padding:0 12px;border:0;border-radius:var(--ak-raio-1);background:transparent;color:var(--ak-texto-2);font:500 14px/1.2 var(--ak-sans);text-align:left;cursor:pointer}
.ak-caso-lista button:hover{background:var(--ak-sup-2);color:var(--ak-texto)}
.ak-caso-lista button.atual{color:var(--ak-texto);background:var(--ak-nav-ativo)}
.ak-caso-lista button.atual .hub-icon{color:var(--ak-texto-ouro)}
.ak-caso-lista .hub-icon{width:18px;height:18px;flex-basis:18px}
.topbar.hub-topbar{overflow:visible}
@media(max-width:750px){.ak-caso-rotulo{display:none}.ak-caso-menu>summary{padding:0 10px}.ak-caso-lista{position:fixed;left:10px;right:10px;top:calc(var(--ak-topo) + 6px);width:auto}}

/* ---------- 10. OFICINAS SEM MOLDURA (ciclo 2, terceira parte) ---------- */
/* Casos 10 e 11: a oficina ocupa a coluna da página. Sem cartão, sem borda, sem segunda rolagem.
 * A altura do documento é ajustada pela ponte em labs/akasha-explorar.html; min-height cobre o carregamento e a falha da ponte. */
.surface.akasha-new-workshops{min-height:0;display:block;background:none;padding-top:clamp(14px,2vw,26px)}
.oficina-ambiente{position:relative;margin:0;padding:0;border:0;border-radius:0;background:none;overflow:visible}
/* color-scheme herdado de propósito: se o do iframe difere do documento embutido, o navegador pinta um fundo opaco atrás da oficina (o retângulo que queremos eliminar) */
.oficina-doc{display:block;width:100%;height:max(640px,calc(100dvh - 140px));min-height:60vh;border:0;background:transparent}
.oficina-doc:not([data-altura]){overflow:auto}
.oficina-retorno{position:sticky;z-index:25;top:var(--ak-topo,56px);display:flex;margin:0 0 6px;padding:8px 0;background:var(--ak-fundo);transition:top var(--ak-medio,.24s) ease}
html.ak-topo-oculto .oficina-retorno{top:0}
@media(prefers-reduced-motion:reduce){.oficina-retorno{transition:none}}
.oficina-rodape{margin:28px 0 0;padding-top:14px;border-top:1px solid var(--ak-borda);font:400 13px/1.5 var(--ak-sans);color:var(--ak-texto-2);text-align:right}
.oficina-rodape a{color:var(--ak-link)}
@media print{.oficina-retorno,.oficina-rodape{display:none}}

/* Etapa 1 (12/11/2026): "Entrar" discreto — contorno em ouro antigo; o carmim fica para a ação principal de cada página. */
.topbtn.topbtn-entrar{background:transparent!important;color:var(--ak-texto,#f0e8dc)!important;border:1px solid var(--ak-texto-ouro,#c6a57d)!important;box-shadow:none!important}
.topbtn.topbtn-entrar:hover,.topbtn.topbtn-entrar:focus-visible{background:var(--ak-sup-2,#241a1e)!important}
:root[data-theme="light"] .topbtn.topbtn-entrar{color:var(--ak-texto,#2a1f22)!important;border-color:var(--ak-texto-ouro,#8a6a3e)!important}
