:root{--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;font-family:var(--font-sans);line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-primary: #1e40af;--color-primary-hover: #1e3a8a;--color-primary-light: #eff6ff;--color-secondary: #16a34a;--color-secondary-hover: #15803d;--color-success: #22c55e;--color-danger: #dc2626;--color-warning: #f59e0b;--color-bg-main: #f8fafc;--color-bg-card: #ffffff;--color-text-main: #0f172a;--color-text-secondary: #64748b;--color-border: #e2e8f0;--color-border-hover: #cbd5e1;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;color-scheme:light;color:var(--color-text-main);background-color:var(--color-bg-main)}a{color:inherit;text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary)}*{box-sizing:border-box}body{margin:0;background:var(--color-bg-main)}body,.app-header-wrapper{transition:background-color .18s ease,color .18s ease,border-color .18s ease}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer}.container{max-width:1280px;margin:0 auto;padding:0 1.5rem}.app-main.container:has(.course-view--class-first){max-width:1600px}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-display);font-weight:600;line-height:1.25;letter-spacing:-.02em}.brand-name,.mobile-brand-title,.site-footer__brand-name{font-family:var(--font-display)}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-header-wrapper{position:sticky;top:0;z-index:50;background-color:transparent;border-bottom:none}.app-main{flex:1;padding-top:2rem;padding-bottom:1.25rem;width:100%}.app-footer-wrapper{background-color:transparent;border-top:none;padding:0}
