@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/manrope-v20-latin-ext-wght.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-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/manrope-v20-latin-wght.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-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/newsreader-v26-500-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-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/newsreader-v26-500-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;
}

/* Mapfetti identity. Keep visualization palettes independent of interface colors. */
:root {
  --brand-paper:#f8f7f0;
  --brand-ink:#252a27;
  --brand-muted:#62665f;
  --brand-line:#dcded3;
  --brand-green:#317561;
  --brand-coral:#bd4029;
  --brand-gold:#f4ba52;
  --font-sans:"Manrope",Arial,sans-serif;
  --font-serif:"Newsreader",Georgia,serif;
  --color-page:var(--brand-paper);
  --color-surface:#fffef9;
  --color-surface-muted:#eeefe5;
  --color-text:var(--brand-ink);
  --color-text-muted:var(--brand-muted);
  --color-border:var(--brand-line);
  --color-accent:var(--brand-green);
  --color-accent-strong:#245746;
  --shadow-soft:none;
  --shadow-card:0 12px 36px #252a2714;
  --radius-sm:6px;
  --radius-md:8px;
}
[data-theme="dark"] {
  --brand-paper:#1c231f;
  --brand-ink:#f8f7f0;
  --brand-muted:#bac4ba;
  --brand-line:#435148;
  --brand-green:#91cfb3;
  --brand-coral:#f49c83;
  --color-page:var(--brand-paper);
  --color-surface:#252e28;
  --color-surface-muted:#2d3930;
  --color-text:var(--brand-ink);
  --color-text-muted:var(--brand-muted);
  --color-border:var(--brand-line);
  --color-accent:var(--brand-green);
  --color-accent-strong:#b4e1c9;
  --shadow-soft:none;
  --shadow-card:0 12px 36px #0003;
}
body { accent-color:var(--brand-green); }
:focus-visible { outline:3px solid var(--brand-green); outline-offset:3px; }
.brand-lockup { display:inline-flex; align-items:center; gap:12px; color:var(--brand-ink); text-decoration:none; font:700 28px var(--font-sans); letter-spacing:-1px; }
mapfetti-header { display:block; min-height:101px; border-bottom:1px solid var(--brand-line); background:var(--brand-paper); color:var(--brand-ink); font-family:var(--font-sans); }
.mapfetti-site-header-inner { display:flex; align-items:center; justify-content:space-between; width:min(1280px,calc(100% - 96px)); min-height:100px; margin:auto; gap:32px; }
.mapfetti-header-brand-group { display:flex; align-items:center; gap:6px; flex:none; }
.mapfetti-header-brand { display:inline-flex; align-items:center; text-decoration:none; }
/* The source SVG has trailing blank space; crop that space to keep Beta with the wordmark. */
.mapfetti-header-brand img { display:block; width:136px; height:36px; object-fit:cover; object-position:left center; }
.mapfetti-beta-badge { display:inline-flex; align-items:center; min-height:20px; padding:2px 7px; border:1px solid color-mix(in srgb,var(--brand-green),transparent 45%); border-radius:999px; color:var(--brand-green); background:color-mix(in srgb,var(--brand-green),transparent 93%); font-size:9px; font-weight:700; letter-spacing:.1em; line-height:1; text-transform:uppercase; }
.mapfetti-site-nav { display:flex; align-items:center; justify-content:flex-end; gap:30px; min-width:0; font-size:15px; }
.mapfetti-site-nav a { color:inherit; text-decoration:none; white-space:nowrap; }
.mapfetti-nav-link:hover,.mapfetti-nav-link[aria-current="page"] { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.mapfetti-nav-link[aria-current="page"] { color:var(--brand-green); font-weight:600; }
.mapfetti-header-cta { display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:48px; padding:14px 22px; border-radius:6px; color:#fff!important; background:var(--brand-ink); font-weight:600; transition:background .18s,transform .18s; }
.mapfetti-header-cta:hover { background:var(--brand-green); transform:translateY(-2px); }
.mapfetti-header-cta span { font-size:20px; line-height:1; }
mapfetti-footer { display:block; border-top:1px solid var(--brand-line); background:var(--brand-paper); color:var(--brand-ink); font-family:var(--font-sans); }
.mapfetti-site-footer-inner { display:flex; align-items:center; justify-content:center; gap:28px; width:min(1280px,calc(100% - 96px)); min-height:104px; margin:auto; }
.mapfetti-footer-brand { display:inline-flex; align-items:center; text-decoration:none; }
.mapfetti-footer-brand img { display:block; width:156px; height:auto; }
.mapfetti-site-footer p { margin:0; color:var(--brand-muted); font-size:13px; font-weight:500; text-align:center; }
/* Shared public-page primitives; map rendering keeps its own palette. */
.site-container { width:min(1280px,calc(100% - 96px)); margin-inline:auto; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:100; padding:12px 18px; background:var(--brand-paper); color:var(--brand-ink); border:1px solid var(--brand-green); border-radius:6px; }
.skip-link:focus { top:10px; }
.primary-link { display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:48px; padding:14px 22px; border-radius:6px; color:#fff; background:var(--brand-ink); font-size:14px; font-weight:600; text-decoration:none; transition:background .18s; }
.primary-link:hover { background:var(--brand-green); }
.primary-link span { font-size:20px; line-height:1; }
.eyebrow { display:block; color:var(--brand-green); font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; }
.mapfetti-menu-toggle { display:none; align-items:center; justify-content:center; min-height:44px; padding:8px 12px; border:1px solid var(--brand-green); border-radius:6px; background:transparent; color:var(--brand-ink); font:600 14px var(--font-sans); cursor:pointer; }
.mapfetti-footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:18px; font-size:13px; }
.mapfetti-footer-links a { display:inline-flex; align-items:center; min-height:44px; color:inherit; text-underline-offset:4px; }
@media(max-width:1100px) { .site-container { width:calc(100% - 56px); } }
@media(max-width:760px) { .site-container { width:calc(100% - 40px); } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media(max-width:1100px) {
  .mapfetti-site-header-inner { width:calc(100% - 56px); }
  .mapfetti-site-footer-inner { width:calc(100% - 56px); }
  .mapfetti-site-nav { gap:20px; }
}

@media(max-width:760px) {
  mapfetti-header { min-height:79px; }
  .mapfetti-site-header-inner { width:calc(100% - 40px); min-height:78px; gap:16px; }
  .mapfetti-header-brand img { width:112px; height:30px; }
  .mapfetti-site-nav { gap:14px; }
  .mapfetti-site-nav { display:none; width:100%; align-items:stretch; flex-direction:column; padding-bottom:20px; gap:4px; }
  .mapfetti-site-header-inner { flex-wrap:wrap; }
  .mapfetti-menu-toggle { display:inline-flex; }
  .mapfetti-menu-toggle[aria-expanded="true"] + .mapfetti-site-nav { display:flex; }
  .mapfetti-nav-link { padding:12px; }
  .mapfetti-header-cta { min-height:42px; padding:11px 14px; gap:14px; font-size:13px; }
  .mapfetti-site-footer-inner { flex-direction:column; gap:10px; width:calc(100% - 40px); min-height:0; padding:28px 0; text-align:center; }
}
@media(max-width:420px) {
  .mapfetti-site-header-inner { width:calc(100% - 28px); }
  .mapfetti-header-brand img { width:100px; height:26px; }
  .mapfetti-beta-badge { padding-inline:5px; font-size:8px; }
  .mapfetti-footer-brand img { width:145px; }
}
.auth-page { margin:0; min-height:100vh; display:grid; place-items:center; background:var(--brand-paper); color:var(--brand-ink); font:16px/1.6 var(--font-sans); }
.auth-panel { width:min(480px,calc(100% - 48px)); padding:40px 0; }
.auth-panel h1 { margin:40px 0 16px; font-size:36px; line-height:1.1; font-weight:500; letter-spacing:-1.5px; }
.auth-panel p { color:var(--brand-muted); overflow-wrap:anywhere; }

body { font-family:var(--font-sans); }

[data-theme="dark"] :is(.mapfetti-header-brand,.mapfetti-footer-brand,.editor-brand) img { filter:brightness(0) invert(1); }
[data-theme="dark"] :is(.mapfetti-header-cta,.primary-link) { color:var(--brand-paper)!important; }
