/* --------------------------------------------------------------------------- kjol-website — brand stylesheet for the Kjol JS Web section (/js/*). --------------------------------------------------------------------------- There is deliberately no `@import "tailwindcss"` here. The bundler PREPENDS kjol's shared scaffold (go/jsruntime/styles/theme.css) to this file, and that scaffold does the import — an @import has to come first, and this file no longer is. See jsbundler/css.go and the header of theme.css. What is left is only what is genuinely this app's: the brand. The values below match the Go/WASM section's css/app.css on purpose — same Open Sans, same navy accent — so that crossing between /wasm and /js reads as two parts of ONE site rather than two demos that happen to share a domain. The two sections are built by completely different pipelines; they should not look like it. --------------------------------------------------------------------------- */ /* Open Sans — self-hosted (files in wwwroot/fonts). One variable file per subset carries weights 400–700 upright and italic. unicode-range keeps the browser to the one subset a glyph needs; font-display: swap paints the fallback first. The same four blocks live in the /wasm side's css/app.css so both front-ends share one typeface. */ @font-face { font-family: "Open Sans"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("/fonts/opensans-latin-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: "Open Sans"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("/fonts/opensans-latin-ext-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: "Open Sans"; font-style: italic; font-weight: 400 700; font-display: swap; src: url("/fonts/opensans-latin-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: "Open Sans"; font-style: italic; font-weight: 400 700; font-display: swap; src: url("/fonts/opensans-latin-ext-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; } @theme { /* The UI typeface — see the @font-face blocks above. This one line points the kit's font-sans utilities and the html rule below onto Open Sans. */ --font-sans: "Open Sans", ui-sans-serif, system-ui, sans-serif; /* The brand: navy throughout, a muted flag-navy. These are the SAME values the Go/WASM section's css/app.css sets, and under the same names — so the Layers menu, the sidebar highlight and the callouts are the same navy on both sides of the site rather than two navies that happen to be close. primary FILLS (white text sits on it); accent is TEXT and icons (it has to be readable on the surface) and is a slightly deeper navy so a link reads as one; primary-subtle/-border are the tinted panel. Only the flag tile keeps a red. */ --color-primary: #1e3a63; /* muted navy — fills; they carry white text */ --color-primary-hover: #16294a; --color-primary-subtle: #eef2f8; /* a navy wash — tinted panels, callouts */ --color-primary-border: #c5d1e2; --color-accent: #1c3a66; /* navy — accent TEXT (links, eyebrow, active rows) */ } /* Only the font. The page's background and text colour come from the shared scaffold's `html` rule, which paints them from --color-surface / --color-ink — the tokens the .dark block re-points. Setting them here would pin the page to white and leave a dark app sitting in a white window. */ html { font-family: var(--font-sans); } /* The dark values for the brand. --------------------------------------------------------------------------- Navy is too dark to read on a near-black page, so both brand tokens climb to a lighter blue. The accent (TEXT) climbs furthest, to a soft sky a link stays legible in; the fill climbs less, to a steel blue that still looks like a button and still carries white text. And the tinted panel inverts outright, because a pale wash on #101013 is not a tint, it is a white box. Same values, same names, as the Go/WASM section's css/app.css. */ .dark { --color-accent: #9fc1ec; --color-primary: #2b4f80; --color-primary-hover: #37619b; --color-primary-subtle: #182234; --color-primary-border: #2c3e5c; } /* The wordmark's logo tile: a muted Norwegian flag. Identical to the Go/WASM section's css/app.css — the two front-ends share one mark. See there for the full note; in short it is the flag's Scandinavian cross (navy cross, off-white outline, red field, offset left) drawn in layered gradients over a red base, constant across themes, with a flat dark scrim on top so the plain white sailboat reads on it without an outline. */ .flag-no { background-color: #a83f4c; background-image: linear-gradient(rgba(0, 0, 0, 0.42), rgba(0, 0, 0, 0.42)), linear-gradient(180deg, transparent 44.5%, #294c76 44.5%, #294c76 55.5%, transparent 55.5%), linear-gradient(90deg, transparent 32.5%, #294c76 32.5%, #294c76 43.5%, transparent 43.5%), linear-gradient(180deg, transparent 39%, #ece6da 39%, #ece6da 61%, transparent 61%), linear-gradient(90deg, transparent 27%, #ece6da 27%, #ece6da 49%, transparent 49%); }