:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--background:var(--lightningcss-light,#fff)var(--lightningcss-dark,#181818);--foreground:var(--lightningcss-light,#1a1c1f)var(--lightningcss-dark,#fff);--card:color-mix(in oklab,var(--foreground) 5%,transparent);--card-foreground:var(--foreground);--primary:var(--lightningcss-light,#0969c3)var(--lightningcss-dark,#83c3ff);--primary-foreground:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0d0d0d);--muted:color-mix(in srgb,var(--foreground) 10%,transparent);--muted-foreground:var(--lightningcss-light,#1a1c1fad)var(--lightningcss-dark,#ffffffb3);--accent:var(--lightningcss-light,#e5f2ff)var(--lightningcss-dark,#0d273f);--accent-foreground:var(--lightningcss-light,#07549d)var(--lightningcss-dark,#a7d5ff);--border:var(--lightningcss-light,#1a1c1f17)var(--lightningcss-dark,#ffffff17);--input:var(--lightningcss-light,#1a1c1f1e)var(--lightningcss-dark,#0000001a);--ring:var(--primary);--series-2:var(--lightningcss-light,#f3883b)var(--lightningcss-dark,#f59a56);--series-3:var(--lightningcss-light,#5dc977)var(--lightningcss-dark,#74d58b);--radius:12px;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html{background:var(--background)}body{color:var(--foreground);background:var(--background);font:14px/1.5 var(--font-sans);margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}h1,h2,p{margin:0}h1{font-size:24px;font-weight:500}h2{font-size:18px;font-weight:500}strong,b{font-weight:500}code{font-family:var(--font-mono)}.app-shell{gap:18px;width:min(1180px,100% - 32px);margin:0 auto;padding:28px 0 60px;display:grid}.app-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.app-header p,.problem-heading p,.batch-list p{color:var(--muted-foreground)}.progress-pill,.viz-badge{width:max-content;color:var(--accent-foreground);background:var(--accent);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:500;display:inline-flex}.picker-row{background:var(--card);border-radius:20px;grid-template-columns:1fr 1fr 2fr;gap:10px;padding:12px;display:grid}label{color:var(--muted-foreground);gap:5px;font-size:12px;display:grid}input,select{border:1px solid var(--input);background:var(--background);border-radius:8px;outline:none;width:100%;min-width:0;padding:8px 10px}input:focus,select:focus,button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.problem-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.problem-heading h2{margin-top:7px;font-size:22px}.problem-goal{text-align:right;gap:7px;max-width:55%;display:grid}.problem-goal code{background:var(--muted);border-radius:6px;padding:5px 8px;font-size:12px}.method-tabs{flex-wrap:wrap;gap:8px;display:flex}.method-tabs button{border:1px solid var(--border);text-align:left;background:0 0;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:5px 10px;min-width:210px;padding:10px 12px;display:grid}.method-tabs button small{color:var(--muted-foreground);grid-row:1/3}.method-tabs button span{font-weight:500}.method-tabs button em{color:var(--muted-foreground);font-size:11px;font-style:normal}.method-tabs button.is-selected{border-color:var(--primary);background:var(--accent)}.visualizer{gap:16px;display:grid}.viz-controls{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.btn{border:1px solid var(--border);background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:7px 11px;display:inline-flex}.btn:hover:not(:disabled){background:var(--muted)}.btn-primary{border-color:var(--primary);color:var(--primary-foreground);background:var(--primary)}.range-label{flex:220px;grid-template-columns:1fr auto;min-width:min(100%,220px);display:grid}.range-label input{grid-column:1/-1;padding:0}.speed-label{min-width:90px}.step-status{grid-template-columns:auto 1fr auto;align-items:center;gap:8px 12px;display:grid}.step-status code{border-left:3px solid var(--primary);background:color-mix(in srgb,var(--muted) 45%,transparent);padding:8px 10px;font-size:12px}.array-stage{border-block:1px solid var(--border);place-items:center;min-height:175px;padding:30px 0;display:grid}.array-row{flex-wrap:wrap;justify-content:center;align-items:end;gap:10px;max-width:100%;display:flex}.cell-wrap{justify-items:center;gap:6px;display:grid}.pointer{min-height:18px;color:var(--primary);font:11px var(--font-mono)}.array-cell{border:1px solid var(--border);background:var(--card);width:54px;height:54px;font:16px var(--font-mono);border-radius:12px;place-items:center;transition:transform .25s,background .25s,border-color .25s;display:grid}.array-cell.is-active{border-color:var(--primary);background:var(--accent);transform:translateY(-5px)}.array-cell.is-settled:not(.is-active){border-color:var(--series-3);background:color-mix(in srgb,var(--series-3) 14%,transparent)}.cell-wrap small{color:var(--muted-foreground);font:11px var(--font-mono)}.lower-grid{grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);gap:12px;display:grid}.method-note,.code-section{background:var(--card);border-radius:20px;min-width:0;padding:14px}.method-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.method-heading h2{margin-top:7px}.complexity{text-align:right;color:var(--muted-foreground);gap:4px;font-size:12px;display:grid}.method-note>p{color:var(--muted-foreground);margin-top:14px}.code-tabs{gap:4px;margin-bottom:10px;display:flex}.code-tabs button{color:var(--muted-foreground);background:0 0;border:0;border-radius:7px;padding:5px 9px}.code-tabs button.is-selected{color:var(--foreground);background:var(--muted)}.code-panel{max-height:330px;font:12px/1.65 var(--font-mono);margin:0;overflow:auto}.code-line{white-space:pre;border-left:2px solid #0000;padding:0 8px;display:block}.code-line i{width:28px;color:var(--muted-foreground);-webkit-user-select:none;user-select:none;font-style:normal;display:inline-block}.code-line.current{border-left-color:var(--primary);background:var(--accent)}.batch-list{border-top:1px solid var(--border);grid-template-columns:180px 1fr;gap:16px;padding-top:18px;display:grid}.question-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.question-grid button{text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:auto 1fr auto;gap:7px;padding:8px;font-size:12px;display:grid}.question-grid button:not(:disabled):hover,.question-grid button.is-current{background:var(--accent)}.question-grid button span,.question-grid button small{color:var(--muted-foreground)}@media (width<=820px){.app-shell{width:min(100% - 20px,736px);padding-top:18px}.picker-row{grid-template-columns:1fr}.problem-heading{display:grid}.problem-goal{text-align:left;max-width:none}.lower-grid{grid-template-columns:1fr}.question-grid{grid-template-columns:1fr 1fr}.step-status{grid-template-columns:auto 1fr}.step-status code{grid-column:1/-1}.batch-list{grid-template-columns:1fr}}@media (width<=480px){.app-header{align-items:start}.progress-pill{white-space:nowrap}.question-grid{grid-template-columns:1fr}.array-cell{width:44px;height:44px}.method-tabs button{width:100%}.viz-controls .btn{flex:1}.speed-label{width:100%}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.app-shell{width:min(1480px,100% - 40px)}.workspace-layout{grid-template-columns:270px minmax(0,1fr);align-items:start;gap:22px;transition:grid-template-columns .18s;display:grid}.workspace-layout.is-sidebar-collapsed{grid-template-columns:62px minmax(0,1fr)}.lesson-content{gap:18px;min-width:0;display:grid}.lesson-sidebar{border:1px solid var(--border);background:var(--card);border-radius:16px;max-height:calc(100vh - 32px);padding:12px;position:sticky;top:16px;overflow:auto}.sidebar-heading{justify-content:space-between;align-items:center;padding:4px 6px 10px;display:flex}.sidebar-collapse{border:1px solid var(--border);background:var(--background);border-radius:7px;place-items:center;width:26px;height:26px;padding:0;display:grid}.sidebar-heading span,.category-trigger small{color:var(--muted-foreground);font-size:11px}.category-tree,.category-node{gap:3px;display:grid}.category-trigger{text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:14px 1fr auto;align-items:center;gap:6px;width:100%;padding:7px 6px;display:grid}.category-short{display:none}.is-sidebar-collapsed .lesson-sidebar{padding-inline:7px;overflow-x:hidden}.is-sidebar-collapsed .sidebar-heading{justify-content:center;padding-inline:0}.is-sidebar-collapsed .sidebar-heading strong,.is-sidebar-collapsed .sidebar-heading>span,.is-sidebar-collapsed .category-label,.is-sidebar-collapsed .category-trigger small,.is-sidebar-collapsed .category-node ul,.is-sidebar-collapsed .tree-marker{display:none}.is-sidebar-collapsed .category-short{display:block}.is-sidebar-collapsed .category-trigger{grid-template-columns:1fr;justify-items:center;padding:8px 4px;display:grid}.category-trigger:hover{background:color-mix(in srgb, var(--foreground) 6%, transparent)}.category-node.is-current>.category-trigger{color:var(--foreground);background:color-mix(in srgb, var(--foreground) 7%, transparent);box-shadow:inset 3px 0 0 var(--primary)}.tree-marker{color:var(--muted-foreground);font-size:11px}.category-node ul{border-left:1px solid var(--border);gap:2px;margin:2px 0 7px 12px;padding:0 0 0 10px;list-style:none;display:grid}.category-node li{border-radius:7px;grid-template-columns:minmax(0,1fr) 28px;align-items:center;display:grid}.category-node li.is-current{background:var(--background);box-shadow:inset 2px 0 0 var(--primary), 0 0 0 1px var(--border)}.category-node li.is-current .question-link{color:var(--primary);font-weight:500}.category-node li .question-link{text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:6px;display:block;overflow:hidden}.category-node li .question-link span{color:var(--muted-foreground);font:11px var(--font-mono);margin-right:6px}.category-node li a,.leetcode-link{color:var(--primary);text-decoration:none}.category-node li .leetcode-outbound{border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.category-node li .leetcode-outbound:hover{background:var(--muted)}.leetcode-link{justify-self:end;font-size:12px}.study-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.algorithm-workspace{gap:16px;min-width:0;display:grid}.test-case-panel{border:1px solid var(--border);background:var(--card);border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:10px 12px;display:grid}.test-case-panel>span{color:var(--muted-foreground);font-size:12px}.test-case-panel code{min-width:0;color:var(--foreground);white-space:nowrap;overflow:auto}.original-problem-panel{border:1px solid var(--border);background:var(--card);border-radius:16px;gap:13px;padding:16px;display:grid;position:sticky;top:16px}.original-panel-heading{color:var(--muted-foreground);justify-content:space-between;align-items:center;font-size:12px;display:flex}.original-panel-heading em{border-radius:999px;padding:2px 7px;font-style:normal}.difficulty-easy{color:var(--lightningcss-light,#0b6428)var(--lightningcss-dark,#9ad7aa);background:#34a85321}.difficulty-medium{color:var(--lightningcss-light,#804500)var(--lightningcss-dark,#ffd18a);background:#f2990021}.difficulty-hard{color:var(--lightningcss-light,#962019)var(--lightningcss-dark,#ffaaa2);background:#d9302521}.original-problem-panel h3{margin:0;font-size:18px;font-weight:550}.original-english{color:var(--muted-foreground);font-size:12px}.original-description{border-top:1px solid var(--border);gap:7px;padding-top:12px;display:grid}.original-description p{color:var(--muted-foreground);line-height:1.7}.original-tags{flex-wrap:wrap;gap:5px;display:flex}.original-tags span{color:var(--muted-foreground);background:var(--muted);border-radius:6px;padding:3px 7px;font-size:11px}.original-problem-panel .leetcode-link{border-top:1px solid var(--border);justify-self:stretch;padding-top:12px}.visualizer-title-row{border-bottom:1px solid var(--border);color:var(--muted-foreground);justify-content:space-between;align-items:center;padding-bottom:8px;font-size:12px;display:flex}.visual-stage{border-block:1px solid var(--border);background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--primary) 5%, transparent), transparent 55%);min-height:220px;overflow:auto}.matrix-stage,.dp-stage,.structure-stage,.linked-list-stage,.linear-structure-stage,.interval-stage,.state-stage,.static-stage{place-items:center;padding:28px;display:grid}.matrix-grid{gap:5px;width:min(100%,620px);display:grid}.matrix-cell{border:1px solid var(--border);background:var(--card);min-height:48px;font-family:var(--font-mono);border-radius:8px;place-items:center;transition:transform .2s,border-color .2s,background .2s;display:grid;position:relative}.matrix-cell small{color:var(--muted-foreground);font-size:8px;position:absolute;bottom:1px;right:3px}.matrix-cell.is-active,.dp-cell.is-active,.state-card.is-active,.structure-item.is-active,.list-node.is-active{border-color:var(--primary);background:var(--accent);transform:translateY(-3px)}.matrix-cell.is-settled,.list-node.is-settled{border-color:var(--series-3)}.auxiliary-strip{flex-wrap:wrap;justify-content:center;gap:7px;margin-top:14px;display:flex}.auxiliary-strip>span{border:1px solid var(--border);background:var(--card);border-radius:8px;grid-template-columns:auto auto;gap:6px;padding:6px 9px;transition:transform .2s,border-color .2s,background .2s;display:grid}.auxiliary-strip>span.is-active{border-color:var(--primary);background:var(--accent);transform:translateY(-2px)}.auxiliary-strip small{color:var(--muted-foreground)}.auxiliary-strip strong{font-family:var(--font-mono)}.bar-array-stage{align-content:center;gap:8px;padding-inline:16px}.water-bars{justify-content:center;align-items:end;gap:clamp(3px,.8vw,9px);width:min(100%,760px);display:flex}.water-column{flex:42px;justify-items:center;gap:4px;max-width:58px;transition:transform .2s;display:grid}.water-column.is-active{transform:translateY(-4px)}.water-column>small{color:var(--muted-foreground);font:10px var(--font-mono)}.water-stack{border-bottom:2px solid var(--border);flex-direction:column;justify-content:end;width:100%;height:150px;display:flex}.water-stack>i,.water-stack>b{min-height:0;font:10px var(--font-mono);place-items:center;transition:height .28s,background .28s;display:grid;overflow:hidden}.water-fill{color:var(--foreground);background:color-mix(in srgb, var(--primary) 30%, transparent);font-style:normal}.solid-fill{background:color-mix(in srgb, var(--foreground) 22%, transparent)}.water-column.is-active .solid-fill{background:color-mix(in srgb, var(--primary) 38%, transparent)}.water-column.is-settled .water-stack{border-bottom-color:var(--series-3)}.dp-table{gap:4px;width:min(100%,720px);display:grid}.dp-header,.dp-corner,.dp-cell{min-height:40px;font-family:var(--font-mono);border-radius:7px;place-items:center;display:grid}.dp-header{color:var(--muted-foreground);font-size:11px}.dp-cell{border:1px solid var(--border);background:var(--card);transition:transform .2s,border-color .2s,background .2s}.dp-cell.is-dependency{border-color:var(--series-2);background:color-mix(in srgb, var(--series-2) 12%, transparent)}.visual-legend{color:var(--muted-foreground);gap:16px;margin-top:14px;font-size:11px;display:flex}.visual-legend span{align-items:center;gap:5px;display:flex}.visual-legend i{border-radius:3px;width:9px;height:9px}.legend-active{background:var(--primary)}.legend-dependency{background:var(--series-2)}.structure-svg{width:min(100%,800px);min-width:560px;max-height:390px}.graph-edges line{stroke:color-mix(in srgb, var(--foreground) 25%, transparent);stroke-width:2px}.graph-node rect{fill:var(--background);stroke:var(--border);stroke-width:2px;transition:fill .2s,stroke .2s}.graph-node text{fill:var(--foreground);font:12px var(--font-mono)}.graph-node.is-active rect{fill:var(--accent);stroke:var(--primary);stroke-width:3px}.graph-node.is-settled rect{stroke:var(--series-3)}.graph-node.is-repeated rect{stroke-dasharray:5 4}.linked-list-row{align-items:center;min-width:max-content;display:flex}.cycle-list-svg{width:min(100%,760px);min-width:0}.cycle-edges line,.cycle-edges path{fill:none;stroke:color-mix(in srgb, var(--foreground) 34%, transparent);stroke-width:2px}.cycle-edges text,.cycle-index,.cycle-pointer{fill:var(--muted-foreground);font:10px var(--font-mono)}.cycle-node rect{fill:var(--card);stroke:var(--border);stroke-width:2px;transition:fill .2s,stroke .2s,transform .2s}.cycle-node>text:not(.cycle-pointer):not(.cycle-index){fill:var(--foreground);font:15px var(--font-mono)}.cycle-node.is-active rect{fill:var(--accent);stroke:var(--primary);stroke-width:3px}.cycle-node.is-settled rect{stroke:var(--series-3)}.cycle-node.is-active .cycle-pointer{fill:var(--primary)}.linked-item{align-items:center;display:flex}.list-node{border:1px solid var(--border);background:var(--card);border-radius:9px;grid-template-columns:minmax(42px,auto) 30px;min-height:52px;transition:transform .2s,border-color .2s,background .2s;display:grid;overflow:hidden}.list-node span,.list-node i{place-items:center;padding:7px;display:grid}.list-node i{border-left:1px solid var(--border);color:var(--muted-foreground);font:8px var(--font-mono)}.list-arrow{color:var(--primary);margin:0 7px;font-size:20px}.list-null{color:var(--muted-foreground);font-family:var(--font-mono);margin-left:8px}.linear-structure-stage{align-content:center;gap:8px}.linear-structure-items{gap:6px;display:flex}.is-stack .linear-structure-items{flex-direction:column-reverse;min-width:150px}.structure-item{border:1px solid var(--border);background:var(--card);min-width:58px;min-height:42px;font-family:var(--font-mono);border-radius:8px;place-items:center;transition:transform .2s,border-color .2s,background .2s;display:grid}.linear-structure-label{color:var(--muted-foreground);font-size:10px}.interval-canvas{width:min(100%,760px);min-height:190px;position:relative}.interval-axis{background:var(--border);height:2px;position:absolute;bottom:18px;left:5%;right:5%}.interval-bar{border:1px solid var(--series-2);background:color-mix(in srgb, var(--series-2) 13%, var(--background));text-align:center;border-radius:999px;min-width:54px;height:24px;transition:transform .2s,border-color .2s;position:absolute}.interval-bar.is-active{z-index:1;border-color:var(--primary);transform:translateY(-3px)}.interval-bar span{font:10px/22px var(--font-mono);white-space:nowrap}.state-flow,.state-with-arrow{align-items:center;gap:10px;display:flex}.state-flow{flex-wrap:wrap;justify-content:center}.state-with-arrow>span{color:var(--muted-foreground)}.state-card{border:1px solid var(--border);background:var(--card);text-align:center;border-radius:11px;gap:7px;min-width:96px;padding:13px;transition:transform .2s,border-color .2s,background .2s;display:grid}.state-card span{color:var(--muted-foreground);font-size:10px}.state-card strong{font:17px var(--font-mono)}.static-stage{place-content:center;justify-items:start;gap:10px}.static-stage h3{margin:0}.static-stage ol{gap:8px;margin:8px 0 0;padding-left:20px;display:grid}.static-stage li span{color:var(--muted-foreground);font-family:var(--font-mono);font-size:11px;display:block}.code-line .token.comment,.code-line .token.prolog,.code-line .token.doctype{color:var(--muted-foreground);font-style:italic}.code-line .token.keyword,.code-line .token.boolean{color:var(--lightningcss-light,#7c3aed)var(--lightningcss-dark,#c4b5fd)}.code-line .token.string,.code-line .token.char,.code-line .token.regex{color:var(--lightningcss-light,#16803c)var(--lightningcss-dark,#86d99d)}.code-line .token.number,.code-line .token.constant{color:var(--lightningcss-light,#c45108)var(--lightningcss-dark,#f7ad6a)}.code-line .token.function,.code-line .token.class-name{color:var(--lightningcss-light,#075fc7)var(--lightningcss-dark,#7db8ff)}.code-line .token.operator,.code-line .token.punctuation{color:var(--lightningcss-light,#52606d)var(--lightningcss-dark,#aeb8c4)}.code-line .token.builtin,.code-line .token.property{color:var(--lightningcss-light,#087d78)var(--lightningcss-dark,#6dd4ce)}.reference-code-section{background:var(--card);border-radius:20px;gap:12px;padding:16px;display:grid}.reference-code-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.reference-code-heading h2{margin-top:7px}.reference-code-heading a{color:var(--primary);font-size:12px;text-decoration:none}.reference-code-section>p{color:var(--muted-foreground)}.reference-code-section .code-tabs{margin-bottom:0}.reference-code-section .code-panel{max-height:420px}.seo-overview{border:1px solid var(--border);background:color-mix(in srgb, var(--card) 72%, transparent);border-radius:22px;gap:14px;padding:24px;display:grid}.seo-overview h2{margin-top:8px;font-size:clamp(20px,2vw,28px)}.seo-overview>p{max-width:900px;color:var(--muted-foreground);font-size:15px}.seo-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.seo-facts article{background:var(--background);border-radius:14px;gap:6px;padding:14px;display:grid}.seo-facts article span{color:var(--muted-foreground);font-size:13px}.problem-breadcrumb{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.problem-breadcrumb a{color:var(--primary);text-decoration:none}.problem-breadcrumb strong{color:var(--foreground)}.problem-knowledge,.seo-catalog{border:1px solid var(--border);background:color-mix(in srgb, var(--card) 72%, transparent);border-radius:22px;gap:16px;padding:20px;display:grid}.knowledge-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.knowledge-heading h2,.seo-catalog h2{margin-top:8px;font-size:clamp(20px,2vw,28px)}.knowledge-heading>p,.seo-catalog>p{max-width:720px;color:var(--muted-foreground)}.knowledge-facts{grid-template-columns:1.4fr .8fr .6fr;gap:8px;margin:0;display:grid}.knowledge-facts>div{background:var(--background);border-radius:12px;gap:5px;min-width:0;padding:12px;display:grid}.knowledge-facts dt,.knowledge-methods article>span{color:var(--muted-foreground);font-size:11px}.knowledge-facts dd,.knowledge-methods dl,.knowledge-methods dd{margin:0}.knowledge-facts code{overflow-wrap:anywhere}.knowledge-methods{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.knowledge-methods article{background:var(--background);border-radius:14px;align-content:start;gap:7px;padding:14px;display:grid}.knowledge-methods h3,.seo-catalog-groups h3{margin:0;font-size:15px;font-weight:500}.knowledge-methods p{color:var(--muted-foreground);font-size:13px}.knowledge-methods dl{flex-wrap:wrap;gap:6px 14px;display:flex}.knowledge-methods dl>div{color:var(--muted-foreground);gap:5px;font-size:12px;display:flex}.seo-catalog-groups{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;display:grid}.seo-catalog-groups>section{background:var(--background);border-radius:14px;align-content:start;gap:8px;padding:14px;display:grid}.seo-catalog-groups>section>div{gap:3px;display:grid}.seo-catalog-groups a{color:var(--foreground);gap:7px;padding:4px 0;font-size:12px;text-decoration:none;display:flex}.seo-catalog-groups a:hover{color:var(--primary)}.seo-catalog-groups a span{color:var(--muted-foreground);font-family:var(--font-mono)}@media (width<=1350px){.study-layout{grid-template-columns:1fr}.original-problem-panel{position:static}}@media (width<=820px){.app-shell{width:min(100% - 20px,736px)}.workspace-layout,.workspace-layout.is-sidebar-collapsed{grid-template-columns:1fr}.lesson-sidebar{max-height:340px;position:static}.is-sidebar-collapsed .lesson-sidebar{max-height:58px}.leetcode-link{justify-self:start}.seo-facts{grid-template-columns:1fr}.knowledge-heading{flex-direction:column;align-items:start}.knowledge-facts{grid-template-columns:1fr}}@media (width<=480px){.viz-controls .btn{white-space:nowrap;flex:calc(33.333% - 8px)}.range-label{flex:100%;order:2}.speed-label{order:3;width:100%}}.site-header{border:1px solid var(--border);background:color-mix(in srgb, var(--card) 72%, transparent);border-radius:18px;min-height:58px;padding:8px 10px}.site-brand{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.site-brand img{border-radius:11px}.site-brand>span{display:grid}.site-brand strong{font-size:16px}.site-brand small{color:var(--muted-foreground);font-size:11px}.site-nav{align-items:center;gap:5px;display:flex}.site-nav a{color:var(--muted-foreground);border-radius:9px;padding:7px 10px;text-decoration:none}.site-nav a:hover{color:var(--foreground);background:var(--muted)}.site-nav a.is-current{color:var(--accent-foreground);background:var(--accent)}.algorithm-intro,.lab-hero{justify-content:space-between;align-items:end;gap:28px;display:flex}.algorithm-intro h1,.lab-hero h1{margin-top:7px;font-size:clamp(24px,3vw,36px)}.algorithm-intro p,.lab-hero>p{max-width:620px;color:var(--muted-foreground);text-align:right;font-size:15px}.learning-shell{gap:20px}.lab-toolbar,.preset-row{flex-wrap:wrap;gap:10px;display:flex}.lab-toolbar{justify-content:space-between}.segmented-control{background:var(--card);border-radius:11px;gap:4px;padding:4px;display:flex}.segmented-control button,.preset-row button{color:var(--muted-foreground);background:0 0;border:0}.segmented-control button{border-radius:8px;padding:7px 11px}.segmented-control button.is-selected{color:var(--primary-foreground);background:var(--primary)}.operator-catalog{border:1px solid var(--border);background:color-mix(in srgb, var(--card) 72%, transparent);border-radius:18px;gap:12px;padding:15px;display:grid}.operator-catalog-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.operator-catalog-heading h2{margin-top:6px}.operator-catalog-heading>strong{color:var(--muted-foreground);font:11px var(--font-mono)}.category-tabs{flex-wrap:wrap;gap:5px;display:flex}.category-tabs button{border:1px solid var(--border);color:var(--muted-foreground);background:var(--background);border-radius:8px;padding:6px 9px}.category-tabs button.is-selected{color:var(--accent-foreground);border-color:var(--primary);background:var(--accent)}.operator-learning-links{flex-wrap:wrap;align-items:center;gap:7px;padding-top:3px;display:flex}.operator-learning-links strong{margin-right:2px;font-size:12px}.operator-learning-links a{border:1px solid var(--border);color:var(--muted-foreground);font:11px var(--font-mono);border-radius:999px;padding:4px 7px}.operator-learning-links a:hover{color:var(--foreground);border-color:var(--primary)}.lab-workspace{grid-template-columns:minmax(320px,.82fr) minmax(480px,1.18fr);align-items:start;gap:16px;display:grid}.editor-panel,.timeline-panel,.marble-panel,.lab-roadmap{border:1px solid var(--border);background:var(--card);border-radius:18px;min-width:0;padding:17px}.editor-panel,.timeline-panel,.marble-panel{gap:14px;display:grid}.lab-panel-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.lab-panel-heading>div{gap:3px;display:grid}.lab-panel-heading span{color:var(--muted-foreground);font:11px var(--font-mono);text-transform:uppercase}.lab-panel-heading h2{font-size:17px}.lab-panel-heading>strong{color:var(--muted-foreground);font:12px var(--font-mono)}.highlight-editor{--syntax-comment:#667085;--syntax-keyword:#7c3aed;--syntax-string:#16803c;--syntax-number:#c45108;--syntax-function:#075fc7;--syntax-punctuation:#52606d;--syntax-property:#087d78;isolation:isolate;contain:layout paint;border:1px solid var(--input);background:var(--background);border-radius:12px;min-height:420px;position:relative;overflow:hidden}.highlight-editor.is-compact{min-height:290px}.editor-loading-fallback{white-space:pre;height:100%;font:12px/1.65 var(--font-mono);tab-size:2;margin:0;padding:14px;overflow:auto}.editor-loading-fallback code{color:var(--foreground)}.code-mirror-mount,.highlight-editor .cm-editor{height:100%}.highlight-editor .cm-editor{color:var(--foreground);font:12px/1.65 var(--font-mono);background:0 0}.highlight-editor .cm-scroller{font-family:inherit;overflow:auto}.highlight-editor .cm-content{caret-color:var(--foreground);padding:10px 0}.highlight-editor .cm-line{padding:0 12px 0 7px}.highlight-editor .cm-gutters{color:var(--muted-foreground);border:0;border-right:1px solid var(--border);background:color-mix(in srgb, var(--card) 72%, var(--background))}.highlight-editor .cm-lineNumbers .cm-gutterElement{min-width:30px;padding:0 8px 0 6px}.highlight-editor .cm-activeLine,.highlight-editor .cm-activeLineGutter{background:color-mix(in srgb, var(--accent) 68%, transparent)}.highlight-editor .cm-selectionBackground{background:color-mix(in srgb, var(--primary) 30%, transparent)!important}.highlight-editor .cm-content ::selection{background:color-mix(in srgb, var(--primary) 30%, transparent)!important}.highlight-editor .cm-cursor{border-left-color:var(--foreground)}.highlight-editor .cm-focused{outline:none}.highlight-editor:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 18%, transparent)}@media (prefers-color-scheme:dark){.highlight-editor{--syntax-comment:#a6adbb;--syntax-keyword:#c4b5fd;--syntax-string:#86d99d;--syntax-number:#f7ad6a;--syntax-function:#7db8ff;--syntax-punctuation:#aeb8c4;--syntax-property:#6dd4ce}}.editor-hint{color:var(--muted-foreground);font:11px/1.6 var(--font-mono)}.editor-source-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.editor-source-row a{color:var(--primary);white-space:nowrap;font-size:11px;text-decoration:none}.component-preview{border:1px solid var(--border);background:var(--background);border-radius:13px;grid-template-columns:1fr auto;align-items:center;gap:5px 12px;padding:13px;display:grid}.component-preview>span{color:var(--muted-foreground);font-size:11px}.component-preview button{border:1px solid var(--primary);color:var(--primary);background:var(--accent);opacity:1;border-radius:8px;grid-area:1/2/3;padding:8px 12px}.component-preview small{font-family:var(--font-mono)}.component-preview[data-visible=false]{opacity:.58}.lifecycle-timeline{gap:7px;margin:0;padding:0;list-style:none;display:grid}.lifecycle-timeline li{opacity:1;border:1px solid #0000;border-radius:10px;grid-template-columns:12px minmax(0,1fr);align-items:start;gap:10px;padding:9px 10px;transition:opacity .2s,transform .2s,border-color .2s,background .2s;display:grid}.lifecycle-timeline li:not(.is-active):not(.is-complete){border-color:var(--border);border-style:dashed}.lifecycle-timeline li.is-complete{opacity:1;background:color-mix(in srgb, var(--card) 55%, transparent)}.lifecycle-timeline li.is-active{border-color:var(--primary);background:var(--accent);opacity:1;transform:translate(3px)}.lifecycle-timeline li>div{gap:2px;display:grid}.lifecycle-timeline small{color:var(--muted-foreground);font:10px var(--font-mono)}.lifecycle-timeline p{color:var(--muted-foreground);font-size:12px}.lane-dot{background:var(--muted-foreground);border-radius:50%;width:9px;height:9px;margin-top:5px}.lane-render{background:var(--primary)}.lane-dom{background:var(--series-2)}.lane-effect{background:var(--series-3)}.lane-paint{background:var(--foreground);border-radius:2px}.lab-playback{flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.preset-row{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));display:grid}.preset-row button{border:1px solid var(--border);text-align:left;border-radius:13px;gap:4px;padding:12px;display:grid}.preset-row button:hover{color:var(--foreground);background:var(--muted)}.preset-row button.is-selected{border-color:var(--primary);color:var(--foreground);background:var(--accent)}.preset-row small{font:10px var(--font-mono);text-transform:uppercase}.preset-row span{color:var(--muted-foreground);font-size:12px}.marble-panel{min-height:430px}.marble-diagram{border-block:1px solid var(--border);gap:28px;padding:28px 12px 20px 74px;display:grid;position:relative;overflow:hidden}.marble-track{min-height:48px;position:relative}.marble-track>strong{color:var(--muted-foreground);font:10px var(--font-mono);position:absolute;top:14px;right:calc(100% + 10px)}.marble-track>i{background:var(--border);height:1px;position:absolute;top:23px;left:0;right:0}.marble-track>i:after{border-top:1px solid var(--border);border-right:1px solid var(--border);content:"";width:7px;height:7px;position:absolute;top:-3px;right:-1px;transform:rotate(45deg)}.rx-marble{z-index:2;top:9px;left:var(--marble-left);border:1px solid var(--primary);min-width:29px;height:29px;color:var(--foreground);background:var(--background);font:10px var(--font-mono);border-radius:999px;place-items:center;padding:0 6px;transition:transform .28s,background .28s,border-color .28s;display:grid;position:absolute;transform:translate(-50%)}.track-operator .rx-marble{border-color:var(--series-2)}.track-output .rx-marble{border-color:var(--series-3)}.rx-marble.is-canceled{opacity:.52;border-style:dashed;text-decoration:line-through}.rx-marble.is-error{border-color:var(--destructive)}.rx-marble.is-complete{border-style:double}.rx-marble.is-shared{border-color:var(--series-2);background:color-mix(in srgb, var(--series-2) 12%, var(--background))}.rx-marble.is-active{z-index:4;color:var(--primary-foreground);border-color:var(--primary);background:var(--primary);transform:translate(-50%)scale(1.18)}.marble-playhead{z-index:3;background:color-mix(in srgb, var(--primary) 65%, transparent);width:1px;transition:left .55s;position:absolute;top:14px;bottom:8px}.marble-playhead span{color:var(--primary);font:9px var(--font-mono);position:absolute;top:-4px;left:5px}.marble-status{border-left:3px solid var(--primary);background:color-mix(in srgb, var(--accent) 55%, transparent);gap:4px;min-height:58px;padding:11px 12px;display:grid}.marble-status span{font-weight:500}.marble-status p{color:var(--muted-foreground)}.lab-roadmap{justify-content:space-between;align-items:end;gap:24px;display:flex}.lab-roadmap h2{margin-top:7px}.lab-roadmap>p{max-width:680px;color:var(--muted-foreground);text-align:right}@media (width<=980px){.lab-workspace{grid-template-columns:1fr}.highlight-editor{min-height:340px}.highlight-editor.is-compact{min-height:260px}}@media (width<=720px){.site-header,.algorithm-intro,.lab-hero,.lab-roadmap{flex-direction:column;align-items:stretch}.site-nav{width:100%;overflow-x:auto}.site-nav a{white-space:nowrap}.algorithm-intro p,.lab-hero>p,.lab-roadmap>p{text-align:left}.preset-row{grid-template-columns:1fr}.operator-catalog-heading,.editor-source-row{flex-direction:column;align-items:start}}@media (prefers-reduced-motion:reduce){.lifecycle-timeline li,.rx-marble,.marble-playhead{transition:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.locale-picker{width:130px}.locale-picker select{padding-block:6px}.workspace-toolbar{flex-wrap:wrap;gap:8px;display:flex}.mobile-sidebar-toggle,.mobile-sidebar-close,.sidebar-scrim{display:none}.workspace-layout.is-focus-mode{grid-template-columns:minmax(0,1fr)}.workspace-layout.is-focus-mode .lesson-sidebar,.workspace-layout.is-focus-mode .original-problem-panel{display:none}.workspace-layout.is-focus-mode .study-layout{grid-template-columns:minmax(0,1fr)}.knowledge-depth-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.knowledge-depth-grid article,.lesson-examples article{border:1px solid var(--border);background:var(--background);border-radius:14px;padding:16px}.knowledge-depth-grid h3,.lesson-examples h3,.related-problems h3{margin:0 0 10px;font-size:16px}.knowledge-depth-grid p,.knowledge-depth-grid li,.lesson-examples p{color:var(--muted-foreground);line-height:1.75}.knowledge-depth-grid ul{margin:0;padding-left:20px}.lesson-examples{gap:12px;display:grid}.lesson-examples>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.lesson-examples article{align-content:start;gap:8px;display:grid}.lesson-examples article>span{width:24px;height:24px;color:var(--primary-foreground);background:var(--primary);font:12px var(--font-mono);border-radius:50%;place-items:center;display:grid}.lesson-examples code{overflow-wrap:anywhere}.related-problems{gap:8px;display:grid}.related-problems>div,.recent-learning>div{flex-wrap:wrap;gap:8px;display:flex}.related-problems a,.recent-learning a{border:1px solid var(--border);color:var(--foreground);border-radius:9px;padding:8px 10px;text-decoration:none}.related-problems a:hover,.recent-learning a:hover{border-color:var(--primary);background:var(--accent)}.related-problems a span{color:var(--muted-foreground);font-family:var(--font-mono);margin-right:6px}.library-hero,.topic-hero,.concept-hero,.trust-hero{gap:12px;max-width:940px;padding:34px 0 20px;display:grid}.library-hero h1,.topic-hero h1,.concept-hero h1,.trust-hero h1{font-size:clamp(30px,5vw,52px);font-weight:650;line-height:1.1}.library-hero p,.topic-hero p,.concept-hero p,.trust-hero p{color:var(--muted-foreground);font-size:16px;line-height:1.8}.library-filters{border:1px solid var(--border);background:var(--card);border-radius:16px;grid-template-columns:minmax(260px,1fr) 170px 220px auto;align-items:end;gap:10px;padding:14px;display:grid}.library-filters strong{white-space:nowrap;padding:8px}.recent-learning{gap:10px;display:grid}.problem-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.problem-results article{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:15px;align-content:start;gap:7px;min-width:0;padding:16px;transition:border-color .18s,background-color .18s,box-shadow .18s;display:grid;position:relative}.problem-results article:hover,.problem-results article:focus-within{border-color:var(--primary);background:color-mix(in srgb, var(--accent) 78%, var(--card));box-shadow:0 8px 24px color-mix(in srgb, var(--primary) 12%, transparent)}.problem-results article>div,.problem-results footer{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.problem-results h2{font-size:17px}.problem-results h2 a,.problem-results footer a{color:var(--foreground);text-decoration:none}.problem-results h2 a:after{z-index:1;content:"";border-radius:15px;position:absolute;inset:0}.problem-results h2 a:focus-visible{outline:none}.problem-results footer a{z-index:2;position:relative}.problem-results h2 a:hover,.problem-results footer a:hover{color:var(--primary)}.problem-results article>p{color:var(--muted-foreground);font-size:12px}.problem-results footer em,.problem-results footer span,.topic-problems footer em{background:var(--muted);border-radius:6px;padding:2px 6px;font-style:normal}.empty-results{border:1px dashed var(--border);color:var(--muted-foreground);text-align:center;border-radius:16px;padding:40px}.topic-patterns,.topic-guidance,.topic-problems,.concept-page>section,.trust-sections{gap:14px;display:grid}.topic-patterns>div,.topic-problems>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.topic-patterns article,.topic-problems article,.topic-guidance article,.trust-sections section{border:1px solid var(--border);background:var(--card);border-radius:15px;align-content:start;gap:8px;padding:18px;display:grid}.topic-patterns p,.topic-problems p,.topic-guidance li,.trust-sections p,.trust-sections li{color:var(--muted-foreground);line-height:1.75}.topic-guidance{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-problems h3,.topic-problems footer{margin:0}.topic-problems a{color:var(--foreground)}.concept-page{max-width:980px}.concept-page>header code{background:var(--muted);border-radius:8px;width:max-content;max-width:100%;padding:9px 12px;overflow:auto}.concept-page>section>ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.concept-page>section>ol li{border:1px solid var(--border);border-radius:12px;grid-template-columns:32px 1fr;gap:12px;padding:14px;display:grid}.concept-page>section>ol li>span{height:32px;color:var(--primary-foreground);background:var(--primary);border-radius:50%;place-items:center;display:grid}.concept-page>section>ol p{color:var(--muted-foreground);margin-top:4px}.concept-page>footer{gap:8px;display:flex}.trust-page,.concept-page{min-height:70vh}.trust-sections{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-sections ul,.topic-guidance ol,.topic-guidance ul{margin:0;padding-left:22px}.site-footer{border-top:1px solid var(--border);width:min(1480px,100% - 40px);color:var(--muted-foreground);justify-content:space-between;gap:20px;margin:0 auto;padding:26px 0 34px;display:flex}.site-footer>div,.site-footer nav{flex-wrap:wrap;gap:12px;display:flex}.site-footer a{color:inherit}.supported-syntax{color:var(--muted-foreground);font-size:12px}.supported-syntax summary{cursor:pointer;color:var(--foreground)}.editor-hint.is-error{color:var(--lightningcss-light,#a52820)var(--lightningcss-dark,#ff9b91)}.graph-edges marker path,.cycle-list-svg marker path{fill:var(--muted-foreground)}.graph-edges g.is-active line,.cycle-edges g.is-active line,.cycle-edges g.is-active path,.random-edges g.is-active path{stroke:var(--primary);stroke-width:3px}.graph-edge-label{fill:var(--muted-foreground);paint-order:stroke;stroke:var(--background);stroke-width:4px;font:10px var(--font-mono)}.random-edges path{fill:none;stroke:var(--series-2);stroke-width:1.7px;stroke-dasharray:5 4}.random-edges text{fill:var(--series-2);paint-order:stroke;stroke:var(--background);stroke-width:4px;font:9px var(--font-mono)}.random-edges g.is-active text,.cycle-edges g.is-active text,.graph-edges g.is-active text{fill:var(--primary)}@media (width<=980px){.site-header{flex-wrap:wrap}.site-nav{order:3;width:100%}.mobile-sidebar-toggle,.mobile-sidebar-close{display:inline-flex}.workspace-layout,.workspace-layout.is-sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.lesson-sidebar,.is-sidebar-collapsed .lesson-sidebar{z-index:40;background:var(--background);border-radius:0 18px 18px 0;width:min(88vw,340px);max-height:none;padding:16px;transition:transform .18s;position:fixed;top:0;bottom:0;left:0;overflow:auto;transform:translate(-105%);box-shadow:12px 0 40px #00000038}.is-mobile-sidebar-open .lesson-sidebar{transform:translate(0)}.sidebar-scrim{z-index:35;background:#0000006b;border:0;display:block;position:fixed;inset:0}.mobile-sidebar-close{border:1px solid var(--border);background:var(--background);border-radius:8px;width:32px;height:32px;font-size:20px;position:absolute;top:10px;right:10px}.sidebar-collapse{display:none}.is-sidebar-collapsed .sidebar-heading strong,.is-sidebar-collapsed .sidebar-heading>span,.is-sidebar-collapsed .category-label,.is-sidebar-collapsed .category-trigger small,.is-sidebar-collapsed .category-node ul,.is-sidebar-collapsed .tree-marker{display:initial}.is-sidebar-collapsed .category-short{display:none}.is-sidebar-collapsed .category-trigger{justify-items:initial;grid-template-columns:14px 1fr auto}.library-filters{grid-template-columns:1fr 1fr}.problem-results,.topic-patterns>div,.topic-problems>div{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-examples>div{grid-template-columns:1fr}}@media (width<=640px){.workspace-toolbar .btn{flex:calc(50% - 8px)}.knowledge-depth-grid,.topic-guidance,.trust-sections,.problem-results,.topic-patterns>div,.topic-problems>div,.library-filters{grid-template-columns:1fr}.site-footer{flex-direction:column}.locale-picker{margin-left:auto}}@media (prefers-reduced-motion:reduce){.lesson-sidebar{transition:none}}
