/* Klass stylesheet, generated by build/prefix-css.py from design/klass.css. Do not edit by hand. */
/* Klass design system.
   Nine themes. Each theme is a complete visual style: colour, surfaces, corners, borders, navigation bands, type and buttons.
   Each theme has a dark and a light mode. Type can follow the theme or use one of seven pairings. Four text sizes.
   Every screen root is <div class="k" data-scheme data-mode data-font data-size>. *//* ---------- Base tokens: neutral dark, flat surfaces ---------- */


.k{
  --bg:#111315; --bg-2:#1A1D20; --text:#EDEEF0; --muted:#A4A9B0; --faint:#626870;
  --line-rgb:200,205,212;
  --a1:#8FAAD8; --a2:#B9C0CA; --a1-rgb:143,170,216; --a2-rgb:185,192,202; --on-accent:#0E1116;
  --ok:#5FB98A; --warn:#E0B060; --bad:#E07A84; --info:#82A8E0;
  --ok-rgb:95,185,138; --warn-rgb:224,176,96; --bad-rgb:224,122,132; --info-rgb:130,168,224;
  --ov-rgb:255,255,255;
  --line:rgba(var(--line-rgb),.14); --line-2:rgba(var(--line-rgb),.26);
  --glass-a:var(--bg-2); --glass-b:var(--bg-2);
  --glass-inset:none; --glass-shadow:none;
  --shadow-soft:0 0 0 1px rgba(255,255,255,.02);
  --sunk-bg:rgba(var(--line-rgb),.06); --panel-bg:var(--bg-2);
  --chrome-bg:var(--bg-2); --input-bg:var(--bg);
  --placeholder:color-mix(in srgb,var(--muted) 72%,var(--bg));
  --cover-base:var(--bg-2); --cover-alpha:.14;
  --code-bg:#0E1013; --code-text:#D9DEE5;
  --glow-a:0; --glow-b:0; --grid-a:0;
  --grad:var(--a1);
  --cyan:var(--a1); --violet:var(--a2);

  /* structure */
  --canvas-bg:var(--bg);
  --surface-bg:var(--bg-2);
  --surface-blur:none;
  --surface-shadow:var(--shadow-soft);
  --glow-shadow:0 0 0 1px rgba(var(--a1-rgb),.45),var(--shadow-soft);
  --sel-shadow:0 0 0 1px rgba(var(--a1-rgb),.6);
  --primary-bg:var(--a1); --primary-text:var(--on-accent);
  --primary-shadow:none;
  --bar-fill:var(--a1); --bar-glow:none;
  --dot-blur:0px; --mark-bg:var(--a1); --mark-glow:none;
  --r-card:10px; --r-ctl:8px; --r-sm:6px; --r-pill:999px; --bw:1px; --input-bw:1px;
  --focus:var(--a1);
  --side-bg:var(--bg-2); --side-text:var(--text); --side-muted:var(--muted); --side-faint:var(--faint);
  --side-hover:rgba(var(--ov-rgb),.05); --side-line:var(--line);
  --side-active-bg:rgba(var(--a1-rgb),.10); --side-active-ring:inset 0 0 0 1px rgba(var(--a1-rgb),.22); --side-active-text:var(--text);
  --head-bg:var(--bg-2); --head-text:var(--text); --head-muted:var(--muted); --head-hover:rgba(var(--ov-rgb),.06); --head-line:var(--line);
  --top-bg:var(--bg-2);

  /* type */
  --display:"DM Sans",ui-sans-serif,system-ui,sans-serif;
  --body:"DM Sans",ui-sans-serif,system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",monospace;
  --dw:600; --dt:-.015em; --bwt:400; --lh:1.55; --bt:0em; --label-case:uppercase;
  --ts:1;
  color-scheme:dark;
}/* ---------- Light mode: shared structure ---------- */


.k[data-mode="light"]{
  --ov-rgb:15,23,42;
  --ok:#0E8A52; --warn:#A35F00; --bad:#C8283C; --info:#1F5CD6;
  --ok-rgb:14,138,82; --warn-rgb:200,120,0; --bad-rgb:200,40,60; --info-rgb:31,92,214;
  --line:rgba(var(--line-rgb),.13); --line-2:rgba(var(--line-rgb),.24);
  --glass-a:var(--bg-2); --glass-b:var(--bg-2);
  --glass-inset:inset 0 1px 0 rgba(255,255,255,.9); --glass-shadow:0 1px 2px rgba(15,23,42,.05),0 14px 32px -18px rgba(15,23,42,.22);
  --shadow-soft:0 1px 2px rgba(15,23,42,.06),0 6px 18px -10px rgba(15,23,42,.14);
  --sunk-bg:rgba(var(--line-rgb),.05); --panel-bg:var(--bg-2);
  --chrome-bg:var(--bg-2); --input-bg:var(--bg-2);
  --placeholder:color-mix(in srgb,var(--muted) 70%,var(--bg-2));
  --cover-base:var(--bg); --cover-alpha:.10;
  --code-bg:#0F172A; --code-text:#E2E8F0;
  --glow-a:0; --glow-b:0; --grid-a:0;
  color-scheme:light;
}/* ---------- Flat structure, shared by every theme ---------- */


.k[data-scheme]{
  --canvas-bg:var(--bg);
  --surface-bg:var(--bg-2); --surface-blur:none; --surface-shadow:var(--shadow-soft);
  --glow-shadow:0 0 0 1px rgba(var(--a1-rgb),.45),var(--shadow-soft);
  --sel-shadow:0 0 0 1px rgba(var(--a1-rgb),.6);
  --primary-bg:var(--a1); --primary-text:var(--on-accent); --primary-shadow:none;
  --bar-fill:var(--a1); --bar-glow:none; --dot-blur:0px;
  --mark-bg:var(--a1); --mark-glow:none;
  --side-bg:var(--bg-2); --top-bg:var(--bg-2); --head-bg:var(--bg-2);
  --side-active-bg:rgba(var(--a1-rgb),.10); --side-active-ring:inset 0 0 0 1px rgba(var(--a1-rgb),.22);
  --panel-bg:var(--bg-2); --sunk-bg:rgba(var(--line-rgb),.06);
  --glow-a:0; --glow-b:0; --grid-a:0;
}
.k[data-mode="dark"][data-scheme]{--shadow-soft:0 0 0 1px rgba(255,255,255,.02)}/* 1 Academy: universities and higher education. Ivory paper, crimson and navy, serif headings, navy bands, square corners. */


.k[data-scheme="academy"]{--bg:#0C1220;--bg-2:#131B2D;--text:#EDEAE3;--muted:#A9ADB9;--faint:#656C7D;--line-rgb:200,200,215;--a1:#D4909B;--a2:#C2A65E;--a1-rgb:212,144,155;--a2-rgb:194,166,94;--on-accent:#1A0A0D;
  --display:"Newsreader",Georgia,"Times New Roman",serif;--body:"Source Sans 3",ui-sans-serif,system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--dw:600;--dt:-.01em;--lh:1.6;
  --r-card:6px;--r-ctl:4px;--r-sm:4px;--r-pill:4px}
.k[data-scheme="academy"][data-mode="light"]{--bg:#F6F4EF;--bg-2:#FFFFFF;--text:#1A1F2E;--muted:#535A6A;--faint:#A3A7B1;--line-rgb:26,31,46;--a1:#8C1D2F;--a2:#14284B;--a1-rgb:140,29,47;--a2-rgb:20,40,75;--on-accent:#FFFFFF;
  --side-bg:#14284B;--side-text:#FFFFFF;--side-muted:#C2CBDA;--side-faint:#93A1BA;--side-hover:rgba(255,255,255,.08);--side-line:rgba(255,255,255,.14);--side-active-bg:rgba(255,255,255,.12);--side-active-ring:inset 3px 0 0 #C9A94E;
  --head-bg:#14284B;--head-text:#FFFFFF;--head-muted:#C2CBDA;--head-hover:rgba(255,255,255,.1);--head-line:rgba(255,255,255,.25)}/* 2 Enterprise: corporate training and staff academies. White work surfaces, navy navigation, blue actions. */


.k[data-scheme="enterprise"]{--bg:#0B111C;--bg-2:#121A28;--text:#E6EBF2;--muted:#9CA8BA;--faint:#5C677A;--line-rgb:160,175,200;--a1:#82A6E3;--a2:#9FB4D6;--a1-rgb:130,166,227;--a2-rgb:159,180,214;--on-accent:#06101F;
  --display:"IBM Plex Sans",ui-sans-serif,system-ui,sans-serif;--body:"IBM Plex Sans",ui-sans-serif,system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--dw:600;--dt:-.01em;
  --r-card:8px;--r-ctl:6px;--r-sm:6px;--r-pill:6px}
.k[data-scheme="enterprise"][data-mode="light"]{--bg:#F2F4F7;--bg-2:#FFFFFF;--text:#0F172A;--muted:#4B5768;--faint:#9AA3B2;--line-rgb:15,23,42;--a1:#1D4ED8;--a2:#0B2545;--a1-rgb:29,78,216;--a2-rgb:11,37,69;--on-accent:#FFFFFF;
  --side-bg:#0B2545;--side-text:#FFFFFF;--side-muted:#B9C6DA;--side-faint:#8496B3;--side-hover:rgba(255,255,255,.08);--side-line:rgba(255,255,255,.12);--side-active-bg:rgba(255,255,255,.12);--side-active-ring:inset 3px 0 0 #6EA0FF}/* 3 Civic: government and public sector. Plain, square, black header band, green action buttons, yellow focus. */


.k[data-scheme="civic"]{--bg:#0B0C0C;--bg-2:#161718;--text:#FFFFFF;--muted:#C5C9CC;--faint:#7A7F82;--line-rgb:255,255,255;--a1:#8FB8E8;--a2:#4CAF7A;--a1-rgb:143,184,232;--a2-rgb:76,175,122;--on-accent:#0B0C0C;
  --display:"Public Sans",Arial,sans-serif;--body:"Public Sans",Arial,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--dw:700;--dt:0em;--lh:1.55;
  --r-card:0px;--r-ctl:0px;--r-sm:0px;--r-pill:0px;--input-bw:2px;--focus:#FFDD00;
  --primary-bg:var(--a2);--primary-text:#FFFFFF;--primary-shadow:0 2px 0 #002D18;--side-active-ring:inset 4px 0 0 var(--a1);
  --head-bg:#0B0C0C;--head-text:#FFFFFF;--head-muted:#DDDDDD;--head-hover:rgba(255,255,255,.12);--head-line:rgba(255,255,255,.4)}
.k[data-scheme="civic"][data-mode="light"]{--bg:#F3F2F1;--bg-2:#FFFFFF;--text:#0B0C0C;--muted:#505A5F;--faint:#B1B4B6;--line-rgb:11,12,12;--a1:#1D70B8;--a2:#00703C;--a1-rgb:29,112,184;--a2-rgb:0,112,60;--on-accent:#FFFFFF;--line:rgba(11,12,12,.22);--line-2:rgba(11,12,12,.5);--shadow-soft:none}/* 4 Campus: schools and colleges. Friendly, rounded, green and gold. */


.k[data-scheme="campus"]{--bg:#07110C;--bg-2:#0D1A13;--text:#EAF4EE;--muted:#9DB3A6;--faint:#5E7468;--line-rgb:150,190,170;--a1:#6DBF8B;--a2:#D9B45A;--a1-rgb:109,191,139;--a2-rgb:217,180,90;--on-accent:#06120A;
  --display:"Figtree",ui-rounded,system-ui,sans-serif;--body:"Nunito",ui-rounded,system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;--dw:800;--dt:-.01em;
  --r-card:20px;--r-ctl:14px;--r-sm:12px}
.k[data-scheme="campus"][data-mode="light"]{--bg:#F4F8F3;--bg-2:#FFFFFF;--text:#10241A;--muted:#4A6155;--faint:#9AAEA2;--line-rgb:16,36,26;--a1:#15803D;--a2:#B45309;--a1-rgb:21,128,61;--a2-rgb:180,83,9;--on-accent:#FFFFFF}/* 5 Studio: course creators and coaches. Editorial serif, plum and amber. */


.k[data-scheme="studio"]{--bg:#140F17;--bg-2:#1D1622;--text:#F4EEF6;--muted:#B8ABBE;--faint:#7A6C80;--line-rgb:210,190,220;--a1:#C3A0CF;--a2:#D9A55E;--a1-rgb:195,160,207;--a2-rgb:217,165,94;--on-accent:#1A0F1E;
  --display:"Fraunces",Georgia,serif;--body:"DM Sans",ui-sans-serif,system-ui,sans-serif;--mono:"DM Mono",ui-monospace,monospace;--dw:600;--dt:-.015em;
  --r-card:14px;--r-ctl:999px;--r-sm:10px}
.k[data-scheme="studio"][data-mode="light"]{--bg:#FAF7F2;--bg-2:#FFFFFF;--text:#1F1A17;--muted:#615750;--faint:#ADA39B;--line-rgb:31,26,23;--a1:#6E2A82;--a2:#B45309;--a1-rgb:110,42,130;--a2-rgb:180,83,9;--on-accent:#FFFFFF}/* 6 Care: health, non-profits and social impact. Calm teal, generous spacing. */


.k[data-scheme="care"]{--bg:#061214;--bg-2:#0A1C1F;--text:#E6F4F4;--muted:#96B4B6;--faint:#577477;--line-rgb:140,190,195;--a1:#62B5AC;--a2:#7FB0D3;--a1-rgb:98,181,172;--a2-rgb:127,176,211;--on-accent:#03131A;
  --display:"Figtree",ui-sans-serif,system-ui,sans-serif;--body:"Source Sans 3",ui-sans-serif,system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--dw:700;--dt:-.01em;--lh:1.65;
  --r-card:12px;--r-ctl:8px;--r-sm:8px}
.k[data-scheme="care"][data-mode="light"]{--bg:#F1F8F8;--bg-2:#FFFFFF;--text:#0B2528;--muted:#43636A;--faint:#93ACB0;--line-rgb:11,37,40;--a1:#0F766E;--a2:#0369A1;--a1-rgb:15,118,110;--a2-rgb:3,105,161;--on-accent:#FFFFFF}/* 7 Prestige: executive and premium academies. Black band, gold rules, serif, hairline borders. */


.k[data-scheme="prestige"]{--bg:#0B0A08;--bg-2:#14120E;--text:#F4EFE6;--muted:#B5AC9A;--faint:#6F6758;--line-rgb:200,185,150;--a1:#CDB074;--a2:#E6DCC2;--a1-rgb:205,176,116;--a2-rgb:230,220,194;--on-accent:#120E04;
  --display:"Newsreader",Georgia,serif;--body:"Source Sans 3",ui-sans-serif,system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--dw:500;--dt:-.005em;--lh:1.6;
  --r-card:2px;--r-ctl:2px;--r-sm:2px;--r-pill:2px;
  --head-bg:#0B0A08;--head-text:#F4EFE6;--head-muted:#C9BFA9;--head-hover:rgba(255,255,255,.08);--head-line:rgba(231,196,106,.4)}
.k[data-scheme="prestige"][data-mode="light"]{--bg:#F7F5EF;--bg-2:#FFFFFF;--text:#1C1912;--muted:#5C5545;--faint:#ADA591;--line-rgb:28,25,18;--a1:#7D5E0E;--a2:#1C1912;--a1-rgb:125,94,14;--a2-rgb:28,25,18;--on-accent:#FFFFFF;
  --primary-bg:#1C1912;--side-bg:#1C1912;--side-text:#F4EFE6;--side-muted:#C9BFA9;--side-faint:#8E8571;--side-hover:rgba(255,255,255,.08);--side-line:rgba(231,196,106,.25);--side-active-bg:rgba(231,196,106,.14);--side-active-ring:inset 2px 0 0 #E7C46A;
  --head-bg:#1C1912;--head-text:#F4EFE6;--head-muted:#C9BFA9;--head-hover:rgba(255,255,255,.08);--head-line:rgba(231,196,106,.4)}/* 8 Minimal: neutral and quiet, for any use. Black on white, borders only, one blue for links. */


.k[data-scheme="minimal"]{--bg:#0A0A0A;--bg-2:#131313;--text:#F5F5F5;--muted:#A3A3A3;--faint:#5E5E5E;--line-rgb:255,255,255;--a1:#8FA9DD;--a2:#D4D4D4;--a1-rgb:143,169,221;--a2-rgb:212,212,212;--on-accent:#0A0A0A;
  --display:"DM Sans",ui-sans-serif,system-ui,sans-serif;--body:"DM Sans",ui-sans-serif,system-ui,sans-serif;--mono:"DM Mono",ui-monospace,monospace;--dw:600;--dt:-.02em;
  --r-card:10px;--r-ctl:8px;--r-sm:6px;--r-pill:6px;
  --primary-bg:var(--text);--primary-text:var(--bg);--mark-bg:var(--text);--bar-fill:var(--text);--surface-shadow:none;--side-active-bg:rgba(var(--ov-rgb),.07);--side-active-ring:none}
.k[data-scheme="minimal"][data-mode="light"]{--bg:#FAFAFA;--bg-2:#FFFFFF;--text:#111111;--muted:#5F5F5F;--faint:#A3A3A3;--line-rgb:0,0,0;--a1:#2563EB;--a2:#404040;--a1-rgb:37,99,235;--a2-rgb:64,64,64;--on-accent:#FFFFFF}/* 9 Contrast: accessibility first. Solid surfaces, strong borders, large focus rings. */


.k[data-scheme="contrast"]{--bg:#000000;--bg-2:#0B0B0B;--text:#FFFFFF;--muted:#D6D6D6;--faint:#8F8F8F;--line-rgb:255,255,255;--a1:#FFE14D;--a2:#FFFFFF;--a1-rgb:255,225,77;--a2-rgb:255,255,255;--on-accent:#000000;--line:rgba(255,255,255,.4);--line-2:rgba(255,255,255,.7);
  --display:"Atkinson Hyperlegible",Arial,sans-serif;--body:"Atkinson Hyperlegible",Arial,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--dw:700;--dt:0em;--lh:1.6;
  --r-card:8px;--r-ctl:6px;--r-sm:6px;--bw:1.5px;--input-bw:2px;--surface-shadow:none;--focus:#FFE14D}
.k[data-scheme="contrast"][data-mode="light"]{--bg:#FFFFFF;--bg-2:#FFFFFF;--text:#000000;--muted:#2E2E2E;--faint:#767676;--line-rgb:0,0,0;--a1:#0033CC;--a2:#000000;--a1-rgb:0,51,204;--a2-rgb:0,0,0;--on-accent:#FFFFFF;--line:rgba(0,0,0,.45);--line-2:rgba(0,0,0,.75);--ok:#006B3C;--warn:#7A4600;--bad:#A3001B;--info:#0033CC;--focus:#0033CC}/* ---------- Type pairings (data-font). "auto" or no value keeps the theme's own type. ---------- */


.k[data-font="editorial"]{--display:"Fraunces",Georgia,serif;--body:"Source Sans 3",ui-sans-serif,system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--dw:600;--dt:-.01em}
.k[data-font="modern"]{--display:"Outfit",ui-sans-serif,system-ui,sans-serif;--body:"DM Sans",ui-sans-serif,system-ui,sans-serif;--mono:"DM Mono",ui-monospace,monospace;--dw:600;--dt:-.02em}
.k[data-font="humanist"]{--display:"Sora",ui-sans-serif,system-ui,sans-serif;--body:"Figtree",ui-sans-serif,system-ui,sans-serif;--mono:"Fira Code",ui-monospace,monospace;--dw:600;--dt:-.02em}
.k[data-font="classic"]{--display:"Newsreader",Georgia,serif;--body:"Source Serif 4",Georgia,serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--dw:600;--dt:-.005em;--lh:1.6}
.k[data-font="corporate"]{--display:"IBM Plex Sans",ui-sans-serif,system-ui,sans-serif;--body:"IBM Plex Sans",ui-sans-serif,system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--dw:600;--dt:-.01em}
.k[data-font="readable"]{--display:"Atkinson Hyperlegible",Arial,sans-serif;--body:"Atkinson Hyperlegible",Arial,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--dw:700;--dt:0em;--lh:1.6}
.k[data-font="dyslexia"]{--display:"Lexend",ui-sans-serif,system-ui,sans-serif;--body:"Lexend",ui-sans-serif,system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--dw:600;--dt:0em;--lh:1.75;--bt:.01em}/* ---------- Text sizes ---------- */


.k[data-size="compact"]{--ts:.93}
.k[data-size="comfortable"]{--ts:1.07}
.k[data-size="large"]{--ts:1.17}/* ---------- Base ---------- */


.k, .k *{box-sizing:border-box}
.k{margin:0;-webkit-font-smoothing:antialiased}
.k{min-height:100%;min-height:100vh;display:flex;flex-direction:column;color:var(--text);font-family:var(--body);font-weight:var(--bwt);font-size:calc(15px * var(--ts));line-height:var(--lh);letter-spacing:var(--bt);background:var(--canvas-bg)}
.k a{color:var(--a1);text-decoration:none}
.k a:hover{color:color-mix(in srgb,var(--a1) 75%,var(--text))}
.k :focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:min(var(--r-sm),8px)}
.k h1,.k h2,.k h3,.k h4,.k p{margin:0}
.k h1,.k h2,.k h3{text-wrap:balance}
.k button{font-family:inherit}/* Layout */


.k-wrap{width:100%;max-width:1220px;margin:0 auto;padding-inline:max(16px,24px)}
.k-row{display:flex;flex-wrap:wrap;align-items:center}
.k-col{display:flex;flex-direction:column}
.k-between{justify-content:space-between}
.k-center{align-items:center;justify-content:center}
.k-start{align-items:flex-start}
.k-end{align-items:flex-end}
.k-base{align-items:baseline}
.k-grow{flex:1 1 0;min-width:0}
.k-g4{gap:4px}.k-g6{gap:6px}.k-g8{gap:8px}.k-g10{gap:10px}.k-g12{gap:12px}.k-g16{gap:16px}.k-g20{gap:20px}.k-g24{gap:24px}.k-g32{gap:32px}
.k-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(var(--min,240px),1fr))}
.k-fill{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(var(--min,240px),1fr))}
.k-p12{padding:12px}.k-p16{padding:16px}.k-p20{padding:20px}.k-p24{padding:24px}.k-p32{padding:32px}
.k-py24{padding-block:24px}.k-py32{padding-block:32px}.k-py48{padding-block:48px}
.k-main{flex:999 1 560px;min-width:0}
.k-aside{flex:1 1 280px;min-width:0}
.k-scroll-x{overflow-x:auto;max-width:100%}/* Type */


.k-display{font-family:var(--display);font-weight:var(--dw);letter-spacing:var(--dt);line-height:1.08}
.k-h1{font-family:var(--display);font-weight:calc(var(--dw) - 100);font-size:calc(30px * var(--ts));letter-spacing:var(--dt);line-height:1.15}
.k-h2{font-size:calc(19px * var(--ts));font-weight:600;letter-spacing:-.01em;line-height:1.25}
.k-h3{font-size:calc(15px * var(--ts));font-weight:600;line-height:1.3}
.k-eyebrow{font-size:calc(11px * var(--ts));font-weight:600;letter-spacing:.16em;text-transform:var(--label-case);color:var(--a1)}
.k-label{font-size:calc(11px * var(--ts));font-weight:600;letter-spacing:.12em;text-transform:var(--label-case);color:var(--muted)}
.k-muted{color:var(--muted)}
.k-small{font-size:calc(13px * var(--ts))}
.k-xs{font-size:calc(12px * var(--ts))}
.k-strong{font-weight:600}
.k-mono,.k-num{font-family:inherit;font-variant-numeric:tabular-nums;letter-spacing:0}
.k-code{font-family:var(--mono)}
.k-grad-text{color:var(--a1)}
.k-ok-t{color:var(--ok)}.k-warn-t{color:var(--warn)}.k-bad-t{color:var(--bad)}.k-info-t{color:var(--info)}/* Surfaces */


.k-glass{background:var(--surface-bg);border:var(--bw) solid var(--line);border-radius:var(--r-card);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);box-shadow:var(--surface-shadow)}
.k-panel{background:var(--panel-bg);border:var(--bw) solid var(--line);border-radius:max(calc(var(--r-card) - 4px),0px)}
.k-sunk{background:var(--sunk-bg);border:var(--bw) solid var(--line);border-radius:max(calc(var(--r-card) - 6px),0px)}
.k-glow{box-shadow:var(--glow-shadow)}
.k-divider{height:1px;background:var(--line);border:0;width:100%}
.k-hr{border-top:1px solid var(--line)}
.k-hb{border-bottom:1px solid var(--line)}/* Buttons */


.k-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--r-ctl);border:var(--bw) solid var(--line-2);background:rgba(var(--ov-rgb),.04);color:var(--text)!important;font:600 calc(14px * var(--ts)) var(--body);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s}
.k-btn:hover{background:rgba(var(--ov-rgb),.09);border-color:rgba(var(--line-rgb),.45)}
.k-btn-primary{background:var(--primary-bg);color:var(--primary-text)!important;border:0;box-shadow:var(--primary-shadow)}
.k-btn-primary:hover{filter:brightness(1.08);background:var(--primary-bg)}
.k-btn-danger{color:var(--bad)!important;border-color:rgba(var(--bad-rgb),.4)}
.k-btn-danger:hover{border-color:var(--bad)}
.k-btn-sm{min-height:34px;padding:0 12px;font-size:calc(13px * var(--ts));border-radius:min(var(--r-ctl),10px)}
.k-btn-lg{min-height:52px;padding:0 24px;font-size:calc(15px * var(--ts))}
.k-btn-block{width:100%}
.k-icon-btn{width:44px;height:44px;padding:0}
.k-btn[disabled],.k-btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}/* Pills and chips */


.k-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-pill);font-size:calc(12px * var(--ts));font-weight:600;white-space:nowrap;border:1px solid transparent}
.k-pill-ok{background:rgba(var(--ok-rgb),.12);color:var(--ok);border-color:rgba(var(--ok-rgb),.28)}
.k-pill-warn{background:rgba(var(--warn-rgb),.12);color:var(--warn);border-color:rgba(var(--warn-rgb),.3)}
.k-pill-bad{background:rgba(var(--bad-rgb),.12);color:var(--bad);border-color:rgba(var(--bad-rgb),.3)}
.k-pill-info{background:rgba(var(--info-rgb),.12);color:var(--info);border-color:rgba(var(--info-rgb),.28)}
.k-pill-accent{background:rgba(var(--a1-rgb),.12);color:var(--a1);border-color:rgba(var(--a1-rgb),.32)}
.k-pill-violet{background:rgba(var(--a2-rgb),.14);color:color-mix(in srgb,var(--a2) 70%,var(--text));border-color:rgba(var(--a2-rgb),.34)}
.k-pill-neutral{background:rgba(var(--ov-rgb),.06);color:var(--muted);border-color:var(--line)}
.k-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 14px;border-radius:var(--r-pill);border:var(--bw) solid var(--line-2);color:var(--text)!important;font-size:calc(13px * var(--ts));background:rgba(var(--ov-rgb),.03)}
.k-chip:hover{border-color:var(--a1)}
.k-chip.k-is-active{background:rgba(var(--a1-rgb),.12);border-color:rgba(var(--a1-rgb),.5);color:var(--a1)!important}
.k-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 8px}
.k-dot-ok{background:var(--ok);box-shadow:0 0 var(--dot-blur) rgba(var(--ok-rgb),.8)}.k-dot-warn{background:var(--warn);box-shadow:0 0 var(--dot-blur) rgba(var(--warn-rgb),.8)}.k-dot-bad{background:var(--bad);box-shadow:0 0 var(--dot-blur) rgba(var(--bad-rgb),.8)}.k-dot-info{background:var(--info)}.k-dot-off{background:var(--faint)}
.k-kbd{font:500 calc(11px * var(--ts)) var(--mono);padding:2px 6px;border-radius:6px;border:1px solid var(--line-2);color:var(--muted)}/* Forms */


.k-field{display:flex;flex-direction:column;gap:6px}
.k-field>label,.k-field>.k-lbl{font-size:calc(13px * var(--ts));font-weight:600;color:var(--text)}
.k-hint{font-size:calc(12px * var(--ts));color:var(--muted)}
.k-input,.k-select,.k-textarea{width:100%;min-height:44px;border-radius:var(--r-ctl);border:var(--input-bw) solid var(--line-2);background-color:var(--input-bg);color:var(--text);padding:0 14px;font:var(--bwt) calc(14px * var(--ts)) var(--body)}
.k-textarea{padding:12px 14px;line-height:1.6;resize:vertical}
.k-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.k-input::placeholder,.k-textarea::placeholder{color:var(--placeholder)}
.k-input:focus,.k-select:focus,.k-textarea:focus{outline:none;border-color:var(--a1);box-shadow:0 0 0 3px rgba(var(--a1-rgb),.18)}
.k-check{display:flex;align-items:center;gap:10px;min-height:32px;font-size:calc(14px * var(--ts));cursor:pointer}
.k-check input,.k-choice input{width:18px;height:18px;accent-color:var(--a1)}
.k-choice{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:var(--r-ctl);border:var(--bw) solid var(--line);background:rgba(var(--ov-rgb),.025);cursor:pointer;color:var(--text)}
.k-choice input{margin-top:3px}
.k-choice:hover{border-color:var(--line-2)}
.k-is-selected{border-color:rgba(var(--a1-rgb),.6)!important;background:rgba(var(--a1-rgb),.08)!important;box-shadow:var(--sel-shadow)}
.k-toggle{width:40px;height:24px;border-radius:999px;background:rgba(var(--ov-rgb),.14);position:relative;flex:0 0 40px;border:1px solid var(--line-2);display:inline-block}
.k-toggle::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--muted)}
.k-toggle.k-on{background:rgba(var(--a1-rgb),.3);border-color:rgba(var(--a1-rgb),.6)}
.k-toggle.k-on::after{left:19px;background:var(--a1);box-shadow:0 0 var(--dot-blur) rgba(var(--a1-rgb),.8)}
.k-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
input[type="range"]{accent-color:var(--a1);width:100%}/* Tabs */


.k-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:calc(var(--r-ctl) + 2px);background:var(--sunk-bg);border:var(--bw) solid var(--line);width:fit-content;max-width:100%}
.k-tab{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:var(--r-sm);color:var(--muted)!important;font-size:calc(13px * var(--ts));font-weight:600;border:0;background:none;cursor:pointer}
.k-tab:hover{color:var(--text)!important}
.k-tab.k-is-active,.k-tab[aria-selected="true"]{background:var(--bg-2);color:var(--text)!important;box-shadow:0 0 0 1px var(--line),var(--shadow-soft)}/* Tables */


.k-tbl{width:100%;border-collapse:collapse;font-size:calc(14px * var(--ts))}
.k-tbl th{text-align:left;font-size:calc(11px * var(--ts));font-weight:600;letter-spacing:.12em;text-transform:var(--label-case);color:var(--muted);padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
.k-tbl td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.k-tbl tr:last-child td{border-bottom:0}
.k-tbl tbody tr:hover td{background:rgba(var(--ov-rgb),.025)}
.k-nowrap{white-space:nowrap}
.k-tbl tr.k-is-row-selected td{background:rgba(var(--a1-rgb),.06)}/* Progress */


.k-bar{height:6px;border-radius:999px;background:rgba(var(--ov-rgb),.09);overflow:hidden;flex:1 1 auto;min-width:60px}
.k-bar>i{display:block;height:100%;border-radius:999px;background:var(--bar-fill);box-shadow:var(--bar-glow)}
.k-bar.k-ok>i{background:var(--ok);box-shadow:none}
.k-bar.k-warn>i{background:var(--warn);box-shadow:none}
.k-bar.k-bad>i{background:var(--bad);box-shadow:none}
.k-ring{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font:600 calc(13px * var(--ts)) var(--body)}/* Tiles */


.k-tile{padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.k-tile .k-v{font:var(--dw) calc(28px * var(--ts)) var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1.1}
.k-tile .k-d{font-size:calc(12px * var(--ts));color:var(--muted)}/* Avatars and media */


.k-av{width:36px;height:36px;border-radius:min(var(--r-ctl),12px);display:inline-flex;align-items:center;justify-content:center;font:600 12px var(--body);color:var(--primary-text);background:var(--mark-bg);flex:0 0 36px}
.k-av-sm{width:28px;height:28px;flex:0 0 28px;font-size:11px}
.k-av-lg{width:56px;height:56px;flex:0 0 56px;font-size:16px}
.k-av-ghost{background:rgba(var(--ov-rgb),.08);color:var(--text);border:1px solid var(--line-2)}
.k-cover{position:relative;overflow:hidden;border-radius:max(calc(var(--r-card) - 4px),0px);background:var(--cover-base);border:1px solid var(--line)}
.k-cover-a{background:color-mix(in srgb,var(--a1) 12%,var(--cover-base))}
.k-cover-b{background:color-mix(in srgb,var(--warn) 14%,var(--cover-base))}
.k-cover-c{background:color-mix(in srgb,var(--ok) 12%,var(--cover-base))}
.k-cover-d{background:color-mix(in srgb,var(--info) 12%,var(--cover-base))}
.k-code{margin:0;padding:14px 16px;border-radius:max(calc(var(--r-card) - 6px),0px);background:var(--code-bg);border:1px solid var(--line);font:400 calc(12.5px * var(--ts))/1.7 var(--mono);color:var(--code-text);overflow-x:auto;white-space:pre}/* Public site header */


.k-site-head{position:relative;z-index:2;border-bottom:1px solid var(--head-line);background:var(--head-bg);}
.k-site-head .k-in{min-height:68px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding-block:10px}
.k-site-head .k-brand{color:var(--head-text)!important}
.k-site-head .k-btn:not(.k-btn-primary){color:var(--head-text)!important;border-color:var(--head-line);background:transparent}
.k-site-head .k-btn:not(.k-btn-primary):hover{background:var(--head-hover)}
.k-brand{display:inline-flex;align-items:center;gap:10px;color:var(--text)!important;font:var(--dw) calc(17px * var(--ts)) var(--display);letter-spacing:var(--dt)}
.k-brand-mark{width:28px;height:28px;border-radius:min(var(--r-ctl),9px);background:var(--mark-bg);box-shadow:var(--mark-glow);flex:0 0 28px;position:relative}
.k-brand-mark::after{content:"";position:absolute;inset:7px;border-radius:min(var(--r-sm),4px);background:var(--bg-2)}
.k-nav{display:flex;flex-wrap:wrap;gap:6px}
.k-nav a{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border-radius:var(--r-sm);color:var(--head-muted);font-size:calc(14px * var(--ts));font-weight:500}
.k-nav a:hover{color:var(--head-text);background:var(--head-hover)}
.k-nav a.k-is-active{color:var(--head-text);background:var(--head-hover)}
.k-site-foot{border-top:1px solid var(--line);margin-top:auto}
.k-site-foot .k-in{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;padding-block:22px;font-size:calc(13px * var(--ts));color:var(--muted)}/* App shell */


.k-app{display:flex;flex-wrap:wrap;align-items:stretch;flex:1}
.k-side{flex:1 1 240px;max-width:264px;padding:18px 14px;border-right:1px solid var(--side-line);background:var(--side-bg);color:var(--side-text);display:flex;flex-direction:column;gap:4px}
.k-side .k-brand{padding:4px 8px 16px;color:var(--side-text)!important}
.k-side .k-sec{font-size:calc(10.5px * var(--ts));font-weight:600;letter-spacing:.16em;text-transform:var(--label-case);color:var(--side-faint);padding:14px 10px 6px}
.k-side a{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 10px;border-radius:var(--r-sm);color:var(--side-muted);font-size:calc(14px * var(--ts));font-weight:500}
.k-side a:hover{color:var(--side-text);background:var(--side-hover)}
.k-side a.k-is-active{color:var(--side-text);background:var(--side-active-bg);box-shadow:var(--side-active-ring)}
.k-side a .k-n{margin-left:auto;font:600 11px var(--body);padding:1px 7px;border-radius:999px;background:rgba(var(--a1-rgb),.15);color:var(--a1)}
.k-side svg{flex:0 0 18px}
.k-side .k-who{margin-top:auto;padding:12px 8px 0;border-top:1px solid var(--side-line);display:flex;align-items:center;gap:10px;font-size:calc(13px * var(--ts))}
.k-side .k-muted,.k-side .k-xs.k-muted{color:var(--side-muted)}
.k-content{flex:999 1 640px;min-width:0;display:flex;flex-direction:column}
.k-topbar{min-height:64px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 28px;border-bottom:1px solid var(--line);background:var(--top-bg);}
.k-search{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 14px;border-radius:var(--r-ctl);border:var(--bw) solid var(--line);background:var(--sunk-bg);color:var(--muted);font-size:calc(13px * var(--ts));flex:1 1 260px;max-width:440px}
.k-search input{background:none;border:0;color:var(--text);font:inherit;outline:none;min-width:0}
.k-page{padding:28px;display:flex;flex-direction:column;gap:22px}
.k-page-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}
.k-page-head .k-t{flex:1 1 320px;display:flex;flex-direction:column;gap:6px}
.k-crumbs{font-size:calc(13px * var(--ts));color:var(--muted);display:flex;flex-wrap:wrap;gap:6px}
.k-crumbs a{color:var(--muted)}
.k-crumbs a:hover{color:var(--text)}
.k-side.k-admin .k-jh{display:flex;align-items:center;gap:8px;padding:2px 8px 12px;font-size:12px;color:var(--side-muted);border-bottom:1px solid var(--side-line);margin-bottom:8px}
.k-side.k-admin .k-jh a{color:var(--side-muted)!important}/* Navigation bands: pills and counts on dark navigation in light themes */


.k[data-mode="light"][data-scheme="academy"] .k-side .k-pill,.k[data-mode="light"][data-scheme="enterprise"] .k-side .k-pill,.k[data-mode="light"][data-scheme="prestige"] .k-side .k-pill{background:rgba(255,255,255,.12);color:#FFFFFF;border-color:rgba(255,255,255,.22)}
.k[data-mode="light"][data-scheme="academy"] .k-side a .k-n,.k[data-mode="light"][data-scheme="enterprise"] .k-side a .k-n,.k[data-mode="light"][data-scheme="prestige"] .k-side a .k-n{background:rgba(255,255,255,.16);color:#FFFFFF}/* Lists, steps and notes */


.k-list{display:flex;flex-direction:column}
.k-list>.k-it{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.k-list>.k-it:last-child{border-bottom:0}
.k-steps{display:flex;flex-wrap:wrap;gap:8px}
.k-step{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:var(--r-ctl);border:var(--bw) solid var(--line);font-size:calc(13px * var(--ts));color:var(--muted)}
.k-step .k-b{width:24px;height:24px;border-radius:min(var(--r-sm),8px);display:grid;place-items:center;font:600 11px var(--body);border:1px solid var(--line-2)}
.k-step.k-done{color:var(--text)}
.k-step.k-done .k-b{background:rgba(var(--ok-rgb),.15);border-color:rgba(var(--ok-rgb),.4);color:var(--ok)}
.k-step.k-now{color:var(--text);border-color:rgba(var(--a1-rgb),.5);background:rgba(var(--a1-rgb),.07)}
.k-step.k-now .k-b{background:var(--primary-bg);border:0;color:var(--primary-text)}
.k-note{padding:12px 14px;border-radius:var(--r-ctl);font-size:calc(13px * var(--ts));border:1px solid var(--line);color:var(--text)}
.k-note-warn{background:rgba(var(--warn-rgb),.08);border-color:rgba(var(--warn-rgb),.32)}
.k-note-ok{background:rgba(var(--ok-rgb),.08);border-color:rgba(var(--ok-rgb),.32)}
.k-note-info{background:rgba(var(--info-rgb),.08);border-color:rgba(var(--info-rgb),.32)}
.k-note-bad{background:rgba(var(--bad-rgb),.08);border-color:rgba(var(--bad-rgb),.32)}/* Swatches used by the appearance screens */


.k-sw{width:22px;height:22px;border-radius:min(var(--r-sm),7px);border:1px solid var(--line-2);display:inline-block;flex:0 0 22px}

@media (prefers-reduced-motion:reduce){.k *{transition:none!important;animation:none!important}}
