/*
 * GENERATED by tools/design-tokens/build.mjs from tools/design-tokens/tokens.json.
 * Do not edit by hand. Change tokens.json, then run from the repository root:
 *
 *     node tools/design-tokens/build.mjs
 *
 * CI runs the same script with --check and fails when this file differs.
 *
 * ΠΑΡΑΓΟΜΕΝΟ ΑΡΧΕΙΟ — μην το αλλάζεις με το χέρι. Άλλαξε το
 * tools/design-tokens/tokens.json και τρέξε από τη ρίζα του αποθετηρίου:
 *
 *     node tools/design-tokens/build.mjs
 */

:root {
	/*
	 * site.chrome
	 * --bsc-* : the header, footer and page chrome, declared on :root in
	 * wp-theme/style.css. Where the value is the same as the skin's, it is an
	 * alias of the skin token.
	 */
	--bsc-bg: #0b1220;
	--bsc-ink: #e8edf7;
	--bsc-muted: #93a1ba;
	--bsc-faint: #5b6980;
	/*
	 * Differs from the skin: the chrome accent is #6ea8ff, --bs-accent is #4f8bff.
	 * Both kept as they are.
	 */
	--bsc-accent: #6ea8ff;
	/*
	 * Differs from the skin: the chrome border is alpha 0.08, --bs-border is 0.10.
	 * Both kept as they are.
	 */
	--bsc-border: rgba(255, 255, 255, 0.08);
	--bsc-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	/*
	 * Every heading on the site, in all seven languages. Self-hosted by the game
	 * UI (wp-theme/assets/game-ui/fonts/), which carries latin, latin-ext, greek,
	 * greek-ext, cyrillic and cyrillic-ext, so nothing stands in for it. Chosen by
	 * the owner on 2026-09-18; it was Georgia in the chrome and Noto Serif Display
	 * in the game UI, and the two disagreed on every plain page.
	 */
	--bsc-display: Inter, "Segoe UI", system-ui, sans-serif;
	--bsc-gutter: clamp(20px, 4.5vw, 64px);

	/*
	 * site.skin
	 * --bs-* : the story skin, declared in wp-theme/assets/css/blue-stories.css on
	 * the ten app wrappers (.bs-archive-wrap, .bs-single-wrap, .bs-app-wrap,
	 * .bs-contact, .bs-party-modal, .bs-gift-pop, .bs-reel-modal and the three
	 * #primary twins), not on :root. key-hunt.css restates gold, ink, muted and
	 * serif on .bs-hunt with the same values.
	 */
	--bs-bg: #0b1220;
	--bs-bg-2: #0f1930;
	--bs-surface: rgba(255, 255, 255, 0.04);
	--bs-surface-2: rgba(255, 255, 255, 0.06);
	--bs-border: rgba(255, 255, 255, 0.1);
	--bs-border-strong: rgba(255, 255, 255, 0.18);
	--bs-ink: #e8edf7;
	--bs-muted: #93a1ba;
	--bs-accent: #4f8bff;
	--bs-accent-soft: rgba(79, 139, 255, 0.16);
	--bs-glow: rgba(79, 139, 255, 0.35);
	--bs-gold: #e7c15a;
	--bs-silver: #c9d3e2;
	--bs-bronze: #cd8b5a;
	--bs-star-on: #ffc94d;
	--bs-star-off: rgba(255, 255, 255, 0.16);
	--bs-radius: 16px;
	--bs-radius-sm: 10px;
	--bs-shadow: 0 10px 30px -12px rgba(0, 0, 0, 0.6);
	/*
	 * Kept under its old name so the forty-odd rules that reach for --bs-serif do
	 * not all have to move. It is no longer a serif: the skin's headings follow
	 * the chrome's, and both are Inter since 2026-09-18.
	 */
	--bs-serif: Inter, "Segoe UI", system-ui, sans-serif;
	--bs-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--bs-gutter: clamp(20px, 4.5vw, 64px);
	/*
	 * ONE SIZE FOR EVERY SCREEN (owner, 05/10/2026). The root size: the web's
	 * standard 16px (Astra's own setting printed 18px). The site is drawn at the
	 * same size from a laptop to a 3440x1440 or a 4K screen, like every major
	 * site: a bigger screen gets more room, never bigger letters, and the reader's
	 * browser zoom and display scaling are the only magnifiers. No size here may
	 * keep growing past laptop width; app/scripts/test-site-scale.mjs holds the
	 * line.
	 */
	--bs-fs-root: 16px;
	/* Running text. */
	--bs-fs-body: 16px;
	/* A story's own text and its riddle: the one place a reader settles in. */
	--bs-fs-reading: 18px;
	/* Captions, meta lines, labels. Nothing on the site goes below 12px. */
	--bs-fs-small: 14px;
	/* A story card's title: bigger since the card dropped its excerpt (05/10/2026). */
	--bs-fs-card: 22px;
	--bs-fs-display: clamp(34px, 4.4vw, 56px);
	--bs-fs-title: clamp(28px, 3.1vw, 40px);
	--bs-fs-section: clamp(22px, 2.4vw, 30px);
	/* The site header's height from a laptop up: one row. */
	--bs-bar-height: 64px;
}
