/* Dark theme. Applied only under <html data-theme="dark">, which partials/theme.blade.php sets from the
   user's choice (auto follows the device). The landing page and the store never load it.
   --dk-* values are generated: every hardcoded colour in the app CSS and views reads var(--dk-*, original),
   so light mode is untouched. Brand tokens are hand-picked. */

[data-theme="dark"] {
  color-scheme: dark;

  /* Student app */
  --bg: #0f0c1c;
  --sidebar-bg: #15122a;
  --card: #1a1630;
  --line: #2d2749;
  --track: #2d2749;
  --ink: #eeebfa;
  --ink-2: #cdc8e3;
  --muted: #a8a2c6;
  --muted-2: #a8a2c6;
  --p-50: #1f1938;
  --p-100: #271f48;
  --p-200: #34295f;
  --p-300: #4b3c85;
  --p-400: #8f74f5;
  --p-500: #7f5cf0;
  --p-600: #6d42e8;
  --p-700: #4d26b8;
  --p-900: #e6deff;
  --float: 0 12px 32px rgba(0, 0, 0, .5);

  /* Brand purple as text: light enough to read on dark surfaces */
  --dkf-p-50: #f6f3ff;
  --dkf-p-100: #efe9ff;
  --dkf-p-200: #e2d8fb;
  --dkf-p-300: #c4b4fa;
  --dkf-p-400: #c4b4fa;
  --dkf-p-500: #c4b4fa;
  --dkf-p-600: #c4b4fa;
  --dkf-p-700: #d4c8fc;
  --dkf-p-900: #e6deff;

  /* Admin */
  --brand-50: #1f1938;
  --brand-100: #271f48;
  --brand-200: #34295f;
  --brand-300: #4b3c85;
  --brand-400: #8f74f5;
  --brand-500: #7f5cf0;
  --brand-600: #6d42e8;
  --brand-700: #4d26b8;
  --dkf-brand-50: #f6f3ff;
  --dkf-brand-100: #efe9ff;
  --dkf-brand-200: #e2d8fb;
  --dkf-brand-300: #c4b4fa;
  --dkf-brand-400: #c4b4fa;
  --dkf-brand-500: #c4b4fa;
  --dkf-brand-600: #c4b4fa;
  --dkf-brand-700: #d4c8fc;
  --sidebar-border-color: #241f3d;
  --sidebar-hover-bg: #211b3b;
  --sidebar-active-bg: #2a2150;
  --sidebar-text: #cdc8e3;
  --sidebar-text-active: #e6deff;
  --sidebar-icon: #a8a2c6;
  --sidebar-icon-active: #c4b4fa;
  --sidebar-section-text: #a8a2c6;
  --surface: #1a1630;
  --border: #2d2749;
  --border-light: #241f3d;
  --text-primary: #eeebfa;
  --text-secondary: #cdc8e3;
  --text-muted: #a8a2c6;
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .3);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, .5);

  /* Bootstrap (admin) */
  --bs-body-bg: #0f0c1c;
  --bs-body-color: #eeebfa;
  --bs-emphasis-color: #ffffff;
  --bs-secondary-color: #cdc8e3;
  --bs-secondary-bg: #1a1630;
  --bs-tertiary-color: #a8a2c6;
  --bs-tertiary-bg: #15122a;
  --bs-border-color: #2d2749;
  --bs-border-color-translucent: rgba(255, 255, 255, .12);
  --bs-link-color: #c4b4fa;
  --bs-link-hover-color: #d4c8fc;
  --bs-link-color-rgb: 196, 180, 250;
  --bs-link-hover-color-rgb: 212, 200, 252;

  /* Generated from the hardcoded colours: b = surfaces, borders, shadows; f = text */
  --dk-b-000000-10: rgba(0, 0, 0, 0.2);
  --dk-b-000000-12: rgba(0, 0, 0, 0.24);
  --dk-b-000000-15: rgba(0, 0, 0, 0.3);
  --dk-b-000000-18: rgba(0, 0, 0, 0.36);
  --dk-b-000000-25: rgba(0, 0, 0, 0.5);
  --dk-b-000000-30: rgba(0, 0, 0, 0.6);
  --dk-b-000000-50: #000000;
  --dk-b-000000-60: #000000;
  --dk-b-000000-75: #000000;
  --dk-b-000000-8: rgba(0, 0, 0, 0.16);
  --dk-b-0f172a-12: rgba(0, 0, 0, 0.24);
  --dk-b-0f172a-35: rgba(0, 0, 0, 0.7);
  --dk-b-0f172a-75: #000000;
  --dk-b-10b981: #10b981;
  --dk-b-128c4a-35: rgba(0, 0, 0, 0.7);
  --dk-b-15803d: #15803d;
  --dk-b-16a34a: #16a34a;
  --dk-b-1aa77a: #1aa77a;
  --dk-b-1e1b4b: #1e1b4b;
  --dk-b-1e1b4b-30: rgba(0, 0, 0, 0.6);
  --dk-b-1e293b: #1e293b;
  --dk-b-1ebe5a: #1ebe5a;
  --dk-b-1f1a3d: #1f1a3d;
  --dk-b-1f1a3d-20: rgba(0, 0, 0, 0.4);
  --dk-b-1f1a3d-25: rgba(0, 0, 0, 0.5);
  --dk-b-1f1a3d-30: rgba(0, 0, 0, 0.6);
  --dk-b-1f1a3d-35: rgba(0, 0, 0, 0.7);
  --dk-b-1f1a3d-50: #000000;
  --dk-b-1f1a3d-55: #000000;
  --dk-b-1f1a3d-6: rgba(0, 0, 0, 0.12);
  --dk-b-1f1a3d-60: #000000;
  --dk-b-22c55e: #22c55e;
  --dk-b-2563eb: #2563eb;
  --dk-b-25d366: #25d366;
  --dk-b-2b1a6b-12: rgba(0, 0, 0, 0.24);
  --dk-b-2b1a6b-15: rgba(0, 0, 0, 0.3);
  --dk-b-2b1a6b-20: rgba(0, 0, 0, 0.4);
  --dk-b-2b1a6b-25: rgba(0, 0, 0, 0.5);
  --dk-b-2b1a6b-30: rgba(0, 0, 0, 0.6);
  --dk-b-3b0f8c: #3b0f8c;
  --dk-b-3b82f6: #3b82f6;
  --dk-b-4167ad-12: rgba(0, 0, 0, 0.24);
  --dk-b-4ade80: #4ade80;
  --dk-b-4c2da0-10: rgba(0, 0, 0, 0.2);
  --dk-b-4c2da0-12: rgba(0, 0, 0, 0.24);
  --dk-b-4c2da0-15: rgba(0, 0, 0, 0.3);
  --dk-b-4c2da0-18: rgba(0, 0, 0, 0.36);
  --dk-b-4c2da0-25: rgba(0, 0, 0, 0.5);
  --dk-b-4c2da0-30: rgba(0, 0, 0, 0.6);
  --dk-b-4c2da0-8: rgba(0, 0, 0, 0.16);
  --dk-b-5b21d6: #5b21d6;
  --dk-b-5b21d6-10: rgba(0, 0, 0, 0.2);
  --dk-b-5b21d6-15: rgba(0, 0, 0, 0.3);
  --dk-b-5b21d6-25: rgba(0, 0, 0, 0.5);
  --dk-b-5b21d6-30: rgba(0, 0, 0, 0.6);
  --dk-b-5b21d6-35: rgba(0, 0, 0, 0.7);
  --dk-b-5b21d6-6: rgba(0, 0, 0, 0.12);
  --dk-b-5b6fd6: #5b6fd6;
  --dk-b-5eead4: #26685e;
  --dk-b-6366f1: #222366;
  --dk-b-6d3fe0: #6d3fe0;
  --dk-b-6d4aff: #31236a;
  --dk-b-747775: #747775;
  --dk-b-7c3aed: #7c3aed;
  --dk-b-86c86c: #86c86c;
  --dk-b-86efac: #205633;
  --dk-b-8cc96d: #8cc96d;
  --dk-b-8fd0f5: #1b3e52;
  --dk-b-991b1b: #991b1b;
  --dk-b-9bcf78: #435c33;
  --dk-b-9fd283: #3e5631;
  --dk-b-a5b4cb: #323a46;
  --dk-b-a78bfa: #291b51;
  --dk-b-a7d585: #3f552f;
  --dk-b-a7da8f: #37512b;
  --dk-b-a7f3d0: #1a4732;
  --dk-b-a8d58c: #3c522e;
  --dk-b-a8dcf6: #183747;
  --dk-b-a9dcf7: #183646;
  --dk-b-b45309: #b45309;
  --dk-b-b45309-35: rgba(0, 0, 0, 0.7);
  --dk-b-b4a8dc: #2f2945;
  --dk-b-b4dc93: #3b4f2a;
  --dk-b-b6e09a: #364c27;
  --dk-b-b91c1c: #b91c1c;
  --dk-b-b91c1c-25: rgba(0, 0, 0, 0.5);
  --dk-b-b9a7f0: #271c46;
  --dk-b-b9df9c: #374b28;
  --dk-b-bbf7d0: #163e24;
  --dk-b-bfe3fb: #142c3c;
  --dk-b-c4b5fd: #1e153f;
  --dk-b-c7d2fe: #121a37;
  --dk-b-c8e7b0: #2f4122;
  --dk-b-c9b8f6: #22173f;
  --dk-b-c9e9fb: #122a37;
  --dk-b-cbd5e1: #252b33;
  --dk-b-cde9b6: #2e3e20;
  --dk-b-cfc6ea: #251f36;
  --dk-b-cfe8b8: #2e3d21;
  --dk-b-cfe9c3: #27381f;
  --dk-b-cfeab4: #2f3f1f;
  --dk-b-d1d5db: #282b2f;
  --dk-b-d2c4fa: #1d133a;
  --dk-b-d6efff: #102430;
  --dk-b-d8f0fd: #102530;
  --dk-b-db2777: #db2777;
  --dk-b-dbeafe: #101d2f;
  --dk-b-dc2626: #dc2626;
  --dk-b-dcfce7: #102f1b;
  --dk-b-ddd1fb: #1b1134;
  --dk-b-ddd2fb: #1b1134;
  --dk-b-dff1fb: #10232d;
  --dk-b-dff2fb: #10242d;
  --dk-b-e0e7ff: #0f152c;
  --dk-b-e0edff: #0f1b2c;
  --dk-b-e2d8fb: #1a1131;
  --dk-b-e2e8f0: #1b2027;
  --dk-b-e3d9fc: #191030;
  --dk-b-e3e2f2: #1a1928;
  --dk-b-e3ebfc: #0f182c;
  --dk-b-e3f3fd: #0f212c;
  --dk-b-e5e7eb: #1f2124;
  --dk-b-e6defa: #1a122d;
  --dk-b-e7a313: #e7a313;
  --dk-b-e7b96c: #614b27;
  --dk-b-e9e0fc: #190f2d;
  --dk-b-e9f9ef: #13271a;
  --dk-b-eaf6e2: #1d2916;
  --dk-b-eaf7ff: #10212b;
  --dk-b-ece2fc: #1a0f2c;
  --dk-b-ece9f6: #1a1625;
  --dk-b-ecfbf4: #102a1e;
  --dk-b-ecfdf5: #102b1f;
  --dk-b-ede6ff: #171029;
  --dk-b-ede7ff: #16102a;
  --dk-b-ede9fe: #15102a;
  --dk-b-eef2f7: #121b26;
  --dk-b-eef2ff: #11182e;
  --dk-b-eef5ff: #111d2e;
  --dk-b-eef7e4: #1f2915;
  --dk-b-ef4444: #ef4444;
  --dk-b-efe7ff: #18102a;
  --dk-b-eff6ff: #121e2e;
  --dk-b-f0fdf4: #112e1a;
  --dk-b-f1eef9: #17102a;
  --dk-b-f1f5f9: #121e2a;
  --dk-b-f2b766: #644821;
  --dk-b-f3d79a: #4d3d1b;
  --dk-b-f3effd: #19112d;
  --dk-b-f3f3fa: #12122c;
  --dk-b-f43f5e: #f43f5e;
  --dk-b-f4f1ff: #18122f;
  --dk-b-f59e0b: #f59e0b;
  --dk-b-f59e0b-35: rgba(245, 158, 11, 0.35);
  --dk-b-f59e0b-40: rgba(245, 158, 11, 0.4);
  --dk-b-f6c66a: #614b20;
  --dk-b-f6e7b8: #3f3517;
  --dk-b-f6efe0: #2b2415;
  --dk-b-f6f3ff: #1a1231;
  --dk-b-f7d48a: #53411c;
  --dk-b-f7f1ff: #1f122f;
  --dk-b-f7f4ff: #1b1331;
  --dk-b-f87171: #5d1f1f;
  --dk-b-f8f8f8: #19162b;
  --dk-b-f8fafc: #152230;
  --dk-b-f97316: #f97316;
  --dk-b-facc15: #facc15;
  --dk-b-faf8ff: #1d1333;
  --dk-b-faf9fd: #1b1333;
  --dk-b-fafbfc: #1a232c;
  --dk-b-fbbf24: #fbbf24;
  --dk-b-fbf0fb: #2c112c;
  --dk-b-fcd34d: #6a5a23;
  --dk-b-fde047: #6c6124;
  --dk-b-fde68a: #51461b;
  --dk-b-fde7c8: #372812;
  --dk-b-fdf0d5: #322711;
  --dk-b-fecaca: #361212;
  --dk-b-fecdd3: #351216;
  --dk-b-fed7aa: #432e16;
  --dk-b-fee2e2: #2c0f0f;
  --dk-b-fef3c7: #373012;
  --dk-b-fef9e7: #292310;
  --dk-b-fefce8: #2a2710;
  --dk-b-fff1b8: #3d3514;
  --dk-b-fff1c7: #372e12;
  --dk-b-fff1f2: #2f1214;
  --dk-b-fff3c4: #383013;
  --dk-b-fff3cc: #352c12;
  --dk-b-fff3d6: #302710;
  --dk-b-fff4cc: #352d12;
  --dk-b-fff6dc: #2e260f;
  --dk-b-fff7db: #2e280f;
  --dk-b-fff7ed: #2d2111;
  --dk-b-fff8e8: #2a2210;
  --dk-b-fffaf0: #2f2512;
  --dk-b-fffbeb: #2c2611;
  --dk-b-fffbef: #2e2712;
  --dk-b-ffffff: #1a1630;
  --dk-b-ffffff-25: rgba(26, 22, 48, 0.25);
  --dk-b-ffffff-70: rgba(26, 22, 48, 0.7);
  --dk-b-ffffff-75: rgba(26, 22, 48, 0.75);
  --dk-b-ffffff-85: rgba(26, 22, 48, 0.85);
  --dk-b-ffffff-90: rgba(26, 22, 48, 0.9);
  --dk-b-ffffff-92: rgba(26, 22, 48, 0.92);
  --dk-b-ffffff-95: rgba(26, 22, 48, 0.95);
  --dk-b-ffffff-97: rgba(26, 22, 48, 0.97);
  --dk-f-047857: #a4f5de;
  --dk-f-059669: #99f4d8;
  --dk-f-065f46: #adf6e1;
  --dk-f-10b981: #89f2cf;
  --dk-f-115e59: #aef0ec;
  --dk-f-128c4a: #9af2c2;
  --dk-f-14532d: #b5edcb;
  --dk-f-15803d: #a0efbe;
  --dk-f-166534: #adedc5;
  --dk-f-16a34a: #91f0b4;
  --dk-f-1d4ed8: #7c99ed;
  --dk-f-1e1b4b: #bebce7;
  --dk-f-1e3a8a: #9eb2ea;
  --dk-f-1f1a3d: #c8c3e5;
  --dk-f-1f1f1f: #d9d9d9;
  --dk-f-22c55e: #85eaaa;
  --dk-f-2563eb: #88a9f2;
  --dk-f-2e1065: #c4abf2;
  --dk-f-3730a3: #9b96e0;
  --dk-f-3a1c9c: #aa95ec;
  --dk-f-3b3655: #c2bed6;
  --dk-f-3b82f6: #88b0f2;
  --dk-f-4338ca: #9c96e3;
  --dk-f-475569: #b7c0ce;
  --dk-f-4b1fc4: #a085ec;
  --dk-f-4b4569: #bab6cf;
  --dk-f-5b21d6: #a07deb;
  --dk-f-5c3b00: #f6ddb0;
  --dk-f-64748b: #aab4c2;
  --dk-f-6b4d00: #f6e1ab;
  --dk-f-6d28d9: #b28eeb;
  --dk-f-713f12: #f1c9a6;
  --dk-f-7a4a00: #f5d6a5;
  --dk-f-7c2bd0: #b282e5;
  --dk-f-7c2d12: #f1b5a1;
  --dk-f-7c4dea: #a888f1;
  --dk-f-7c5ce6: #a38ced;
  --dk-f-854d0e: #f4cb9c;
  --dk-f-8b88a8: #b4b2c7;
  --dk-f-92400e: #f4ba97;
  --dk-f-9333ea: #bf88f2;
  --dk-f-991b1b: #ed9696;
  --dk-f-9a3412: #f2ab94;
  --dk-f-9f1239: #f392ac;
  --dk-f-a78bfa: #a78bfa;
  --dk-f-b07d00: #f3d792;
  --dk-f-b45309: #f2b98d;
  --dk-f-b91c1c: #ed8989;
  --dk-f-c2410c: #f2a687;
  --dk-f-c7b6f5: #c7b6f5;
  --dk-f-cbd5e1: #cbd5e1;
  --dk-f-cfc0f7: #cfc0f7;
  --dk-f-d1d5db: #d1d5db;
  --dk-f-d97706: #f1bd81;
  --dk-f-db2777: #ec8db7;
  --dk-f-dc2626: #ed8d8d;
  --dk-f-e2d8fb: #e2d8fb;
  --dk-f-ede6ff: #ede6ff;
  --dk-f-ef4444: #f28888;
  --dk-f-f59e0b: #f2ca88;
  --dk-f-f5b301: #f0d079;
  --dk-f-fde047: #f2e188;
  --dk-f-fff7d6: #fff7d6;
  --dk-f-ffffff: #ffffff;
}
