.gingham-dt{font-size:var(--t-body-sm);line-height:1.25rem}.gingham-dt-label{display:block}.gingham-dt-label-text{font-weight:var(--w-medium);color:var(--fg);align-items:center;display:inline-flex}.gingham-dt-help{color:var(--fg-soft);font-size:.75rem;line-height:1rem;display:block}.gingham-dt-input{margin-top:var(--s-1);width:100%;padding:6px var(--s-3);border:1px solid var(--rule);border-radius:var(--r-1);background:var(--bg-raised);color:var(--fg-strong);font-size:var(--t-body-sm);line-height:1.25rem}.gingham-dt-input:focus{box-shadow:0 0 0 2px var(--accent);border-color:#0000}.dark-mode .gingham-dt-label-text{color:var(--dm-slate-200)}.dark-mode .gingham-dt-help{color:var(--dm-slate-400)}.dark-mode .gingham-dt-input{background:var(--dm-slate-900);color:var(--dm-slate-200);border-color:var(--dm-slate-600)}.dark-mode .gingham-dt-input:focus{box-shadow:0 0 0 2px var(--dm-indigo-500);border-color:#0000}.dark-mode [data-theme=fabric] .gingham-dt-label-text{color:var(--fg)}.dark-mode [data-theme=fabric] .gingham-dt-help{color:var(--fg-soft)}.dark-mode [data-theme=fabric] .gingham-dt-input{background:var(--bg-raised);color:var(--fg-strong);border-color:var(--rule)}.dark-mode [data-theme=fabric] .gingham-dt-input:focus{box-shadow:0 0 0 2px var(--accent);border-color:#0000!important}.gingham-toast-viewport{bottom:var(--s-4);right:var(--s-4);z-index:60;align-items:flex-end;gap:var(--s-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.gingham-toast{max-width:24rem;padding:var(--s-3) var(--s-4);border:1px solid var(--rule-strong);border-radius:var(--r-2);background:var(--bg-raised);box-shadow:var(--shadow-3);font-family:var(--font-body);font-size:var(--t-caption);line-height:var(--lh-dense);color:var(--fg);pointer-events:auto;border-left-width:3px}.gingham-toast-action{margin-left:var(--s-3);font-family:var(--font-body);font-size:var(--t-caption);font-weight:var(--w-medium);color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.gingham-toast-action:hover{color:var(--fg-strong)}.gingham-toast--success{border-left-color:var(--signal-ok);background:color-mix(in srgb, var(--signal-ok) 8%, var(--bg-raised))}.gingham-toast--info{border-left-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--bg-raised))}.gingham-toast--warning{border-left-color:var(--signal-warn-deep);background:color-mix(in srgb, var(--signal-warn-deep) 8%, var(--bg-raised))}.gingham-toast--error{border-left-color:var(--ember);background:color-mix(in srgb, var(--ember) 8%, var(--bg-raised))}.gx-toast-scope{align-items:center;left:50%;right:auto;transform:translate(-50%)}.gx-toast-scope .gingham-toast,.gx-toast-scope .gingham-toast--success,.gx-toast-scope .gingham-toast--info,.gx-toast-scope .gingham-toast--warning,.gx-toast-scope .gingham-toast--error{background:var(--ink);color:var(--linen);box-shadow:var(--shadow-4);border:none}.gx-toast-scope .gingham-toast-action{color:var(--fill-undo);text-decoration:none}.gx-toast-scope .gingham-toast-action:hover{color:var(--fill-undo);text-decoration:underline}.gingham-confirm{width:380px;max-width:90vw;padding:var(--s-5);gap:var(--s-3);background:var(--bg-raised);border:1px solid var(--rule-strong);border-radius:var(--r-3);box-shadow:var(--shadow-4);flex-direction:column;display:flex}.gingham-confirm-title{font-family:var(--font-body);font-size:var(--t-body);font-weight:var(--w-semibold);line-height:var(--lh-heading);color:var(--fg-strong);margin:0}.gingham-confirm-body{font-family:var(--font-body);font-size:var(--t-caption);line-height:var(--lh-dense);color:var(--fg);margin:0}.gingham-confirm-actions{justify-content:flex-end;gap:var(--s-2);display:flex}.gingham-confirm-cancel{padding:var(--s-1) var(--s-3);border:1px solid var(--rule);border-radius:var(--r-2);background:var(--bg-raised);font-family:var(--font-body);font-size:var(--t-caption);font-weight:var(--w-medium);color:var(--fg);cursor:pointer}.gingham-confirm-cancel:hover{background:var(--bg);border-color:var(--rule-strong)}.gingham-confirm-accept{padding:var(--s-1) var(--s-3);border:1px solid var(--accent);border-radius:var(--r-2);background:var(--bg-raised);font-family:var(--font-body);font-size:var(--t-caption);font-weight:var(--w-medium);color:var(--accent);cursor:pointer}.gingham-confirm-accept:hover{background:var(--bg)}.gingham-confirm-accept--destructive{border-color:var(--ember);color:var(--ember)}.gingham-dc>*+*{margin-top:var(--s-3)}.gingham-dc-warning{color:var(--signal-warn-deep);font-size:.75rem;line-height:1rem}.gingham-dc-warning>*+*{margin-top:2px}.gingham-dc-warning-row{align-items:center;gap:var(--s-1);display:flex}.gingham-dc-warning-icon{flex-shrink:0;width:12px;height:12px}.gingham-dc-allday{align-items:flex-start;gap:var(--s-2);font-size:var(--t-body-sm);line-height:1.25rem;display:flex}.gingham-dc-allday-box{margin-top:2px}.gingham-dc-allday-label{font-weight:var(--w-medium);color:var(--fg);align-items:center;display:inline-flex}.gingham-dc-note{color:var(--fg-soft);font-size:.75rem;font-style:italic;line-height:1rem}.dark-mode .gingham-dc-warning{color:var(--dm-amber-400)}.dark-mode .gingham-dc-allday-label{color:var(--dm-slate-200)}.dark-mode .gingham-dc-note{color:var(--dm-slate-400)}.dark-mode [data-theme=fabric] .gingham-dc-warning{color:var(--signal-warn-deep)}.dark-mode [data-theme=fabric] .gingham-dc-allday-label{color:var(--fg)}.dark-mode [data-theme=fabric] .gingham-dc-note{color:var(--fg-soft)}.bds-status{font-family:var(--font-sans,inherit);white-space:nowrap;color:var(--signal-info);align-items:center;gap:5px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.bds-status__icon{flex:none;width:14px;height:14px}.bds-status__label{display:inline-block}.bds-status--pill{border-radius:var(--r-pill,999px);background:color-mix(in srgb, currentColor 12%, transparent);padding:4px 10px}.bds-status--tag{padding:2px 4px}.bds-status--ok{color:var(--signal-ok-deep)}.bds-status--warn{color:var(--signal-warn-deep)}.bds-status--err{color:var(--clay)}.bds-status--critical{color:var(--ember)}.bds-status--info{color:var(--accent)}.bds-status--neutral{color:var(--fg-faint,var(--slate-faint))}.dark-mode{--dm-slate-50:#f8fafc;--dm-slate-100:#f1f5f9;--dm-slate-200:#e2e8f0;--dm-slate-300:#cbd5e1;--dm-slate-400:#94a3b8;--dm-slate-500:#64748b;--dm-slate-600:#475569;--dm-slate-700:#334155;--dm-slate-800:#1e293b;--dm-slate-900:#0f172a;--dm-indigo-200:#c7d2fe;--dm-indigo-300:#a5b4fc;--dm-indigo-400:#818cf8;--dm-indigo-500:#6366f1;--dm-indigo-700:#4338ca;--dm-indigo-800:#3730a3;--dm-indigo-900:#312e81;--dm-indigo-950:#1e1b4b;--dm-blue-100:#1e3a5f;--dm-blue-300:#93c5fd;--dm-blue-400:#60a5fa;--dm-blue-800:#1e40af;--dm-blue-950:#172554;--dm-green-300:#86efac;--dm-green-400:#4ade80;--dm-green-500:#22c55e;--dm-green-800:#166534;--dm-green-900:#14532d;--dm-green-950:#052e16;--dm-amber-400:#fbbf24;--dm-amber-900:#78350f;--dm-amber-950:#451a03;--dm-purple-50:#2e1065;--dm-purple-200:#e9d5ff;--dm-purple-300:#d8b4fe;--dm-purple-400:#c084fc;--dm-purple-800:#6b21a8;--dm-purple-900:#581c87;--dm-purple-950:#3b0764;--dm-red-300:#fca5a5;--dm-red-400:#f87171;--dm-red-500:#ef4444;--dm-red-700:#b91c1c;--dm-red-800:#991b1b;--dm-red-900:#7f1d1d;--dm-red-950:#450a0a;color:var(--dm-slate-200);background:var(--dm-slate-900)!important}.dark-mode .bg-white,.dark-mode .bg-gray-50{background-color:var(--dm-slate-800)!important}.dark-mode .bg-gray-100{background-color:var(--dm-slate-700)!important}.dark-mode .bg-gray-200{background-color:var(--dm-slate-600)!important}.dark-mode .bg-gray-300{background-color:var(--dm-slate-500)!important}.dark-mode .hover\:bg-gray-100:hover{background-color:var(--dm-slate-700)!important}.dark-mode .hover\:bg-gray-200:hover{background-color:var(--dm-slate-600)!important}.dark-mode .hover\:bg-gray-50:hover{background-color:var(--dm-slate-700)!important}.dark-mode .text-gray-900{color:var(--dm-slate-50)!important}.dark-mode .text-gray-800{color:var(--dm-slate-100)!important}.dark-mode .text-gray-700{color:var(--dm-slate-200)!important}.dark-mode .text-gray-600{color:var(--dm-slate-300)!important}.dark-mode .text-gray-500,.dark-mode .text-gray-400{color:var(--dm-slate-400)!important}.dark-mode .text-gray-300{color:var(--dm-slate-500)!important}.dark-mode .hover\:text-gray-700:hover{color:var(--dm-slate-100)!important}.dark-mode .hover\:text-gray-800:hover{color:var(--dm-slate-50)!important}.dark-mode .hover\:text-gray-600:hover{color:var(--dm-slate-200)!important}.dark-mode .hover\:text-gray-500:hover{color:var(--dm-slate-300)!important}.dark-mode .border-gray-200{border-color:var(--dm-slate-700)!important}.dark-mode .border-gray-300{border-color:var(--dm-slate-600)!important}.dark-mode .border-transparent{border-color:#0000!important}.dark-mode .prose p,.dark-mode .prose li,.dark-mode .prose h1,.dark-mode .prose h2,.dark-mode .prose h3,.dark-mode .prose span,.dark-mode .prose td{color:var(--dm-slate-200)!important}.dark-mode .prose a{color:var(--dm-indigo-400)!important}.dark-mode .bg-indigo-50{background-color:var(--dm-indigo-950)!important}.dark-mode .bg-indigo-100{background-color:var(--dm-indigo-900)!important}.dark-mode .bg-indigo-200{background-color:var(--dm-indigo-800)!important}.dark-mode .bg-blue-50{background-color:var(--dm-blue-950)!important}.dark-mode .bg-green-50{background-color:var(--dm-green-950)!important}.dark-mode .bg-green-100{background-color:var(--dm-green-900)!important}.dark-mode .bg-green-200{background-color:var(--dm-green-800)!important}.dark-mode .bg-amber-50{background-color:var(--dm-amber-950)!important}.dark-mode .bg-amber-100{background-color:var(--dm-amber-900)!important}.dark-mode .bg-purple-50{background-color:var(--dm-purple-50)!important}.dark-mode .bg-purple-100{background-color:var(--dm-purple-950)!important}.dark-mode .bg-red-50{background-color:var(--dm-red-950)!important}.dark-mode .bg-red-100{background-color:var(--dm-red-900)!important}.dark-mode .bg-red-200{background-color:var(--dm-red-800)!important}.dark-mode .hover\:bg-indigo-50:hover{background-color:var(--dm-indigo-900)!important}.dark-mode .hover\:bg-indigo-100:hover{background-color:var(--dm-indigo-800)!important}.dark-mode .hover\:bg-indigo-200:hover{background-color:var(--dm-indigo-700)!important}.dark-mode .hover\:bg-green-200:hover{background-color:var(--dm-green-800)!important}.dark-mode .hover\:bg-purple-100:hover{background-color:var(--dm-purple-900)!important}.dark-mode .hover\:bg-purple-200:hover{background-color:var(--dm-purple-800)!important}.dark-mode .hover\:bg-red-200:hover{background-color:var(--dm-red-700)!important}.dark-mode .text-indigo-600{color:var(--dm-indigo-400)!important}.dark-mode .text-indigo-700{color:var(--dm-indigo-200)!important}.dark-mode .text-indigo-500{color:var(--dm-indigo-400)!important}.dark-mode .text-indigo-300{color:var(--dm-indigo-200)!important}.dark-mode .text-green-600{color:var(--dm-green-400)!important}.dark-mode .text-green-700{color:var(--dm-green-300)!important}.dark-mode .text-purple-600{color:var(--dm-purple-400)!important}.dark-mode .text-purple-700{color:var(--dm-purple-300)!important}.dark-mode .text-purple-900{color:var(--dm-purple-200)!important}.dark-mode .text-blue-700{color:var(--dm-blue-300)!important}.dark-mode .text-blue-500{color:var(--dm-blue-400)!important}.dark-mode .text-amber-700{color:var(--dm-amber-400)!important}.dark-mode .text-red-600{color:var(--dm-red-400)!important}.dark-mode .text-red-700{color:var(--dm-red-300)!important}.dark-mode .text-red-400{color:var(--dm-red-400)!important}.dark-mode .text-red-500{color:var(--dm-red-500)!important}.dark-mode .from-indigo-50{--tw-gradient-from:var(--dm-indigo-950)!important}.dark-mode .to-blue-50{--tw-gradient-to:var(--dm-blue-950)!important}.dark-mode .from-slate-50{--tw-gradient-from:var(--dm-slate-900)!important}.dark-mode .via-blue-50{--tw-gradient-stops:var(--tw-gradient-from), var(--dm-slate-900), var(--tw-gradient-to)!important}.dark-mode .to-indigo-50,.dark-mode .to-indigo-100{--tw-gradient-to:var(--dm-slate-900)!important}.dark-mode .from-blue-50{--tw-gradient-from:var(--dm-slate-900)!important}.dark-mode .hover\:from-indigo-100:hover{--tw-gradient-from:var(--dm-indigo-900)!important}.dark-mode .hover\:to-blue-100:hover{--tw-gradient-to:var(--dm-blue-100)!important}.dark-mode input[type=text],.dark-mode input[type=number],.dark-mode textarea,.dark-mode select{background-color:var(--dm-slate-900)!important;color:var(--dm-slate-200)!important;border-color:var(--dm-slate-600)!important}.dark-mode input::-moz-placeholder{color:var(--dm-slate-500)!important}.dark-mode textarea::-moz-placeholder{color:var(--dm-slate-500)!important}.dark-mode input::placeholder,.dark-mode textarea::placeholder{color:var(--dm-slate-500)!important}.dark-mode input:focus,.dark-mode textarea:focus,.dark-mode select:focus{border-color:var(--dm-indigo-500)!important}.dark-mode input[type=radio],.dark-mode input[type=checkbox]{accent-color:var(--dm-indigo-500)}.dark-mode input[type=file]{color:var(--dm-slate-400)!important}.dark-mode .file\:bg-indigo-50::file-selector-button{background-color:var(--dm-indigo-900)!important;color:var(--dm-indigo-300)!important}.dark-mode pre{background-color:var(--dm-slate-900)!important;color:var(--dm-slate-300)!important;border-color:var(--dm-slate-700)!important}.dark-mode [dangerouslysetinnerhtml] *,.dark-mode .h-96 div,.dark-mode .h-96 p,.dark-mode .h-96 li,.dark-mode .h-96 td,.dark-mode .h-96 th,.dark-mode .h-96 span,.dark-mode .h-96 h1,.dark-mode .h-96 h2,.dark-mode .h-96 h3,.dark-mode .h-96 h4{color:var(--dm-slate-300)!important}.dark-mode .h-96 a{color:var(--dm-indigo-400)!important}.dark-mode .h-96 table,.dark-mode .h-96 td,.dark-mode .h-96 th{border-color:var(--dm-slate-600)!important}.dark-mode .shadow-sm{box-shadow:0 1px 2px #0006!important}.dark-mode .shadow-lg{box-shadow:0 4px 16px #00000080!important}.dark-mode .shadow-xl{box-shadow:0 8px 24px #0009!important}.dark-mode .bg-opacity-50{--tw-bg-opacity:.7!important}.dark-mode ::-webkit-scrollbar{width:8px;height:8px}.dark-mode ::-webkit-scrollbar-track{background:var(--dm-slate-800)}.dark-mode ::-webkit-scrollbar-thumb{background:var(--dm-slate-600);border-radius:4px}.dark-mode ::-webkit-scrollbar-thumb:hover{background:var(--dm-slate-500)}.dark-mode .border-indigo-600{border-color:var(--dm-indigo-400)!important}.dark-mode .border-indigo-500{border-color:var(--dm-indigo-500)!important}.dark-mode .border-indigo-400{border-color:var(--dm-indigo-400)!important}.dark-mode .border-indigo-300{border-color:var(--dm-indigo-300)!important}.dark-mode .border-blue-200{border-color:var(--dm-blue-800)!important}.dark-mode .border-purple-200{border-color:var(--dm-purple-800)!important}.dark-mode .border-green-200{border-color:var(--dm-green-800)!important}.dark-mode .border-red-200{border-color:var(--dm-red-800)!important}.dark-mode .border-red-300{border-color:var(--dm-red-700)!important}.dark-mode .text-blue-800{color:var(--dm-blue-300)!important}.dark-mode .text-red-200{color:var(--dm-red-300)!important}.dark-mode .bg-green-400{background-color:var(--dm-green-500)!important}.dark-mode .bg-blue-100{background-color:var(--dm-blue-100)!important}.dark-mode ::file-selector-button{background-color:var(--dm-indigo-900)!important;color:var(--dm-indigo-300)!important;border:none!important}.gingham-shell-header{background:var(--bg);border-bottom:1px solid var(--rule);box-shadow:var(--shadow-1)}.gingham-shell-header-inner{padding:var(--s-3) var(--s-4)}.gingham-shell-mark{flex-shrink:0;width:30px;height:30px}.gingham-shell-wordmark{font-family:var(--font-display);font-size:var(--t-display-sm);font-weight:var(--w-medium);letter-spacing:var(--ls-display);line-height:var(--lh-heading);color:var(--fg-strong);white-space:nowrap;margin:0}.gingham-shell-subtitle{font-family:var(--font-body);font-size:var(--t-micro);line-height:var(--lh-dense);color:var(--fg-soft);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.gingham-shell-version{font-family:var(--font-data)}.gingham-shell-envpill{padding:var(--s-1) var(--s-2);border-radius:var(--r-pill);border:1px solid var(--rule);background:var(--bg-sunken);font-family:var(--font-body);font-size:var(--t-micro);font-weight:var(--w-semibold);letter-spacing:var(--ls-micro);color:var(--accent);flex-shrink:0;line-height:1}.gingham-shell-envpill--dev{color:var(--signal-warn-deep)}.gingham-shell-tabs{gap:var(--s-1);display:flex}.gingham-shell-tab{font-family:var(--font-body);font-size:var(--t-body-sm);font-weight:var(--w-medium);white-space:nowrap;color:var(--fg-soft);border-radius:var(--r-2);padding:var(--s-2) var(--s-3);cursor:pointer;transition:background var(--dur-quick) var(--easing-standard), color var(--dur-quick) var(--easing-standard), border-color var(--dur-quick) var(--easing-standard);background:0 0;border:1px solid #0000;line-height:1}.gingham-shell-tab:hover{color:var(--fg-strong);background:var(--bg-sunken)}.gingham-shell-tab--active,.gingham-shell-tab--active:hover{color:var(--fg-strong);background:var(--bg-raised);border-color:var(--rule);box-shadow:var(--shadow-1)}.gingham-shell-tab{align-items:center;gap:var(--s-1);display:inline-flex}.gingham-shell-tab-icon{color:var(--fg-faint)}.gingham-shell-tab--active .gingham-shell-tab-icon{color:var(--accent)}.gingham-shell-tab:disabled,.gingham-shell-tab:disabled:hover{color:var(--fg-pale);cursor:not-allowed;background:0 0}.gingham-shell-tab:disabled .gingham-shell-tab-icon{color:var(--fg-pale)}.gingham-shell-coursepicker-wrap{position:relative}.gingham-shell-coursepicker{align-items:center;gap:var(--s-2);max-width:220px;padding:var(--s-2) var(--s-3);border:1px solid var(--rule);border-radius:var(--r-2);background:var(--bg-raised);cursor:pointer;transition:border-color var(--dur-quick) var(--easing-standard);display:inline-flex}.gingham-shell-coursepicker:hover{border-color:var(--rule-strong)}.gingham-shell-coursepicker--open,.gingham-shell-coursepicker--open:hover{border-color:var(--accent)}.gingham-shell-coursepicker-title{font-family:var(--font-body);font-size:var(--t-body-sm);font-weight:var(--w-medium);color:var(--fg-strong);white-space:nowrap;text-overflow:ellipsis;line-height:1;overflow:hidden}.gingham-shell-coursepicker-chevron{color:var(--fg-faint);flex-shrink:0}.gingham-shell-valchip{align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3);border:1px solid var(--rule);border-radius:var(--r-pill);background:var(--bg-raised);font-family:var(--font-data);font-size:var(--t-caption);font-weight:var(--w-semibold);line-height:1;display:inline-flex}.gingham-shell-valchip-err{color:var(--ember)}.gingham-shell-valchip-warn{color:var(--signal-warn-deep)}.gingham-shell-quietlink{font-family:var(--font-body);font-size:var(--t-body-sm);font-weight:var(--w-medium);white-space:nowrap;color:var(--fg-soft);padding:var(--s-2) var(--s-1);cursor:pointer;transition:color var(--dur-quick) var(--easing-standard);background:0 0;border:none;line-height:1;text-decoration:none}.gingham-shell-quietlink:hover{color:var(--fg-strong);text-decoration:underline}.gingham-shell-quietlink--active{color:var(--fg-strong);text-underline-offset:4px;text-decoration:underline}.gingham-shell-iconbtn{width:32px;height:32px;color:var(--fg);border:1px solid var(--rule);border-radius:var(--r-2);cursor:pointer;transition:background var(--dur-quick) var(--easing-standard), border-color var(--dur-quick) var(--easing-standard);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.gingham-shell-iconbtn:hover{background:var(--bg-sunken);border-color:var(--rule-strong)}.gingham-mobile-header{background:var(--bg);border-bottom:1px solid var(--rule);padding:var(--s-2) var(--s-3) var(--s-3)}.gingham-mobile-header-row{align-items:center;gap:var(--s-2);min-width:0;margin-bottom:var(--s-2);display:flex}.gingham-mobile-mark{flex-shrink:0;width:22px;height:22px}.gingham-mobile-course-title{min-width:0;font-family:var(--font-body);font-size:var(--t-caption);font-weight:var(--w-semibold);line-height:var(--lh-dense);color:var(--fg-strong);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.gingham-mobile-segmented{gap:var(--s-1);padding:var(--s-1);background:var(--bg-sunken);border:1px solid var(--rule);border-radius:var(--r-2);display:flex}.gingham-mobile-segment{padding:var(--s-2) var(--s-3);font-family:var(--font-body);font-size:var(--t-body-sm);font-weight:var(--w-medium);color:var(--fg-soft);border-radius:var(--r-1);cursor:pointer;background:0 0;border:1px solid #0000;flex:1;line-height:1}.gingham-mobile-segment--active{color:var(--fg-strong);background:var(--bg-raised);border-color:var(--rule);box-shadow:var(--shadow-1)}.gingham-mobile-segment:disabled{color:var(--fg-pale);cursor:not-allowed}.gingham-mobile-bottomnav{z-index:20;padding:var(--s-2) 0 var(--s-3);background:var(--bg);border-top:1px solid var(--rule);display:flex;position:fixed;bottom:0;left:0;right:0}.gingham-mobile-bottomnav-btn{align-items:center;gap:var(--s-1);font-family:var(--font-body);font-size:var(--t-micro);font-weight:var(--w-medium);color:var(--fg-soft);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;display:flex}.gingham-mobile-bottomnav-btn--active{color:var(--accent);font-weight:var(--w-semibold)}.gingham-mobile-content{padding-bottom:var(--s-9)}.gingham-mobile-courses .gingham-coursepicker-menu{width:100%;position:static}.dark-mode .gingham-shell-envpill--dev,.dark-mode .gingham-shell-valchip-warn{color:var(--signal-warn)}.dark-mode .gingham-shell-valchip-err{color:var(--clay-soft)}:focus-visible{outline:2px solid var(--accent,#4f46e5);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.gx-menu-content,.gx-popover-content{background:var(--bg-raised);border:1px solid var(--rule);border-radius:var(--r-2);min-width:180px;box-shadow:var(--shadow-3);padding:var(--s-1);font-family:var(--font-body);color:var(--fg);z-index:300;font-size:13.5px}.gx-popover-content{padding:var(--s-3)}.gx-menu-header{padding:var(--s-2) var(--s-3) var(--s-1);font-size:var(--t-caption);color:var(--fg-faint);font-weight:600}.gx-menu-item{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-1);color:var(--fg);cursor:pointer;-webkit-user-select:none;user-select:none;line-height:var(--lh-dense);outline:none;display:flex}.gx-menu-item[data-highlighted]{background:var(--bg-panel);color:var(--fg-strong)}.gx-menu-item[data-disabled]{color:var(--fg-pale);cursor:default}.gx-menu-item--danger{color:var(--clay)}.gx-menu-item-hint{opacity:.75;font-size:11.5px}.gx-menu-item--danger[data-highlighted]{background:var(--fill-err);color:var(--ember)}.gx-menu-item__icon{color:currentColor;flex:none;width:15px;height:15px}.gx-menu-meta{padding-left:var(--s-4);font-size:var(--t-caption);color:var(--fg-faint);margin-left:auto}.gx-menu-meta--warn{color:var(--text-warn)}.gx-menu-separator{background:var(--rule);height:1px;margin:var(--s-1) calc(var(--s-1) * -1)}.gx-dialog-overlay{z-index:200;padding:var(--s-5);background:var(--scrim);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gx-dialog-content{background:var(--bg-raised);border:1px solid var(--rule);border-radius:var(--r-3);width:100%;max-width:480px;max-height:86vh;box-shadow:var(--shadow-4);padding:var(--s-5);font-family:var(--font-body);color:var(--fg);outline:none;overflow:auto}.gx-dialog-head{justify-content:space-between;align-items:flex-start;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.gx-dialog-title{font-family:var(--font-display);color:var(--fg-strong);margin:0;font-size:19px;font-weight:500}.gx-dialog-description{color:var(--fg-soft);margin:var(--s-1) 0 0;font-size:13.5px;line-height:var(--lh-dense)}.gx-dialog-close{cursor:pointer;color:var(--fg-soft);padding:var(--s-1);border-radius:var(--r-1);background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.gx-dialog-close:hover{background:var(--bg-sunken);color:var(--fg-strong)}.gx-dialog-body{margin:var(--s-3) 0;color:var(--fg);font-size:13.5px;line-height:var(--lh-body)}.gx-dialog-footer{justify-content:flex-end;align-items:center;gap:var(--s-2);margin-top:var(--s-4);display:flex}.gx-menu-item:focus-visible,.gx-dialog-close:focus-visible,.gx-dialog-content:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.gx-segctl{background:var(--bg-panel);border-radius:var(--r-2);gap:2px;padding:3px;display:inline-flex}.gx-segctl-btn{font-family:var(--font-body);color:var(--fg-soft);border-radius:var(--r-1);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:5px 13px;font-size:12.5px;font-weight:500;display:inline-flex}.gx-segctl-btn:hover{color:var(--fg-strong)}.gx-segctl-btn[data-active=true]{background:var(--bg-raised);color:var(--fg-strong);box-shadow:var(--shadow-2);font-weight:600}.gx-segctl-btn:disabled{color:var(--fg-pale);cursor:default}.gx-segctl-btn:disabled:hover{color:var(--fg-pale)}.gx-segctl-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.gx-segctl-btn__icon{flex:none;width:14px;height:14px}.gx-segctl--mini{padding:2px}.gx-segctl--mini .gx-segctl-btn{padding:2px 9px;font-size:11px}.bds-btn{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border:1px solid var(--rule);border-radius:var(--r-2);background:var(--bg);font-family:var(--font-body);font-size:var(--t-caption);font-weight:var(--w-medium);color:var(--fg-strong);text-align:left;cursor:pointer;transition:background var(--dur-quick) var(--easing-standard), border-color var(--dur-quick) var(--easing-standard);line-height:1.2;display:inline-flex}.bds-btn:hover{background:var(--bg-sunken)}.bds-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.bds-btn:disabled{opacity:.5;cursor:not-allowed}.bds-btn:disabled:hover{background:var(--bg)}.bds-btn[data-active=true]{border-color:var(--accent);color:var(--accent);background:var(--bg-raised)}.bds-btn--primary{background:var(--accent-deep);border-color:var(--accent-deep);color:var(--action-fg)}.bds-btn--primary:hover{background:var(--ink);border-color:var(--ink)}.bds-btn--primary:disabled:hover{background:var(--accent-deep)}.bds-btn--danger{border-color:color-mix(in srgb, var(--ember) 40%, transparent);background:color-mix(in srgb, var(--ember) 5%, transparent);color:var(--ember)}.bds-btn--danger:hover{background:color-mix(in srgb, var(--ember) 12%, transparent)}.bds-btn--block{width:100%}.bds-btn--sm{gap:6px;padding:4px 8px;font-size:12px}.bds-btn__icon{flex:none;width:16px;height:16px}.bds-btn--sm .bds-btn__icon{width:14px;height:14px}.bds-btn__spin{animation:.9s linear infinite bds-btn-spin}@keyframes bds-btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.bds-btn__spin{animation:none}}
