/* Logopolis · base comum a todas as páginas.
   Fontes locais (sem depender de serviço externo), botão Dia/Noite, números ligados à base,
   termos ligados ao dicionário e a ficha flutuante que mostra fonte e "não prova". */

@font-face{font-family:'Archivo';font-weight:500 800;font-style:normal;font-stretch:100% 125%;font-display:swap;src:url(../fontes/archivo.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-weight:400 600;font-style:normal;font-display:swap;src:url(../fontes/source-serif-4.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-weight:400 600;font-style:italic;font-display:swap;src:url(../fontes/source-serif-4-italico.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:400 500;font-style:normal;font-display:swap;src:url(../fontes/jetbrains-mono.woff2) format('woff2')}
@font-face{font-family:'Jost';font-weight:500 600;font-style:normal;font-display:swap;src:url(../fontes/jost-latin.woff2) format('woff2')}

/* Marca Logopolis: wordmark Dia ou Noite conforme o modo (arquivos em assets/marca/) */
.m-noite{display:none!important}
:root[data-modo="noite"] .m-dia{display:none!important}
:root[data-modo="noite"] .m-noite{display:block!important}
.brand{display:flex;align-items:center;text-decoration:none;flex:none;line-height:0}
.brand img{display:block;height:2.23rem;width:auto}
.brand-pe img{height:3.23rem}

/* Dia/Noite */
.modo{flex:none;display:flex;border:1px solid var(--line);border-radius:999px;background:var(--panel);padding:3px;gap:2px}
.modo button{border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;font-family:'Jost','Futura','Century Gothic',system-ui,sans-serif;font-weight:500;font-size:.84rem;padding:.32rem .7rem .32rem .55rem;border-radius:999px;color:var(--mute);text-transform:none;letter-spacing:0}
.modo button svg{width:.95rem;height:.95rem}
.modo button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
@media (max-width:380px){.modo button span{display:none}.modo button{padding:.35rem .5rem}}

/* número ligado à base: toque abre a ficha */
.cn-n{cursor:pointer;border-radius:3px}
.cn-n:focus-visible{outline:2px solid var(--sig);outline-offset:2px}
p .cn-n,li .cn-n,dd .cn-n{text-decoration:underline dotted;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:color-mix(in srgb,currentColor 55%,transparent)}
.cn-n[aria-expanded="true"]{background:color-mix(in srgb,var(--sig) 18%,transparent)}

/* termo ligado ao dicionário */
.cn-termo{cursor:help;text-decoration:underline;text-decoration-style:dashed;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:color-mix(in srgb,var(--c1) 70%,transparent)}
.cn-termo:hover,.cn-termo[aria-expanded="true"]{text-decoration-style:solid;text-decoration-color:var(--c1)}
.cn-termo:focus-visible{outline:2px solid var(--sig);outline-offset:2px}

/* ficha flutuante */
.cn-pop{position:absolute;z-index:60;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-top:3px solid var(--c1);border-radius:10px;box-shadow:0 14px 40px -12px rgba(15,32,38,.35);font-family:'Source Serif 4',Georgia,serif;font-size:.92rem;line-height:1.45;text-align:left;font-weight:400;letter-spacing:0;text-transform:none;font-stretch:100%}
.cn-pop-in{padding:.9rem 1rem 1rem;display:grid;gap:.45rem}
.cn-pop-k{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.cn-pop-t{font-family:'Archivo','Arial Narrow',sans-serif;font-stretch:112%;font-weight:700;font-size:1.02rem;line-height:1.2}
.cn-pop-v{font-family:'Archivo','Arial Narrow',sans-serif;font-stretch:125%;font-weight:800;font-size:1.6rem;letter-spacing:-.03em;line-height:1;color:var(--c1)}
.cn-pop-s,.cn-pop-d{font-size:.86rem}
.cn-pop-s i,.cn-pop-np i{display:block;font-style:normal;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:.1rem}
.cn-pop-np{border-top:2px dashed var(--c1);padding-top:.5rem;font-size:.86rem}
.cn-pop-np i{color:var(--c1)}
.cn-pop-a{font-size:.8rem;padding:.4rem .55rem;border-radius:6px;background:color-mix(in srgb,var(--sig) 16%,transparent)}
.cn-pop-tags{display:flex;flex-wrap:wrap;gap:.35rem}
.cn-tag{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.64rem;letter-spacing:.07em;text-transform:uppercase;padding:.15rem .45rem;border-radius:4px;border:1px solid currentColor}
.cn-tag.calc{color:var(--c1)}
.cn-tag.alerta{color:var(--sig);border-style:dashed}
.cn-pop-l{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--c1);text-decoration:none;margin-top:.2rem}
.cn-pop-l:hover{text-decoration:underline}
.cn-pop a{color:var(--c1)}

/* aviso quando a base não carrega */
.cn-falha{position:sticky;top:0;z-index:70;background:#A0692E;color:#fff;font:500 .85rem/1.45 'JetBrains Mono',ui-monospace,monospace;padding:.7rem 1rem}
.cn-falha span{opacity:.92}

/* "Achou um erro?" no fim de cada capítulo (montado pelo cn.js a partir de dados/site.json) */
.erro{margin-top:.6rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;max-width:52em;font-size:.88rem;color:var(--mute)}
.erro p{flex:1 1 20rem;margin:0}
.erro-bt{display:inline-flex;align-items:center;min-height:2.5rem;padding:0 .9rem;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font-family:'Jost','Futura','Century Gothic',system-ui,sans-serif;font-weight:600;font-size:.92rem;text-decoration:none;cursor:pointer}
a.erro-bt:hover{background:var(--ink);color:var(--bg)}
.erro-off{border-style:dashed;border-color:var(--line);color:var(--mute);cursor:default}

/* marcador de "a preencher" (falta dado de quem faz o projeto); antes só no site.css */
.tbd{font-family:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;font-size:.82em;color:var(--sig);border:1px dashed var(--sig);border-radius:4px;padding:.05em .4em;white-space:nowrap}
.tbd-block{white-space:normal}
.tbd.prop{border-style:solid}
.erro-mail{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.74rem;letter-spacing:.04em;color:var(--mute)}
