:root{--bg:#f4f7fb;--bg-card:#ffffffd9;--bg-card-hover:#fffffff2;--border:#0000001a;--border-hover:#0000002e;--text:#1f2937;--text-heading:#111827;--text-muted:#6b7280;--text-dim:#9ca3af;--accent:#4a90d9;--accent-hover:#3b7cc9;--accent-on:#fff;--teal:#4a90d9;--teal-dim:#4a90d91a;--indigo:#6366f1;--indigo-dim:#6366f11a;--amber:#b45309;--amber-dim:#b453091a;--modal-bg:#fff;--overlay-bg:#00000059;--glow-1:#4a90d933;--glow-2:#4a90d91a;--glow-1-hover:#4a90d959;--glow-2-hover:#4a90d933;--ghost-bg:#e5e7eb;--ghost-bg-hover:#d1d5db;--hero-bg:#f4f7fb;--hero-text:#111827;--hero-muted:#6b7280;--hero-dim:#9ca3af;--hero-badge-border:#0000001a;--hero-badge-bg:#0000000a;--hero-badge-color:#6b7280;--hero-card-bg:#ffffffb3;--hero-card-border:#00000014;--hero-card-border-hover:#00000026;--hero-card-bg-hover:#ffffffe6;--hero-card-text:#6b7280;--hero-divider:#0000001a;--hero-canvas-line:#4a90d914;--hero-canvas-dot:74,144,217;--radius:14px;--transition:.35s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg:#0a0a0f;--bg-card:#ffffff0a;--bg-card-hover:#ffffff12;--border:#ffffff14;--border-hover:#ffffff26;--text:#e2e8f0;--text-heading:#fff;--text-muted:#ffffff73;--text-dim:#ffffff4d;--accent:#7db8f0;--accent-hover:#a3cef5;--accent-on:#0a0a0f;--teal:#7db8f0;--teal-dim:#7db8f026;--indigo:#a5b4fc;--indigo-dim:#a5b4fc26;--amber:#fbbf24;--amber-dim:#fbbf2426;--modal-bg:#141419;--overlay-bg:#0009;--glow-1:#7db8f040;--glow-2:#7db8f01a;--glow-1-hover:#7db8f066;--glow-2-hover:#7db8f033;--ghost-bg:#ffffff14;--ghost-bg-hover:#ffffff24;--hero-bg:#0a0a0f;--hero-text:#fff;--hero-muted:#ffffff73;--hero-dim:#ffffff59;--hero-badge-border:#ffffff1a;--hero-badge-bg:#ffffff0a;--hero-badge-color:#ffffff80;--hero-card-bg:#ffffff08;--hero-card-border:#ffffff12;--hero-card-border-hover:#ffffff24;--hero-card-bg-hover:#ffffff0d;--hero-card-text:#fff6;--hero-divider:#ffffff1a;--hero-canvas-line:#7db8f00f;--hero-canvas-dot:125,184,240}*,:before,:after{box-sizing:border-box;margin:0}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:Inter,IBM Plex Sans,Segoe UI,sans-serif;transition:background .3s,color .3s;overflow-x:hidden}.view{opacity:0;pointer-events:none;transition:opacity var(--transition), transform var(--transition);background:var(--bg);justify-content:center;align-items:center;padding:2rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto;transform:translateY(24px)}.view--active{opacity:1;pointer-events:auto;min-height:100vh;position:relative;transform:none}.view--exit{opacity:0;transform:translateY(-24px)}.theme-toggle{z-index:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;color:#ffffffd9;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s,border-color .2s,color .2s,transform .2s;display:flex;position:relative;top:auto;right:auto}.theme-toggle:hover,.theme-toggle:focus-visible{color:#fff;background:#ffffff26;border-color:#ffffff40;transform:scale(1.08)}.theme-toggle:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.theme-toggle .icon-sun,.theme-toggle .icon-moon{display:none}:root .theme-toggle .icon-moon,[data-theme=dark] .theme-toggle .icon-sun{display:block}[data-theme=dark] .theme-toggle .icon-moon{display:none}.site-header{z-index:250;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#4a90d9e6;border-bottom:none;justify-content:space-between;align-items:center;height:68px;padding:0 2rem;transition:background .3s;display:flex;position:fixed;top:0;left:0;right:0}[data-theme=dark] .site-header{background:#4a90d9e6}.site-header__logo{color:#fff;letter-spacing:-.02em;cursor:pointer;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.site-header__logo span{color:#c8e2ff}.site-header__nav{align-items:center;gap:.25rem;display:flex}.site-header__link{color:#ffffffd9;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.4rem .85rem;font-family:inherit;font-size:.88rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s}.site-header__link:hover,.site-header__link:focus-visible{color:#fff;background:#ffffff26}.site-header__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.about-overlay{z-index:300;background:var(--overlay-bg);opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:1rem;transition:opacity .25s;display:flex;position:fixed;inset:0}.about-overlay.active{opacity:1;pointer-events:auto}.about-panel{background:var(--modal-bg);border:1px solid var(--border);border-radius:16px;width:100%;max-width:560px;padding:2.5rem;transition:transform .3s cubic-bezier(.4,0,.2,1);transform:translateY(20px)scale(.97);box-shadow:0 20px 50px #0006}.about-overlay.active .about-panel{transform:translateY(0)scale(1)}.about-panel h2{color:#000;margin-bottom:1rem;font-size:1.4rem}.about-panel p{color:#000;margin-bottom:.75rem;font-size:.95rem;line-height:1.7}.about-panel ul{flex-direction:column;gap:.5rem;margin:1rem 0;padding:0;list-style:none;display:flex}.about-panel li{color:#000;padding-left:1.25rem;font-size:.9rem;position:relative}.about-panel li:before{content:"—";color:var(--accent);position:absolute;left:0}.about-close{border:1px solid var(--accent);background:var(--accent);color:#fff;font:inherit;cursor:pointer;border-radius:10px;margin-top:1.5rem;padding:.6rem 1.5rem;font-size:.9rem;font-weight:500;transition:background .15s}.about-close:hover{background:color-mix(in srgb, var(--accent) 85%, #000)}[data-theme=dark] .about-panel h2,[data-theme=dark] .about-panel p,[data-theme=dark] .about-panel li{color:#fff}body{padding-top:68px}#view-home{background:var(--hero-bg);flex-direction:column;padding:0;transition:background .3s;overflow:hidden}#hero-canvas{z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero{z-index:1;text-align:center;flex-direction:column;align-items:center;width:min(1100px,92vw);padding:4rem 2rem 3rem;display:flex;position:relative}.hero__badge{border:1px solid var(--hero-badge-border);background:var(--hero-badge-bg);color:var(--hero-badge-color);letter-spacing:.06em;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;border-radius:100px;align-items:center;gap:6px;margin-bottom:2rem;padding:6px 16px;font-size:.8rem;font-weight:500;animation:.8s .1s forwards heroFadeUp;display:inline-flex}.hero__title{opacity:0;flex-direction:column;gap:.1em;margin-bottom:1.5rem;animation:.8s .2s forwards heroFadeUp;display:flex}.hero__title-line{letter-spacing:-.03em;color:var(--hero-text);font-size:clamp(2.4rem,7vw,4.5rem);font-weight:800;line-height:1.1}.hero__title-line--accent{color:var(--accent)}.hero__sub{max-width:600px;color:var(--hero-text);opacity:0;margin-bottom:2.5rem;font-size:clamp(1rem,2vw,1.15rem);line-height:1.7;animation:.8s .35s forwards heroFadeUp}.hero__actions{opacity:0;flex-direction:column;align-items:center;gap:2rem;margin-bottom:3.5rem;animation:.8s .45s forwards heroFadeUp;display:flex}.btn--glow{background:var(--accent);color:#fff;font:inherit;cursor:pointer;box-shadow:0 0 30px var(--glow-1), 0 0 60px var(--glow-2);border:none;border-radius:14px;align-items:center;gap:8px;padding:14px 32px;font-size:1.05rem;font-weight:600;transition:transform .2s,box-shadow .3s;display:inline-flex;position:relative}.btn--glow:hover,.btn--glow:focus-visible{box-shadow:0 0 40px var(--glow-1-hover), 0 0 80px var(--glow-2-hover);transform:translateY(-2px)}.btn--glow:focus-visible{box-shadow:0 0 0 3px var(--bg), 0 0 0 5px var(--teal), 0 0 40px var(--glow-1-hover), 0 0 80px var(--glow-2-hover);outline:none}.btn--glow:active{transform:translateY(0)}.btn--glow svg{transition:transform .2s}.btn--glow:hover svg{transform:translate(3px)}.hero__stats{align-items:center;gap:1.5rem;display:flex}.hero__stat{flex-direction:column;align-items:center;gap:2px;display:flex}.hero__stat-num{color:var(--hero-text);font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.hero__stat-label{color:var(--hero-dim);white-space:nowrap;font-size:.78rem}.hero__stat-divider{background:var(--hero-divider);width:1px;height:32px}.hero__cards{opacity:0;grid-template-columns:repeat(3,1fr);gap:1.25rem;width:100%;animation:.8s .6s forwards heroFadeUp;display:grid}.hero__card{border:1px solid var(--hero-card-border);background:var(--hero-card-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);text-align:left;cursor:pointer;border-radius:16px;padding:1.5rem;transition:transform .25s,border-color .3s,background .3s;position:relative;overflow:hidden}.hero__card:before{content:"";opacity:0;border-radius:16px;transition:opacity .3s;position:absolute;inset:0}.hero__card:hover,.hero__card:focus-visible{border-color:var(--accent);background:var(--hero-card-bg-hover);transform:translateY(-4px)}.hero__card:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.hero__card:hover:before{opacity:1}.hero__card--teal:before{background:var(--teal-dim)}.hero__card--indigo:before{background:var(--indigo-dim)}.hero__card--amber:before{background:var(--amber-dim)}.hero__card-icon{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:1rem;display:flex}.hero__card--teal .hero__card-icon{background:var(--teal-dim);color:var(--teal)}.hero__card--indigo .hero__card-icon{background:var(--indigo-dim);color:var(--indigo)}.hero__card--amber .hero__card-icon{background:var(--amber-dim);color:var(--amber)}.hero__card h3{color:var(--hero-text);margin-bottom:.4rem;font-size:1.05rem;font-weight:600}.hero__card p{color:var(--hero-card-text);margin-bottom:1rem;font-size:.85rem;line-height:1.55}.hero__card-count{text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.hero__card--teal .hero__card-count{color:var(--teal)}.hero__card--indigo .hero__card-count{color:var(--indigo)}.hero__card--amber .hero__card-count{color:var(--amber)}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (width<=700px){.hero__cards{grid-template-columns:1fr}.hero{padding:3rem 1.25rem 2rem}.hero__stats{gap:1rem}.hero__stat-num{font-size:1.3rem}}.page{width:100%;max-width:820px;margin:0 auto}.page__header{margin-bottom:2rem}.page__header h1{color:var(--text-heading);font-size:clamp(1.5rem,3.5vw,2rem)}.back-btn{color:var(--teal);font:inherit;cursor:pointer;background:0 0;border:none;margin-bottom:.5rem;padding:0;font-size:.95rem;font-weight:500;transition:color .15s;display:inline-block}.back-btn:hover{color:var(--accent-hover);text-decoration:underline}.back-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px}.category{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin-bottom:1.5rem;padding:1.5rem;transition:background .3s,border-color .3s}.category__title{border-bottom:2px solid var(--border);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.15rem}.category--teal .category__title{border-bottom-color:var(--teal);color:var(--teal)}.category--indigo .category__title{border-bottom-color:var(--indigo);color:var(--indigo)}.category--amber .category__title{border-bottom-color:var(--amber);color:var(--amber)}.algo-list{flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.algo-item{cursor:pointer;border-radius:10px;padding:.75rem 1rem;font-size:.97rem;font-weight:500;transition:background .15s,color .15s,transform .1s}.algo-item:active{transform:scale(.99)}.algo-item--teal{background:var(--teal-dim);color:var(--teal)}.algo-item--teal:hover,.algo-item--teal:focus-visible{background:var(--teal);color:var(--accent-on)}.algo-item--indigo{background:var(--indigo-dim);color:var(--indigo)}.algo-item--indigo:hover,.algo-item--indigo:focus-visible{background:var(--indigo);color:var(--accent-on)}.algo-item--amber{background:var(--amber-dim);color:var(--amber)}.algo-item--amber:hover,.algo-item--amber:focus-visible{background:var(--amber);color:var(--accent-on)}.algo-item:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.btn{font:inherit;cursor:pointer;border:none;border-radius:10px;padding:.75rem 1.3rem;font-size:.95rem;font-weight:600;transition:background .15s,color .15s;display:inline-block}.btn--accent{background:var(--accent);color:#fff}.btn--accent:hover,.btn--accent:focus-visible{background:var(--accent-hover);color:var(--accent-on)}.btn--ghost{background:var(--ghost-bg);color:var(--text);border:1px solid var(--border)}.btn--ghost:hover,.btn--ghost:focus-visible{background:var(--ghost-bg-hover)}.btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.modal-overlay{z-index:200;background:var(--overlay-bg);opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:1rem;transition:opacity .25s;display:flex;position:fixed;inset:0}.modal-overlay.active{opacity:1;pointer-events:auto}.modal{background:var(--modal-bg);border:1px solid var(--border);border-radius:16px;width:100%;max-width:520px;padding:2rem;transition:transform .3s cubic-bezier(.4,0,.2,1);transform:translateY(20px)scale(.97);box-shadow:0 20px 50px #0006}.modal-overlay.active .modal{transform:translateY(0)scale(1)}.modal__title{color:var(--text-heading);margin-bottom:1rem;font-size:1.3rem}.modal__desc{color:var(--text-muted);margin-bottom:1.5rem;line-height:1.65}.modal__actions{gap:.75rem;display:flex}@media (width<=1024px){.site-header{padding:0 1.25rem}.hero{padding:3rem 1.5rem 2.5rem}.page{padding:0 .5rem}}@media (width<=700px){.site-header{height:60px;padding:0 .85rem}body{padding-top:60px}.site-header__logo{gap:.35rem;font-size:1.05rem}.site-header__link{padding:.3rem .55rem;font-size:.8rem}.site-header__nav{gap:.1rem}.theme-toggle{width:32px;height:32px}.view{padding:1.25rem .75rem}.hero{padding:2.25rem 1rem 1.75rem}.hero__badge{margin-bottom:1.25rem;padding:5px 12px;font-size:.7rem}.hero__sub{margin-bottom:1.75rem;font-size:.95rem}.hero__actions{gap:1.25rem;margin-bottom:2.25rem}.btn--glow{padding:12px 24px;font-size:.95rem}.hero__stats{flex-wrap:wrap;justify-content:center;gap:.85rem}.hero__stat-num{font-size:1.15rem}.hero__stat-label{font-size:.7rem}.hero__card{padding:1.15rem}.about-panel{padding:1.5rem}.about-panel h2{font-size:1.2rem}.about-panel p{font-size:.88rem}}@media (width<=480px){.modal__actions{flex-direction:column}.category{padding:1rem}.hero-card{padding:1.5rem}.site-header__logo span{display:none}.site-header__logo:after{content:"Algo";color:#c8e2ff}.hero__title-line{font-size:clamp(1.85rem,9vw,2.6rem)}.modal{padding:1.5rem}.modal__title{font-size:1.15rem}.modal__desc{font-size:.9rem}}#view-gauss.view--active,#view-lu.view--active,#view-qr.view--active,#view-cholesky.view--active,#view-jacobi.view--active,#view-seidel.view--active,#view-sor.view--active,#view-minres.view--active,#view-bicg.view--active,#view-gmres.view--active{align-items:flex-start}.gauss-page{width:100%;max-width:860px;margin:0 auto;padding:2rem 1.5rem 4rem}.gauss-page .page__header{margin-bottom:1.5rem}.gauss-page .page__header h1{color:var(--text-heading);margin-bottom:.25rem;font-size:clamp(1.4rem,3.5vw,1.8rem)}.subtitle{color:var(--text-muted);font-size:.95rem}.wasm-status{background:var(--amber-dim);color:var(--amber);border:1px solid #b4530933;border-radius:10px;align-items:center;gap:.5rem;max-height:60px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;transition:all .3s;display:none;position:relative;overflow:hidden}.wasm-status.loaded{background:var(--teal-dim);color:var(--teal);border-color:#7db8f033}.wasm-close-btn{z-index:1;color:var(--teal);cursor:pointer;opacity:.7;background:0 0;border:none;margin-left:auto;padding:0 .25rem;font-size:1.2rem;line-height:1;transition:opacity .2s;position:relative}.wasm-close-btn:hover,.wasm-close-btn:focus-visible{opacity:1}.wasm-close-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.wasm-progress-track{pointer-events:none;border-radius:10px;position:absolute;inset:0;overflow:hidden}.wasm-progress-bar{background:var(--teal-dim);border-radius:10px;width:100%;height:100%;transition:width linear}.wasm-progress-bar--active{width:0%}.wasm-status--fading{transition:max-height .5s,padding .5s,margin .5s,opacity .4s,border-width .5s;overflow:hidden;opacity:0!important;border-width:0!important;max-height:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important}.spinner{border:2px solid var(--amber);border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.loaded .spinner{display:none}@keyframes spin{to{transform:rotate(360deg)}}.input-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin-bottom:2rem;padding:1.5rem;transition:background .3s,border-color .3s}.size-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.size-row label{color:var(--text);font-size:.95rem;font-weight:600}.size-row input{border:1px solid var(--border);width:60px;font:inherit;text-align:center;background:var(--ghost-bg);color:var(--text-heading);-moz-appearance:textfield;border-radius:8px;padding:.4rem .5rem;font-size:.95rem;transition:border-color .15s,background .15s}.size-row input:focus{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal-dim);outline:none}.size-row input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.size-row input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.matrix-input-wrap{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.matrix-input-wrap h3{color:var(--text-muted);margin-bottom:.5rem;font-size:.85rem;font-weight:600}.eq-sign{color:var(--text-muted);padding-top:1.2rem;font-size:1.3rem;font-weight:600}.matrix-table{border-collapse:collapse}.matrix-table td{padding:2px}.matrix-table input{border:1px solid var(--border);width:64px;font:inherit;text-align:center;background:var(--ghost-bg);color:var(--text-heading);border-radius:6px;padding:.35rem .4rem;font-size:.9rem;transition:border-color .15s,background .15s}.matrix-table input:focus{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal-dim);outline:none}.interactive-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin-bottom:2rem;padding:1.5rem;transition:background .3s,border-color .3s}.interactive-section h2{color:var(--text-heading);margin-bottom:1rem;font-size:1.2rem}.imat-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.imat-status{color:var(--teal);min-height:1.4em;font-size:.95rem;font-weight:600}.imat-controls{align-items:center;gap:.75rem;display:flex}.imat-speed-label{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.imat-speed-label select{border:1px solid var(--border);font:inherit;background:var(--ghost-bg);color:var(--text);cursor:pointer;border-radius:6px;padding:.25rem .4rem;font-size:.85rem}.imat-skip-btn{padding:.3rem .75rem!important;font-size:.85rem!important}.imat-op-label{color:var(--teal);background:var(--teal-dim);border:1px solid #7db8f01f;border-radius:8px;min-height:1.5em;margin-bottom:.75rem;padding:.4rem .75rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.9rem;transition:background .3s}.imat-op-label:empty{display:none}.imat-container{padding:.5rem 0;overflow-x:auto}.imat-table{border-collapse:collapse;color:var(--text);margin:0 auto;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.95rem}.imat-row{position:relative}.imat-label{text-align:center;color:var(--text-dim);-webkit-user-select:none;user-select:none;padding:.45rem .6rem;font-size:.78rem;font-weight:500}.imat-cell{text-align:right;border-radius:4px;min-width:56px;padding:.45rem .75rem;transition:background-color .4s,opacity .3s,transform .3s}.imat-sep{border-left:2.5px solid var(--teal);padding-left:.85rem}.frac{white-space:nowrap}.frac sup{vertical-align:super;font-size:.8em}.frac sub{vertical-align:sub;font-size:.8em}.imat-yellow{background-color:var(--amber-dim)!important;color:var(--amber)!important}.imat-green{background-color:var(--teal-dim)!important;color:var(--teal)!important}.imat-pivot{font-weight:700;background-color:var(--teal-dim)!important;color:var(--teal)!important}.imat-blue{background-color:var(--indigo-dim)!important;color:var(--indigo)!important}.imat-changing{transition:opacity .2s,transform .2s;transform:scale(.85);opacity:0!important}@keyframes imat-slide-up{0%{opacity:.4;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes imat-slide-down{0%{opacity:.4;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.imat-swap-up td{animation:.4s forwards imat-slide-up}.imat-swap-down td{animation:.4s forwards imat-slide-down}@keyframes imat-pulse{0%,to{background-color:var(--teal-dim)}50%{background-color:#7db8f059}}.imat-solution-pulse{animation:1s 2 imat-pulse}.backsub-toggle-wrap{justify-content:center;margin-top:1rem;display:flex}.backsub-toggle-btn{transition:background .2s,color .2s;border:1.5px solid var(--teal)!important;color:var(--teal)!important;padding:.5rem 1.25rem!important;font-size:.9rem!important}.backsub-toggle-btn:hover,.backsub-toggle-btn:focus-visible{background:var(--teal-dim)!important}.backsub-toggle-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.backsub-section{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem;animation:.3s backsub-fade-in}@keyframes backsub-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.output-section{display:none}.output-section h2{color:var(--text-heading);margin-bottom:1rem;font-size:1.2rem}.step{background:var(--bg-card);border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:12px;margin-bottom:1rem;padding:1.25rem;transition:opacity .4s,transform .4s,background .3s,border-color .3s}.step--hidden{opacity:0;transform:translateY(12px)}.step__head{margin-bottom:.5rem}.step__title{color:var(--teal);font-size:.95rem;font-weight:700}.step__blas{background:var(--indigo-dim);color:var(--indigo);border:1px solid #818cf826;border-radius:8px;margin-bottom:.5rem;padding:.5rem .75rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.82rem;overflow-x:auto}.step__detail{color:var(--text-muted);margin-bottom:.5rem;font-size:.9rem}.aug-matrix{border-collapse:collapse;color:var(--text);margin:.25rem 0;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.85rem}.aug-matrix td{text-align:right;padding:.3rem .6rem;transition:background .3s}.aug-matrix .aug-sep{border-left:2px solid var(--teal);padding-left:.75rem}.cell-pivot{background:var(--teal-dim);color:var(--teal);border-radius:4px;font-weight:700}.cell-swap{background:var(--indigo-dim);color:var(--indigo);border-radius:4px}.cell-elim{background:var(--amber-dim);color:var(--amber);border-radius:4px}.solution h3{color:var(--teal);margin-bottom:.5rem;font-size:1rem}.sol-vec{flex-wrap:wrap;gap:1.25rem;display:flex}.sol-item{color:var(--text);font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:1.05rem}.sol-item strong{color:var(--teal)}.verify{border-radius:8px;margin-top:.75rem;padding:.5rem .75rem;font-size:.88rem;font-weight:500}.verify--ok{background:var(--teal-dim);color:var(--teal);border:1px solid #7db8f033}.verify--fail{color:#f87171;background:#ef44441a;border:1px solid #ef444433}.imat-iter-row{color:var(--text);border-radius:8px;align-items:center;gap:1rem;margin-bottom:2px;padding:.4rem .75rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.85rem;transition:background .3s;display:flex}.imat-iter-row:nth-child(odd){background:var(--ghost-bg)}.imat-iter-row:last-child{background:var(--teal-dim);color:var(--teal);font-weight:600}.imat-iter-label{min-width:40px;color:var(--teal);font-weight:600}.imat-iter-vec{color:var(--text);flex:1}.imat-iter-norm{color:var(--text-muted);white-space:nowrap;font-size:.8rem}.reg-table-wrap{margin-bottom:1rem;overflow-x:auto}.reg-table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:10px;width:100%;overflow:hidden}.reg-table thead tr:first-child{background:var(--ghost-bg)}.reg-table__group-header{text-transform:uppercase;letter-spacing:.05em;padding:.5rem .75rem .15rem;font-size:.72rem;font-weight:600}.reg-table__group-header--x{color:var(--teal);border-bottom:none}.reg-table__group-header--y{color:var(--indigo);border-left:2px solid var(--indigo);border-bottom:none}.reg-table__col-name{text-align:center;background:var(--ghost-bg);padding:.1rem .75rem .45rem;font-size:.82rem;font-weight:600}.reg-table__col-name--x{color:var(--teal)}.reg-table__col-name--y{color:var(--indigo);border-left:2px solid var(--indigo)}.reg-table__corner{background:var(--ghost-bg);width:32px;padding:.25rem .5rem}.reg-table__row{transition:background .15s}.reg-table__row:hover{background:var(--ghost-bg)}.reg-table__row:not(:last-child) .reg-table__cell,.reg-table__row:not(:last-child) .reg-table__idx{border-bottom:1px solid var(--border)}.reg-table__idx{color:var(--text-dim);text-align:center;font-variant-numeric:tabular-nums;width:32px;padding:.35rem .5rem;font-size:.75rem}.reg-table__cell{padding:3px 4px}.reg-table__cell--y{border-left:2px solid var(--indigo)}.reg-table__input{width:100%;min-width:56px;font:inherit;text-align:center;color:var(--text-heading);background:0 0;border:1px solid #818cf84d;border-radius:6px;padding:.4rem .5rem;font-size:.9rem;transition:border-color .15s,background .15s}.reg-table__input::placeholder{color:var(--text-dim);opacity:.4}.reg-table__input:hover{background:var(--ghost-bg);border-color:var(--border)}.reg-table__input:focus{background:var(--ghost-bg);border-color:var(--teal);box-shadow:0 0 0 2px var(--teal-dim);outline:none}.reg-table__input--y:focus{border-color:var(--indigo);box-shadow:0 0 0 2px #818cf826}.reg-table__del{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .4rem;font-size:1rem;transition:color .15s,background .15s}.reg-table__del:hover{color:var(--red,#ef4444);background:#ef44441a}.nls-metrics{flex-wrap:wrap;gap:.6rem;margin-bottom:.75rem;display:flex}.nls-metric{background:var(--ghost-bg);border:1px solid var(--border);text-align:center;border-radius:10px;flex:1;min-width:100px;padding:.55rem .85rem}.nls-metric--ok{background:var(--teal-dim);border-color:#7db8f033}.nls-metric--warn{background:var(--amber-dim);border-color:#b4530933}.nls-metric__label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;font-size:.7rem}.nls-metric__value{color:var(--text-heading);word-break:break-all;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.95rem;font-weight:700}.nls-metric--ok .nls-metric__value{color:var(--teal)}.nls-vecs{flex-direction:column;gap:.3rem;margin-bottom:.6rem;display:flex}.nls-vec{background:var(--ghost-bg);border-radius:6px;align-items:center;gap:.5rem;padding:.35rem .65rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.85rem;transition:background .2s;display:flex}.nls-vec--accent{background:var(--teal-dim);border:1px solid #7db8f01f}.nls-vec__label{color:var(--teal);min-width:32px;font-size:.8rem;font-weight:600}.nls-vec__vals{color:var(--text)}.nls-vec--accent .nls-vec__vals{color:var(--teal);font-weight:600}.nls-jac-details{margin-top:.25rem}.nls-jac-summary{color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;padding:.3rem 0;font-size:.78rem;transition:color .15s}.nls-jac-summary:hover{color:var(--text-muted)}.nls-jac{gap:4px;width:fit-content;margin-top:.4rem;display:grid}.nls-jac__col-hdr{color:var(--indigo);text-align:center;text-transform:none;letter-spacing:.02em;padding:.2rem .5rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.7rem;font-weight:600}.nls-jac__row-hdr{color:var(--teal);justify-content:flex-end;align-items:center;padding-right:.5rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.75rem;font-weight:700;display:flex}.nls-jac__cell{background:var(--ghost-bg);border:1px solid var(--border);text-align:center;color:var(--text-heading);border-radius:8px;min-width:60px;padding:.4rem .7rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.85rem;font-weight:600;transition:background .15s,border-color .15s}.nls-jac__cell:hover{background:var(--indigo-dim);border-color:#818cf840}.nls-system{flex-direction:column;gap:.35rem;margin-bottom:.5rem;display:flex}.nls-system__eq{background:var(--ghost-bg);color:var(--text);border-radius:8px;align-items:center;gap:.5rem;padding:.4rem .7rem;font-size:.9rem;display:flex}.nls-system__fn{color:var(--teal);white-space:nowrap;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-weight:700}.nls-system__expr{color:var(--text-heading);font-family:JetBrains Mono,Fira Code,Consolas,monospace}.nls-result__info{color:var(--text-muted);margin:.6rem 0;font-size:.88rem}.nls-result__info strong{color:var(--teal)}.nls-progress{background:var(--ghost-bg);border:1px solid var(--border);border-radius:8px;height:22px;margin:.5rem 0;position:relative;overflow:hidden}.nls-progress__fill{background:linear-gradient(90deg, var(--teal-dim), var(--teal));border-radius:8px;height:100%;transition:width .3s}.nls-progress__text{text-align:center;color:var(--text);font-size:.78rem;font-weight:600;line-height:22px;position:absolute;top:0;left:0;right:0}.nls-table__hint{color:var(--text-dim);background:var(--ghost-bg);letter-spacing:.01em;padding:.15rem .75rem .45rem;font-size:.75rem;font-weight:400}.nls-table__label{color:var(--teal);text-align:right;white-space:nowrap;width:40px;padding:.35rem .75rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.9rem;font-weight:700}.nls-table__suffix{color:var(--text-muted);white-space:nowrap;width:40px;padding:.35rem .75rem;font-size:.88rem}.nls-table__eq-input{text-align:left!important;padding-left:.6rem!important;font-family:JetBrains Mono,Fira Code,Consolas,monospace!important}.nls-table .reg-table__row:not(:last-child) .reg-table__cell,.nls-table .reg-table__row:not(:last-child) .nls-table__label,.nls-table .reg-table__row:not(:last-child) .nls-table__suffix{border-bottom:1px solid var(--border)}@keyframes chartsAppear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.charts-appear{animation:.5s ease-out both chartsAppear}@media (width<=1024px) and (width>=601px){.gauss-page{max-width:100%;padding:1.5rem 1.25rem 3rem}.input-section,.interactive-section{padding:1.25rem}.matrix-table input{width:56px;padding:.3rem .35rem;font-size:.88rem}.matrix-input-wrap{gap:.75rem}.imat-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.imat-table{font-size:.88rem}.imat-cell{min-width:50px;padding:.4rem .6rem}.aug-matrix{font-size:.82rem}.aug-matrix td{padding:.25rem .5rem}.reg-table__input{min-width:54px;font-size:.88rem}.nls-jac__cell{min-width:56px;padding:.35rem .55rem;font-size:.82rem}.nls-metrics{gap:.5rem}.nls-metric{min-width:95px}}@media (width<=600px){.gauss-page{max-width:100%;padding:1rem .6rem 3rem}.input-section,.interactive-section{border-radius:12px;padding:.9rem}.input-section{overflow-x:auto}.size-row{gap:.5rem}.size-row input{width:50px;padding:.35rem .4rem;font-size:.88rem}.size-row label{font-size:.88rem}.matrix-table input{border-radius:4px;width:40px;padding:.25rem .2rem;font-size:.78rem}.matrix-table td{padding:1px}.matrix-input-wrap{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:.4rem;padding-bottom:.5rem;overflow-x:auto}.matrix-input-wrap>div{flex-shrink:0}.matrix-input-wrap h3{margin-bottom:.35rem;font-size:.78rem}.eq-sign{padding-top:1rem;font-size:.95rem}.step{padding:.85rem}.step__title{font-size:.88rem}.step__detail{font-size:.82rem}.step__blas{padding:.4rem .55rem;font-size:.74rem}.aug-matrix{font-size:.72rem}.aug-matrix td{padding:.18rem .3rem}.imat-container{-webkit-overflow-scrolling:touch;padding:.25rem 0;overflow-x:auto}.imat-table{margin:0;font-size:.74rem}.imat-cell{min-width:36px;padding:.3rem .4rem}.imat-label{padding:.35rem .4rem;font-size:.7rem}.imat-sep{padding-left:.5rem}.imat-toolbar{flex-direction:column;align-items:flex-start;gap:.5rem}.imat-controls{flex-wrap:wrap;gap:.5rem}.imat-op-label{padding:.3rem .55rem;font-size:.74rem}.imat-iter-row{flex-wrap:wrap;gap:.3rem;padding:.3rem .55rem;font-size:.74rem}.imat-iter-label{min-width:28px;font-size:.74rem}.imat-iter-norm{width:100%;font-size:.7rem}.reg-table-wrap{-webkit-overflow-scrolling:touch}.reg-table__input{min-width:42px;padding:.3rem;font-size:.78rem}.reg-table__cell{padding:2px}.reg-table__group-header{padding:.4rem .4rem .1rem;font-size:.66rem}.reg-table__col-name{padding:.05rem .35rem .35rem;font-size:.74rem}.reg-table__idx{width:24px;padding:.25rem .3rem;font-size:.7rem}.reg-table__corner{width:22px;padding:.2rem .3rem}.reg-table__del{padding:.2rem .3rem;font-size:.9rem}.nls-table__label{width:32px;padding:.3rem .4rem;font-size:.78rem}.nls-table__suffix{width:32px;padding:.3rem .4rem;font-size:.74rem}.nls-table__hint{padding:.1rem .5rem .35rem;font-size:.68rem}.nls-metrics{gap:.35rem}.nls-metric{min-width:70px;padding:.35rem .5rem}.nls-metric__label{font-size:.62rem}.nls-metric__value{font-size:.76rem}.nls-vec{flex-wrap:wrap;padding:.3rem .5rem;font-size:.72rem}.nls-vec__label{min-width:26px;font-size:.72rem}.nls-system__eq{flex-wrap:wrap;padding:.35rem .55rem;font-size:.76rem}.nls-jac__cell{min-width:42px;padding:.25rem .35rem;font-size:.72rem}.nls-jac__col-hdr{padding:.1rem .25rem;font-size:.62rem}.nls-jac__row-hdr{padding-right:.35rem;font-size:.66rem}.nls-jac{gap:3px}.backsub-toggle-btn{padding:.4rem .95rem!important;font-size:.82rem!important}.sol-vec{gap:.7rem}.sol-item{font-size:.95rem}}
