103 lines
5.1 KiB
CSS
103 lines
5.1 KiB
CSS
/* ---------------------------------------------------------------------------
|
|
kjol-web — 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
|
|
Lora, same sky 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.
|
|
--------------------------------------------------------------------------- */
|
|
|
|
@theme {
|
|
/* The brand: navy and red, the Norwegian flag muted down. 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) and is the NAVY; accent is TEXT and icons and
|
|
is the RED (it has to be readable on the surface); primary-subtle/-border are the
|
|
tinted panel. */
|
|
--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: #9e1b32; /* dark red — accent TEXT */
|
|
|
|
/* Lora, the same body face the Go/WASM section vendors. The woff2 files are
|
|
served out of wwwroot/fonts by the same server, so this section pays no
|
|
extra request for them — they are already in the browser's cache from the
|
|
front page. */
|
|
--font-sans: "Lora", ui-serif, Georgia, Cambria, "Times New Roman", serif;
|
|
--font-serif: "Lora", ui-serif, Georgia, Cambria, "Times New Roman", serif;
|
|
}
|
|
|
|
/* Lora's @font-face rules are declared HERE as well as in the Go/WASM section's
|
|
app.css, and that duplication is correct: the two sections load different
|
|
stylesheets (this compiles to bundle.min.css, that one to app.css) and a page
|
|
in this section never links the other. Each stylesheet has to stand alone.
|
|
|
|
What is NOT duplicated is the download. Both point at the same four /fonts/*.woff2
|
|
URLs served out of the same wwwroot, so a reader arriving here from the front page
|
|
already has them in cache and pays nothing.
|
|
|
|
Variable fonts: one file per style covers weights 400-700, hence the range. */
|
|
@font-face {
|
|
font-family: "Lora";
|
|
font-style: normal;
|
|
font-weight: 400 700;
|
|
font-display: swap;
|
|
src: url("/fonts/lora-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: "Lora";
|
|
font-style: normal;
|
|
font-weight: 400 700;
|
|
font-display: swap;
|
|
src: url("/fonts/lora-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: "Lora";
|
|
font-style: italic;
|
|
font-weight: 400 700;
|
|
font-display: swap;
|
|
src: url("/fonts/lora-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;
|
|
}
|
|
|
|
/* 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.
|
|
---------------------------------------------------------------------------
|
|
Both tokens move, for different reasons. The accent CLIMBS: a dark red on a near-black
|
|
surface is unreadable, so it goes up to a light rose — still the flag's red, just the
|
|
only version of it you can read here. The FILL climbs too, which the sky blue it
|
|
replaced did not have to: navy is dark enough that a navy button on a #101013 page loses
|
|
its edges and reads as a hole. 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: #f0a3ad;
|
|
--color-primary: #2b4f80;
|
|
--color-primary-hover: #37619b;
|
|
--color-primary-subtle: #182234;
|
|
--color-primary-border: #2c3e5c;
|
|
}
|