/*
 * Teddy design tokens (b.pdf §4). The ONLY file with colour, font-size or font
 * values. Declared on .teddy-app (never :root) so nothing leaks into wp-admin
 * or Alfred. Fonts are self-hosted (SIL OFL); no third-party requests.
 */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/inter-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/inter-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/inter-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/inter-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/jetbrains-mono-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/jetbrains-mono-latin-600-normal.woff2") format("woff2"); }

.teddy-app {
	/* Colour (§4.1) */
	--teddy-black: #050607;
	--teddy-grey-900: #12171D;
	--teddy-grey-800: #171B20;
	--teddy-grey-750: #1E242B;
	--teddy-grey-700: #2A3038;
	--teddy-grey-500: #67727F;
	--teddy-grey-400: #8B95A1;
	--teddy-grey-200: #C9D1D9;
	--teddy-white: #FFFFFF;
	--teddy-lime: #92EA58;
	--teddy-blue: #4CC8E0;
	--teddy-lime-dim: rgba(146, 234, 88, .14);
	--teddy-blue-dim: rgba(76, 200, 224, .14);
	--teddy-lime-press: #8CE152; /* lime 4% darker: pressed primary button */

	/* Type (§4.2) */
	--teddy-font-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	--teddy-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
	--teddy-text-display: 700 32px/40px var(--teddy-font-ui);
	--teddy-text-h1: 600 24px/32px var(--teddy-font-ui);
	--teddy-text-h2: 600 18px/26px var(--teddy-font-ui);
	--teddy-text-body: 400 14px/22px var(--teddy-font-ui);
	--teddy-text-small: 500 12px/18px var(--teddy-font-ui);
	--teddy-text-mono: 400 13px/20px var(--teddy-font-mono);
	--teddy-text-button: 600 14px/20px var(--teddy-font-ui);
	--teddy-text-wordmark: 600 18px/24px var(--teddy-font-ui);

	/* Space, shape, depth, motion (§4.3) */
	--teddy-space-1: 4px;
	--teddy-space-2: 8px;
	--teddy-space-3: 12px;
	--teddy-space-4: 16px;
	--teddy-space-5: 24px;
	--teddy-space-6: 32px;
	--teddy-space-7: 48px;
	--teddy-radius-control: 6px;
	--teddy-radius-card: 10px;
	--teddy-radius-pill: 999px;
	--teddy-border: 1px;
	--teddy-glow-lime: 0 0 0 1px var(--teddy-lime), 0 0 12px rgba(146, 234, 88, .35);
	--teddy-glow-blue: 0 0 0 1px var(--teddy-blue), 0 0 12px rgba(76, 200, 224, .35);
	--teddy-fast: 120ms;
	--teddy-slow: 200ms;
	--teddy-ease: ease-out;

	/* Layout (§5) */
	--teddy-header-h: 64px;
	--teddy-sidebar-w: 232px;
	--teddy-sidebar-w-collapsed: 72px;
	--teddy-content-max: 1440px;
	--teddy-control-h: 36px;
	--teddy-touch: 44px;
	--teddy-tabbar-h: 64px;
}

@media (prefers-reduced-motion: reduce) {
	.teddy-app { --teddy-fast: 0ms; --teddy-slow: 0ms; }
}
