/* Polymodel blueprint foundation tokens. */ @font-face { font-family: "Proza Libre"; font-style: normal; font-weight: 400; src: url("/assets/ProzaLibre-Regular.woff2") format("woff2"); } @font-face { font-family: "Proza Libre"; font-style: italic; font-weight: 400; src: url("/assets/ProzaLibre-Italic.woff2") format("woff2"); } @font-face { font-family: "Proza Libre"; font-style: normal; font-weight: 500; src: url("/assets/ProzaLibre-Medium.woff2") format("woff2"); } @font-face { font-family: "Proza Libre"; font-style: normal; font-weight: 600; src: url("/assets/ProzaLibre-SemiBold.woff2") format("woff2"); } @font-face { font-family: "Proza Libre"; font-style: normal; font-weight: 700; src: url("/assets/ProzaLibre-Bold.woff2") format("woff2"); } @font-face { font-family: "Ioskeley Mono"; font-style: normal; font-weight: 400; src: url("/assets/IoskeleyMono-Regular.woff2") format("woff2"); } @font-face { font-family: "Ioskeley Mono"; font-style: normal; font-weight: 700; src: url("/assets/IoskeleyMono-Bold.woff2") format("woff2"); } :root { color-scheme: light dark; --color-base: #f5f1e8; --color-surface: #fffdf7; --color-overlay: #e8edf0; --color-text: #17252f; --color-muted: #6a747b; --color-subtle: #445461; --color-emphasis: #0c1f2c; --color-primary: #1f6d8a; --color-secondary: #5a8797; --color-tertiary: #0f4159; --color-error: #a13f32; --color-warning: #b36a16; --color-success: #2d7358; --color-border: #a9b8bf; --color-link: #a24d1f; --color-highlight: #d8e5e9; --color-grid-line: color-mix(in srgb, var(--color-primary) 16%, transparent); --color-action: #c5652a; --font-ui: "Proza Libre", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --font-heading: "Proza Libre", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --font-mono: "Ioskeley Mono", "IBM Plex Mono", Consolas, monospace; --spacing-base: 16px; --spacing-line-height: 1.55; --spacing-scale: 1.25; --radius-panel: 2px; --radius-pill: 999px; /* Scheme-independent lighting overlays for the 3D viewer stage and SVG preview. Pure white/black at low alpha read as highlight/shadow in both schemes; defined as tokens so call sites never inline raw rgb(). */ --overlay-highlight-soft: rgb(255 255 255 / 0.06); --overlay-highlight: rgb(255 255 255 / 0.12); --overlay-shadow: rgb(0 0 0 / 0.22); } @media (prefers-color-scheme: dark) { :root { --color-base: #07141c; --color-surface: #0e202a; --color-overlay: #152d39; --color-text: #e5edf0; --color-muted: #8ea1aa; --color-subtle: #b7c7ce; --color-emphasis: #f5fbfd; --color-primary: #75bfd1; --color-secondary: #4f91a6; --color-tertiary: #a8dce8; --color-error: #ef846f; --color-warning: #e5a852; --color-success: #7fcaa8; --color-border: #2a4856; --color-link: #f0a06a; --color-highlight: #193847; --color-grid-line: color-mix(in srgb, var(--color-primary) 22%, transparent); --color-action: #e38b4b; } }