/* Husvord: identidade do husvord.com na documentação (JM, 2026-09-30: tema escuro, prédios atrás,
   menu na barra lateral). Fontes locais, sem CDN; os prédios são SVG gerados pelo mesmo
   site/husvord/_fonte/cidade.py do husvord.com. */
/* Fontes (JM, 2026-10-01, opção C): IBM VGA 8x16 nos títulos e rótulos, só em px múltiplos de 16 (em rem
   borra); IBM Plex Mono no texto. Procedência e licenças: deploy/fontes/baixar.sh e fonts/LICENSE-*.txt */
@font-face{font-family:"IBM VGA";src:url(fonts/IBM-VGA-8x16.woff) format("woff");font-display:swap}
@font-face{font-family:"IBM Plex Mono";font-weight:400;src:url(fonts/IBMPlexMono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap}
@font-face{font-family:"IBM Plex Mono";font-weight:400;src:url(fonts/IBMPlexMono-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap}
@font-face{font-family:"IBM Plex Mono";font-weight:600;src:url(fonts/IBMPlexMono-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap}
@font-face{font-family:"IBM Plex Mono";font-weight:600;src:url(fonts/IBMPlexMono-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap}

:root,[data-md-color-scheme="slate"]{
  --hv-bg:#12101c; --hv-ceu1:#0b0d22; --hv-ceu2:#171a3a; --hv-ceu3:#241f4a;
  --hv-box:#1b2150; --hv-line:#e9e4ff; --hv-yellow:#ffd75e; --hv-cyan:#5ee0c8; --hv-lilac:#b48cff; --hv-px:4px;
  --md-hue:245;
  --md-default-bg-color:var(--hv-bg);
  --md-default-fg-color:var(--hv-line);
  --md-default-fg-color--light:#c8c2ea;
  --md-default-fg-color--lighter:#8f89b8;
  --md-default-fg-color--lightest:#3a3666;
  --md-primary-fg-color:var(--hv-yellow);
  --md-primary-bg-color:var(--hv-bg);
  --md-accent-fg-color:var(--hv-cyan);
  --md-typeset-color:var(--hv-line);
  --md-typeset-a-color:var(--hv-cyan);
  --md-code-bg-color:#0b0d22;
  --md-code-fg-color:#f4f1e6;
  --md-text-font:"IBM Plex Mono",ui-monospace,monospace;
  --md-code-font:"IBM Plex Mono",ui-monospace,monospace;
  --hv-vga:"IBM VGA",ui-monospace,monospace;
}

/* céu e prédios fixos atrás de tudo */
body{background:linear-gradient(var(--hv-ceu1) 0%,var(--hv-ceu2) 55%,var(--hv-ceu3) 100%) fixed}
body::before,body::after{content:"";position:fixed;left:0;right:0;bottom:0;pointer-events:none;z-index:0;
  background-repeat:repeat-x;background-position:0 100%}
body::before{height:300px;bottom:24px;background-image:url(cidade-longe.svg);background-size:1200px 300px;opacity:.9}
body::after{height:240px;background-image:url(cidade-perto.svg);background-size:1200px 240px}
.md-container,.md-header{position:relative;z-index:1}
.md-main,.md-container{background:transparent}

/* cabeçalho: faixa amarela, como a do site */
.md-header{background:var(--hv-yellow);color:var(--hv-bg);border-bottom:var(--hv-px) solid var(--hv-line);box-shadow:none}
.md-header,.md-header__title,.md-header__button,.md-header .md-icon,.md-header__topic{color:var(--hv-bg)}
.md-header__title,.md-header__topic{font-family:var(--hv-vga);font-size:16px;letter-spacing:1px}
.md-header .md-search__input{background:var(--hv-bg);color:var(--hv-line)}
.md-header .md-search__input::placeholder{color:#8f89b8}

/* conteúdo e barra lateral em caixas pixel com fundo sólido (legível sobre os prédios) */
.md-main__inner{margin-top:1.4rem;margin-bottom:6rem}
.md-content__inner{background:var(--hv-box);border:var(--hv-px) solid var(--hv-line);box-shadow:var(--hv-px) var(--hv-px) 0 #000;
  padding:1.2rem 1.4rem 1.6rem;margin:0 .6rem 1.2rem}
.md-content__inner::before{display:none}
.md-sidebar--primary .md-sidebar__scrollwrap,.md-sidebar--secondary .md-sidebar__scrollwrap{background:var(--hv-bg);
  border:var(--hv-px) solid var(--hv-line);box-shadow:var(--hv-px) var(--hv-px) 0 #000}
.md-nav{font-size:14px;line-height:1.5}
.md-nav__title{font-family:var(--hv-vga);font-size:16px;color:var(--hv-yellow)}
.md-nav__link{color:var(--hv-line)}
.md-nav__link--active,.md-nav__link:hover,.md-nav__item .md-nav__link--active{color:var(--hv-yellow)}
.md-nav__link--active{font-weight:400}
.md-nav__link--active::before{content:"› "}

/* tipografia */
.md-typeset{font-size:15px;line-height:1.7}
.md-typeset p,.md-typeset li{max-width:68ch}
.md-typeset h1,.md-typeset h2,.md-typeset h3{font-family:var(--hv-vga);font-weight:400;letter-spacing:0}
.md-typeset h1{font-size:32px;line-height:1.1;color:var(--hv-yellow);text-shadow:var(--hv-px) var(--hv-px) 0 #000}
.md-typeset h2{font-size:16px;line-height:1.4;color:var(--hv-cyan)}
.md-typeset h3{font-size:16px;line-height:1.4;color:var(--hv-lilac)}
.md-typeset a{text-decoration:underline;text-underline-offset:3px}
.md-typeset code{border:1px solid #3a3666}
.md-typeset table:not([class]){background:var(--hv-bg);border:2px solid var(--hv-line)}
.md-typeset table:not([class]) th{background:#0b0d22;color:var(--hv-yellow)}
.md-typeset .admonition,.md-typeset details{background:var(--hv-bg);border-width:2px}

/* rodapé transparente sobre os prédios */
.md-footer,.md-footer-meta{background:transparent}
.md-footer-meta{position:relative;z-index:1}
.md-top{background:var(--hv-yellow);color:var(--hv-bg)}

@media screen and (max-width:76.1875em){
  .md-sidebar--primary .md-sidebar__scrollwrap{border:0;box-shadow:none}
  .md-typeset h1{font-size:24px}
  body::before{height:180px;background-size:720px 180px}
  body::after{height:140px;background-size:700px 140px}
}
