:root{--hub-bg:#f5f7fa;--hub-surface:#fff;--hub-ink:#192d40;--hub-muted:#516474;--hub-accent:#075e54;--hub-line:#d8e1e7;--purple:#075e54;--teal:#075e54}
:root[data-theme="dark"]{--hub-bg:#101b25;--hub-surface:#182734;--hub-ink:#edf3f7;--hub-muted:#b4c5d0;--hub-accent:#7bdbbc;--hub-line:#354a5b;--purple:#7bdbbc;--teal:#7bdbbc}
body{background:var(--hub-bg);color:var(--hub-ink)}
.hub-brand{display:inline-flex;flex:0 1 440px;max-width:100%;min-width:0;background:#fff;border-radius:6px;padding:7px 9px;box-sizing:border-box;align-items:center}.hub-brand .hub-logo{display:block;width:100%;height:auto;max-width:422px;object-fit:contain}.hub-brand:focus-visible{outline-offset:4px}
.hub-header{display:block;height:auto;position:static;background:var(--hub-surface);border-bottom:1px solid var(--hub-line);padding:22px max(24px,calc((100vw - 1360px)/2)) 0}
.hub-top{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.hub-brand{color:var(--hub-ink);font-size:24px;letter-spacing:-.7px;font-weight:800;text-decoration:none}.hub-brand span{font-weight:450}.hub-stage{font-size:12px;color:var(--hub-accent);border:1px solid var(--hub-line);padding:4px 9px;border-radius:5px}.hub-method{margin-left:auto;color:var(--hub-ink);font-size:14px}.hub-purpose{color:var(--hub-muted);font-size:14px;margin:12px 0 18px;max-width:850px}.hub-nav{display:flex;gap:28px}.hub-nav a{display:block;padding:12px 0;color:var(--hub-muted);font-weight:650;text-decoration:none;border-bottom:3px solid transparent}.hub-nav a[aria-current]{color:var(--hub-accent);border-color:var(--hub-accent)}
.hub-header .theme-toggle{background:var(--hub-surface);color:var(--hub-ink);border:1px solid var(--hub-line);border-radius:8px;min-width:40px;min-height:40px}.hub-intro{font-size:15px;color:var(--hub-muted);font-weight:400;margin:8px 0}.focused-top{display:block}.focused-top h1{font-size:clamp(25px,3vw,36px);letter-spacing:-.8px}.focused-controls{background:var(--hub-surface)}.panel{border-radius:12px}.back-front{display:none}.hub-error{max-width:700px;margin:10vh auto;padding:24px;font:18px/1.6 system-ui}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--hub-accent);outline-offset:4px}
main .back-front{display:none}
#dashboard .chart .presidential-label{font:14px system-ui;fill:var(--hub-muted);paint-order:stroke;stroke:var(--hub-bg);stroke-width:3px;stroke-linejoin:round}
.presidential-boundary{stroke:var(--hub-muted);stroke-width:.65;stroke-opacity:.35;stroke-dasharray:2 3;pointer-events:none}
.presidential-connector{stroke:var(--hub-muted);stroke-width:.65;stroke-opacity:.45;pointer-events:none}
.hub-map-title{font:750 clamp(25px,3vw,36px)/1.2 system-ui;letter-spacing:-.8px;margin:4px 0 20px;color:var(--hub-ink)}
@media(max-width:640px){.hub-header{padding:16px 18px 0}.hub-top{gap:10px}.hub-brand{font-size:21px}.hub-stage{font-size:10px}.hub-method{margin-left:0;font-size:13px}.hub-purpose{font-size:13px;margin:12px 0 8px}.hub-nav{gap:24px}.hub-nav a{font-size:15px}.hub-header .theme-toggle{margin-left:auto}.focused-top h1{font-size:27px}}
@media print{.hub-header,.focused-controls,.hub-stage{display:none}body{background:white;color:black}.panel{break-inside:avoid}}
@media(max-width:640px){.hub-top .hub-brand{flex-basis:100%;width:100%;padding:6px 8px}.hub-brand .hub-logo{max-width:100%}}

@media(max-width:640px){.header:has(.hub-brand),.header-inner:has(.hub-brand){flex-wrap:wrap}.header .hub-brand{flex:0 0 100%;width:100%;max-width:100%}}
.hub-header #theme-toggle{background:var(--hub-surface);color:var(--hub-ink);font-size:24px;line-height:1}

.hub-tools{display:flex;align-items:center;gap:16px;margin-left:auto}.hub-tools .hub-method,.hub-tools #theme-toggle{margin-left:0}
.hub-front .hub-header{padding:16px 14px 0}.hub-front .hub-brand{padding-left:0}
img[src="/assets/cabeca-capacete.svg"]{display:inline-block;width:1em;height:1em;vertical-align:-.12em}

/* Shared header: same geometry on every public page. */
.hub-header,.hub-front .hub-header{padding:16px 14px 14px;font:14px/1.4 system-ui,sans-serif;box-sizing:border-box}
.hub-header .hub-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px}
.hub-header .hub-identity{min-width:0}
.hub-header .hub-brand{display:flex;width:440px;max-width:100%;padding:7px 9px 7px 0;flex:none;margin:0}
.hub-header .hub-purpose{font:14px/1.4 system-ui,sans-serif;margin:6px 0 0;max-width:850px;color:var(--hub-muted)}
.hub-header .hub-tools{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin:8px 0 0;white-space:nowrap}
.hub-header .hub-tools a{font:14px/1.4 system-ui,sans-serif;color:var(--hub-ink);margin:0}
.hub-header .hub-tools #theme-toggle{margin:0}
@media(max-width:900px){.hub-header .hub-top{grid-template-columns:1fr;gap:14px}.hub-header .hub-tools{margin:0;flex-wrap:wrap;justify-content:flex-end;gap:14px}.hub-header .hub-purpose{font-size:13px}.hub-header .hub-brand{width:440px;padding:7px 9px 7px 0}}

/* Area navigation restored; return link belongs to indicator heading. */
.hub-header:has(.hub-nav){padding-bottom:0}
.hub-header .hub-nav{display:flex;gap:28px;margin:10px 0 0;padding:0}
.hub-header .hub-nav a{font:650 15px/1.4 system-ui,sans-serif;padding:12px 0;text-decoration:none}
.focused-top .hub-back-content{display:inline-flex;align-items:center;min-height:36px;margin:0 0 10px;font:14px/1.4 system-ui,sans-serif;color:var(--hub-accent)}

/* Native text identity sized to the previous 422px image. */
.hub-header .hub-brand{container-type:inline-size;overflow:visible}
.hub-header .hub-wordmark{display:block;white-space:nowrap;color:#000;font-family:'Arial Black',Arial,sans-serif;font-weight:900;font-size:clamp(20px,10.2cqw,44px);line-height:1.18;letter-spacing:-.055em}
.hub-header .hub-brand-main{font:inherit;letter-spacing:inherit}
.hub-header .hub-brand-domain{font-family:inherit;font-weight:900;font-size:.43em;letter-spacing:-.035em;margin-left:.02em}
#confidence-dialog .dialog-close{background:#f0eafa;color:#302044;border:1px solid #c9c0d5}
:root[data-theme=dark] #confidence-dialog .dialog-close{background:#343247;color:#fff;border-color:#858099}
:root[data-theme=dark] #confidence-dialog .dialog-close:hover{background:#48445f;color:#fff}
#confidence-dialog .dialog-close:focus-visible{outline:3px solid var(--hub-accent);outline-offset:3px}

/* The text identity follows the active theme without an image-like tile. */
.hub-header .hub-brand{background:transparent;border-radius:0;color:var(--hub-ink)}
.hub-header .hub-wordmark,.hub-header .hub-brand-main,.hub-header .hub-brand-domain{color:inherit}

/* Construction head: one typographic point larger than the previous 1em. */
img[src="/assets/cabeca-capacete.svg"]{width:calc(1em + 2pt);height:calc(1em + 2pt)}

main > .hub-back-content{display:inline-flex;align-items:center;min-height:44px;margin:0 0 10px;font:14px/1.4 system-ui,sans-serif;color:var(--hub-accent)}

/* Shared area tabs and home return, including narrow mobile viewports. */
main .hub-back-content,main .focused-top .hub-back-content{display:flex;align-items:center;width:fit-content;min-height:44px;margin:0 0 10px;font:14px/1.4 system-ui,sans-serif;color:var(--hub-accent)}
.hub-header .hub-nav a:focus-visible,main .hub-back-content:focus-visible{outline:3px solid var(--hub-accent);outline-offset:3px}
@media(max-width:640px){.hub-header .hub-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.hub-header .hub-nav a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;box-sizing:border-box;padding:10px 3px;text-align:center;white-space:normal;font-size:14px;line-height:1.3}}


/* Front: one clear space before the introduction and before the action. */
.hub-front #avisos .welcome-heading,
.hub-front #avisos .welcome-subtitle { margin-bottom: 0; }
.hub-front #avisos .welcome-copy {
  display: flow-root;
  margin-top: 48px;
}
.hub-front #avisos .story > p:first-child { margin-top: 0; }
.hub-front #avisos .story > p:last-child { margin-bottom: 0; }
.hub-front #avisos .front-actions { margin-top: 48px; }
.hub-front #avisos .front-actions .primary { margin-top: 0; }

/* Front viewport layout; preserve readable text in smaller windows. */
@media (min-width: 1000px) and (min-height: 600px) {
  body.hub-front { height: 100dvh; min-height: 0; }
  body.hub-front > .hub-header { flex: none; }
  body.hub-front:has(#avisos:not([hidden])) > main.wrap { flex: 1; min-height: 0; grid-template-rows: minmax(0, 1fr) auto; }
  body.hub-front:has(#avisos:not([hidden])) #avisos { min-height: 0; padding: 16px 0; }
  .hub-front #avisos .welcome-intro { min-height: 0; max-height: 100%; display: flex; flex-direction: column; }
  .hub-front #avisos .read-first, .hub-front #avisos .welcome-heading, .hub-front #avisos .front-actions { flex: none; }
  .hub-front #avisos .welcome-copy { min-height: 0; overflow-y: auto; scrollbar-gutter: stable; overscroll-behavior-y: contain; padding: 3px; }
  .hub-front #avisos .release-notes { min-height: 0; max-height: none; height: 100%; }
}
