@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";
:root{--bg-void:#0a0d10;--bg-panel:#10151a;--bg-surface:#151b21;--bg-elevated:#1c252d;--bg-hover:#24313a;--accent-primary:#82a8c4;--accent-primary-dim:#82a8c424;--accent-primary-glow:#82a8c438;--accent-secondary:#70b9ad;--accent-secondary-dim:#70b9ad24;--accent-secondary-glow:#70b9ad38;--accent-glow:#a5b6c3;--accent-glow-dim:#a5b6c31f;--accent-success:#79b89e;--accent-success-dim:#79b89e24;--accent-warn:#f59e0b;--accent-warn-dim:#f59e0b26;--accent-danger:#f87171;--accent-danger-dim:#f8717126;--text-primary:#dbe4e8;--text-secondary:#93a2aa;--text-dim:#5d6b73;--text-bright:#f2f6f7;--border-subtle:#ffffff0f;--border-active:#82a8c480;--border-dim:#ffffff08;--radius-sm:0px;--radius-md:0px;--radius-lg:0px;--radius-xl:0px;--shadow-glow-purple:none;--shadow-glow-cyan:none;--shadow-glow-green:none;--shadow-panel:0 2px 12px #0000003d;--shadow-elevated:0 4px 18px #0000004d;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1);--transition-spring:.4s cubic-bezier(.34, 1.56, .64, 1);--font-display:"DM Sans", sans-serif;--font-body:"DM Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-void);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-size:14px;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(135deg,#0a0d10 0%,#0d1318 52%,#0a0d10 100%);position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:40px 40px;position:fixed;inset:0}.glass-panel{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);z-index:1;background:#10151af0;position:relative}.glass-panel-elevated{border-radius:var(--radius-xl);box-shadow:var(--shadow-elevated);background:#151b21f5;border:1px solid #ffffff14}@keyframes cellActivate{0%{box-shadow:none;transform:scale(1)}30%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes cellCompute{0%{box-shadow:none;transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes cellResult{0%{opacity:.3;box-shadow:none;transform:scale(.9)}60%{opacity:1;transform:scale(1.04)}to{transform:scale(1)}}@keyframes cellPivot{0%{box-shadow:none;transform:scale(1)rotate(0)}25%{transform:scale(1.04)}75%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes cellEliminate{0%{opacity:1}50%{opacity:.4;background:#f8717126}to{opacity:.6;background:#f8717114}}@keyframes cellDim{0%{opacity:1}to{opacity:.3}}@keyframes pulseGlow{0%,to{box-shadow:none}50%{box-shadow:none}}@keyframes slideInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes spinRing{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes floatUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.cell-active{animation:.5s ease-out forwards cellActivate;background:var(--accent-secondary-dim)!important;border-color:var(--accent-secondary)!important;color:var(--accent-secondary)!important}.cell-computing{animation:.5s ease-out forwards cellCompute;background:var(--accent-primary-dim)!important;border-color:var(--accent-primary)!important;color:var(--accent-primary)!important}.cell-result{animation:.6s ease-out forwards cellResult;background:var(--accent-success-dim)!important;border-color:var(--accent-success)!important;color:var(--accent-success)!important}.cell-pivot{animation:.6s ease-out forwards cellPivot;background:var(--accent-warn-dim)!important;border-color:var(--accent-warn)!important;color:var(--accent-warn)!important}.cell-elimination{animation:.5s ease-out forwards cellEliminate;background:var(--accent-danger-dim)!important;border-color:var(--accent-danger)!important;color:var(--accent-danger)!important}.cell-dim{opacity:.25;animation:.3s ease-out forwards cellDim}.cell-selected{animation:1.5s ease-in-out infinite pulseGlow;background:#ffffff0d!important;border-color:#fff6!important}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-bright)}.mono{font-family:var(--font-mono)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-panel)}::-webkit-scrollbar-thumb{background:#fff3;border-radius:0}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.gradient-text,.gradient-text-purple{color:var(--accent-primary)}.badge{font-size:11px;font-weight:600;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:0;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.badge-elementary{background:var(--accent-secondary-dim);color:var(--accent-secondary);border:1px solid #4fc3f733}.badge-intermediate{background:var(--accent-primary-dim);color:var(--accent-primary);border:1px solid #7c6dff33}.badge-advanced{background:var(--accent-glow-dim);color:var(--accent-glow);border:1px solid #a855f733}.katex{font-size:1em;color:var(--text-primary)!important}.katex-display{margin:0!important}.btn{border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover{background:#a0bfd2;transform:translateY(-1px)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border-subtle);background:0 0}.btn-ghost:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-active)}.btn-icon{border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;width:36px;height:36px;padding:8px;display:inline-flex}.btn-icon:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--accent-primary)}.btn-icon.active{background:var(--accent-primary-dim);color:var(--accent-primary);border-color:var(--accent-primary)}input[type=number],input[type=text]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);transition:all var(--transition-fast);outline:none;width:100%;padding:6px 10px;font-size:13px}input[type=number]:focus,input[type=text]:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-glow);background:var(--bg-elevated)}input[type=range]{appearance:none;background:var(--bg-elevated);cursor:pointer;border-radius:0;outline:none;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent-primary);cursor:pointer;width:14px;height:14px;transition:all var(--transition-fast);border-radius:0}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-size:10px;font-weight:700;font-family:var(--font-mono);margin-bottom:8px}.animate-in{animation:.4s ease-out forwards slideInUp}.animate-fade-scale{animation:.3s ease-out forwards fadeInScale}
