/* GENERADO por generar_tema_aula.py: no editar a mano (editar tokens.css o aula-marca.css). */
/* Aprende Tidyverse — tokens de diseño compartidos por el sitio público y el aula.
   Fuente única: el sitio los carga como /files/at-tokens.css (head_html) y generar_tema_aula.py
   los antepone a at-aula.css. Cambiar un color aquí lo cambia en las dos superficies. */
:root {
  --at-bg: #F8F9FB;
  --at-surface: #FFFFFF;
  --at-hover: #EFEBE4;
  --at-ink: #1F2A37;
  --at-ink-2: #475569;
  --at-ink-3: #6B7280;
  --at-ink-4: #6B7280;   /* texto terciario: #9AA3AE no pasa contraste AA (2,5:1) */
  --at-ink-deco: #9AA3AE; /* solo bordes, íconos y tachados decorativos */
  --at-line: #E4E0D8;
  --at-primary: #1A4FA0;
  --at-primary-hover: #154391;
  --at-primary-soft: #E9F0FA;
  --at-navy: #0B2A5E;
  --at-navy-2: #0F3270;
  --at-sky: #A6C0E8;
  --at-sky-2: #CFDDF2;
  --at-sand: #D9BE8E;
  --at-sand-hover: #CBAB74;
  --at-sand-ink: #5C4824;
  --at-sand-text: #85660F;
  --at-sand-label: #B8935B;
  --at-sand-bg: #FBF7EF;
  --at-sand-line: #E7D4AE;
  --at-success: #2B6A42;
  --at-success-bg: #E8F2EC;
  --at-success-icon: #3E8E5C;
  --at-warn-bg: #FBF2DE;
  --at-warn-ink: #85660F;
  --at-orange: #E0852E;
  --at-orange-soft: #F2B679;
  --at-shadow: 0 1px 3px rgba(31,42,55,0.07), 0 1px 2px rgba(31,42,55,0.045);
  --at-shadow-2: 0 6px 16px rgba(31,42,55,0.08), 0 2px 4px rgba(31,42,55,0.04);
  /* La misma Inter variable que traen Frappe (InterVariable) y LMS (InterVar): una sola tipografía en sitio y aula */
  --at-font: 'InterVariable', 'InterVar', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  /* Radios y alturas comunes */
  --at-r-sm: 8px;   /* botones, inputs */
  --at-r-md: 10px;  /* filas, módulos, pills de bloque */
  --at-r-lg: 12px;  /* tarjetas de curso */
  --at-r-xl: 14px;  /* tarjetas grandes */
  --at-h-btn: 44px;     /* botón estándar (objetivo táctil) */
  --at-h-btn-lg: 48px;  /* botón destacado */
  /* Escala tipográfica única (sitio y aula) */
  --at-fs-display: 56px; --at-fs-h1: 40px; --at-fs-h2: 26px; --at-fs-h3: 19px;
  --at-fs-lead: 19px; --at-fs-body: 15px; --at-fs-small: 13px; --at-fs-overline: 12px;
}

/* Tema claro forzado: 418 variables de frappe-ui devueltas a su valor claro. */
:root[data-theme=dark]{color-scheme:light;--surface-base:oklch(1 0 0);--surface-gray-1:oklch(.979 0 0);--surface-gray-2:oklch(.964 0 0);--surface-gray-3:oklch(.946 0 0);--surface-gray-4:oklch(.913 0 0);--surface-gray-5:oklch(.83 0 0);--surface-gray-6:oklch(.683 0 0);--surface-gray-7:oklch(.586 0 0);--surface-gray-8:oklch(.439 0 0);--surface-gray-9:oklch(.341 0 0);--surface-gray-10:oklch(.205 0 0);--surface-sidebar:oklch(.979 0 0);--surface-elevation-1:oklch(1 0 0);--surface-elevation-2:oklch(1 0 0);--surface-elevation-3:oklch(1 0 0);--surface-red-1:oklch(.978 .011 17.34);--surface-red-2:oklch(.947 .026 17.626);--surface-red-3:oklch(.915 .044 17.978);--surface-red-4:oklch(.867 .068 18.55);--surface-red-5:oklch(.772 .118 19.495);--surface-red-6:oklch(.595 .208 26.283);--surface-red-7:oklch(.556 .198 26.552);--surface-red-8:oklch(.497 .185 27.335);--surface-red-9:oklch(.438 .153 26.273);--surface-red-10:oklch(.348 .12 26.042);--surface-blue-1:oklch(.976 .011 243.65);--surface-blue-2:oklch(.96 .021 241.348);--surface-blue-3:oklch(.925 .039 243.489);--surface-blue-4:oklch(.88 .061 242.553);--surface-blue-5:oklch(.73 .121 245.297);--surface-blue-6:oklch(.641 .186 251.565);--surface-blue-7:oklch(.587 .174 252.167);--surface-blue-8:oklch(.561 .168 252.355);--surface-blue-9:oklch(.477 .149 253.403);--surface-blue-10:oklch(.396 .113 250.204);--surface-green-1:oklch(.976 .014 155.594);--surface-green-2:oklch(.965 .03 155.987);--surface-green-3:oklch(.908 .07 154.3);--surface-green-4:oklch(.872 .084 155.952);--surface-green-5:oklch(.816 .12 155.416);--surface-green-6:oklch(.67 .124 159.024);--surface-green-7:oklch(.57 .119 158.092);--surface-green-8:oklch(.53 .122 156.15);--surface-green-9:oklch(.425 .101 155.32);--surface-green-10:oklch(.321 .05 163.839);--surface-amber-1:oklch(.98 .015 86.424);--surface-amber-2:oklch(.967 .045 91.733);--surface-amber-3:oklch(.936 .056 93.962);--surface-amber-4:oklch(.917 .063 91.484);--surface-amber-5:oklch(.865 .105 83.468);--surface-amber-6:oklch(.723 .152 71.82);--surface-amber-7:oklch(.659 .142 67.548);--surface-amber-8:oklch(.612 .136 63.758);--surface-amber-9:oklch(.472 .124 46.689);--surface-amber-10:oklch(.416 .099 47.734);--surface-violet-1:oklch(.976 .011 291.956);--surface-violet-2:oklch(.943 .031 297.722);--surface-violet-3:oklch(.891 .058 291.738);--surface-violet-4:oklch(.852 .077 295.563);--surface-violet-5:oklch(.761 .129 293.171);--surface-violet-6:oklch(.574 .216 287.282);--surface-violet-7:oklch(.545 .18 287.523);--surface-violet-8:oklch(.438 .155 286.38);--surface-violet-9:oklch(.356 .139 285.299);--surface-violet-10:oklch(.273 .109 285.208);--surface-yellow-1:oklch(.984 .025 104.397);--surface-yellow-2:oklch(.973 .047 96.813);--surface-yellow-3:oklch(.93 .084 97.441);--surface-yellow-4:oklch(.904 .134 99.354);--surface-yellow-5:oklch(.865 .152 95.016);--surface-yellow-6:oklch(.812 .163 88.229);--surface-yellow-7:oklch(.611 .124 78.836);--surface-yellow-8:oklch(.546 .116 71.275);--surface-yellow-9:oklch(.503 .11 68.444);--surface-yellow-10:oklch(.424 .092 56.556);--surface-orange-1:oklch(.974 .015 54.935);--surface-orange-2:oklch(.962 .023 56.964);--surface-orange-3:oklch(.922 .05 59.257);--surface-orange-4:oklch(.878 .079 59.065);--surface-orange-5:oklch(.81 .102 56.493);--surface-orange-6:oklch(.67 .176 48.234);--surface-orange-7:oklch(.613 .171 45.528);--surface-orange-8:oklch(.541 .171 37.962);--surface-orange-9:oklch(.478 .146 37.007);--surface-orange-10:oklch(.37 .103 37.767);--surface-teal-1:oklch(.978 .014 180.717);--surface-teal-2:oklch(.963 .018 184.27);--surface-teal-3:oklch(.897 .048 185.006);--surface-teal-4:oklch(.851 .072 184.907);--surface-teal-5:oklch(.799 .092 184.055);--surface-teal-6:oklch(.716 .113 185.344);--surface-teal-7:oklch(.556 .096 185.508);--surface-teal-8:oklch(.502 .084 186.188);--surface-teal-9:oklch(.431 .069 188.078);--surface-teal-10:oklch(.356 .054 187.652);--surface-cyan-1:oklch(.982 .01 212.521);--surface-cyan-2:oklch(.96 .029 218.179);--surface-cyan-3:oklch(.899 .058 217.001);--surface-cyan-4:oklch(.872 .078 218.737);--surface-cyan-5:oklch(.824 .102 219.972);--surface-cyan-6:oklch(.746 .123 223.088);--surface-cyan-7:oklch(.597 .104 223.923);--surface-cyan-8:oklch(.556 .096 223.946);--surface-cyan-9:oklch(.443 .077 224.37);--surface-cyan-10:oklch(.374 .06 226.327);--surface-purple-1:oklch(.97 .012 313.217);--surface-purple-2:oklch(.951 .032 311.75);--surface-purple-3:oklch(.901 .065 310.524);--surface-purple-4:oklch(.844 .101 311.967);--surface-purple-5:oklch(.701 .193 307.369);--surface-purple-6:oklch(.58 .229 305.5);--surface-purple-7:oklch(.552 .194 305.515);--surface-purple-8:oklch(.461 .158 305.426);--surface-purple-9:oklch(.406 .138 305.811);--surface-purple-10:oklch(.313 .126 304.363);--surface-pink-1:oklch(.984 .011 339.329);--surface-pink-2:oklch(.952 .028 340.005);--surface-pink-3:oklch(.916 .058 339.586);--surface-pink-4:oklch(.856 .089 341.985);--surface-pink-5:oklch(.748 .172 344.997);--surface-pink-6:oklch(.649 .209 347.455);--surface-pink-7:oklch(.597 .205 347.195);--surface-pink-8:oklch(.481 .17 346.479);--surface-pink-9:oklch(.408 .155 348.063);--surface-pink-10:oklch(.316 .115 345.791);--surface-alert-button-default:oklch(1 0 0);--surface-alert-button-info:oklch(1 0 0);--surface-alert-button-success:oklch(1 0 0);--surface-alert-button-warning:oklch(1 0 0);--surface-alert-button-error:oklch(1 0 0);--surface-alpha-base:oklch(1 0 0);--surface-alpha-gray-1:oklch(0 0 0 / .031);--surface-alpha-gray-2:oklch(0 0 0 / .043);--surface-alpha-gray-3:oklch(0 0 0 / .071);--surface-alpha-gray-4:oklch(0 0 0 / .114);--surface-alpha-gray-5:oklch(0 0 0 / .22);--surface-alpha-gray-6:oklch(0 0 0 / .4);--surface-alpha-gray-7:oklch(0 0 0 / .514);--surface-alpha-gray-8:oklch(0 0 0 / .678);--surface-alpha-gray-9:oklch(0 0 0 / .78);--surface-alpha-gray-10:oklch(0 0 0 / .91);--surface-alpha-sidebar:oklch(.979 0 0);--surface-alpha-elevation-1:oklch(1 0 0);--surface-alpha-elevation-2:oklch(1 0 0);--surface-alpha-elevation-3:oklch(1 0 0);--surface-alpha-gray-2-overlay:oklch(0 0 0 / .09);--ink-base:oklch(1 0 0);--ink-gray-1:oklch(.946 0 0);--ink-gray-2:oklch(.913 0 0);--ink-gray-3:oklch(.83 0 0);--ink-gray-4:oklch(.683 0 0);--ink-gray-5:oklch(.586 0 0);--ink-gray-6:oklch(.439 0 0);--ink-gray-7:oklch(.341 0 0);--ink-gray-8:oklch(.205 0 0);--ink-gray-9:oklch(.168 0 0);--ink-red-1:oklch(1 0 0);--ink-red-2:oklch(.947 .026 17.626);--ink-red-3:oklch(.915 .044 17.978);--ink-red-4:oklch(.867 .068 18.55);--ink-red-5:oklch(.772 .118 19.495);--ink-red-6:oklch(.595 .208 26.283);--ink-red-7:oklch(.556 .198 26.552);--ink-red-8:oklch(.497 .185 27.335);--ink-red-9:oklch(.438 .153 26.273);--ink-red-10:oklch(.348 .12 26.042);--ink-blue-1:oklch(1 0 0);--ink-blue-2:oklch(.96 .021 241.348);--ink-blue-3:oklch(.925 .039 243.489);--ink-blue-4:oklch(.88 .061 242.553);--ink-blue-5:oklch(.73 .121 245.297);--ink-blue-6:oklch(.641 .186 251.565);--ink-blue-7:oklch(.587 .174 252.167);--ink-blue-8:oklch(.561 .168 252.355);--ink-blue-9:oklch(.477 .149 253.403);--ink-blue-10:oklch(.396 .113 250.204);--ink-green-1:oklch(1 0 0);--ink-green-2:oklch(.965 .03 155.987);--ink-green-3:oklch(.908 .07 154.3);--ink-green-4:oklch(.872 .084 155.952);--ink-green-5:oklch(.816 .12 155.416);--ink-green-6:oklch(.67 .124 159.024);--ink-green-7:oklch(.57 .119 158.092);--ink-green-8:oklch(.53 .122 156.15);--ink-green-9:oklch(.425 .101 155.32);--ink-green-10:oklch(.321 .05 163.839);--ink-amber-1:oklch(1 0 0);--ink-amber-2:oklch(.967 .045 91.733);--ink-amber-3:oklch(.936 .056 93.962);--ink-amber-4:oklch(.917 .063 91.484);--ink-amber-5:oklch(.865 .105 83.468);--ink-amber-6:oklch(.723 .152 71.82);--ink-amber-7:oklch(.659 .142 67.548);--ink-amber-8:oklch(.612 .136 63.758);--ink-amber-9:oklch(.472 .124 46.689);--ink-amber-10:oklch(.416 .099 47.734);--ink-violet-1:oklch(1 0 0);--ink-violet-2:oklch(.943 .031 297.722);--ink-violet-3:oklch(.891 .058 291.738);--ink-violet-4:oklch(.852 .077 295.563);--ink-violet-5:oklch(.761 .129 293.171);--ink-violet-6:oklch(.574 .216 287.282);--ink-violet-7:oklch(.545 .18 287.523);--ink-violet-8:oklch(.438 .155 286.38);--ink-violet-9:oklch(.356 .139 285.299);--ink-violet-10:oklch(.273 .109 285.208);--ink-yellow-1:oklch(1 0 0);--ink-yellow-2:oklch(.973 .047 96.813);--ink-yellow-3:oklch(.93 .084 97.441);--ink-yellow-4:oklch(.904 .134 99.354);--ink-yellow-5:oklch(.865 .152 95.016);--ink-yellow-6:oklch(.812 .163 88.229);--ink-yellow-7:oklch(.611 .124 78.836);--ink-yellow-8:oklch(.546 .116 71.275);--ink-yellow-9:oklch(.503 .11 68.444);--ink-yellow-10:oklch(.424 .092 56.556);--ink-orange-1:oklch(1 0 0);--ink-orange-2:oklch(.962 .023 56.964);--ink-orange-3:oklch(.922 .05 59.257);--ink-orange-4:oklch(.878 .079 59.065);--ink-orange-5:oklch(.81 .102 56.493);--ink-orange-6:oklch(.67 .176 48.234);--ink-orange-7:oklch(.613 .171 45.528);--ink-orange-8:oklch(.541 .171 37.962);--ink-orange-9:oklch(.478 .146 37.007);--ink-orange-10:oklch(.37 .103 37.767);--ink-teal-1:oklch(1 0 0);--ink-teal-2:oklch(.963 .018 184.27);--ink-teal-3:oklch(.897 .048 185.006);--ink-teal-4:oklch(.851 .072 184.907);--ink-teal-5:oklch(.799 .092 184.055);--ink-teal-6:oklch(.716 .113 185.344);--ink-teal-7:oklch(.556 .096 185.508);--ink-teal-8:oklch(.502 .084 186.188);--ink-teal-9:oklch(.431 .069 188.078);--ink-teal-10:oklch(.356 .054 187.652);--ink-cyan-1:oklch(1 0 0);--ink-cyan-2:oklch(.96 .029 218.179);--ink-cyan-3:oklch(.899 .058 217.001);--ink-cyan-4:oklch(.872 .078 218.737);--ink-cyan-5:oklch(.824 .102 219.972);--ink-cyan-6:oklch(.746 .123 223.088);--ink-cyan-7:oklch(.597 .104 223.923);--ink-cyan-8:oklch(.556 .096 223.946);--ink-cyan-9:oklch(.443 .077 224.37);--ink-cyan-10:oklch(.374 .06 226.327);--ink-purple-1:oklch(1 0 0);--ink-purple-2:oklch(.951 .032 311.75);--ink-purple-3:oklch(.901 .065 310.524);--ink-purple-4:oklch(.844 .101 311.967);--ink-purple-5:oklch(.701 .193 307.369);--ink-purple-6:oklch(.58 .229 305.5);--ink-purple-7:oklch(.552 .194 305.515);--ink-purple-8:oklch(.461 .158 305.426);--ink-purple-9:oklch(.406 .138 305.811);--ink-purple-10:oklch(.313 .126 304.363);--ink-pink-1:oklch(1 0 0);--ink-pink-2:oklch(.952 .028 340.005);--ink-pink-3:oklch(.916 .058 339.586);--ink-pink-4:oklch(.856 .089 341.985);--ink-pink-5:oklch(.748 .172 344.997);--ink-pink-6:oklch(.649 .209 347.455);--ink-pink-7:oklch(.597 .205 347.195);--ink-pink-8:oklch(.481 .17 346.479);--ink-pink-9:oklch(.408 .155 348.063);--ink-pink-10:oklch(.316 .115 345.791);--ink-alert-button-default:oklch(.205 0 0);--ink-alert-button-info:oklch(.205 0 0);--ink-alert-button-success:oklch(.205 0 0);--ink-alert-button-warning:oklch(.205 0 0);--ink-alert-button-error:oklch(.205 0 0);--ink-blue-link:oklch(.641 .186 251.565);--outline-base:oklch(1 0 0);--outline-gray-1:oklch(.946 0 0);--outline-gray-2:oklch(.913 0 0);--outline-gray-3:oklch(.83 0 0);--outline-gray-4:oklch(.683 0 0);--outline-gray-5:oklch(.586 0 0);--outline-gray-6:oklch(.439 0 0);--outline-gray-7:oklch(.341 0 0);--outline-gray-8:oklch(.205 0 0);--outline-gray-9:oklch(.168 0 0);--outline-red-1:oklch(.947 .026 17.626);--outline-red-2:oklch(.915 .044 17.978);--outline-red-3:oklch(.867 .068 18.55);--outline-red-4:oklch(.772 .118 19.495);--outline-red-5:oklch(.595 .208 26.283);--outline-red-6:oklch(.556 .198 26.552);--outline-red-7:oklch(.497 .185 27.335);--outline-red-8:oklch(.438 .153 26.273);--outline-red-9:oklch(.348 .12 26.042);--outline-red-10:oklch(.276 .093 25.823);--outline-blue-1:oklch(.96 .021 241.348);--outline-blue-2:oklch(.925 .039 243.489);--outline-blue-3:oklch(.88 .061 242.553);--outline-blue-4:oklch(.73 .121 245.297);--outline-blue-5:oklch(.641 .186 251.565);--outline-blue-6:oklch(.587 .174 252.167);--outline-blue-7:oklch(.561 .168 252.355);--outline-blue-8:oklch(.477 .149 253.403);--outline-blue-9:oklch(.396 .113 250.204);--outline-blue-10:oklch(.309 .104 256.771);--outline-green-1:oklch(.965 .03 155.987);--outline-green-2:oklch(.908 .07 154.3);--outline-green-3:oklch(.872 .084 155.952);--outline-green-4:oklch(.816 .12 155.416);--outline-green-5:oklch(.67 .124 159.024);--outline-green-6:oklch(.57 .119 158.092);--outline-green-7:oklch(.53 .122 156.15);--outline-green-8:oklch(.425 .101 155.32);--outline-green-9:oklch(.321 .05 163.839);--outline-green-10:oklch(.277 .052 161.616);--outline-amber-1:oklch(.967 .045 91.733);--outline-amber-2:oklch(.936 .056 93.962);--outline-amber-3:oklch(.917 .063 91.484);--outline-amber-4:oklch(.865 .105 83.468);--outline-amber-5:oklch(.723 .152 71.82);--outline-amber-6:oklch(.659 .142 67.548);--outline-amber-7:oklch(.612 .136 63.758);--outline-amber-8:oklch(.472 .124 46.689);--outline-amber-9:oklch(.416 .099 47.734);--outline-amber-10:oklch(.31 .075 46.734);--outline-violet-1:oklch(.943 .031 297.722);--outline-violet-2:oklch(.891 .058 291.738);--outline-violet-3:oklch(.852 .077 295.563);--outline-violet-4:oklch(.761 .129 293.171);--outline-violet-5:oklch(.574 .216 287.282);--outline-violet-6:oklch(.545 .18 287.523);--outline-violet-7:oklch(.438 .155 286.38);--outline-violet-8:oklch(.356 .139 285.299);--outline-violet-9:oklch(.273 .109 285.208);--outline-violet-10:oklch(.226 .128 277.835);--outline-yellow-1:oklch(.973 .047 96.813);--outline-yellow-2:oklch(.93 .084 97.441);--outline-yellow-3:oklch(.904 .134 99.354);--outline-yellow-4:oklch(.865 .152 95.016);--outline-yellow-5:oklch(.812 .163 88.229);--outline-yellow-6:oklch(.611 .124 78.836);--outline-yellow-7:oklch(.546 .116 71.275);--outline-yellow-8:oklch(.503 .11 68.444);--outline-yellow-9:oklch(.424 .092 56.556);--outline-yellow-10:oklch(.344 .071 57.385);--outline-orange-1:oklch(.962 .023 56.964);--outline-orange-2:oklch(.922 .05 59.257);--outline-orange-3:oklch(.878 .079 59.065);--outline-orange-4:oklch(.81 .102 56.493);--outline-orange-5:oklch(.67 .176 48.234);--outline-orange-6:oklch(.613 .171 45.528);--outline-orange-7:oklch(.541 .171 37.962);--outline-orange-8:oklch(.478 .146 37.007);--outline-orange-9:oklch(.37 .103 37.767);--outline-orange-10:oklch(.28 .082 38.235);--outline-teal-1:oklch(.963 .018 184.27);--outline-teal-2:oklch(.897 .048 185.006);--outline-teal-3:oklch(.851 .072 184.907);--outline-teal-4:oklch(.799 .092 184.055);--outline-teal-5:oklch(.716 .113 185.344);--outline-teal-6:oklch(.556 .096 185.508);--outline-teal-7:oklch(.502 .084 186.188);--outline-teal-8:oklch(.431 .069 188.078);--outline-teal-9:oklch(.356 .054 187.652);--outline-teal-10:oklch(.305 .05 188.673);--outline-cyan-1:oklch(.96 .029 218.179);--outline-cyan-2:oklch(.899 .058 217.001);--outline-cyan-3:oklch(.872 .078 218.737);--outline-cyan-4:oklch(.824 .102 219.972);--outline-cyan-5:oklch(.746 .123 223.088);--outline-cyan-6:oklch(.597 .104 223.923);--outline-cyan-7:oklch(.556 .096 223.946);--outline-cyan-8:oklch(.443 .077 224.37);--outline-cyan-9:oklch(.374 .06 226.327);--outline-cyan-10:oklch(.313 .051 209.137);--outline-purple-1:oklch(.951 .032 311.75);--outline-purple-2:oklch(.901 .065 310.524);--outline-purple-3:oklch(.844 .101 311.967);--outline-purple-4:oklch(.701 .193 307.369);--outline-purple-5:oklch(.58 .229 305.5);--outline-purple-6:oklch(.552 .194 305.515);--outline-purple-7:oklch(.461 .158 305.426);--outline-purple-8:oklch(.406 .138 305.811);--outline-purple-9:oklch(.313 .126 304.363);--outline-purple-10:oklch(.249 .116 302.057);--outline-pink-1:oklch(.952 .028 340.005);--outline-pink-2:oklch(.916 .058 339.586);--outline-pink-3:oklch(.856 .089 341.985);--outline-pink-4:oklch(.748 .172 344.997);--outline-pink-5:oklch(.649 .209 347.455);--outline-pink-6:oklch(.597 .205 347.195);--outline-pink-7:oklch(.481 .17 346.479);--outline-pink-8:oklch(.408 .155 348.063);--outline-pink-9:oklch(.316 .115 345.791);--outline-pink-10:oklch(.254 .096 346.105);--outline-elevation-1:oklch(.946 0 0);--outline-elevation-2:oklch(.946 0 0);--outline-alpha-base:oklch(1 0 0);--outline-alpha-gray-1:oklch(0 0 0 / .071);--outline-alpha-gray-2:oklch(0 0 0 / .114);--outline-alpha-gray-3:oklch(0 0 0 / .22);--outline-alpha-gray-4:oklch(0 0 0 / .4);--outline-alpha-gray-5:oklch(0 0 0 / .514);--outline-alpha-gray-6:oklch(0 0 0 / .678);--outline-alpha-gray-7:oklch(0 0 0 / .78);--outline-alpha-gray-8:oklch(0 0 0 / .91);--outline-alpha-gray-9:oklch(0 0 0 / .941);--outline-alpha-elevation-1:oklch(0 0 0 / .071);--outline-alpha-elevation-2:oklch(0 0 0 / .071);--focus-default:0px 0px 0px 2px #c9c9c9e5;--focus-outline-default:2px solid #c9c9c9e5;--focus-red:0px 0px 0px 2px #fa9c9de5;--focus-outline-red:2px solid #fa9c9de5;--focus-green:0px 0px 0px 2px #5ed29ce5;--focus-outline-green:2px solid #5ed29ce5;--focus-amber:0px 0px 0px 2px #ffda7ce5;--focus-outline-amber:2px solid #ffda7ce5;--focus-blue:0px 0px 0px 2px #65b9fce5;--focus-outline-blue:2px solid #65b9fce5;--focus-violet:0px 0px 0px 2px #bea2fce5;--focus-outline-violet:2px solid #bea2fce5;}
/* Aprende Tidyverse — marca del diseño aplicada al aula (SPA de Frappe LMS, frappe-ui).
   Usa los tokens de tokens.css (generar_tema_aula.py los antepone en at-aula.css): misma paleta,
   tipografía, radios y sombras que el sitio público. Solo variables de frappe-ui y unas pocas
   clases estables; no se toca el código de LMS. Lo carga _lms.html gracias a la capa parche/.
   Revisión de 5 expertos (2026-10-05): tipografía, tokens, UX, accesibilidad y viabilidad. */

/* Tipografía: la Inter variable propia de LMS (InterVar) es la misma familia que usa el sitio
   (InterVariable de Frappe). No se cargan fuentes externas. */

:root, :root[data-theme=dark] {
  /* Tinta y bordes */
  --ink-gray-9: var(--at-ink);
  --ink-gray-8: var(--at-ink);
  --ink-gray-7: var(--at-ink-2);
  --ink-gray-6: var(--at-ink-2);
  --ink-gray-5: var(--at-ink-3);
  --ink-gray-4: var(--at-ink-4);
  --outline-gray-1: #EDEAE4;
  --outline-gray-2: var(--at-line);
  --outline-gray-3: #CFC9BE;
  /* Superficies: fondo gris azulado del sitio con tarjetas blancas encima */
  --surface-base: var(--at-bg);
  --surface-elevation-1: var(--at-surface);
  --surface-elevation-2: var(--at-surface);
  --surface-elevation-3: var(--at-surface);
  --surface-modal: var(--at-surface);
  --surface-sidebar: var(--at-bg);
  --surface-gray-1: var(--at-bg);
  --surface-gray-2: #F1F2F4;
  --surface-gray-3: #E9ECF0;
  /* Azul de marca */
  --ink-blue-link: var(--at-primary);
  --surface-blue-1: #F2F6FC;
  --surface-blue-2: var(--at-primary-soft);
  --surface-blue-3: #CFDDF2;
  --ink-blue-3: var(--at-primary);
  --ink-blue-4: var(--at-primary-hover);
  /* Verde de estados (badge "Publicado", progreso) con los tonos de la marca */
  --surface-green-2: var(--at-success-bg);
  --ink-green-8: var(--at-success);
  /* Radios del sitio */
  --radius-md: var(--at-r-md);
  --radius-lg: var(--at-r-lg);
  --radius-xl: var(--at-r-xl);
}

body, #app { font-family: var(--at-font); letter-spacing: normal; }

/* Botón principal (frappe-ui "solid" = bg-surface-gray-10 / hover 9 / active 8, casi negro):
   azul del diseño y altura 40px para acercarse a los botones del sitio */
.bg-surface-gray-10 { background-color: var(--at-primary) !important; }
.hover\:bg-surface-gray-9:hover { background-color: var(--at-primary-hover) !important; }
.active\:bg-surface-gray-8:active { background-color: #123A7E !important; }
.bg-surface-gray-10.h-8 { height: 40px; padding: 0 16px; font-size: 15px; font-weight: 600; }

/* Botón secundario ("subtle", relleno gris) → blanco con borde, como en el sitio */
button.bg-surface-gray-2 { background: var(--at-surface) !important; border: 1px solid var(--at-line); }
button.bg-surface-gray-2:hover { background: var(--at-hover) !important; }

/* Tarjetas: sombra en vez de borde, como las del sitio */
a[href*="/courses/"] > .rounded-md {
  background: var(--at-surface); border-radius: var(--at-r-lg); box-shadow: var(--at-shadow);
  transition: box-shadow .15s;
}
a[href*="/courses/"]:hover > .rounded-md { box-shadow: var(--at-shadow-2); }
a[href*="/courses/"] .rounded-t-md { border: 0 !important; }
.border-2.rounded-md { border: 0 !important; background: var(--at-surface); border-radius: var(--at-r-xl); box-shadow: var(--at-shadow); }

/* Campos de texto: blancos con borde y anillo azul de foco, como el login */
input.bg-surface-gray-2, textarea.bg-surface-gray-2 { background: var(--at-surface) !important; border: 1px solid var(--at-line) !important; }
input:focus, textarea:focus { border-color: var(--at-primary) !important; box-shadow: 0 0 0 3px var(--at-primary-soft) !important; }

/* Enlaces */
a.text-ink-blue-link, .text-ink-blue-link { color: var(--at-primary) !important; }

/* Foco visible, igual que en el sitio */
:focus-visible { outline: 2px solid var(--at-primary) !important; outline-offset: 2px; }

/* Móvil: objetivos táctiles y tablas desplazables */
@media (max-width: 640px) {
  button, a[role=button] { min-height: 44px; }
  .prose table, .ProseMirror table { display: block; overflow-x: auto; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } }

/* Títulos de página del aula más cerca de la escala del sitio (h1 del sitio: 40px/700).
   Solo h1: cambiar las clases text-* de frappe-ui afectaría toda la interfaz. */
#app h1 { font-size: 30px !important; line-height: 1.15 !important; font-weight: 700 !important; letter-spacing: -0.02em !important; }
@media (max-width: 640px) { #app h1 { font-size: 24px !important; } }

/* Aviso "Antes de continuar" (componente NotPermitted, p. ej. comprar sin sesión): el punto rojo
   sugería un error; se usa el azul de la marca. */
.border-b > .before\:bg-surface-red-7::before { background-color: var(--at-primary) !important; }

/* Cobro: "Payment for course:" viene armado en el código con la palabra "course" fija (no traducible).
   Se oculta y se muestra "Su compra". */
.h-fit.bg-surface-gray-2 > .space-y-1:first-child > .uppercase.text-xs { font-size: 0 !important; }
.h-fit.bg-surface-gray-2 > .space-y-1:first-child > .uppercase.text-xs::before { content: "Su compra"; font-size: 12px; letter-spacing: .06em; }

