*,*:before,*:after{box-sizing:border-box}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}body{font-family:var(--btm-font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);font-size:var(--btm-text-base, 1rem);line-height:var(--btm-leading-normal, 1.5);color:var(--btm-text-primary, #e6edf3);background-color:var(--btm-bg-primary, #0d1117);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:var(--btm-accent-electric, #3b82f6);text-decoration:none;transition:color var(--btm-transition-fast, .1s ease-out)}a:hover{color:var(--btm-text-primary, #e6edf3)}ul,ol{list-style:none;padding:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--btm-bg-primary, #0d1117)}::-webkit-scrollbar-thumb{background:var(--btm-border-default, #30363d);border-radius:var(--btm-radius-full, 9999px)}::-webkit-scrollbar-thumb:hover{background:var(--btm-text-muted, #6e7681)}::selection{background:#e74c3c4d;color:var(--btm-text-primary, #e6edf3)}:root{--btm-bg-primary: #0d1117;--btm-bg-secondary: #1a1a2e;--btm-bg-surface: #161b22;--btm-bg-elevated: #21262d;--btm-accent-red: #e74c3c;--btm-accent-red-hover: #c0392b;--btm-accent-blue: #0f3460;--btm-accent-electric: #3b82f6;--btm-success: #27ae60;--btm-warning: #f39c12;--btm-error: #dc3545;--btm-error-hover: #c82333;--btm-info: #17a2b8;--btm-text-primary: #e6edf3;--btm-text-secondary: #8b949e;--btm-text-muted: #6e7681;--btm-text-inverse: #0d1117;--btm-border-default: #30363d;--btm-border-muted: #21262d;--btm-border-accent: #e74c3c}[data-theme=light]{--btm-bg-primary: #ffffff;--btm-bg-secondary: #f6f8fa;--btm-bg-surface: #f0f2f5;--btm-bg-elevated: #ffffff;--btm-text-primary: #1f2328;--btm-text-secondary: #656d76;--btm-text-muted: #8b949e;--btm-text-inverse: #ffffff;--btm-border-default: #d0d7de;--btm-border-muted: #e0e0e0}:root{--btm-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", "Roboto", "Oxygen", "Ubuntu", sans-serif;--btm-font-mono: "SF Mono", "Fira Code", "Consolas", "Monaco", monospace;--btm-text-xs: .75rem;--btm-text-sm: .875rem;--btm-text-base: 1rem;--btm-text-lg: 1.125rem;--btm-text-xl: 1.25rem;--btm-text-2xl: 1.5rem;--btm-text-3xl: 1.875rem;--btm-text-4xl: 2.25rem;--btm-text-5xl: 3rem;--btm-leading-tight: 1.1;--btm-leading-snug: 1.25;--btm-leading-normal: 1.5;--btm-leading-relaxed: 1.625;--btm-font-light: 300;--btm-font-regular: 400;--btm-font-medium: 500;--btm-font-semibold: 600;--btm-font-bold: 700;--btm-font-extrabold: 800;--btm-tracking-tight: -.03em;--btm-tracking-snug: -.02em;--btm-tracking-normal: 0;--btm-tracking-wide: .02em;--btm-tracking-wider: .05em}:root{--btm-space-1: .25rem;--btm-space-2: .5rem;--btm-space-3: .75rem;--btm-space-4: 1rem;--btm-space-5: 1.5rem;--btm-space-6: 2rem;--btm-space-7: 2.5rem;--btm-space-8: 3rem;--btm-space-10: 4rem;--btm-space-12: 6rem;--btm-radius-none: 0;--btm-radius-sm: 4px;--btm-radius-md: 6px;--btm-radius-lg: 8px;--btm-radius-xl: 12px;--btm-radius-2xl: 16px;--btm-radius-full: 9999px;--btm-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--btm-shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--btm-shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--btm-shadow-xl: 0 20px 25px rgba(0, 0, 0, .6);--btm-shadow-glow-red: 0 0 20px rgba(231, 76, 60, .3);--btm-shadow-glow-blue: 0 0 20px rgba(59, 130, 246, .3);--btm-focus-ring: 0 0 0 3px rgba(59, 130, 246, .2);--btm-focus-ring-offset: 0 0 0 2px var(--btm-bg-primary), 0 0 0 4px var(--btm-accent-electric)}:root{--btm-duration-fast: .1s;--btm-duration-default: .2s;--btm-duration-medium: .3s;--btm-duration-slow: .5s;--btm-ease-out: ease-out;--btm-ease-default: ease;--btm-ease-in-out: ease-in-out;--btm-transition-fast: var(--btm-duration-fast) var(--btm-ease-out);--btm-transition-default: var(--btm-duration-default) var(--btm-ease-default);--btm-transition-medium: var(--btm-duration-medium) var(--btm-ease-in-out);--btm-transition-slow: var(--btm-duration-slow) var(--btm-ease-in-out);--btm-pulse-duration: 2s}@keyframes btm-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes btm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes btm-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btm-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--btm-space-2);padding:var(--btm-space-2) var(--btm-space-5);border-radius:var(--btm-radius-md);font-weight:var(--btm-font-semibold);font-size:var(--btm-text-sm);line-height:1;white-space:nowrap;transition:all var(--btm-transition-default);-webkit-user-select:none;user-select:none}.btm-btn:focus-visible{outline:2px solid var(--btm-accent-electric);outline-offset:2px}.btm-btn-primary{background:var(--btm-accent-red);color:#fff}.btm-btn-primary:hover{background:var(--btm-accent-red-hover);box-shadow:var(--btm-shadow-glow-red)}.btm-btn-secondary{background:transparent;color:var(--btm-text-primary);border:1px solid var(--btm-border-default)}.btm-btn-secondary:hover{background:var(--btm-bg-elevated);border-color:var(--btm-text-secondary)}.btm-btn-danger{background:var(--btm-error);color:#fff}.btm-btn-danger:hover{background:var(--btm-error-hover)}.btm-btn-sm{padding:var(--btm-space-1) var(--btm-space-3);font-size:var(--btm-text-xs)}.btm-btn-lg{padding:var(--btm-space-3) var(--btm-space-6);font-size:var(--btm-text-base)}.btm-btn-icon{padding:var(--btm-space-2)}.btm-btn:disabled{opacity:.5;pointer-events:none}.btm-card{background:var(--btm-bg-surface);border:1px solid var(--btm-border-default);border-radius:var(--btm-radius-lg);padding:var(--btm-space-6);transition:all var(--btm-transition-default)}.btm-card:hover{border-color:var(--btm-border-accent);box-shadow:var(--btm-shadow-md)}.btm-card-metric{background:linear-gradient(135deg,var(--btm-bg-surface) 0%,var(--btm-bg-secondary) 100%);border:1px solid var(--btm-border-default);border-radius:var(--btm-radius-xl);padding:var(--btm-space-6);position:relative;overflow:hidden}.btm-card-metric:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--btm-accent-red)}.btm-card-header{padding-bottom:var(--btm-space-4);border-bottom:1px solid var(--btm-border-muted);margin-bottom:var(--btm-space-4)}.btm-card-title{font-size:var(--btm-text-lg);font-weight:var(--btm-font-semibold);color:var(--btm-text-primary)}.btm-card-description{font-size:var(--btm-text-sm);color:var(--btm-text-secondary);margin-top:var(--btm-space-1)}.btm-input{background:var(--btm-bg-primary);border:1px solid var(--btm-border-default);border-radius:var(--btm-radius-md);padding:var(--btm-space-2) var(--btm-space-3);color:var(--btm-text-primary);font-size:var(--btm-text-sm);width:100%;transition:all var(--btm-transition-default)}.btm-input:focus{outline:none;border-color:var(--btm-accent-electric);box-shadow:var(--btm-focus-ring)}.btm-input::placeholder{color:var(--btm-text-muted)}.btm-input:hover:not(:focus){border-color:var(--btm-text-muted)}.btm-input:disabled{opacity:.5;cursor:not-allowed}.btm-input-error{border-color:var(--btm-error)}.btm-input-error:focus{box-shadow:0 0 0 3px #dc354533}.btm-textarea{min-height:80px;resize:vertical}.btm-badge{display:inline-flex;align-items:center;gap:var(--btm-space-1);padding:2px var(--btm-space-2);border-radius:var(--btm-radius-full);font-size:var(--btm-text-xs);font-weight:var(--btm-font-medium);text-transform:uppercase;letter-spacing:var(--btm-tracking-wide);line-height:1.5}.btm-badge-success{background:#27ae6026;color:var(--btm-success);border:1px solid rgba(39,174,96,.3)}.btm-badge-warning{background:#f39c1226;color:var(--btm-warning);border:1px solid rgba(243,156,18,.3)}.btm-badge-error{background:#dc354526;color:var(--btm-error);border:1px solid rgba(220,53,69,.3)}.btm-badge-neutral{background:#8b949e26;color:var(--btm-text-secondary);border:1px solid rgba(139,148,158,.3)}.btm-status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.btm-status-dot-active{background:var(--btm-success);box-shadow:0 0 8px var(--btm-success)}.btm-status-dot-pending{background:var(--btm-warning);animation:btm-pulse var(--btm-pulse-duration) infinite}.btm-status-dot-error{background:var(--btm-error)}.btm-status-dot-neutral{background:var(--btm-text-muted)}.btm-chart-colors{--chart-primary: #e74c3c;--chart-secondary: #3b82f6;--chart-tertiary: #27ae60;--chart-quaternary: #f39c12;--chart-bg: #161b22;--chart-grid: #30363d;--chart-text: #8b949e}:root{--mc-brand: var(--btm-accent-red)}.app-shell{max-width:60rem;margin:0 auto;padding:var(--btm-space-6, 1.5rem) var(--btm-space-4, 1rem);min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--btm-border-default);padding-bottom:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.app-header .brand{font-weight:700;color:var(--btm-text-primary);text-decoration:none;font-size:1.1rem}.app-header .brand span{color:var(--btm-accent-red)}.nav-links{display:flex;gap:1rem;flex-wrap:wrap}.nav-links a{color:var(--btm-text-secondary);text-decoration:none;font-size:.9rem}.nav-links a:hover{color:var(--btm-text-primary)}.app-footer{margin-top:auto;padding-top:2rem;border-top:1px solid var(--btm-border-muted);color:var(--btm-text-muted);font-size:.8rem}.card{background:var(--btm-bg-surface);border:1px solid var(--btm-border-default);border-radius:var(--btm-radius-md, 8px);padding:1.25rem;margin-bottom:1rem}.btn{display:inline-block;background:var(--btm-accent-red);color:var(--btm-text-inverse);border:none;border-radius:var(--btm-radius-md, 8px);padding:.6rem 1.2rem;font-size:1rem;cursor:pointer;text-decoration:none;transition:background var(--btm-transition-fast, .1s ease-out)}.btn:hover{background:var(--btm-accent-red-hover);color:var(--btm-text-inverse)}.btn.secondary{background:transparent;color:var(--btm-text-primary);border:1px solid var(--btm-border-default)}.btn.secondary:hover{border-color:var(--btm-text-secondary);background:var(--btm-bg-elevated)}input,select,textarea{background:var(--btm-bg-elevated);border:1px solid var(--btm-border-default);color:var(--btm-text-primary);border-radius:var(--btm-radius-md, 8px);padding:.55rem .8rem;font-size:1rem;width:100%}label{display:block;color:var(--btm-text-secondary);font-size:.85rem;margin-bottom:.25rem}.field{margin-bottom:1rem}.error-msg{color:var(--btm-error);margin:.5rem 0;font-size:.9rem}.ok-msg{color:var(--btm-success);margin:.5rem 0;font-size:.9rem}.course-block{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--btm-border-muted)}.course-block:last-child{border-bottom:none}.course-block h3{color:var(--btm-text-primary);margin-bottom:.5rem}.course-block p,.course-block li{color:var(--btm-text-secondary);line-height:1.6}table.data{width:100%;border-collapse:collapse;margin:.75rem 0}table.data th,table.data td{border:1px solid var(--btm-border-default);padding:.5rem .7rem;text-align:left;color:var(--btm-text-secondary);font-size:.92rem}table.data th{background:var(--btm-bg-elevated);color:var(--btm-text-primary)}.badge{display:inline-block;border:1px solid var(--btm-border-default);border-radius:999px;padding:.15rem .7rem;font-size:.75rem;color:var(--btm-text-secondary);margin-right:.4rem}.badge.accent{border-color:var(--btm-accent-red);color:var(--btm-accent-red)}.dim-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.summary-box{background:var(--btm-bg-elevated);border-left:3px solid var(--btm-accent-red);border-radius:var(--btm-radius-sm, 4px);padding:.75rem 1rem;margin:.75rem 0;color:var(--btm-text-secondary);font-size:.95rem}
