:root{--filo-bg:#f8fafc;--filo-surface:#fff;--filo-primary:#8b5cf6;--filo-primary-light:#c4b5fd;--filo-primary-dark:#7c3aed;--filo-primary-bg:#ede9fe;--filo-heading:#0f172a;--filo-body:#475569;--filo-body-light:#94a3b8;--filo-border:#e2e8f0;--filo-border-light:#f1f5f9;--filo-success:#22c55e;--filo-danger:#ef4444;--filo-warning:#f59e0b;--filo-glass-bg:hsla(0,0%,100%,.7);--filo-glass-border:hsla(0,0%,100%,.5);--filo-glass-blur:12px;--filo-shadow:0 4px 24px rgba(15,23,42,.06);--filo-shadow-lg:0 8px 32px rgba(15,23,42,.1);--filo-radius-card:20px;--filo-radius-btn:12px;--filo-radius-input:12px;--filo-heading-font:"Sulphur Point",system-ui,sans-serif;--filo-body-font:"Inter",system-ui,-apple-system,sans-serif}[data-theme=dark]{--filo-bg:#06080f;--filo-surface:#0f121d;--filo-primary:#8b5cf6;--filo-primary-light:#c4b5fd;--filo-primary-dark:#a78bfa;--filo-primary-bg:rgba(139,92,246,.15);--filo-heading:#f8fafc;--filo-body:#94a3b8;--filo-body-light:#64748b;--filo-border:hsla(0,0%,100%,.1);--filo-border-light:hsla(0,0%,100%,.05);--filo-glass-bg:rgba(15,18,29,.8);--filo-glass-border:hsla(0,0%,100%,.08);--filo-glass-blur:16px;--filo-shadow:0 4px 24px rgba(0,0,0,.3);--filo-shadow-lg:0 8px 32px rgba(0,0,0,.5)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--filo-body-font);color:var(--filo-body);background:var(--filo-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.7;margin:0;transition:background-color .2s ease,color .2s ease}h1,h2,h3,h4{font-family:var(--filo-heading-font);font-weight:700;line-height:1.25;color:var(--filo-heading)}a{transition:color .25s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--filo-primary);box-shadow:0 0 0 3px rgba(139,92,246,.2)}button{transition:all .25s ease}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(139,92,246,.15)}button:active:not(:disabled){transform:translateY(0)}.filo-lesson-content h1,.filo-lesson-content h2,.filo-lesson-content h3,.filo-lesson-content h4{font-family:var(--filo-heading-font);color:var(--filo-heading)}.mobile-safe-bottom{padding-bottom:env(safe-area-inset-bottom,0)}