/* GoZzzy Neon design tokens. Every colour of the theme comes from here.
   RULE: the neon colours are the SAME in light and dark mode (no filter, no fading).
   Only the page background, cards, lines and text colours switch. Header, footer and the map
   sky are "brand surfaces": navy in both modes (the sky turns to night in dark mode). */

@font-face { font-family: "GZ Marker"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/permanent-marker-latin-400-normal.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: "Barlow Condensed"; font-style: italic; font-weight: 800; font-display: swap; src: url(../fonts/barlow-condensed-latin-800-italic.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: "Barlow Condensed"; font-style: italic; font-weight: 800; font-display: swap; src: url(../fonts/barlow-condensed-latin-ext-800-italic.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: "Barlow Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/barlow-condensed-latin-700-normal.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: "Barlow Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/barlow-condensed-latin-ext-700-normal.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: "Barlow"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/barlow-latin-400-normal.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: "Barlow"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/barlow-latin-ext-400-normal.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: "Barlow"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/barlow-latin-600-normal.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: "Barlow"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/barlow-latin-ext-600-normal.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; }

:root {
	/* Neon — identical in both modes */
	--gz-pink: #ff2d95;
	--gz-cyan: #1fd6f2;
	--gz-lime: #a8f02a;
	--gz-violet: #9d5cff;
	--gz-orange: #ff9a1f;
	--gz-blue: #3d8bff;
	--gz-yellow: #ffe03d;
	--gz-red: #ff2d55;
	--gz-ink: #0b1030;      /* text written ON a bright neon */
	--gz-white: #ffffff;

	/* Brand surfaces (header, footer, "GoZzzy says") — navy in both modes */
	--gz-navy: #0b1030;
	--gz-navy2: #151c4a;
	--gz-navy-line: #26306b;
	--gz-navy-text: #f2f4ff;
	--gz-navy-muted: #aab2e6;

	/* One colour pair per continent (map gradients, tags) */
	--c-north_america: var(--gz-lime);   --c2-north_america: var(--gz-yellow);
	--c-south_america: var(--gz-yellow); --c2-south_america: var(--gz-lime);
	--c-europe: var(--gz-cyan);          --c2-europe: var(--gz-lime);
	--c-africa: var(--gz-orange);        --c2-africa: var(--gz-pink);
	--c-asia: var(--gz-yellow);          --c2-asia: var(--gz-pink);
	--c-oceania: var(--gz-orange);       --c2-oceania: var(--gz-lime);
	--c-other: var(--gz-violet);         --c2-other: var(--gz-cyan);

	/* Signature gradients */
	--gz-rainbow: linear-gradient(90deg, var(--gz-lime), var(--gz-yellow), var(--gz-orange), var(--gz-pink), var(--gz-violet), var(--gz-cyan));
	--gz-active: linear-gradient(90deg, var(--gz-lime), var(--gz-cyan));

	/* Shape & effects */
	--gz-radius: 14px;
	--gz-radius-sm: 9px;
	--gz-radius-lg: 22px;
	--gz-tilt: -3deg;
	--gz-glow: 0 0 18px;

	/* Type */
	--gz-font: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans", "Noto Sans CJK JP", "Microsoft YaHei", "Yu Gothic", sans-serif;
	--gz-font-title: "Barlow Condensed", "Arial Narrow", "PingFang SC", "Hiragino Sans", "Noto Sans CJK JP", "Microsoft YaHei", sans-serif;
	--gz-font-marker: "GZ Marker", "Barlow Condensed", "Arial Narrow", "PingFang SC", "Hiragino Sans", "Microsoft YaHei", sans-serif;

	/* Light mode = default (prototype) */
	--gz-bg: #f6f7fc;
	--gz-bg2: #eceffa;
	--gz-card: #ffffff;
	--gz-card2: #f3f5fc;
	--gz-line: #dfe3f3;
	--gz-text: #10143a;
	--gz-muted: #4c5378;
	--gz-shadow: 0 6px 22px rgba(16, 20, 58, .10);
	--gz-shadow-hi: 0 14px 34px rgba(16, 20, 58, .18);

	/* Map sky */
	--gz-sky1: #1aa7f5;
	--gz-sky2: #5fd2ff;
	--gz-sky3: #a9ecff;
	--gz-cloud: rgba(255, 255, 255, .75);
	--gz-route: #ffffff;
	--gz-country-line: rgba(255, 255, 255, .55);
	--gz-hero-text: var(--gz-navy);
	--gz-hero-stroke: #ffffff;
	--gz-land: #e3f6ff;
	--gz-land-line: #8fd3f5;
	color-scheme: light;
}

:root[data-theme="dark"] {
	--gz-bg: #080b22;
	--gz-bg2: #0d1233;
	--gz-card: #131941;
	--gz-card2: #1a2152;
	--gz-line: #28316c;
	--gz-text: #f2f4ff;
	--gz-muted: #b3b9e2;
	--gz-shadow: 0 8px 26px rgba(0, 0, 0, .35);
	--gz-shadow-hi: 0 14px 38px rgba(0, 0, 0, .5);

	--gz-sky1: #0a1748;
	--gz-sky2: #12286e;
	--gz-sky3: #1d3c8f;
	--gz-cloud: rgba(140, 170, 255, .14);
	--gz-route: #ffffff;
	--gz-country-line: rgba(8, 11, 34, .6);
	--gz-hero-text: #ffffff;
	--gz-hero-stroke: var(--gz-navy);
	--gz-land: #2a3a86;
	--gz-land-line: #0a1748;
	color-scheme: dark;
}

/* Neon picker: any element with .n-{name} gets --n (its neon). */
.n-pink { --n: var(--gz-pink); }
.n-cyan { --n: var(--gz-cyan); }
.n-lime { --n: var(--gz-lime); }
.n-violet { --n: var(--gz-violet); }
.n-orange { --n: var(--gz-orange); }
.n-blue { --n: var(--gz-blue); }
.n-yellow { --n: var(--gz-yellow); }
.n-red { --n: var(--gz-red); }
.c-north_america { --n: var(--c-north_america); --n2: var(--c2-north_america); }
.c-south_america { --n: var(--c-south_america); --n2: var(--c2-south_america); }
.c-europe { --n: var(--c-europe); --n2: var(--c2-europe); }
.c-africa { --n: var(--c-africa); --n2: var(--c2-africa); }
.c-asia { --n: var(--c-asia); --n2: var(--c2-asia); }
.c-oceania { --n: var(--c-oceania); --n2: var(--c2-oceania); }
.c-other { --n: var(--c-other); --n2: var(--c2-other); }
