@keyframes CookieBanner-module__5UbagG__slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.CookieBanner-module__5UbagG__banner{width:80%;max-width:600px;color:var(--color-text);bottom:var(--space-5);background:var(--color-bg-secondary);padding:var(--space-8);box-shadow:var(--shadow-lg);z-index:var(--z-toast);border-radius:var(--radius-lg);visibility:hidden;opacity:0;flex-direction:column;margin:0 auto;display:flex;position:fixed;left:0;right:0;transform:translateY(100%)}.CookieBanner-module__5UbagG__banner.CookieBanner-module__5UbagG__show{visibility:visible;animation:1s forwards CookieBanner-module__5UbagG__slideUp}.CookieBanner-module__5UbagG__banner h2{margin-bottom:var(--space-2)}.CookieBanner-module__5UbagG__banner p{font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0}.CookieBanner-module__5UbagG__banner a{text-decoration:underline}.CookieBanner-module__5UbagG__buttons{gap:var(--space-4);margin-top:var(--space-4);align-items:center;display:flex}.CookieBanner-module__5UbagG__acceptBtn{padding:var(--space-2)var(--space-5);cursor:pointer;font-weight:var(--font-weight-bold);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-family-base);background-color:#74e278;border:none}.CookieBanner-module__5UbagG__acceptBtn:hover{background-color:#31b835}.CookieBanner-module__5UbagG__rejectBtn{color:var(--color-text);cursor:pointer;font-family:var(--font-family-base);background:0 0;border:none;text-decoration:underline}.CookieBanner-module__5UbagG__rejectBtn:hover{color:var(--color-text-muted)}.CookieBanner-module__5UbagG__options{margin-top:var(--space-4);gap:var(--space-4);flex-flow:wrap;display:flex}.CookieBanner-module__5UbagG__options label{margin:var(--space-1)0;font-size:var(--font-size-sm);cursor:pointer}.CookieBanner-module__5UbagG__options input[type=checkbox]{margin-right:var(--space-2);cursor:pointer;accent-color:#555;transform:scale(1.3)}
:root{--color-brand-pink:#f871b9;--color-brand-purple:#ab67e0;--color-brand-violet:#8b5cf6;--color-primary:#f871b9;--color-primary-hover:#e8559e;--color-primary-light:#fcc4e0;--color-secondary:#8b5cf6;--color-secondary-hover:#7c3aed;--color-bg:#fff;--color-bg-secondary:#f8f9fa;--color-bg-dark:#1d262d;--color-bg-dark-secondary:#33363b;--color-surface:#fff;--color-surface-elevated:#fff;--color-bg-accent-pink:#f871b90a;--color-bg-accent-purple:#8b5cf60a;--color-bg-accent-gradient:linear-gradient(180deg,#f871b908 0%,#8b5cf608 100%);--color-cat-math:#3b82f6;--color-cat-math-bg:#3b82f61a;--color-cat-physics:#6366f1;--color-cat-physics-bg:#6366f11a;--color-cat-cs:#0d9488;--color-cat-cs-bg:#0d94881a;--color-cat-compsci:#0891b2;--color-cat-compsci-bg:#0891b21a;--color-cat-security:#0e7490;--color-cat-security-bg:#0e74901a;--color-cat-networking:#06b6d4;--color-cat-networking-bg:#06b6d41a;--color-cat-electronics:#14b8a6;--color-cat-electronics-bg:#14b8a61a;--color-cat-biology:#22c55e;--color-cat-biology-bg:#22c55e1a;--color-cat-chemistry:#16a34a;--color-cat-chemistry-bg:#16a34a1a;--color-cat-ai:#8b5cf6;--color-cat-ai-bg:#8b5cf61a;--color-cat-explore:#a855f7;--color-cat-explore-bg:#a855f71a;--color-text:#333;--color-text-secondary:#6b7280;--color-text-muted:#9ca3af;--color-text-on-dark:#fff;--color-border:#e5e7eb;--color-border-light:#f3f4f6;--color-success:#70ea5d;--color-error:#fc3261;--color-warning:#ffb566;--color-info:#06a;--gradient-brand:linear-gradient(135deg,#f871b9,#ab67e0,#8b5cf6);--gradient-brand-animated:linear-gradient(135deg,#f871b9,#ab67e0,#8b5cf6,#f871b9);--color-premium-gradient:linear-gradient(135deg,#f871b9,#ab67e0,#8b5cf6);--calc-accent:#f871b9;--calc-accent-hover:#e8559e;--calc-text:#1d1d1f;--calc-text-secondary:#636366;--calc-text-muted:#86868b;--calc-border:#d2d2d7;--calc-border-light:#e5e5e7;--calc-surface:#fff;--calc-surface-hover:#f5f5f7;--calc-surface-muted:#f0f0f2;--calc-value-color:#c0392b;--calc-value-border:#e0c4bc;--calc-btn-primary:#f871b9;--calc-btn-primary-hover:#e8559e;--calc-btn-constructive:#3b82a0;--calc-btn-constructive-hover:#2e6e8a;--calc-btn-helper:#6b7280;--calc-btn-helper-hover:#565d68;--calc-btn-cautionary:#b45858;--calc-btn-cautionary-hover:#9c4a4a;--calc-correct:#27ae60;--calc-correct-bg:#27ae600f;--calc-correct-border:#27ae6040;--calc-correct-ring:#27ae601f;--calc-wrong:#e74c3c;--calc-wrong-bg:#e74c3c0f;--calc-wrong-ring:#e74c3c1f;--calc-focus-ring:#f871b91f;--calc-heading-size:.7rem;--calc-heading-weight:600;--calc-heading-spacing:.6px;--calc-subheading-size:11px;--calc-subheading-weight:600;--calc-subheading-spacing:.04em;--section-label-size:.7rem;--section-label-weight:600;--section-label-spacing:.6px;--section-label-color:var(--calc-text-muted);--font-family-base:"Balto",-apple-system,BlinkMacSystemFont,sans-serif;--font-family-code:"Fira Code","Consolas",monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--sidebar-width:280px;--sidebar-collapsed-width:0px;--nav-height:60px;--content-max-width:900px;--content-padding:var(--space-6);--page-max-width:1200px;--page-padding-x:clamp(1rem,5vw,5rem);--page-padding-y:3rem;--z-sidebar:100;--z-sidebar-overlay:150;--z-nav:200;--z-ai-chat:250;--z-modal-backdrop:300;--z-modal:400;--z-modal-nested:500;--z-toast:600;--transition-fast:.15s ease;--transition-normal:.3s ease;--transition-slow:.5s ease-in-out;--transition-spring:.5s cubic-bezier(.34,1.56,.64,1);--radius-sm:2px;--radius-md:4px;--radius-lg:4px;--radius-xl:4px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--shadow-brutalist-sm:3px 3px 0px var(--color-primary);--shadow-brutalist-md:4px 4px 0px var(--color-primary);--shadow-brutalist-lg:6px 6px 0px var(--color-primary);--shadow-brutalist-hover:8px 8px 0px var(--color-primary);--color-shadow-info:#94a3b8;--shadow-info-sm:3px 3px 0px var(--color-shadow-info);--shadow-info-md:4px 4px 0px var(--color-shadow-info);--shadow-info-lg:6px 6px 0px var(--color-shadow-info);--content-gap:2.5rem;--section-gap:3rem;--heading-gap:1.5rem}[data-calc-theme],[data-calc-theme] aside,[data-calc-theme] section,[data-calc-theme] div,[data-calc-theme] label,[data-calc-theme] span,[data-calc-theme] output,[data-calc-theme] input,[data-calc-theme] select,[data-calc-theme] h3,[data-calc-theme] h4,[data-calc-theme] p{transition:background-color .3s,color .3s,border-color .3s}[data-calc-theme=dark]{--calc-accent:#f871b9;--calc-accent-hover:#e8559e;--calc-text:#e5e5e7;--calc-text-secondary:#a1a1a6;--calc-text-muted:#86868b;--calc-border:#3a3a3c;--calc-border-light:#2c2c2e;--calc-surface:#1c1c1e;--calc-surface-hover:#2c2c2e;--calc-surface-muted:#252527;--calc-value-color:#e88a7d;--calc-value-border:#5a3a36;--calc-btn-primary:#f871b9;--calc-btn-primary-hover:#e8559e;--calc-btn-constructive:#4a9bb5;--calc-btn-constructive-hover:#3b8a9e;--calc-btn-helper:#8b8f96;--calc-btn-helper-hover:#a0a4ab;--calc-btn-cautionary:#cf6b6b;--calc-btn-cautionary-hover:#b85c5c;--calc-correct:#34d399;--calc-correct-bg:#34d3991a;--calc-correct-border:#34d3994d;--calc-correct-ring:#34d39926;--calc-wrong:#f87171;--calc-wrong-bg:#f871711a;--calc-wrong-ring:#f8717126;--calc-focus-ring:#f871b933}[data-calc-theme=dark] .mq-editable-field,[data-calc-theme=dark] .mq-math-mode{color:var(--calc-text)!important}[data-calc-theme=dark] .mq-editable-field .mq-cursor{border-left-color:var(--calc-text)!important}*{box-sizing:border-box}html,body{font-family:var(--font-family-base);scroll-behavior:smooth;margin:0;padding:0;overflow-x:clip}html{scrollbar-gutter:stable}.scrollbar-thin-light{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent}.scrollbar-thin-light::-webkit-scrollbar{width:4px;height:4px}.scrollbar-thin-light::-webkit-scrollbar-track{background:0 0}.scrollbar-thin-light::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.scrollbar-thin-light:hover::-webkit-scrollbar-thumb{background:#ffffff40}.scrollbar-thin-dark{scrollbar-width:thin;scrollbar-color:#00000026 transparent}.scrollbar-thin-dark::-webkit-scrollbar{width:4px;height:4px}.scrollbar-thin-dark::-webkit-scrollbar-track{background:0 0}.scrollbar-thin-dark::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}.scrollbar-thin-dark:hover::-webkit-scrollbar-thumb{background:#00000040}main{min-height:100vh}h1,h2,h3,h4,h5,h6{line-height:var(--line-height-tight)}a{color:inherit;text-decoration:none}button{font-family:inherit}.react-p5{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%}.react-p5 canvas{display:block}.disable-touch-action{touch-action:none}.mq-editable-field{width:100%;box-shadow:none!important;border:none!important;padding:0!important}.mq-math-mode{vertical-align:baseline!important;line-height:1!important}.mq-math-mode .mq-root-block,.mq-math-mode>.mq-root-block{white-space:normal!important;vertical-align:baseline!important;width:auto!important;padding:0!important;display:inline!important;overflow:visible!important}.mq-editable-field .mq-root-block{vertical-align:middle!important;width:100%!important;display:inline-block!important}@font-face{font-family:Balto;src:local(Balto Thin),local(Balto-Thin),url(/static/font/Balto-Thin.woff2)format("woff2"),url(/static/font/Balto-Thin.woff)format("woff"),url(/static/font/Balto-Thin.ttf)format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Balto;src:local(Balto Thin Italic),local(Balto-ThinItalic),url(/static/font/Balto-ThinItalic.woff2)format("woff2"),url(/static/font/Balto-ThinItalic.woff)format("woff"),url(/static/font/Balto-ThinItalic.ttf)format("truetype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Balto;src:local(Balto Light),local(Balto-Light),url(/static/font/Balto-Light.woff2)format("woff2"),url(/static/font/Balto-Light.woff)format("woff"),url(/static/font/Balto-Light.ttf)format("truetype");font-weight:300;font-style:normal;font-display:fallback}@font-face{font-family:Balto;src:local(Balto Light Italic),local(Balto-LightItalic),url(/static/font/Balto-LightItalic.woff2)format("woff2"),url(/static/font/Balto-LightItalic.woff)format("woff"),url(/static/font/Balto-LightItalic.ttf)format("truetype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Balto;src:local(Balto Book),local(Balto-Book),url(/static/font/Balto-Book.woff2)format("woff2"),url(/static/font/Balto-Book.woff)format("woff"),url(/static/font/Balto-Book.ttf)format("truetype");font-weight:400;font-style:normal;font-display:fallback}@font-face{font-family:Balto;src:local(Balto Book Italic),local(Balto-BookItalic),url(/static/font/Balto-BookItalic.woff2)format("woff2"),url(/static/font/Balto-BookItalic.woff)format("woff"),url(/static/font/Balto-BookItalic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Balto;src:local(Balto Medium),local(Balto-Medium),url(/static/font/Balto-Medium.woff2)format("woff2"),url(/static/font/Balto-Medium.woff)format("woff"),url(/static/font/Balto-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Balto;src:local(Balto Medium Italic),local(Balto-MediumItalic),url(/static/font/Balto-MediumItalic.woff2)format("woff2"),url(/static/font/Balto-MediumItalic.woff)format("woff"),url(/static/font/Balto-MediumItalic.ttf)format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Balto;src:local(Balto Bold),local(Balto-Bold),url(/static/font/Balto-Bold.woff2)format("woff2"),url(/static/font/Balto-Bold.woff)format("woff"),url(/static/font/Balto-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Balto;src:local(Balto Bold Italic),local(Balto-BoldItalic),url(/static/font/Balto-BoldItalic.woff2)format("woff2"),url(/static/font/Balto-BoldItalic.woff)format("woff"),url(/static/font/Balto-BoldItalic.ttf)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Balto;src:local(Balto Super),local(Balto-Super),url(/static/font/Balto-Super.woff2)format("woff2"),url(/static/font/Balto-Super.woff)format("woff"),url(/static/font/Balto-Super.ttf)format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Balto;src:local(Balto Super Italic),local(Balto-SuperItalic),url(/static/font/Balto-SuperItalic.woff2)format("woff2"),url(/static/font/Balto-SuperItalic.woff)format("woff"),url(/static/font/Balto-SuperItalic.ttf)format("truetype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:Balto;src:local(Balto Black),local(Balto-Black),url(/static/font/Balto-Black.woff2)format("woff2"),url(/static/font/Balto-Black.woff)format("woff"),url(/static/font/Balto-Black.ttf)format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Balto;src:local(Balto Black Italic),local(Balto-BlackItalic),url(/static/font/Balto-BlackItalic.woff2)format("woff2"),url(/static/font/Balto-BlackItalic.woff)format("woff"),url(/static/font/Balto-BlackItalic.ttf)format("truetype");font-weight:900;font-style:italic;font-display:swap}@font-face{font-family:Balto;src:local(Balto Ultra),local(Balto-Ultra),url(/static/font/Balto-Ultra.woff2)format("woff2"),url(/static/font/Balto-Ultra.woff)format("woff"),url(/static/font/Balto-Ultra.ttf)format("truetype");font-weight:950;font-style:normal;font-display:swap}@font-face{font-family:Balto;src:local(Balto Ultra Italic),local(Balto-UltraItalic),url(/static/font/Balto-UltraItalic.woff2)format("woff2"),url(/static/font/Balto-UltraItalic.woff)format("woff"),url(/static/font/Balto-UltraItalic.ttf)format("truetype");font-weight:950;font-style:italic;font-display:swap}@keyframes spin{to{transform:rotate(360deg)}}
