/* DESIGN PREVIEW ONLY: eight own alternative looks to compare, switched by the "Vzhled" select in the top bar or the T key
   (Shift+T = back). js/theme-preview.js shows the switcher only on localhost; elsewhere this file has no effect (no data-skin).
   Shared by the app (css/themes.css) and the static pages (/assets/themes.css, a copy). Delete both files and their
   <link>/<script> once a look is chosen and moved into the real tokens.
   Every skin is a complete palette (the light/dark toggle is hidden while one is active) and passes the same contrast
   table as the default themes: test/contrast.test.js parses each block below. Token names: the app's (css/style.css)
   + the static pages' (--on-primary, --warn-bg, --warn-border). Non-colour tokens: --font-body, --font-head, --radius. */

html:root[data-skin="papir"] {
  color-scheme: light;
  --bg: #f3eee4; --card: #fffdf7; --text: #1f1a14; --muted: #5e5446; --border: #e4dccb; --border-strong: #8a7f6c;
  --primary: #8c1d18; --primary-dark: #6e1611; --link: #8c1d18; --focus: #8c1d18;
  --success: #2f6b2f; --danger: #b42318; --warning: #8f5300; --info: #3f4a8a; --on-accent: #ffffff;
  --success-text: #2f6b2f; --danger-text: #a11d14; --warning-text: #7a4600; --info-text: #3f4a8a;
  --on-primary: #ffffff; --warn-bg: #fbf0d9; --warn-border: #8f5300;
  --shadow: none;
  --font-body: Charter, "Bitstream Charter", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --font-head: Charter, "Bitstream Charter", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --radius: 3px;
}
html:root[data-skin="inkoust"] {
  color-scheme: light;
  --bg: #edf0f5; --card: #ffffff; --text: #0e1a33; --muted: #4d5a73; --border: #d9dfea; --border-strong: #6f7d96;
  --primary: #1f3a8a; --primary-dark: #172c6b; --link: #1f3a8a; --focus: #c2410c;
  --success: #116149; --danger: #b42318; --warning: #9a4c00; --info: #4338ca; --on-accent: #ffffff;
  --success-text: #116149; --danger-text: #b42318; --warning-text: #8a4200; --info-text: #4338ca;
  --on-primary: #ffffff; --warn-bg: #fdf2e3; --warn-border: #9a4c00;
  --shadow: 0 1px 0 rgba(14, 26, 51, 0.08);
  --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-head: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  --radius: 6px;
}
html:root[data-skin="les"] {
  color-scheme: light;
  --bg: #edf2ec; --card: #fbfdfa; --text: #13261b; --muted: #4c5d51; --border: #d6e0d6; --border-strong: #6e8274;
  --primary: #1f6b3a; --primary-dark: #17542d; --link: #1a5e33; --focus: #1a5e33;
  --success: #1f6b3a; --danger: #b3261e; --warning: #8f5200; --info: #3d4f9a; --on-accent: #ffffff;
  --success-text: #1a5e33; --danger-text: #a8231c; --warning-text: #7a4600; --info-text: #3d4f9a;
  --on-primary: #ffffff; --warn-bg: #f7f0dc; --warn-border: #8f5200;
  --shadow: 0 2px 10px rgba(19, 38, 27, 0.07);
  --font-body: Optima, Candara, "Segoe UI", "Noto Sans", sans-serif;
  --font-head: Optima, Candara, "Segoe UI", "Noto Sans", sans-serif;
  --radius: 14px;
}
html:root[data-skin="terakota"] {
  color-scheme: light;
  --bg: #f5ebe2; --card: #fffaf5; --text: #2a1a12; --muted: #6a5446; --border: #ead9c9; --border-strong: #9a7f6c;
  --primary: #b23f17; --primary-dark: #8f3010; --link: #9c3612; --focus: #9c3612;
  --success: #2e6b3a; --danger: #b4232a; --warning: #8a5200; --info: #4b4a9a; --on-accent: #ffffff;
  --success-text: #2a6235; --danger-text: #a51f26; --warning-text: #774500; --info-text: #4b4a9a;
  --on-primary: #ffffff; --warn-bg: #fbeedd; --warn-border: #8a5200;
  --shadow: 0 1px 2px rgba(42, 26, 18, 0.06), 0 6px 18px rgba(42, 26, 18, 0.06);
  --font-body: "Avenir Next", Avenir, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-head: Georgia, "Times New Roman", serif;
  --radius: 10px;
}
html:root[data-skin="noc"] {
  color-scheme: dark;
  --bg: #0c1220; --card: #141c2e; --text: #ece8dc; --muted: #aaa79c; --border: #26304a; --border-strong: #6d7795;
  --primary: #e3b341; --primary-dark: #c99a2e; --link: #f0c25a; --focus: #f0c25a;
  --success: #3fbf86; --danger: #f2777a; --warning: #f0a63a; --info: #9aa5ff; --on-accent: #0c1220;
  --success-text: #5fd3a0; --danger-text: #ff9b9d; --warning-text: #f5c060; --info-text: #b3bbff;
  --on-primary: #0c1220; --warn-bg: #2a2108; --warn-border: #f0a63a;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.35), 0 6px 16px rgba(0, 0, 0, 0.35);
  --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-head: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --radius: 10px;
}
html:root[data-skin="grafit"] {
  color-scheme: dark;
  --bg: #111111; --card: #1b1b1b; --text: #ededed; --muted: #a3a3a3; --border: #2e2e2e; --border-strong: #6b6b6b;
  --primary: #34d399; --primary-dark: #10b981; --link: #5eead4; --focus: #5eead4;
  --success: #34d399; --danger: #f87171; --warning: #fbbf24; --info: #a78bfa; --on-accent: #0a0a0a;
  --success-text: #4ade80; --danger-text: #fca5a5; --warning-text: #fcd34d; --info-text: #c4b5fd;
  --on-primary: #0a0a0a; --warn-bg: #2a2108; --warn-border: #fbbf24;
  --shadow: none;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --font-head: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --radius: 6px;
}
html:root[data-skin="levandule"] {
  color-scheme: light;
  --bg: #f4f1fd; --card: #ffffff; --text: #1e1a3a; --muted: #5a5478; --border: #e3ddf7; --border-strong: #8279a8;
  --primary: #6d28d9; --primary-dark: #5b21b6; --link: #5b21b6; --focus: #5b21b6;
  --success: #047857; --danger: #be123c; --warning: #975400; --info: #4338ca; --on-accent: #ffffff;
  --success-text: #047857; --danger-text: #be123c; --warning-text: #854a00; --info-text: #4338ca;
  --on-primary: #ffffff; --warn-bg: #fdf3e1; --warn-border: #975400;
  --shadow: 0 2px 6px rgba(76, 29, 149, 0.06), 0 10px 24px rgba(76, 29, 149, 0.08);
  --font-body: ui-rounded, "SF Pro Rounded", "Nunito", "Varela Round", "Segoe UI", sans-serif;
  --font-head: ui-rounded, "SF Pro Rounded", "Nunito", "Varela Round", "Segoe UI", sans-serif;
  --radius: 18px;
}
html:root[data-skin="svycarsko"] {
  color-scheme: light;
  --bg: #f2f2f2; --card: #ffffff; --text: #111111; --muted: #555555; --border: #dcdcdc; --border-strong: #767676;
  --primary: #d0021b; --primary-dark: #a30015; --link: #b00017; --focus: #111111;
  --success: #00704a; --danger: #b8001a; --warning: #995c00; --info: #1f3fbf; --on-accent: #ffffff;
  --success-text: #00704a; --danger-text: #b8001a; --warning-text: #844f00; --info-text: #1f3fbf;
  --on-primary: #ffffff; --warn-bg: #fff4e0; --warn-border: #111111;
  --shadow: none;
  --font-body: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-head: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --radius: 0;
}

/* ---------- what every skin changes besides colours ---------- */
html[data-skin] body, html[data-skin] :is(button, input, select, textarea) { font-family: var(--font-body); }
html[data-skin] :is(h1, h2, h3, .brand a) { font-family: var(--font-head); }
html[data-skin] :is(.card, .exam-card, .stat, .notice, .answer, .btn, .case-intro, .reasoning, .resume-item, .category-item,
  dialog.dialog, .tablewrap, ul.chooser, ul.cols li a, ul.guide-list li, .mock-bar, .topbar nav a, .theme-toggle, .menu-toggle,
  select, input[type="text"], input[type="search"], input[type="date"]) { border-radius: var(--radius); }
/* underlined tabs: only the top corners round (a rounded bottom bent the underline); boxed 2×2 tabs on a phone: all four */
html[data-skin] .tabs a { border-radius: var(--radius) var(--radius) 0 0; }
@media (max-width: 600px) { html[data-skin] .tabs a { border-radius: var(--radius); } }
html[data-preview] #theme-toggle { display: none; }   /* the preview picks light/dark too (Modř světlá / tmavá) */
html[data-preview] #more-menu .more-sep { display: none; }   /* nothing under it while the toggle is hidden */

/* ---------- per-skin character ---------- */
html[data-skin="papir"] :is(h1, h2) { font-weight: 600; letter-spacing: -0.01em; }
html[data-skin="papir"] .topbar { border-bottom: 3px double var(--border-strong); }
html[data-skin="inkoust"] h1 { font-size: 2.1rem; font-weight: 600; }
html[data-skin="inkoust"] .topbar { background: var(--text); }
html[data-skin="inkoust"] .topbar :is(.brand a, .menu-toggle) { color: #ffffff; }
html[data-skin="inkoust"] .menu-toggle { background: transparent; border-color: rgba(255, 255, 255, 0.5); }
@media (min-width: 841px) {   /* only the items in the bar itself: the dropdowns are light and keep the normal colours */
  html[data-skin="inkoust"] .topbar :is(nav > a, .more-toggle) { color: #dfe6f3; }
  html[data-skin="inkoust"] .topbar :is(nav > a[aria-current], .more:has(.more-menu [aria-current]) .more-toggle) { background: rgba(255, 255, 255, 0.16); color: #ffffff; }
  html[data-skin="inkoust"] .topbar :is(nav > a, .more-toggle):hover { background: rgba(255, 255, 255, 0.1); color: #ffffff; }
}
html[data-skin="les"] :is(h1, h2) { letter-spacing: 0.01em; }
html[data-skin="terakota"] :is(h1, h2) { font-style: italic; font-weight: 500; }
html[data-skin="noc"] h1 { font-weight: 500; letter-spacing: 0.01em; }
html[data-skin="grafit"] :is(h1, h2) { font-weight: 650; letter-spacing: -0.02em; }
html[data-skin="grafit"] :is(.card, .exam-card) { border-color: #2e2e2e; }
html[data-skin="levandule"] .btn { border-radius: 999px; }
html[data-skin="svycarsko"] h1 { font-size: 2.4rem; font-weight: 800; letter-spacing: -0.03em; line-height: 1.05; }
html[data-skin="svycarsko"] h2 { font-weight: 700; letter-spacing: -0.01em; border-top: 2px solid var(--text); padding-top: 0.5rem; }
html[data-skin="svycarsko"] .card > h2:first-child { border-top: 0; padding-top: 0; }
html[data-skin="svycarsko"] .topbar { border-bottom: 2px solid var(--text); }

/* ======================================================================================================================
   Claude Design theme pack (the owner's tmp/Motivy-pro-Claude-Code.md + -2.md, 2026-10-31): 18 + 4 themes, each in one fixed mode.
   Token blocks copied from that file (ids as given; + the static pages' --on-primary / --warn-bg / --warn-border).
   Fonts: self-hosted copies from Fontsource (SIL OFL 1.1, notices in fonts/OFL-NOTICES.txt), latin + latin-ext only,
   in fonts/ of the repo, served from /assets/fonts/ (PREVIEW_FONTS in tools/build_site.py) (so they load on the built site; with `npm start` the fallback fonts show).
   ====================================================================================================================== */
@font-face { font-family: "Newsreader"; font-style: normal; font-weight: 200 800; font-display: swap; src: url("/assets/fonts/newsreader-latin-ext-wght-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: "Newsreader"; font-style: normal; font-weight: 200 800; font-display: swap; src: url("/assets/fonts/newsreader-latin-wght-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: "Libre Franklin"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/assets/fonts/libre-franklin-latin-ext-wght-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: "Libre Franklin"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/assets/fonts/libre-franklin-latin-wght-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: "Nunito"; font-style: normal; font-weight: 200 1000; font-display: swap; src: url("/assets/fonts/nunito-latin-ext-wght-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: "Nunito"; font-style: normal; font-weight: 200 1000; font-display: swap; src: url("/assets/fonts/nunito-latin-wght-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: "Source Serif 4"; font-style: normal; font-weight: 200 900; font-display: swap; src: url("/assets/fonts/source-serif-4-latin-ext-wght-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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 200 900; font-display: swap; src: url("/assets/fonts/source-serif-4-latin-wght-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: "Source Sans 3"; font-style: normal; font-weight: 200 900; font-display: swap; src: url("/assets/fonts/source-sans-3-latin-ext-wght-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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 200 900; font-display: swap; src: url("/assets/fonts/source-sans-3-latin-wght-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: "Work Sans"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/assets/fonts/work-sans-latin-ext-wght-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: "Work Sans"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/assets/fonts/work-sans-latin-wght-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: "Red Hat Display"; font-style: normal; font-weight: 300 900; font-display: swap; src: url("/assets/fonts/red-hat-display-latin-ext-wght-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: "Red Hat Display"; font-style: normal; font-weight: 300 900; font-display: swap; src: url("/assets/fonts/red-hat-display-latin-wght-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: "Red Hat Text"; font-style: normal; font-weight: 300 700; font-display: swap; src: url("/assets/fonts/red-hat-text-latin-ext-wght-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: "Red Hat Text"; font-style: normal; font-weight: 300 700; font-display: swap; src: url("/assets/fonts/red-hat-text-latin-wght-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: "Onest"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/assets/fonts/onest-latin-ext-wght-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: "Onest"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/assets/fonts/onest-latin-wght-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: "EB Garamond"; font-style: normal; font-weight: 400 800; font-display: swap; src: url("/assets/fonts/eb-garamond-latin-ext-wght-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: "EB Garamond"; font-style: normal; font-weight: 400 800; font-display: swap; src: url("/assets/fonts/eb-garamond-latin-wght-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: "Instrument Sans"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("/assets/fonts/instrument-sans-latin-ext-wght-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: "Instrument Sans"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("/assets/fonts/instrument-sans-latin-wght-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: "Alegreya"; font-style: normal; font-weight: 400 900; font-display: swap; src: url("/assets/fonts/alegreya-latin-ext-wght-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: "Alegreya"; font-style: normal; font-weight: 400 900; font-display: swap; src: url("/assets/fonts/alegreya-latin-wght-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: "Plus Jakarta Sans"; font-style: normal; font-weight: 200 800; font-display: swap; src: url("/assets/fonts/plus-jakarta-sans-latin-ext-wght-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: "Plus Jakarta Sans"; font-style: normal; font-weight: 200 800; font-display: swap; src: url("/assets/fonts/plus-jakarta-sans-latin-wght-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: "Commissioner"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/assets/fonts/commissioner-latin-ext-wght-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: "Commissioner"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/assets/fonts/commissioner-latin-wght-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: "IBM Plex Serif"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/ibm-plex-serif-latin-ext-400-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: "IBM Plex Serif"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/ibm-plex-serif-latin-400-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: "IBM Plex Serif"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/ibm-plex-serif-latin-ext-600-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: "IBM Plex Serif"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/ibm-plex-serif-latin-600-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: "IBM Plex Serif"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/ibm-plex-serif-latin-ext-700-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: "IBM Plex Serif"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/ibm-plex-serif-latin-700-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: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/ibm-plex-mono-latin-ext-400-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: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/ibm-plex-mono-latin-400-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: "IBM Plex Mono"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/ibm-plex-mono-latin-ext-600-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: "IBM Plex Mono"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/ibm-plex-mono-latin-600-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: "IBM Plex Mono"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/ibm-plex-mono-latin-ext-700-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: "IBM Plex Mono"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/ibm-plex-mono-latin-700-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: "Atkinson Hyperlegible"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/atkinson-hyperlegible-latin-ext-400-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: "Atkinson Hyperlegible"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/atkinson-hyperlegible-latin-400-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: "Atkinson Hyperlegible"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/atkinson-hyperlegible-latin-ext-700-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: "Atkinson Hyperlegible"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/atkinson-hyperlegible-latin-700-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: "Barlow Condensed"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/barlow-condensed-latin-ext-400-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: "Barlow Condensed"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/barlow-condensed-latin-400-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: "Barlow Condensed"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/barlow-condensed-latin-ext-600-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: "Barlow Condensed"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/barlow-condensed-latin-600-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: "Barlow Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/barlow-condensed-latin-ext-700-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: "Barlow Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/barlow-condensed-latin-700-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: "Barlow"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/barlow-latin-ext-400-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: "Barlow"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/barlow-latin-400-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: "Barlow"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/barlow-latin-ext-600-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: "Barlow"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/barlow-latin-600-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: "Barlow"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/barlow-latin-ext-700-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: "Barlow"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/barlow-latin-700-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: "Alegreya Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/alegreya-sans-latin-ext-400-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: "Alegreya Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/alegreya-sans-latin-400-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: "Alegreya Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/alegreya-sans-latin-ext-700-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: "Alegreya Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/alegreya-sans-latin-700-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: "Literata"; font-style: normal; font-weight: 200 900; font-display: swap; src: url("/assets/fonts/literata-latin-ext-wght-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: "Literata"; font-style: normal; font-weight: 200 900; font-display: swap; src: url("/assets/fonts/literata-latin-wght-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: "Hanken Grotesk"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/assets/fonts/hanken-grotesk-latin-ext-wght-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: "Hanken Grotesk"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/assets/fonts/hanken-grotesk-latin-wght-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: "Public Sans"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/assets/fonts/public-sans-latin-ext-wght-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: "Public Sans"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/assets/fonts/public-sans-latin-wght-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: "Mulish"; font-style: normal; font-weight: 200 1000; font-display: swap; src: url("/assets/fonts/mulish-latin-ext-wght-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: "Mulish"; font-style: normal; font-weight: 200 1000; font-display: swap; src: url("/assets/fonts/mulish-latin-wght-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; }

html:root[data-skin="zkusebni-arch-light"] {   /* Zkušební arch – světlý */
  color-scheme: light;
  --bg: #ffffff;
  --card: #ffffff;
  --text: #111111;
  --muted: #6b6b6b;
  --border: #d9d9d9;
  --border-strong: #8b8b8b;
  --primary: #1d3fbf;
  --primary-dark: #173299;
  --link: #1d3fbf;
  --focus: #1d3fbf;
  --success: #1b7a3a;
  --danger: #c0262d;
  --warning: #a15c00;
  --info: #1d64a8;
  --on-accent: #ffffff;
  --success-text: #1b7a3a;
  --danger-text: #c0262d;
  --warning-text: #975600;
  --info-text: #1d64a8;
  --shadow: none;
  --font-body: "IBM Plex Serif", Georgia, serif;
  --font-head: "IBM Plex Serif", Georgia, serif;
  --radius: 0;
  --font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #e8f2eb;
  --danger-bg: #f9e9ea;
  --warning-bg: #f6efe6;
  --info-bg: #e8f0f6;
  --deco: #1d3fbf;
  --hdr-bg: #111111;
  --hdr-fg: #ffffff;
  --bw: 2px;
  --btn-radius: 0;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 34px;
  --lh: 1.55;
  --pad: 16px;
  --gap: 12px;
  --bar-h: 10px;
  --bs: solid;
  --hw: 700;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: uppercase;
  --ltrack: .06em;
  --bar-r: 0;
  --bar-bw: 1px;
  --bar-track: #d9d9d9;
  --btn-w: 600;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 0;
  --head-color: #111111;
  --hdr-bw: 0;
  --hdr-active: #292929;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "IBM Plex Serif", Georgia, serif;
  --ex-cols: minmax(0, 1fr);
  --ex-gap: 0;
  --exw-bw: 2px;
  --exw-bg: #ffffff;
  --exw-r: 0;
  --ex-bw: 0 0 2px 0;
  --ex-r: 0;
  --ex-bg: transparent;
  --ex-shadow: none;
  --ex-pad: 12px 16px;
  --ans-bw: 2px;
  --ans-r: 0;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #ffffff;
  --on-primary: #ffffff;
  --warn-bg: #ffffff;
  --warn-border: #a15c00;
}
html:root[data-skin="noviny-light"] {   /* Noviny – světlý */
  color-scheme: light;
  --bg: #f4f1ea;
  --card: #f4f1ea;
  --text: #1a1a1a;
  --muted: #6d6c69;
  --border: #d1cfc9;
  --border-strong: #898784;
  --primary: #1f1f1f;
  --primary-dark: #191919;
  --link: #1f1f1f;
  --focus: #1f1f1f;
  --success: #1b7a3a;
  --danger: #c0262d;
  --warning: #a15c00;
  --info: #1d64a8;
  --on-accent: #ffffff;
  --success-text: #186c34;
  --danger-text: #b4242a;
  --warning-text: #8e5100;
  --info-text: #1d64a8;
  --shadow: none;
  --font-body: "Libre Franklin", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Newsreader", Georgia, serif;
  --radius: 0;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #dee5d8;
  --danger-bg: #efddd7;
  --warning-bg: #ece2d3;
  --info-bg: #dfe3e3;
  --deco: #1f1f1f;
  --hdr-bg: #f4f1ea;
  --hdr-fg: #1a1a1a;
  --bw: 1px;
  --btn-radius: 0;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 40px;
  --lh: 1.55;
  --pad: 14px;
  --gap: 12px;
  --bar-h: 6px;
  --bs: solid;
  --hw: 600;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: uppercase;
  --ltrack: .06em;
  --bar-r: 0;
  --bar-bw: 0;
  --bar-track: #d1cfc9;
  --btn-w: 700;
  --btn-case: uppercase;
  --btn-track: .06em;
  --align: left;
  --align-items: flex-start;
  --badge-r: 0;
  --head-color: #1f1f1f;
  --hdr-bw: 4px;
  --hdr-active: #dedcd5;
  --hdr-bs: double;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Libre Franklin", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ex-cols: minmax(0, 1fr);
  --ex-gap: 0;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 1px 0 0 0;
  --ex-r: 0;
  --ex-bg: transparent;
  --ex-shadow: none;
  --ex-pad: 14px 0;
  --ans-bw: 0 0 1px 0;
  --ans-r: 0;
  --ans-gap: 0;
  --ans-pad: 14px 4px;
  --ans-bg: transparent;
  --on-primary: #ffffff;
  --warn-bg: #f4f1ea;
  --warn-border: #a15c00;
}
html:root[data-skin="klidny-dech-light"] {   /* Klidný dech – světlý */
  color-scheme: light;
  --bg: #f3f5f1;
  --card: #ffffff;
  --text: #25302a;
  --muted: #6a706d;
  --border: #dcdedd;
  --border-strong: #838684;
  --primary: #4f7a65;
  --primary-dark: #3f6251;
  --link: #4a735f;
  --focus: #4f7a65;
  --success: #1b7a3a;
  --danger: #c0262d;
  --warning: #a15c00;
  --info: #1d64a8;
  --on-accent: #ffffff;
  --success-text: #1b7a3a;
  --danger-text: #c0262d;
  --warning-text: #975600;
  --info-text: #1d64a8;
  --shadow: 0 1px 2px rgba(30,50,40,.05), 0 8px 24px rgba(30,50,40,.07);
  --font-body: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --radius: 20px;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #e8f2eb;
  --danger-bg: #f9e9ea;
  --warning-bg: #f6efe6;
  --info-bg: #e8f0f6;
  --deco: #4f7a65;
  --hdr-bg: #f3f5f1;
  --hdr-fg: #25302a;
  --bw: 1px;
  --btn-radius: 999px;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 34px;
  --lh: 1.55;
  --pad: 22px;
  --gap: 16px;
  --bar-h: 10px;
  --bs: solid;
  --hw: 800;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: none;
  --ltrack: 0;
  --bar-r: 999px;
  --bar-bw: 0;
  --bar-track: #dcdedd;
  --btn-w: 600;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 999px;
  --head-color: #25302a;
  --hdr-bw: 1px;
  --hdr-active: #dee1dd;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ex-cols: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  --ex-gap: 16px;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 1px;
  --ex-r: 20px;
  --ex-bg: #ffffff;
  --ex-shadow: 0 1px 2px rgba(30,50,40,.05), 0 8px 24px rgba(30,50,40,.07);
  --ex-pad: 22px;
  --ans-bw: 1.5px;
  --ans-r: 20px;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #ffffff;
  --on-primary: #ffffff;
  --warn-bg: #ffffff;
  --warn-border: #a15c00;
}
html:root[data-skin="muzejni-orientace-light"] {   /* Muzejní orientace – světlý */
  color-scheme: light;
  --bg: #ffffff;
  --card: #f1f1ef;
  --text: #111111;
  --muted: #666665;
  --border: #cdcdcb;
  --border-strong: #848483;
  --primary: #7a1f5c;
  --primary-dark: #62194a;
  --link: #7a1f5c;
  --focus: #7a1f5c;
  --success: #1b7a3a;
  --danger: #c0262d;
  --warning: #a15c00;
  --info: #1d64a8;
  --on-accent: #ffffff;
  --success-text: #186c34;
  --danger-text: #b4242a;
  --warning-text: #8e5100;
  --info-text: #1d64a8;
  --shadow: none;
  --font-body: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --radius: 0;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #dce5dd;
  --danger-bg: #ecdddc;
  --warning-bg: #e9e2d7;
  --info-bg: #dce3e8;
  --deco: #7a1f5c;
  --hdr-bg: #111111;
  --hdr-fg: #ffffff;
  --bw: 1px;
  --btn-radius: 0;
  --btn-shadow: none;
  --fs: 17px;
  --h1: 40px;
  --lh: 1.55;
  --pad: 16px;
  --gap: 12px;
  --bar-h: 10px;
  --bs: solid;
  --hw: 700;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: uppercase;
  --ltrack: .12em;
  --bar-r: 0;
  --bar-bw: 0;
  --bar-track: #cdcdcb;
  --btn-w: 700;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 0;
  --head-color: #111111;
  --hdr-bw: 0;
  --hdr-active: #292929;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ex-cols: minmax(0, 1fr);
  --ex-gap: 0;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 1px 0 0 0;
  --ex-r: 0;
  --ex-bg: transparent;
  --ex-shadow: none;
  --ex-pad: 16px 0;
  --ans-bw: 1.5px;
  --ans-r: 0;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #f1f1ef;
  --on-primary: #ffffff;
  --warn-bg: #f1f1ef;
  --warn-border: #a15c00;
}
html:root[data-skin="ucebnice-light"] {   /* Učebnice – světlý */
  color-scheme: light;
  --bg: #fafaf8;
  --card: #ffffff;
  --text: #1d2329;
  --muted: #6c7073;
  --border: #dbdcdd;
  --border-strong: #878a8c;
  --primary: #9c4221;
  --primary-dark: #7d351a;
  --link: #9c4221;
  --focus: #9c4221;
  --success: #1b7a3a;
  --danger: #c0262d;
  --warning: #a15c00;
  --info: #1d64a8;
  --on-accent: #ffffff;
  --success-text: #1b7a3a;
  --danger-text: #c0262d;
  --warning-text: #975600;
  --info-text: #1d64a8;
  --shadow: none;
  --font-body: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Source Serif 4", Georgia, serif;
  --radius: 6px;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #e8f2eb;
  --danger-bg: #f9e9ea;
  --warning-bg: #f6efe6;
  --info-bg: #e8f0f6;
  --deco: #9c4221;
  --hdr-bg: #fafaf8;
  --hdr-fg: #1d2329;
  --bw: 1px;
  --btn-radius: 6px;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 34px;
  --lh: 1.55;
  --pad: 18px;
  --gap: 12px;
  --bar-h: 8px;
  --bs: solid;
  --hw: 600;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: uppercase;
  --ltrack: .06em;
  --bar-r: 999px;
  --bar-bw: 0;
  --bar-track: #dbdcdd;
  --btn-w: 600;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 6px;
  --head-color: #1d2329;
  --hdr-bw: 1px;
  --hdr-active: #e4e5e3;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Source Serif 4", Georgia, serif;
  --ex-cols: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  --ex-gap: 12px;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 1px;
  --ex-r: 6px;
  --ex-bg: #ffffff;
  --ex-shadow: none;
  --ex-pad: 18px;
  --ans-bw: 1.5px;
  --ans-r: 6px;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #ffffff;
  --on-primary: #ffffff;
  --warn-bg: #ffffff;
  --warn-border: #a15c00;
}
html:root[data-skin="poradac-light"] {   /* Pořadač – světlý */
  color-scheme: light;
  --bg: #eef0f3;
  --card: #ffffff;
  --text: #1c2230;
  --muted: #656870;
  --border: #dbdcde;
  --border-strong: #7f8286;
  --primary: #4b3f8f;
  --primary-dark: #3c3272;
  --link: #4b3f8f;
  --focus: #4b3f8f;
  --success: #1b7a3a;
  --danger: #c0262d;
  --warning: #a15c00;
  --info: #1d64a8;
  --on-accent: #ffffff;
  --success-text: #1b7a3a;
  --danger-text: #c0262d;
  --warning-text: #975600;
  --info-text: #1d64a8;
  --shadow: none;
  --font-body: "Work Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Work Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --radius: 0 10px 10px 10px;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #e8f2eb;
  --danger-bg: #f9e9ea;
  --warning-bg: #f6efe6;
  --info-bg: #e8f0f6;
  --deco: #2c9586;
  --hdr-bg: #4b3f8f;
  --hdr-fg: #ffffff;
  --bw: 1px;
  --btn-radius: 8px;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 34px;
  --lh: 1.55;
  --pad: 16px;
  --gap: 12px;
  --bar-h: 8px;
  --bs: solid;
  --hw: 600;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: uppercase;
  --ltrack: .06em;
  --bar-r: 999px;
  --bar-bw: 0;
  --bar-track: #dbdcde;
  --btn-w: 600;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 6px 6px 0 0;
  --head-color: #1c2230;
  --hdr-bw: 0;
  --hdr-active: #5d529a;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Work Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ex-cols: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  --ex-gap: 12px;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 1px;
  --ex-r: 0 10px 10px 10px;
  --ex-bg: #ffffff;
  --ex-shadow: none;
  --ex-pad: 16px;
  --ans-bw: 1.5px;
  --ans-r: 0 10px 10px 10px;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #ffffff;
  --on-primary: #ffffff;
  --warn-bg: #ffffff;
  --warn-border: #a15c00;
}
html:root[data-skin="nocni-smena-light"] {   /* Noční směna – světlý */
  color-scheme: light;
  --bg: #f5f3ef;
  --card: #ffffff;
  --text: #1b2130;
  --muted: #656770;
  --border: #dbdbde;
  --border-strong: #86898f;
  --primary: #8a5300;
  --primary-dark: #6e4200;
  --link: #8a5300;
  --focus: #8a5300;
  --success: #1b7a3a;
  --danger: #c0262d;
  --warning: #a15c00;
  --info: #1d64a8;
  --on-accent: #ffffff;
  --success-text: #1b7a3a;
  --danger-text: #c0262d;
  --warning-text: #975600;
  --info-text: #1d64a8;
  --shadow: 0 1px 3px rgba(20,25,40,.08);
  --font-body: "Red Hat Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Red Hat Display", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --radius: 12px;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #e8f2eb;
  --danger-bg: #f9e9ea;
  --warning-bg: #f6efe6;
  --info-bg: #e8f0f6;
  --deco: #8a5300;
  --hdr-bg: #f5f3ef;
  --hdr-fg: #1b2130;
  --bw: 1px;
  --btn-radius: 12px;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 34px;
  --lh: 1.55;
  --pad: 20px;
  --gap: 14px;
  --bar-h: 8px;
  --bs: solid;
  --hw: 700;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: uppercase;
  --ltrack: .06em;
  --bar-r: 999px;
  --bar-bw: 0;
  --bar-track: #dbdbde;
  --btn-w: 600;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 12px;
  --head-color: #1b2130;
  --hdr-bw: 1px;
  --hdr-active: #dfdedc;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Red Hat Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ex-cols: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  --ex-gap: 14px;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 1px;
  --ex-r: 12px;
  --ex-bg: #ffffff;
  --ex-shadow: 0 1px 3px rgba(20,25,40,.08);
  --ex-pad: 20px;
  --ans-bw: 1.5px;
  --ans-r: 12px;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #ffffff;
  --on-primary: #ffffff;
  --warn-bg: #ffffff;
  --warn-border: #a15c00;
}
html:root[data-skin="svezi-aplikace-light"] {   /* Svěží aplikace – světlý */
  color-scheme: light;
  --bg: #f6f7f9;
  --card: #ffffff;
  --text: #151a23;
  --muted: #676a70;
  --border: #dadadc;
  --border-strong: #85868a;
  --primary: #0f766e;
  --primary-dark: #0c5e58;
  --link: #0f766e;
  --focus: #0f766e;
  --success: #1b7a3a;
  --danger: #c0262d;
  --warning: #a15c00;
  --info: #1d64a8;
  --on-accent: #ffffff;
  --success-text: #1b7a3a;
  --danger-text: #c0262d;
  --warning-text: #975600;
  --info-text: #1d64a8;
  --shadow: 0 1px 2px rgba(15,20,30,.06), 0 4px 12px rgba(15,20,30,.05);
  --font-body: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --radius: 10px;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #e8f2eb;
  --danger-bg: #f9e9ea;
  --warning-bg: #f6efe6;
  --info-bg: #e8f0f6;
  --deco: #0f766e;
  --hdr-bg: #f6f7f9;
  --hdr-fg: #151a23;
  --bw: 1px;
  --btn-radius: 10px;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 34px;
  --lh: 1.55;
  --pad: 16px;
  --gap: 12px;
  --bar-h: 8px;
  --bs: solid;
  --hw: 700;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: none;
  --ltrack: 0;
  --bar-r: 999px;
  --bar-bw: 0;
  --bar-track: #dadadc;
  --btn-w: 600;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 10px;
  --head-color: #151a23;
  --hdr-bw: 1px;
  --hdr-active: #e0e1e4;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ex-cols: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  --ex-gap: 12px;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 1px;
  --ex-r: 10px;
  --ex-bg: #ffffff;
  --ex-shadow: 0 1px 2px rgba(15,20,30,.06), 0 4px 12px rgba(15,20,30,.05);
  --ex-pad: 16px;
  --ans-bw: 1.5px;
  --ans-r: 10px;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #ffffff;
  --on-primary: #ffffff;
  --warn-bg: #ffffff;
  --warn-border: #a15c00;
}
html:root[data-skin="vysledkova-tabule-light"] {   /* Výsledková tabule – světlý */
  color-scheme: light;
  --bg: #f2f2ee;
  --card: #ffffff;
  --text: #0e1116;
  --muted: #6a6b6f;
  --border: #d8d9da;
  --border-strong: #828385;
  --primary: #14213d;
  --primary-dark: #101a31;
  --link: #14213d;
  --focus: #14213d;
  --success: #1b7a3a;
  --danger: #c0262d;
  --warning: #a15c00;
  --info: #1d64a8;
  --on-accent: #ffffff;
  --success-text: #1b7a3a;
  --danger-text: #c0262d;
  --warning-text: #975600;
  --info-text: #1d64a8;
  --shadow: none;
  --font-body: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Barlow Condensed", "Arial Narrow", sans-serif;
  --radius: 2px;
  --font-mono: "Barlow Condensed", "Arial Narrow", sans-serif;
  --success-bg: #e8f2eb;
  --danger-bg: #f9e9ea;
  --warning-bg: #f6efe6;
  --info-bg: #e8f0f6;
  --deco: #14213d;
  --hdr-bg: #14213d;
  --hdr-fg: #ffffff;
  --bw: 1px;
  --btn-radius: 2px;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 48px;
  --lh: 1.55;
  --pad: 16px;
  --gap: 12px;
  --bar-h: 14px;
  --bs: solid;
  --hw: 700;
  --hcase: uppercase;
  --htrack: .02em;
  --hstyle: normal;
  --lcase: uppercase;
  --ltrack: .1em;
  --bar-r: 0;
  --bar-bw: 0;
  --bar-track: #d8d9da;
  --btn-w: 700;
  --btn-case: uppercase;
  --btn-track: .06em;
  --align: left;
  --align-items: flex-start;
  --badge-r: 2px;
  --head-color: #0e1116;
  --hdr-bw: 0;
  --hdr-active: #2c3750;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ex-cols: minmax(0, 1fr);
  --ex-gap: 0;
  --exw-bw: 1px;
  --exw-bg: #ffffff;
  --exw-r: 2px;
  --ex-bw: 0 0 1px 0;
  --ex-r: 0;
  --ex-bg: transparent;
  --ex-shadow: none;
  --ex-pad: 12px 16px;
  --ans-bw: 1.5px;
  --ans-r: 2px;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #ffffff;
  --on-primary: #ffffff;
  --warn-bg: #ffffff;
  --warn-border: #a15c00;
}
html:root[data-skin="klidny-dech-dark"] {   /* Klidný dech – tmavý */
  color-scheme: dark;
  --bg: #141a17;
  --card: #1c2420;
  --text: #e3ebe5;
  --muted: #979f9a;
  --border: #3c4440;
  --border-strong: #767e79;
  --primary: #8cc2a6;
  --primary-dark: #a3ceb8;
  --link: #8cc2a6;
  --focus: #8cc2a6;
  --success: #4cc47a;
  --danger: #ff6b6b;
  --warning: #f0b23d;
  --info: #6cb4ff;
  --on-accent: #111111;
  --success-text: #4cc47a;
  --danger-text: #ff7474;
  --warning-text: #f0b23d;
  --info-text: #6cb4ff;
  --shadow: none;
  --font-body: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --radius: 20px;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #243e2e;
  --danger-bg: #402f2c;
  --warning-bg: #3e3b25;
  --info-bg: #293b44;
  --deco: #8cc2a6;
  --hdr-bg: #141a17;
  --hdr-fg: #e3ebe5;
  --bw: 1px;
  --btn-radius: 999px;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 34px;
  --lh: 1.55;
  --pad: 22px;
  --gap: 16px;
  --bar-h: 10px;
  --bs: solid;
  --hw: 800;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: none;
  --ltrack: 0;
  --bar-r: 999px;
  --bar-bw: 0;
  --bar-track: #3c4440;
  --btn-w: 600;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 999px;
  --head-color: #e3ebe5;
  --hdr-bw: 1px;
  --hdr-active: #292f2c;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ex-cols: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  --ex-gap: 16px;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 1px;
  --ex-r: 20px;
  --ex-bg: #1c2420;
  --ex-shadow: none;
  --ex-pad: 22px;
  --ans-bw: 1.5px;
  --ans-r: 20px;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #1c2420;
  --on-primary: #111111;
  --warn-bg: #1c2420;
  --warn-border: #f0b23d;
}
html:root[data-skin="vysledkova-tabule-dark"] {   /* Výsledková tabule – tmavý */
  color-scheme: dark;
  --bg: #0e1116;
  --card: #171c24;
  --text: #f5f7fa;
  --muted: #a1a4a9;
  --border: #3b3f46;
  --border-strong: #7b7f84;
  --primary: #ffd23f;
  --primary-dark: #ffdb65;
  --link: #ffd23f;
  --focus: #ffd23f;
  --success: #4cc47a;
  --danger: #ff6b6b;
  --warning: #f0b23d;
  --info: #6cb4ff;
  --on-accent: #111111;
  --success-text: #4cc47a;
  --danger-text: #ff6b6b;
  --warning-text: #f0b23d;
  --info-text: #6cb4ff;
  --shadow: none;
  --font-body: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Barlow Condensed", "Arial Narrow", sans-serif;
  --radius: 2px;
  --font-mono: "Barlow Condensed", "Arial Narrow", sans-serif;
  --success-bg: #1f3732;
  --danger-bg: #3c292f;
  --warning-bg: #3a3428;
  --info-bg: #253447;
  --deco: #ffd23f;
  --hdr-bg: #ffd23f;
  --hdr-fg: #111111;
  --bw: 1px;
  --btn-radius: 2px;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 48px;
  --lh: 1.55;
  --pad: 16px;
  --gap: 12px;
  --bar-h: 14px;
  --bs: solid;
  --hw: 700;
  --hcase: uppercase;
  --htrack: .02em;
  --hstyle: normal;
  --lcase: uppercase;
  --ltrack: .1em;
  --bar-r: 0;
  --bar-bw: 0;
  --bar-track: #3b3f46;
  --btn-w: 700;
  --btn-case: uppercase;
  --btn-track: .06em;
  --align: left;
  --align-items: flex-start;
  --badge-r: 2px;
  --head-color: #f5f7fa;
  --hdr-bw: 0;
  --hdr-active: #e7bf3a;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ex-cols: minmax(0, 1fr);
  --ex-gap: 0;
  --exw-bw: 1px;
  --exw-bg: #171c24;
  --exw-r: 2px;
  --ex-bw: 0 0 1px 0;
  --ex-r: 0;
  --ex-bg: transparent;
  --ex-shadow: none;
  --ex-pad: 12px 16px;
  --ans-bw: 1.5px;
  --ans-r: 2px;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #171c24;
  --on-primary: #111111;
  --warn-bg: #171c24;
  --warn-border: #f0b23d;
}
html:root[data-skin="nakladatelstvi-dark"] {   /* Nakladatelství – tmavý */
  color-scheme: dark;
  --bg: #161513;
  --card: #1e1d1a;
  --text: #ece7dd;
  --muted: #9e9a93;
  --border: #3f3d39;
  --border-strong: #7b7872;
  --primary: #a9c9b5;
  --primary-dark: #bad4c4;
  --link: #a9c9b5;
  --focus: #a9c9b5;
  --success: #4cc47a;
  --danger: #ff6b6b;
  --warning: #f0b23d;
  --info: #6cb4ff;
  --on-accent: #111111;
  --success-text: #4cc47a;
  --danger-text: #ff6b6b;
  --warning-text: #f0b23d;
  --info-text: #6cb4ff;
  --shadow: none;
  --font-body: "Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "EB Garamond", Garamond, Georgia, serif;
  --radius: 0;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #253829;
  --danger-bg: #422927;
  --warning-bg: #403520;
  --info-bg: #2a353f;
  --deco: #a9c9b5;
  --hdr-bg: #161513;
  --hdr-fg: #ece7dd;
  --bw: 1px;
  --btn-radius: 0;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 44px;
  --lh: 1.55;
  --pad: 22px;
  --gap: 18px;
  --bar-h: 4px;
  --bs: solid;
  --hw: 500;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: uppercase;
  --ltrack: .14em;
  --bar-r: 0;
  --bar-bw: 0;
  --bar-track: #3f3d39;
  --btn-w: 600;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 0;
  --head-color: #ece7dd;
  --hdr-bw: 1px;
  --hdr-active: #2b2a27;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ex-cols: minmax(0, 1fr);
  --ex-gap: 0;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 1px 0 0 0;
  --ex-r: 0;
  --ex-bg: transparent;
  --ex-shadow: none;
  --ex-pad: 22px 0;
  --ans-bw: 0 0 1px 0;
  --ans-r: 0;
  --ans-gap: 0;
  --ans-pad: 14px 4px;
  --ans-bg: transparent;
  --on-primary: #111111;
  --warn-bg: #1e1d1a;
  --warn-border: #f0b23d;
}
html:root[data-skin="ucebnice-dark"] {   /* Učebnice – tmavý */
  color-scheme: dark;
  --bg: #15181b;
  --card: #1d2125;
  --text: #e7eaee;
  --muted: #9a9ea2;
  --border: #3d4145;
  --border-strong: #787b7f;
  --primary: #f0a27a;
  --primary-dark: #f3b595;
  --link: #f0a27a;
  --focus: #f0a27a;
  --success: #4cc47a;
  --danger: #ff6b6b;
  --warning: #f0b23d;
  --info: #6cb4ff;
  --on-accent: #111111;
  --success-text: #4cc47a;
  --danger-text: #ff6b6b;
  --warning-text: #f0b23d;
  --info-text: #6cb4ff;
  --shadow: none;
  --font-body: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Source Serif 4", Georgia, serif;
  --radius: 6px;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #253b33;
  --danger-bg: #412d30;
  --warning-bg: #3f3829;
  --info-bg: #2a3948;
  --deco: #f0a27a;
  --hdr-bg: #15181b;
  --hdr-fg: #e7eaee;
  --bw: 1px;
  --btn-radius: 6px;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 34px;
  --lh: 1.55;
  --pad: 18px;
  --gap: 12px;
  --bar-h: 8px;
  --bs: solid;
  --hw: 600;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: uppercase;
  --ltrack: .06em;
  --bar-r: 999px;
  --bar-bw: 0;
  --bar-track: #3d4145;
  --btn-w: 600;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 6px;
  --head-color: #e7eaee;
  --hdr-bw: 1px;
  --hdr-active: #2a2d30;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Source Serif 4", Georgia, serif;
  --ex-cols: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  --ex-gap: 12px;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 1px;
  --ex-r: 6px;
  --ex-bg: #1d2125;
  --ex-shadow: none;
  --ex-pad: 18px;
  --ans-bw: 1.5px;
  --ans-r: 6px;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #1d2125;
  --on-primary: #111111;
  --warn-bg: #1d2125;
  --warn-border: #f0b23d;
}
html:root[data-skin="poradac-dark"] {   /* Pořadač – tmavý */
  color-scheme: dark;
  --bg: #161821;
  --card: #1f2230;
  --text: #e9e9f2;
  --muted: #9c9da8;
  --border: #3f424f;
  --border-strong: #7a7c87;
  --primary: #b6acff;
  --primary-dark: #c5bdff;
  --link: #b6acff;
  --focus: #b6acff;
  --success: #4cc47a;
  --danger: #ff6b6b;
  --warning: #f0b23d;
  --info: #6cb4ff;
  --on-accent: #111111;
  --success-text: #4cc47a;
  --danger-text: #ff7474;
  --warning-text: #f0b23d;
  --info-text: #6cb4ff;
  --shadow: none;
  --font-body: "Work Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Work Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --radius: 0 10px 10px 10px;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #263c3c;
  --danger-bg: #432e39;
  --warning-bg: #403932;
  --info-bg: #2b3951;
  --deco: #6fd6c6;
  --hdr-bg: #b6acff;
  --hdr-fg: #111111;
  --bw: 1px;
  --btn-radius: 8px;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 34px;
  --lh: 1.55;
  --pad: 16px;
  --gap: 12px;
  --bar-h: 8px;
  --bs: solid;
  --hw: 600;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: uppercase;
  --ltrack: .06em;
  --bar-r: 999px;
  --bar-bw: 0;
  --bar-track: #3f424f;
  --btn-w: 600;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 6px 6px 0 0;
  --head-color: #e9e9f2;
  --hdr-bw: 0;
  --hdr-active: #a69de7;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Work Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ex-cols: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  --ex-gap: 12px;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 1px;
  --ex-r: 0 10px 10px 10px;
  --ex-bg: #1f2230;
  --ex-shadow: none;
  --ex-pad: 16px;
  --ans-bw: 1.5px;
  --ans-r: 0 10px 10px 10px;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #1f2230;
  --on-primary: #111111;
  --warn-bg: #1f2230;
  --warn-border: #f0b23d;
}
html:root[data-skin="skolni-tabule-dark"] {   /* Školní tabule – tmavý */
  color-scheme: dark;
  --bg: #1f2b26;
  --card: #26352f;
  --text: #eef2ea;
  --muted: #a2aaa3;
  --border: #46534d;
  --border-strong: #808a83;
  --primary: #f2e394;
  --primary-dark: #f5e9a9;
  --link: #f2e394;
  --focus: #f2e394;
  --success: #4cc47a;
  --danger: #ff6b6b;
  --warning: #f0b23d;
  --info: #6cb4ff;
  --on-accent: #111111;
  --success-text: #61cb8a;
  --danger-text: #ff9292;
  --warning-text: #f0b23d;
  --info-text: #75b9ff;
  --shadow: none;
  --font-body: "Alegreya Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Alegreya", Georgia, serif;
  --radius: 4px;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #2c4c3b;
  --danger-bg: #493e39;
  --warning-bg: #464931;
  --info-bg: #314950;
  --deco: #f2e394;
  --hdr-bg: #1f2b26;
  --hdr-fg: #eef2ea;
  --bw: 2px;
  --btn-radius: 4px;
  --btn-shadow: none;
  --fs: 17px;
  --h1: 38px;
  --lh: 1.55;
  --pad: 16px;
  --gap: 12px;
  --bar-h: 8px;
  --bs: solid;
  --hw: 700;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: none;
  --ltrack: 0;
  --bar-r: 999px;
  --bar-bw: 0;
  --bar-track: #46534d;
  --btn-w: 600;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 4px;
  --head-color: #eef2ea;
  --hdr-bw: 1px;
  --hdr-active: #343f3a;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Alegreya Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ex-cols: minmax(0, 1fr);
  --ex-gap: 0;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 2px 0 0 0;
  --ex-r: 0;
  --ex-bg: transparent;
  --ex-shadow: none;
  --ex-pad: 16px 0;
  --ans-bw: 2px;
  --ans-r: 4px;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #26352f;
  --on-primary: #111111;
  --warn-bg: #26352f;
  --warn-border: #f0b23d;
}
html:root[data-skin="nocni-smena-dark"] {   /* Noční směna – tmavý */
  color-scheme: dark;
  --bg: #0f1420;
  --card: #171e2e;
  --text: #e6e9f0;
  --muted: #979ca6;
  --border: #383e4d;
  --border-strong: #747985;
  --primary: #f2b866;
  --primary-dark: #f5c685;
  --link: #f2b866;
  --focus: #f2b866;
  --success: #4cc47a;
  --danger: #ff6b6b;
  --warning: #f0b23d;
  --info: #6cb4ff;
  --on-accent: #111111;
  --success-text: #4cc47a;
  --danger-text: #ff6b6b;
  --warning-text: #f0b23d;
  --info-text: #6cb4ff;
  --shadow: none;
  --font-body: "Red Hat Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Red Hat Display", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --radius: 12px;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #1f393a;
  --danger-bg: #3c2a38;
  --warning-bg: #3a3630;
  --info-bg: #25364f;
  --deco: #f2b866;
  --hdr-bg: #0f1420;
  --hdr-fg: #e6e9f0;
  --bw: 1px;
  --btn-radius: 12px;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 34px;
  --lh: 1.55;
  --pad: 20px;
  --gap: 14px;
  --bar-h: 8px;
  --bs: solid;
  --hw: 700;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: uppercase;
  --ltrack: .06em;
  --bar-r: 999px;
  --bar-bw: 0;
  --bar-track: #383e4d;
  --btn-w: 600;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 12px;
  --head-color: #e6e9f0;
  --hdr-bw: 1px;
  --hdr-active: #252935;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Red Hat Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ex-cols: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  --ex-gap: 14px;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 1px;
  --ex-r: 12px;
  --ex-bg: #171e2e;
  --ex-shadow: none;
  --ex-pad: 20px;
  --ans-bw: 1.5px;
  --ans-r: 12px;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #171e2e;
  --on-primary: #111111;
  --warn-bg: #171e2e;
  --warn-border: #f0b23d;
}
html:root[data-skin="pracovni-stul-dark"] {   /* Pracovní stůl – tmavý */
  color-scheme: dark;
  --bg: #1c1917;
  --card: #292524;
  --text: #f5f5f4;
  --muted: #a7a6a5;
  --border: #4a4645;
  --border-strong: #858382;
  --primary: #fdba74;
  --primary-dark: #fdc890;
  --link: #fdba74;
  --focus: #fdba74;
  --success: #4cc47a;
  --danger: #ff6b6b;
  --warning: #f0b23d;
  --info: #6cb4ff;
  --on-accent: #111111;
  --success-text: #4cc47a;
  --danger-text: #ff7c7c;
  --warning-text: #f0b23d;
  --info-text: #6cb4ff;
  --shadow: none;
  --font-body: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --radius: 14px;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #2f3e32;
  --danger-bg: #4b302f;
  --warning-bg: #493c28;
  --info-bg: #343c47;
  --deco: #fdba74;
  --hdr-bg: #1c1917;
  --hdr-fg: #f5f5f4;
  --bw: 1px;
  --btn-radius: 14px;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 34px;
  --lh: 1.55;
  --pad: 16px;
  --gap: 12px;
  --bar-h: 8px;
  --bs: solid;
  --hw: 700;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: none;
  --ltrack: 0;
  --bar-r: 999px;
  --bar-bw: 0;
  --bar-track: #4a4645;
  --btn-w: 600;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 14px;
  --head-color: #f5f5f4;
  --hdr-bw: 1px;
  --hdr-active: #322f2d;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ex-cols: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  --ex-gap: 12px;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 1px;
  --ex-r: 14px;
  --ex-bg: #292524;
  --ex-shadow: none;
  --ex-pad: 16px;
  --ans-bw: 1.5px;
  --ans-r: 14px;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #292524;
  --on-primary: #111111;
  --warn-bg: #292524;
  --warn-border: #f0b23d;
}
html:root[data-skin="terakota-dark"] {   /* Terakota – tmavý */
  color-scheme: dark;
  --bg: #1c1512;
  --card: #271d19;
  --text: #f2e7de;
  --muted: #a59a93;
  --border: #473d39;
  --border-strong: #827872;
  --primary: #e59a7c;
  --primary-dark: #eaae96;
  --link: #e59a7c;
  --focus: #e59a7c;
  --success: #4cc47a;
  --danger: #ff6b6b;
  --warning: #f0b23d;
  --info: #6cb4ff;
  --on-accent: #111111;
  --success-text: #4cc47a;
  --danger-text: #ff6b6b;
  --warning-text: #f0b23d;
  --info-text: #6cb4ff;
  --shadow: none;
  --font-body: "Commissioner", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Commissioner", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --radius: 14px;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #2d3829;
  --danger-bg: #4a2926;
  --warning-bg: #47351f;
  --info-bg: #32353e;
  --deco: #e59a7c;
  --hdr-bg: #1c1512;
  --hdr-fg: #f2e7de;
  --bw: 1px;
  --btn-radius: 999px;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 34px;
  --lh: 1.55;
  --pad: 20px;
  --gap: 14px;
  --bar-h: 10px;
  --bs: solid;
  --hw: 600;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: none;
  --ltrack: 0;
  --bar-r: 999px;
  --bar-bw: 0;
  --bar-track: #473d39;
  --btn-w: 600;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 999px;
  --head-color: #f2e7de;
  --hdr-bw: 1px;
  --hdr-active: #312a26;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Commissioner", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ex-cols: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  --ex-gap: 14px;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 1px;
  --ex-r: 14px;
  --ex-bg: #271d19;
  --ex-shadow: none;
  --ex-pad: 20px;
  --ans-bw: 1.5px;
  --ans-r: 14px;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #271d19;
  --on-primary: #111111;
  --warn-bg: #271d19;
  --warn-border: #f0b23d;
}
html:root[data-skin="kapitola-light"] {   /* Kapitola – světlý (pack 2) */
  color-scheme: light;
  --bg: #f7f7f4;
  --card: #ffffff;
  --text: #1f2328;
  --muted: #6d7073;
  --border: #dbdcdd;
  --border-strong: #888a8c;
  --primary: #3d5a80;
  --primary-dark: #314866;
  --link: #3d5a80;
  --focus: #3d5a80;
  --success: #1b7a3a;
  --danger: #c0262d;
  --warning: #a15c00;
  --info: #1d64a8;
  --on-accent: #ffffff;
  --success-text: #1b7a3a;
  --danger-text: #c0262d;
  --warning-text: #975600;
  --info-text: #1d64a8;
  --shadow: none;
  --font-body: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Literata", Georgia, serif;
  --radius: 8px;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #e8f2eb;
  --danger-bg: #f9e9ea;
  --warning-bg: #f6efe6;
  --info-bg: #e8f0f6;
  --deco: #3d5a80;
  --hdr-bg: #f7f7f4;
  --hdr-fg: #1f2328;
  --bw: 1px;
  --btn-radius: 8px;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 34px;
  --lh: 1.55;
  --pad: 18px;
  --gap: 12px;
  --bar-h: 8px;
  --bs: solid;
  --hw: 600;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: uppercase;
  --ltrack: .06em;
  --bar-r: 999px;
  --bar-bw: 0;
  --bar-track: #dbdcdd;
  --btn-w: 600;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 8px;
  --head-color: #1f2328;
  --hdr-bw: 1px;
  --hdr-active: #e1e2e0;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Literata", Georgia, serif;
  --ex-cols: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  --ex-gap: 12px;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 1px;
  --ex-r: 8px;
  --ex-bg: #ffffff;
  --ex-shadow: none;
  --ex-pad: 18px;
  --ans-bw: 1.5px;
  --ans-r: 8px;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #ffffff;
  --on-primary: #ffffff;
  --warn-bg: #ffffff;
  --warn-border: #a15c00;
}
html:root[data-skin="studovna-light"] {   /* Studovna – světlý (pack 2) */
  color-scheme: light;
  --bg: #f3f5f6;
  --card: #ffffff;
  --text: #1b2227;
  --muted: #6b6f72;
  --border: #dbdcdc;
  --border-strong: #868a8c;
  --primary: #2f5f5a;
  --primary-dark: #264c48;
  --link: #2f5f5a;
  --focus: #2f5f5a;
  --success: #1b7a3a;
  --danger: #c0262d;
  --warning: #a15c00;
  --info: #1d64a8;
  --on-accent: #ffffff;
  --success-text: #1b7a3a;
  --danger-text: #c0262d;
  --warning-text: #975600;
  --info-text: #1d64a8;
  --shadow: none;
  --font-body: "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Source Serif 4", Georgia, serif;
  --radius: 6px;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #e8f2eb;
  --danger-bg: #f9e9ea;
  --warning-bg: #f6efe6;
  --info-bg: #e8f0f6;
  --deco: #2f5f5a;
  --hdr-bg: #f3f5f6;
  --hdr-fg: #1b2227;
  --bw: 1px;
  --btn-radius: 6px;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 34px;
  --lh: 1.55;
  --pad: 16px;
  --gap: 12px;
  --bar-h: 8px;
  --bs: solid;
  --hw: 600;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: uppercase;
  --ltrack: .06em;
  --bar-r: 999px;
  --bar-bw: 0;
  --bar-track: #dbdcdc;
  --btn-w: 600;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 6px;
  --head-color: #1b2227;
  --hdr-bw: 1px;
  --hdr-active: #dde0e1;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Source Serif 4", Georgia, serif;
  --ex-cols: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  --ex-gap: 12px;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 1px;
  --ex-r: 6px;
  --ex-bg: #ffffff;
  --ex-shadow: none;
  --ex-pad: 16px;
  --ans-bw: 1.5px;
  --ans-r: 6px;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #ffffff;
  --on-primary: #ffffff;
  --warn-bg: #ffffff;
  --warn-border: #a15c00;
}
html:root[data-skin="mlha-light"] {   /* Mlha – světlý (pack 2) */
  color-scheme: light;
  --bg: #f2f2f5;
  --card: #ffffff;
  --text: #262833;
  --muted: #6a6c72;
  --border: #dcddde;
  --border-strong: #838487;
  --primary: #5d5a8a;
  --primary-dark: #4a486e;
  --link: #5d5a8a;
  --focus: #5d5a8a;
  --success: #1b7a3a;
  --danger: #c0262d;
  --warning: #a15c00;
  --info: #1d64a8;
  --on-accent: #ffffff;
  --success-text: #1b7a3a;
  --danger-text: #c0262d;
  --warning-text: #975600;
  --info-text: #1d64a8;
  --shadow: 0 1px 2px rgba(38,40,51,.05), 0 8px 24px rgba(38,40,51,.06);
  --font-body: "Mulish", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Mulish", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --radius: 18px;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #e8f2eb;
  --danger-bg: #f9e9ea;
  --warning-bg: #f6efe6;
  --info-bg: #e8f0f6;
  --deco: #5d5a8a;
  --hdr-bg: #f2f2f5;
  --hdr-fg: #262833;
  --bw: 1px;
  --btn-radius: 999px;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 34px;
  --lh: 1.55;
  --pad: 22px;
  --gap: 16px;
  --bar-h: 10px;
  --bs: solid;
  --hw: 700;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: none;
  --ltrack: 0;
  --bar-r: 999px;
  --bar-bw: 0;
  --bar-track: #dcddde;
  --btn-w: 600;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 999px;
  --head-color: #262833;
  --hdr-bw: 1px;
  --hdr-active: #dedee2;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Mulish", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ex-cols: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  --ex-gap: 16px;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 1px;
  --ex-r: 18px;
  --ex-bg: #ffffff;
  --ex-shadow: 0 1px 2px rgba(38,40,51,.05), 0 8px 24px rgba(38,40,51,.06);
  --ex-pad: 22px;
  --ans-bw: 1.5px;
  --ans-r: 18px;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #ffffff;
  --on-primary: #ffffff;
  --warn-bg: #ffffff;
  --warn-border: #a15c00;
}
html:root[data-skin="mlha-dark"] {   /* Mlha – tmavý (pack 2) */
  color-scheme: dark;
  --bg: #15151c;
  --card: #1e1e28;
  --text: #e7e6ef;
  --muted: #9b9aa3;
  --border: #3e3e48;
  --border-strong: #787882;
  --primary: #bdb8f0;
  --primary-dark: #cac6f3;
  --link: #bdb8f0;
  --focus: #bdb8f0;
  --success: #4cc47a;
  --danger: #ff6b6b;
  --warning: #f0b23d;
  --info: #6cb4ff;
  --on-accent: #111111;
  --success-text: #4cc47a;
  --danger-text: #ff6b6b;
  --warning-text: #f0b23d;
  --info-text: #6cb4ff;
  --shadow: none;
  --font-body: "Mulish", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Mulish", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --radius: 18px;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --success-bg: #253935;
  --danger-bg: #422a33;
  --warning-bg: #40362b;
  --info-bg: #2a364a;
  --deco: #bdb8f0;
  --hdr-bg: #15151c;
  --hdr-fg: #e7e6ef;
  --bw: 1px;
  --btn-radius: 999px;
  --btn-shadow: none;
  --fs: 16px;
  --h1: 34px;
  --lh: 1.55;
  --pad: 22px;
  --gap: 16px;
  --bar-h: 10px;
  --bs: solid;
  --hw: 700;
  --hcase: none;
  --htrack: 0;
  --hstyle: normal;
  --lcase: none;
  --ltrack: 0;
  --bar-r: 999px;
  --bar-bw: 0;
  --bar-track: #3e3e48;
  --btn-w: 600;
  --btn-case: none;
  --btn-track: 0;
  --align: left;
  --align-items: flex-start;
  --badge-r: 999px;
  --head-color: #e7e6ef;
  --hdr-bw: 1px;
  --hdr-active: #2a2a31;
  --hdr-bs: solid;
  --bg-image: none;
  --bg-size: auto;
  --font-q: "Mulish", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ex-cols: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  --ex-gap: 16px;
  --exw-bw: 0;
  --exw-bg: transparent;
  --exw-r: 0;
  --ex-bw: 1px;
  --ex-r: 18px;
  --ex-bg: #1e1e28;
  --ex-shadow: none;
  --ex-pad: 22px;
  --ans-bw: 1.5px;
  --ans-r: 18px;
  --ans-gap: 10px;
  --ans-pad: 12px;
  --ans-bg: #1e1e28;
  --on-primary: #111111;
  --warn-bg: #1e1e28;
  --warn-border: #f0b23d;
}

/* ---------- how the pack's extended tokens reach this site's markup (html[data-pack] = one of the 18, set by theme-preview.js) ---------- */
html[data-pack] body { font-size: var(--fs); line-height: var(--lh); background-image: var(--bg-image); background-size: var(--bg-size); }
html[data-pack] :is(h1, h2, h3) { font-weight: var(--hw); text-transform: var(--hcase); letter-spacing: var(--htrack); font-style: var(--hstyle); text-wrap: balance; }
html[data-pack] h1 { font-size: var(--h1); color: var(--head-color); line-height: 1.08; }
@media (min-width: 900px) { html[data-pack] h1 { font-size: calc(var(--h1) * 1.15); } }
html[data-pack] .exam-header h1 { font-size: calc(var(--h1) * 0.75); }   /* an exam's own pages: the exam name, not a page title */
html[data-pack] a { text-underline-offset: 3px; }

/* top bar: the pack's own colours; items in the bar itself (wide screens) use them too, the dropdowns stay on --card */
html[data-pack] .topbar { background: var(--hdr-bg); color: var(--hdr-fg); border-bottom: var(--hdr-bw) var(--hdr-bs) var(--border-strong); }
html[data-pack] .topbar :is(.brand a, .menu-toggle) { color: var(--hdr-fg); }
html[data-pack] .menu-toggle { background: transparent; border-color: currentColor; }
html[data-pack] .topbar :is(.brand a, .menu-toggle):focus-visible { outline-color: var(--hdr-fg); }   /* --focus can vanish on --hdr-bg */
@media (min-width: 841px) {
  html[data-pack] .topbar :is(nav > a, .more-toggle) { color: var(--hdr-fg); background: transparent; }
  html[data-pack] .topbar :is(nav > a, .more-toggle):hover { text-decoration: underline 1px; text-underline-offset: 6px; }
  html[data-pack] .topbar :is(nav > a[aria-current], .more:has(.more-menu [aria-current]) .more-toggle) {
    background: transparent; color: var(--hdr-fg); font-weight: 700; text-decoration: underline 2px; text-underline-offset: 6px; }
  html[data-pack] .topbar :is(nav > a, .more-toggle):focus-visible { outline-color: var(--hdr-fg); }
}

/* surfaces */
html[data-pack] :is(.card, .stat, dialog.dialog, .tablewrap, ul.chooser, ul.cols li a, ul.guide-list li) {
  border: var(--bw) var(--bs) var(--border-strong); border-radius: var(--radius); box-shadow: var(--shadow); }
html[data-pack] .card { padding: var(--pad); }
/* the app's notices (static pages: --warn-bg is --card in the pack, the amber edge stays) */
html[data-pack] :is(#view, .page-notices) .notice { background: var(--card); border-color: var(--info); border-radius: var(--radius); }
html[data-pack] :is(#view, .page-notices) .notice.bad { border-color: var(--danger); }
html[data-pack] .tag.cat { background: var(--bg); }
html[data-pack] .badge { background: transparent; color: var(--text); border: var(--bw) solid var(--deco); border-radius: var(--badge-r); font-family: var(--font-mono); }
html[data-pack] :is(.stat .label, .reasoning .label, .case-intro .label, .exam-card-head) { font-family: var(--font-mono); text-transform: var(--lcase); letter-spacing: var(--ltrack); }
html[data-pack] :is(.stat .value, .bar-row .count, .progress-text) { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

/* buttons */
html[data-pack] .btn { min-height: 44px; border-width: var(--bw); border-radius: var(--btn-radius); font-weight: var(--btn-w);
  text-transform: var(--btn-case); letter-spacing: var(--btn-track); box-shadow: var(--btn-shadow); }
html[data-pack] .btn:not(.primary, .success, .due, .danger, .warning, .info, .danger-outline) { border-color: var(--border-strong); }
html[data-pack] .btn.small-btn { min-height: 36px; }

/* practice portal: list / table / cards, all from --ex-* */
html[data-pack] .exam-grid { grid-template-columns: var(--ex-cols); gap: var(--ex-gap); background: var(--exw-bg);
  border: var(--exw-bw) solid var(--border-strong); border-radius: var(--exw-r); }
html[data-pack] .exam-card { background: var(--ex-bg); border-style: var(--bs); border-color: var(--border-strong); border-width: var(--ex-bw);
  border-radius: var(--ex-r); box-shadow: var(--ex-shadow); padding: var(--ex-pad); }
html[data-pack] :is(.progress-bar, .full-bar:not(.mini)) { height: var(--bar-h); background: var(--bar-track); border-radius: var(--bar-r);
  border: var(--bar-bw) solid var(--border-strong); }

/* question, answers, reasoning */
html[data-pack] .question-text { font-family: var(--font-q); }
html[data-pack] .answers { gap: var(--ans-gap); }
html[data-pack] .answer { border-style: var(--bs); border-width: var(--ans-bw); border-radius: var(--ans-r); padding: var(--ans-pad); background: var(--ans-bg); }
html[data-pack] .answer:hover { background: var(--bg); }
html[data-pack] .answer .letter { border-radius: var(--badge-r); font-family: var(--font-mono); }
html[data-pack] .answer.revealed.correct { background: var(--success-bg); }
html[data-pack] .answer.revealed.wrong-selected { background: var(--danger-bg); }
html[data-pack] :is(.reasoning, .case-intro) { background: var(--info-bg); border: var(--bw) var(--bs) var(--info); border-radius: var(--radius); }
html[data-pack] .verdict.pass { background: var(--success-bg); }
html[data-pack] .verdict.fail { background: var(--danger-bg); }
/* on the tinted boxes the pack's muted grey falls just under 4.5:1: use the text colour there */
html[data-pack] :is(.reasoning, .case-intro, .answer.revealed.correct, .answer.revealed.wrong-selected, .verdict) { --muted: var(--text); }

/* Pracovní stůl: the pack suggests a left rail on wide screens; the owner keeps the top bar (2026-10-31) */

/* ---------- the switcher (js/theme-preview.js) ---------- */
/* its own dropdown in the header (the "Další" look); the button shows a palette icon and the current look's name.
   Inside: light pages in two columns, dark pages in a third, side by side (names wrap on a phone) */
.skin-toggle { white-space: nowrap; }
.skin-icon { flex: none; }
.skin-list { display: grid; grid-template-columns: auto auto; align-items: start; gap: 2px 4px; }
.skin-head { grid-column: 1 / -1; margin: 2px 12px 4px; color: var(--muted); font-size: 0.8125rem; }
.skin-col.split { display: grid; grid-template-columns: auto auto; align-items: start; gap: 2px 4px; }
.skin-part { display: flex; flex-direction: column; gap: 2px; }
.skin-item {
  font: inherit; font-weight: 500; text-align: left; white-space: nowrap; color: var(--muted); background: transparent;
  border: 0; border-radius: 8px; padding: 6px 12px; cursor: pointer;
}
.skin-item:hover { color: var(--text); background: var(--bg); }
.skin-item[aria-pressed="true"] { background: rgba(37, 99, 235, 0.1); color: var(--link); font-weight: 600; }
.skin-item[aria-pressed="true"]::before { content: "✓ "; }
@media (pointer: coarse) { .skin-item { min-height: 44px; } }
@media (max-width: 600px) { .skin-item { white-space: normal; padding: 6px 8px; } }
.skin-toast {
  position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 1000; padding: 8px 16px; border-radius: 999px;
  background: var(--text); color: var(--card); font-weight: 600; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25); pointer-events: none;
}
