@import "https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500;600&family=Inter:wght@300;400;500;600;700&display=swap";#root{min-height:100vh}body,p{margin:0}code{font-family:inherit}:root{--bg:#07110e;--card:#0d1b16;--muted:#9bb8ad;--text:#edf7f3;--line:#ffffff1a;--brand:#18e299;--purple:#a78bfa;--amber:#fbbf24}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 50% 0%,#18e2992e,transparent 34%),var(--bg);color:var(--text);margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.nav{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#07110ec7;justify-content:space-between;align-items:center;padding:18px 32px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;font-weight:700;display:flex}.logo{background:var(--brand);color:#07110e;border-radius:10px;place-items:center;width:34px;height:34px;font-family:Geist Mono,monospace;display:grid}.nav nav{color:var(--muted);gap:22px;font-size:14px;display:flex}.nav a:hover{color:var(--brand)}.hero{text-align:center;max-width:1080px;margin:0 auto;padding:100px 24px 60px;position:relative;overflow:hidden}.hero-bg{filter:blur(20px);z-index:-1;background:radial-gradient(circle,#18e29938,#0000 60%);position:absolute;inset:30px 10%}.eyebrow{color:var(--brand);letter-spacing:.12em;font-family:Geist Mono,monospace;font-size:12px;font-weight:600}.hero h1{letter-spacing:-2px;max-width:940px;margin:12px auto;font-size:clamp(42px,7vw,76px);line-height:1.05}.lead{max-width:790px;color:var(--muted);margin:0 auto;font-size:18px;line-height:1.75}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px;display:flex}.btn,.controls button,.filter button{border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:10px 18px}.primary{background:var(--brand);color:#07110e;border-color:#0000;font-weight:700}.secondary{color:var(--text);background:#ffffff0a}.stats{grid-template-columns:repeat(3,1fr);gap:14px;max-width:980px;margin:0 auto 50px;padding:0 24px;display:grid}.stats div,.road-card,.problem-card,.lesson,.step-panel,.state-panel,.idea{border:1px solid var(--line);background:#0d1b16b8;border-radius:24px;box-shadow:0 20px 80px #00000038}.stats div{text-align:center;padding:22px}.stats b{color:var(--brand);font-size:34px;display:block}.stats span{color:var(--muted)}.layout{grid-template-columns:360px minmax(0,1fr);gap:20px;max-width:1380px;margin:0 auto;padding:24px;display:grid}.sidebar{align-self:start;max-height:calc(100vh - 104px);padding-right:4px;position:sticky;top:86px;overflow:auto}.sidebar-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.sidebar-head h2{margin:0 0 4px}.sidebar-head p{color:var(--muted);font-size:13px;line-height:1.4}.tag-toggle{color:#b8f8df;cursor:pointer;white-space:nowrap;background:#18e2991a;border:1px solid #18e29947;border-radius:999px;padding:8px 12px;font-size:12px}.active-filter{border:1px solid var(--line);color:var(--muted);background:#ffffff0a;border-radius:14px;margin-bottom:12px;padding:10px 12px}.active-filter b{color:var(--brand)}.active-filter em{color:#d8eee5;font-style:normal}.search-box{gap:7px;margin:12px 0;display:grid}.search-box span{color:var(--muted);font-family:Geist Mono,monospace;font-size:12px}.search-box input{border:1px solid var(--line);width:100%;color:var(--text);background:#06100d;border-radius:15px;outline:none;padding:12px 13px}.search-box input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #18e2991f}.filter{flex-wrap:wrap;gap:8px;max-height:142px;margin-bottom:16px;padding-bottom:2px;display:flex;overflow:auto}.filter button{color:var(--muted);background:#ffffff0a}.filter .selected{background:var(--brand);color:#07110e;border-color:#0000}.cards{gap:10px;display:grid}.problem-card{text-align:left;color:var(--text);cursor:pointer;border-radius:18px;padding:16px}.problem-card span{color:var(--brand);font:12px Geist Mono,monospace}.problem-card b{margin:5px 0;display:block}.problem-card small{color:var(--muted);line-height:1.45}.problem-card.active{outline:2px solid var(--brand);background:#18e29914}.lesson{padding:26px}.lesson-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.lesson h2{letter-spacing:-1px;margin:5px 0 8px;font-size:42px}.lesson-head p{color:var(--muted)}.tags{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.tags span{color:#b8f8df;background:#18e29914;border:1px solid #18e29942;border-radius:999px;padding:6px 10px;font-size:12px}.idea{margin:18px 0;padding:20px}.idea li{color:#cfe4dc;margin:9px 0}.complexity{color:var(--amber);font-family:Geist Mono}.dryrun{grid-template-columns:1.25fr .75fr;gap:18px;display:grid}.step-top span{color:var(--brand);font-family:Geist Mono;font-size:13px}.step-top h3{margin:8px 0;font-size:28px}.step-top p{color:#cfe4dc;line-height:1.65}.visual{border:1px solid var(--line);background:linear-gradient(#ffffff0e,#ffffff06);border-radius:20px;flex-direction:column;justify-content:center;min-height:310px;padding:22px;display:flex;overflow:auto}.cells{justify-content:center;gap:12px;display:flex}.cell-wrap{text-align:center;min-width:68px;position:relative}.cell{border:1px solid var(--line);background:#12251e;border-radius:16px;place-items:center;height:58px;font-size:22px;font-weight:700;display:grid}.cell.active,.list-node.active{outline:3px solid var(--brand);box-shadow:0 0 30px #18e29940}.index{color:var(--muted);margin-top:6px;font:12px Geist Mono;display:block}.pointer{margin-top:4px;display:block}.notes{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:28px;display:flex}.notes span{border:1px solid var(--line);color:#d8eee5;background:#ffffff12;border-radius:999px;padding:7px 12px;font-size:13px}.linked-row{align-items:center;gap:8px;min-width:max-content;display:flex}.node-wrap{align-items:center;gap:8px;padding-bottom:26px;display:flex;position:relative}.list-node{border:1px solid var(--line);text-align:center;background:#12251e;border-radius:16px;min-width:82px;min-height:66px;padding:10px}.list-node span{font-size:20px;font-weight:700;display:block}.list-node small{color:var(--muted);font-family:Geist Mono;font-size:11px}.list-node.faded{opacity:.58}.arrow{color:var(--brand);font-size:24px}.node-pointers{text-align:center;height:20px;color:var(--brand);font:12px Geist Mono;position:absolute;bottom:0;left:0;right:0}.tree-viz svg{width:100%;height:260px}.edge{stroke:#ffffff59;stroke-width:1.2px}.tree-node{fill:#12251e;stroke:#ffffff8c;stroke-width:1.4px}.tree-node.active{fill:var(--brand);stroke:#b8f8df}.tree-viz text{fill:var(--text);font-size:4px;font-weight:700}.tree-viz .active+text{fill:#07110e}.tree-pointer{font-family:Geist Mono;fill:var(--brand)!important;font-size:3px!important}.stack-box{flex-direction:column-reverse;align-items:center;gap:8px;display:flex}.stack-item,.stack-empty{text-align:center;border:1px solid var(--line);background:#12251e;border-radius:14px;width:160px;padding:14px;font-size:22px}.stack-empty{color:var(--muted);font-size:16px}.controls{justify-content:space-between;margin-top:16px;display:flex}.controls button{background:var(--brand);color:#07110e;border:0;font-weight:700}.controls button:disabled{opacity:.35;cursor:not-allowed}.vars{gap:10px;margin-bottom:20px;display:grid}.vars div{border:1px solid var(--line);background:#ffffff0a;border-radius:14px;justify-content:space-between;gap:12px;padding:11px 13px;display:flex}.vars span{color:var(--muted);font-family:Geist Mono}.vars b{text-align:right}pre{border:1px solid var(--line);background:#06100d;border-radius:16px;margin:0;padding:14px;overflow:auto}.line{color:#adc8bd;white-space:pre;font-family:Geist Mono;font-size:12px;line-height:1.8;display:block}.line.active{color:#dbfff1;border-left:3px solid var(--brand);background:#18e29929;padding-left:8px}.roadmap{max-width:1180px;margin:40px auto 80px;padding:24px}.roadmap h2{letter-spacing:-1px;max-width:780px;font-size:42px}.roadmap-grid{grid-template-columns:repeat(5,1fr);gap:14px;display:grid}.road-card{padding:20px}.road-card p{color:var(--muted);line-height:1.6}.timeline h3{margin:0 0 10px}.timeline-scroll{border:1px solid var(--line);background:#06100d;border-radius:16px;max-height:220px;overflow:auto}.timeline table{border-collapse:collapse;width:100%;font-size:12px}.timeline th,.timeline td{text-align:left;white-space:nowrap;border-bottom:1px solid #ffffff14;padding:9px 10px}.timeline th{color:var(--brand);background:#0d1b16;font-family:Geist Mono;position:sticky;top:0}.timeline tr.active td{color:#eafff6;background:#18e29924}.timeline td:first-child{color:var(--muted);font-weight:600}.sidebar{border:1px solid var(--line);background:#07110ec2;border-radius:22px;padding:16px;box-shadow:0 16px 60px #0003}.sidebar-head{border-bottom:1px solid var(--line);padding-bottom:12px}.sidebar-head h2{letter-spacing:-.3px;font-size:22px}.sidebar-head p{font-size:12px}.active-filter{margin:12px 0;font-size:13px}.filter{border-bottom:1px solid var(--line);max-height:118px;margin-bottom:14px;padding:0 0 14px}.filter button{padding:7px 12px;font-size:13px}.cards{gap:8px}.problem-card{background:#ffffff09;border-radius:15px;padding:12px 13px}.problem-card span{letter-spacing:.08em;font-size:10px}.problem-card b{margin:4px 0;font-size:15px;line-height:1.25}.problem-card small{font-size:12px;line-height:1.45}.lesson{overflow:hidden}.dryrun{grid-template-columns:minmax(0,1fr) minmax(360px,.78fr)}.state-panel{min-width:0}.timeline-scroll,pre{max-width:100%}.hero.compact{padding-bottom:34px}.tracks,.track-page{max-width:1180px;margin:22px auto;padding:24px}.tracks h2,.track-page h2{letter-spacing:-1px;margin:8px 0 16px;font-size:42px}.track-grid{grid-template-columns:repeat(5,1fr);gap:14px;display:grid}.track-card,.track-lessons button,.category-grid button,.db-modules article{border:1px solid var(--line);color:var(--text);background:#0d1b16b8;border-radius:22px;box-shadow:0 20px 80px #00000038}.track-card{text-align:left;cursor:pointer;padding:20px}.track-card:hover,.track-lessons button:hover,.category-grid button:hover{border-color:#18e2998c;transform:translateY(-1px)}.track-card span,.track-lessons span{color:var(--brand);font:12px Geist Mono,monospace}.track-card h3{margin:10px 0 8px}.track-card p,.track-page p,.db-modules p{color:var(--muted);line-height:1.6}.track-card b{color:#b8f8df}.track-page{border:1px solid var(--line);background:#0d1b167a;border-radius:28px}.back-btn{margin-bottom:12px;display:inline-block}.track-actions{flex-wrap:wrap;gap:10px;margin:14px 0 20px;display:flex}.track-actions span{color:#b8f8df;background:#18e29914;border:1px solid #18e29942;border-radius:999px;padding:7px 11px;font-size:13px}.track-lessons{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:18px;display:grid}.track-lessons button{text-align:left;cursor:pointer;padding:14px}.track-lessons b{margin:5px 0;display:block}.track-lessons small{color:var(--muted);line-height:1.45}.category-grid,.db-modules{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:18px;display:grid}.category-grid button{text-align:left;cursor:pointer;padding:16px}.category-grid b{display:block}.category-grid span{color:var(--muted);font:12px Geist Mono,monospace}.tag-index{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.db-modules article{padding:18px}.db-modules h3{margin:0 0 8px}@media (width<=980px){.layout,.dryrun{grid-template-columns:1fr}.sidebar{max-height:none;position:static}.roadmap-grid,.stats,.track-grid{grid-template-columns:1fr}.lesson-head{display:block}.tags{justify-content:flex-start}.nav nav{display:none}}.dryrun{align-items:start}.step-panel,.state-panel{min-width:0}.step-top h3{font-size:clamp(21px,2.2vw,28px);line-height:1.18}.step-top p{margin:0 0 14px;line-height:1.48}.visual{min-height:220px;padding:16px;overflow:visible}.array-viz{justify-content:center}.array-viz .cells{grid-template-columns:repeat(auto-fit,minmax(42px,1fr));align-items:start;gap:8px;width:100%;display:grid}.array-viz .cell-wrap{min-width:0}.array-viz .cell{border-radius:12px;height:44px;padding:0 4px;font-size:clamp(14px,1.25vw,18px)}.array-viz .index{margin-top:3px;font-size:10px}.array-viz .pointer{white-space:normal;min-height:13px;margin-top:3px;font-size:11px;line-height:1.15}.notes{margin-top:14px}.notes span{padding:5px 9px;font-size:12px}.vars div{grid-template-columns:minmax(0,1fr);align-content:space-between;gap:5px;min-width:0;min-height:40px;padding:6px 7px;display:grid}.vars span,.vars b{overflow-wrap:anywhere;min-width:0;max-width:100%;line-height:1.05}.vars span{font-size:10px}.vars b{text-align:right;word-break:break-word;font-family:Geist Mono,monospace;font-size:clamp(11px,.9vw,13px)}.timeline h3,.state-panel h3{margin:0 0 6px;font-size:15px}.state-panel pre{max-height:200px;overflow:auto}@media (width>=1180px){.dryrun{grid-template-columns:minmax(520px,1.05fr) minmax(360px,.95fr)}.array-viz .cells{grid-template-columns:repeat(auto-fit,minmax(48px,1fr))}}@media (width<=980px){.sidebar{max-height:min(52vh,360px);overflow:auto}.state-panel{order:-1}}@media (width<=760px){.visual{padding:12px}.array-viz .cells{grid-template-columns:repeat(auto-fit,minmax(36px,1fr));gap:6px}.array-viz .cell{height:38px;font-size:13px}.notes{justify-content:flex-start}.lesson{padding:18px}.step-panel,.state-panel{padding:14px}.vars{grid-template-columns:repeat(auto-fit,minmax(84px,1fr))}}.linked-row{flex-wrap:wrap;justify-content:center;row-gap:12px;min-width:0}.node-wrap{padding-bottom:20px}.list-node{border-radius:13px;min-width:62px;min-height:52px;padding:8px}.list-node span{font-size:17px}.list-node small{font-size:10px}.arrow{font-size:18px}.node-pointers{font-size:10px}.solutions{border:1px solid var(--line);background:#0d1b16b8;border-radius:22px;margin-top:18px;padding:16px;box-shadow:0 18px 70px #0003}.solution-toggle{border:1px solid var(--line);width:100%;color:var(--text);cursor:pointer;background:#ffffff0a;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.solution-toggle span{font-weight:700}.solution-toggle b{color:var(--brand);font-size:12px}.solution-body{margin-top:14px}.solution-tabs{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.solution-tabs button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#ffffff0a;border-radius:999px;padding:7px 12px;font-size:12px}.solution-tabs button.active{background:var(--brand);color:#07110e;border-color:#0000;font-weight:700}.solution-code{max-height:none;overflow:visible}.solution-code .line{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.75}.nav{gap:22px}.nav nav{white-space:nowrap;scrollbar-width:none;overflow:auto}.nav nav::-webkit-scrollbar{display:none}.nav button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:8px 0}.nav button:hover,.nav button.active{color:var(--brand)}.nav button.active{font-weight:700}.brand-button{flex:none;color:var(--text)!important}.page-back{border:1px solid var(--line);color:#d8eee5;cursor:pointer;background:#ffffff09;border-radius:999px;max-width:1180px;margin:18px auto 0;padding:9px 14px;display:block}.page-back:hover{color:var(--brand);border-color:#18e2998c}.hub-hero h1{letter-spacing:0}.project-hub,.project-page{max-width:1180px;margin:0 auto 80px;padding:24px}.hub-head{margin-bottom:14px}.hub-head h2,.project-page h1{margin:8px 0 0;font-size:clamp(34px,5vw,56px);line-height:1.08}.project-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.project-card,.project-next article{border:1px solid var(--line);color:var(--text);background:#0d1b16b8;border-radius:20px;box-shadow:0 20px 80px #00000038}.project-card{text-align:left;cursor:pointer;min-height:210px;padding:18px}.project-card:hover{border-color:#18e2998c;transform:translateY(-1px)}.project-card span,.project-next span{color:#f3c969;text-transform:uppercase;font:11px Geist Mono,monospace;display:block}.project-card h3{margin:12px 0 10px;font-size:24px}.project-card p,.project-page p{color:#cfe4dc;line-height:1.62}.project-card b{color:var(--brand);margin-top:8px;font:12px Geist Mono,monospace;display:inline-block}.project-page{min-height:calc(100vh - 120px)}.project-page>p{max-width:720px;font-size:18px}.project-next{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.project-next article{padding:18px}.project-next b{margin-top:8px;line-height:1.55;display:block}.quant-hero{padding-bottom:26px}.quant-status{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:920px;margin:28px auto 0;display:grid}.quant-status div,.quant-panel,.quant-runtime section{border:1px solid var(--line);background:#0d1b16b8;box-shadow:0 20px 80px #00000038}.quant-status div{border-radius:16px;padding:13px 15px}.quant-status span,.quant-panel span{color:#f3c969;text-transform:uppercase;font:11px Geist Mono,monospace;display:block}.quant-status b{color:var(--text);overflow-wrap:anywhere;margin-top:5px;font-size:14px;line-height:1.35;display:block}.quant-shell{max-width:1180px;margin:0 auto 80px;padding:24px}.quant-head{grid-template-columns:minmax(0,.92fr) minmax(280px,.72fr);align-items:end;gap:28px;margin-bottom:18px;display:grid}.quant-head h2{margin:8px 0 0;font-size:clamp(30px,4vw,48px);line-height:1.08}.quant-head p{color:var(--muted);margin:0;line-height:1.7}.quant-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.quant-panel{border-radius:20px;padding:18px}.quant-panel h3{margin:9px 0 8px;font-size:20px}.quant-panel p{color:#cfe4dc;margin:0;line-height:1.58}.quant-runtime{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.quant-runtime section{border-radius:20px;padding:20px}.quant-runtime h3{margin:0 0 12px}.quant-runtime ol{color:#cfe4dc;margin:0;padding-left:20px}.quant-runtime li{margin:9px 0;line-height:1.55}@media (width<=980px){.quant-status,.quant-head,.quant-grid,.quant-runtime,.project-next{grid-template-columns:1fr}.nav nav{gap:16px;display:flex}.nav{align-items:flex-start;padding:14px 18px}.project-card{min-height:0}}@media (width<=760px){.nav{display:block}.nav nav{margin-top:10px}.project-hub,.project-page,.quant-shell{padding:18px}.project-grid{grid-template-columns:1fr}.hero h1{letter-spacing:0}.page-back{margin:14px 18px 0}}.blog-shell{grid-template-columns:360px minmax(0,1fr);gap:18px;max-width:1280px;margin:0 auto 80px;padding:28px 24px;display:grid}.blog-index,.blog-post{border:1px solid var(--line);background:#0d1b16b8;border-radius:22px;box-shadow:0 20px 80px #00000038}.blog-index{align-self:start;max-height:calc(100vh - 110px);padding:18px;position:sticky;top:86px;overflow:auto}.blog-index h1{margin:8px 0;font-size:38px;line-height:1.05}.blog-index>p{color:#cfe4dc;line-height:1.6}.blog-filters{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.blog-filters button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#ffffff0a;border-radius:999px;padding:7px 10px;font-size:12px}.blog-filters button.active{background:var(--brand);color:#07110e;border-color:#0000;font-weight:700}.blog-list{gap:9px;display:grid}.blog-list button{border:1px solid var(--line);color:var(--text);text-align:left;cursor:pointer;background:#ffffff09;border-radius:16px;padding:12px}.blog-list button.active{outline:2px solid var(--brand);background:#18e29914}.blog-list span,.blog-meta span{color:#f3c969;text-transform:uppercase;font:11px Geist Mono,monospace}.blog-list b{margin:5px 0;line-height:1.3;display:block}.blog-list small{color:var(--muted);line-height:1.45}.blog-post{min-width:0;padding:34px}.blog-meta{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.blog-post h2{letter-spacing:0;margin:0 0 14px;font-size:clamp(34px,4vw,58px);line-height:1.06}.blog-excerpt{color:#cfe4dc;max-width:780px;font-size:18px;line-height:1.72}.blog-tags{flex-wrap:wrap;gap:8px;margin:18px 0 24px;display:flex}.blog-tags span{color:#b8f8df;background:#18e29914;border:1px solid #18e29942;border-radius:999px;padding:6px 10px;font-size:12px}.blog-body{max-width:820px}.blog-body h3{margin:30px 0 10px;font-size:24px}.blog-body p,.blog-body li{color:#d8eee5;font-size:16px;line-height:1.82}.blog-body ul{padding-left:22px}.blog-body pre{background:#06100d;margin:18px 0}@media (width<=980px){.blog-shell{grid-template-columns:1fr}.blog-index{max-height:none;position:static}.blog-post{padding:24px}}@media (width<=760px){.blog-shell,.blog-post{padding:18px}.blog-index h1{font-size:32px}.blog-meta{gap:7px}.blog-body p,.blog-body li{font-size:15px}}.tools-shell{max-width:1180px;margin:0 auto 80px;padding:28px 24px}.tools-head{max-width:780px;margin-bottom:18px}.tools-head h1{letter-spacing:0;margin:8px 0;font-size:clamp(42px,7vw,76px);line-height:1.04}.tools-head p{color:#cfe4dc;font-size:18px;line-height:1.72}.tools-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.tool-card,.easy-pg-plan section{border:1px solid var(--line);background:#0d1b16b8;border-radius:22px;box-shadow:0 20px 80px #00000038}.tool-card{padding:22px}.tool-card>span{color:#f3c969;text-transform:uppercase;font:11px Geist Mono,monospace}.tool-title-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-top:8px;display:flex}.tool-title-row h2{margin:0;font-size:clamp(32px,4vw,52px);line-height:1.05}.tool-title-row b{color:var(--brand);white-space:nowrap;margin-top:10px;font:12px Geist Mono,monospace}.tool-card p{color:#cfe4dc;max-width:760px;line-height:1.65}.tool-points{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.tool-points em{color:#b8f8df;background:#18e29914;border:1px solid #18e29942;border-radius:999px;padding:7px 10px;font-size:13px;font-style:normal}.easy-pg-plan{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.easy-pg-plan section{padding:20px}.easy-pg-plan h3{margin:0 0 12px}.easy-pg-plan ol{color:#d8eee5;margin:0;padding-left:20px;line-height:1.65}.easy-pg-plan li{margin:8px 0}@media (width<=980px){.easy-pg-plan{grid-template-columns:1fr}.tool-title-row{display:block}.tool-title-row b{display:inline-block}.tools-shell{padding:18px}}.tool-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.tool-metrics div,.schema-browser{border:1px solid var(--line);background:#0d1b16b8;border-radius:20px;box-shadow:0 20px 80px #00000038}.tool-metrics div{padding:16px}.tool-metrics b{color:var(--brand);font:30px Geist Mono,monospace;display:block}.tool-metrics span{color:var(--muted);font-size:13px}.capability-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.capability-grid .tool-card{min-height:210px}.capability-grid .tool-title-row h2{font-size:24px}.schema-browser{grid-template-columns:320px minmax(0,1fr);gap:0;margin-top:12px;display:grid;overflow:hidden}.schema-browser aside{border-right:1px solid var(--line);min-width:0;padding:16px}.schema-browser article{min-width:0;padding:20px}.schema-browser-head,.schema-selected-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.schema-browser-head span,.schema-selected-head span{color:var(--brand);text-transform:uppercase;font:12px Geist Mono,monospace}.schema-browser-head b{color:#d8eee5}.schema-search{gap:7px;margin:14px 0;display:grid}.schema-search span{color:var(--muted);font:12px Geist Mono,monospace}.schema-search input{border:1px solid var(--line);width:100%;color:var(--text);background:#06100d;border-radius:14px;outline:none;padding:11px 12px}.schema-search input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #18e2991f}.schema-table-list{gap:8px;display:grid}.schema-table-list button{border:1px solid var(--line);color:var(--text);text-align:left;cursor:pointer;background:#ffffff09;border-radius:15px;padding:12px}.schema-table-list button.active{outline:2px solid var(--brand);background:#18e29914}.schema-table-list span{color:#f3c969;text-transform:uppercase;font:11px Geist Mono,monospace}.schema-table-list b{margin:5px 0;display:block}.schema-table-list small,.schema-empty{color:var(--muted)}.schema-selected-head h2{margin:4px 0 0;font-size:clamp(32px,4vw,48px);line-height:1.05}.schema-selected-head p{color:#cfe4dc;max-width:460px;margin:0;line-height:1.55}.column-table{gap:8px;margin-top:18px;display:grid}.column-row{border:1px solid var(--line);background:#ffffff09;border-radius:14px;grid-template-columns:minmax(150px,.9fr) minmax(110px,.65fr) minmax(170px,1fr) minmax(220px,1.2fr);align-items:start;gap:10px;min-width:0;padding:11px;display:grid}.column-row.header{color:var(--brand);background:#18e29914;font:12px Geist Mono,monospace}.column-row span{overflow-wrap:anywhere;color:#d8eee5;min-width:0;line-height:1.45}.column-row b{display:block}.column-row em{color:var(--muted);margin-top:4px;font:11px Geist Mono,monospace;display:inline-block}@media (width<=980px){.capability-grid,.schema-browser,.tool-metrics{grid-template-columns:1fr}.schema-browser aside{border-right:0;border-bottom:1px solid var(--line)}.column-row{grid-template-columns:1fr 1fr}.schema-selected-head{display:block}.schema-selected-head p{margin-top:8px}}@media (width<=640px){.column-row{grid-template-columns:1fr}}.export-card{border:1px solid var(--line);background:#0d1b16b8;border-radius:20px;margin:12px 0;padding:18px;box-shadow:0 20px 80px #00000038}.export-card>div:first-child{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.export-card span,.export-tags em,.export-grid span{color:#f3c969;text-transform:uppercase;font:11px Geist Mono,monospace}.export-card h2{margin:4px 0 0;font-size:24px}.export-card p{color:var(--muted);margin:8px 0 0;line-height:1.55}.export-tags{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.export-tags em{color:#b8f8df;text-transform:none;background:#18e29912;border:1px solid #18e2993d;border-radius:999px;padding:7px 10px;font-style:normal}.export-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.export-grid article{border:1px solid var(--line);background:#ffffff09;border-radius:16px;padding:13px}.export-grid b{color:#d8eee5;margin:6px 0;line-height:1.35;display:block}.export-grid small{color:var(--muted);line-height:1.45}@media (width<=980px){.export-grid{grid-template-columns:1fr}}.blog-empty{border:1px solid var(--line);color:#cfe4dc;background:#ffffff09;border-radius:16px;gap:6px;padding:16px;display:grid}.blog-empty b{color:var(--text)}.blog-empty span{color:var(--muted);line-height:1.5}.blog-post.empty-post{flex-direction:column;justify-content:center;min-height:360px;display:flex}.blog-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.blog-stats div{border:1px solid var(--line);background:#ffffff09;border-radius:14px;padding:10px}.blog-stats b{color:var(--brand);font:22px Geist Mono,monospace;display:block}.blog-stats span{color:var(--muted);font-size:12px}.blog-search{gap:7px;margin:14px 0;display:grid}.blog-search span,.blog-filter-group>span{color:var(--muted);font:12px Geist Mono,monospace}.blog-search input{border:1px solid var(--line);width:100%;color:var(--text);background:#06100d;border-radius:14px;outline:none;padding:11px 12px}.blog-search input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #18e2991f}.blog-filter-group{gap:7px;margin:14px 0;display:grid}.blog-filter-group .blog-filters{margin:0}.blog-toc{border:1px solid var(--line);background:#ffffff09;border-radius:16px;gap:8px;max-width:820px;margin:22px 0;padding:14px;display:grid}.blog-toc span{color:var(--brand);text-transform:uppercase;font:12px Geist Mono,monospace}.blog-toc a{color:#d8eee5;line-height:1.45}.blog-toc a:hover{color:var(--brand)}.blog-body blockquote{border-left:3px solid var(--brand);color:#eafff6;background:#18e29914;border-radius:0 14px 14px 0;margin:20px 0;padding:14px 16px;line-height:1.75}.admin-shell{grid-template-columns:340px minmax(0,1fr);gap:18px;max-width:1280px;margin:0 auto;padding:28px 24px 80px;display:grid}.admin-panel,.admin-editor{border:1px solid var(--line);background:#0d1b16b8;border-radius:22px;padding:20px;box-shadow:0 20px 80px #00000038}.admin-panel h1{margin:8px 0 18px;font-size:34px}.admin-panel label,.admin-editor label{gap:7px;margin-bottom:12px;display:grid}.admin-panel span,.admin-editor span,.admin-preview>span{color:var(--muted);font:12px Geist Mono,monospace}.admin-panel input,.admin-editor input,.admin-editor textarea,.admin-editor select{border:1px solid var(--line);width:100%;color:var(--text);background:#06100d;border-radius:14px;outline:none;padding:11px 12px}.admin-editor textarea{resize:vertical;min-height:92px}.admin-editor .body-markdown{min-height:360px;font-family:Geist Mono,monospace;font-size:13px;line-height:1.65}.admin-head-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-list{align-self:start;max-height:calc(100vh - 110px);position:sticky;top:86px;overflow:auto}.admin-list>button{border:1px solid var(--line);width:100%;color:var(--text);text-align:left;cursor:pointer;background:#ffffff09;border-radius:15px;margin:8px 0;padding:12px;display:block}.admin-list>button.active{outline:2px solid var(--brand);background:#18e29914}.admin-list>button span{color:#f3c969;text-transform:uppercase}.admin-list>button b{margin:5px 0;display:block}.admin-list>button small{color:var(--muted)}.admin-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.admin-preview{border:1px solid var(--line);background:#ffffff09;border-radius:18px;margin:12px 0 16px;padding:18px}.admin-preview h2{margin:8px 0 10px;font-size:clamp(28px,4vw,46px);line-height:1.08}.admin-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-message{color:#b8f8df}.admin-shell .primary,.admin-shell .secondary,.admin-shell .danger{border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:10px 16px}.admin-shell .primary{background:var(--brand);color:#07110e;border-color:#0000;font-weight:700}.admin-shell .secondary{color:var(--text);background:#ffffff0a}.admin-shell .danger{color:#fecaca;background:#f871711f;border-color:#f8717157}@media (width<=980px){.admin-shell{grid-template-columns:1fr}.admin-list{max-height:none;position:static}.admin-grid{grid-template-columns:1fr 1fr}}@media (width<=760px){.admin-shell{padding:18px}.admin-grid{grid-template-columns:1fr}}.admin-security-card,.admin-security,.admin-security-grid section{border:1px solid var(--line);background:#ffffff09;border-radius:18px}.admin-security-card{gap:6px;margin:12px 0;padding:13px;display:grid}.admin-security-card b{overflow-wrap:anywhere;line-height:1.25}.admin-security-card small{color:var(--muted);line-height:1.45}.admin-security{margin-top:18px;padding:18px}.admin-security h2{margin:6px 0 14px;font-size:28px}.admin-security h3{margin:0 0 12px}.admin-security p{color:#cfe4dc;line-height:1.65}.admin-security-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-security-grid section{padding:16px}.totp-setup{gap:8px;margin-top:12px;display:grid}.totp-setup code{border:1px solid var(--line);color:#d8eee5;white-space:pre-wrap;overflow-wrap:anywhere;background:#06100d;border-radius:12px;max-width:100%;padding:10px;font:12px Geist Mono,monospace;display:block}.totp-setup span{color:var(--muted);font:12px Geist Mono,monospace}@media (width<=980px){.admin-security-grid{grid-template-columns:1fr}}.admin-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.admin-tabs button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#ffffff0a;border-radius:999px;padding:8px 10px}.admin-tabs button.active{background:var(--brand);color:#07110e;border-color:#0000;font-weight:700}.admin-note-list{gap:8px;display:grid}.admin-note-list label{margin:0 0 6px}.admin-note-list>button{border:1px solid var(--line);width:100%;color:var(--text);text-align:left;cursor:pointer;background:#ffffff09;border-radius:15px;padding:12px;display:block}.admin-note-list>button.active{outline:2px solid var(--brand);background:#18e29914}.admin-note-list>button.muted{opacity:.72}.admin-note-list>button span{color:#f3c969;text-transform:uppercase}.admin-note-list>button b{margin:5px 0;display:block}.admin-note-list>button small,.admin-editor small{color:var(--muted);line-height:1.45}.admin-grid.compact{grid-template-columns:220px minmax(0,1fr)}.admin-editor h2{margin:6px 0 12px;font-size:32px;line-height:1.1}.moderation-list{gap:12px;margin:16px 0;display:grid}.moderation-item{border:1px solid var(--line);background:#ffffff09;border-radius:18px;padding:16px}.moderation-item.hidden{opacity:.72;background:#ffffff05}.moderation-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.moderation-meta span{text-transform:uppercase;color:#f3c969!important}.moderation-item h3{margin:12px 0 8px;font-size:20px}.moderation-item p{color:#d8eee5;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 14px;line-height:1.7}.platform-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.platform-admin-card{border:1px solid var(--line);background:#ffffff09;border-radius:18px;min-width:0;padding:16px}.platform-admin-card>span,.platform-admin-flow>span{text-transform:uppercase;font:11px Geist Mono,monospace;display:block;color:#f3c969!important}.platform-admin-card h3{margin:8px 0;font-size:22px;line-height:1.18}.platform-admin-card p{color:#cfe4dc;margin:0;line-height:1.55}.platform-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.platform-admin-stats b{border:1px solid var(--line);color:var(--brand);border-radius:14px;padding:12px;font:24px Geist Mono,monospace}.platform-admin-stats small{color:var(--muted);margin-top:5px;font:12px system-ui;display:block}.platform-admin-card ul,.platform-admin-flow ol{color:#d8eee5;margin:12px 0 0;padding-left:20px}.platform-admin-card li{margin:10px 0;line-height:1.45}.platform-admin-card li b{color:#f5fffb;display:block}.platform-admin-card li small{display:block}.platform-admin-flow li{color:#d8eee5;margin:8px 0;line-height:1.55}@media (width<=980px){.platform-admin-grid{grid-template-columns:1fr}}@media (width<=760px){.admin-grid.compact{grid-template-columns:1fr}.admin-tabs{grid-template-columns:1fr 1fr}}.blog-body a{color:var(--brand);text-underline-offset:3px;text-decoration:underline}.blog-video{margin:24px 0}.blog-video iframe,.blog-video video{aspect-ratio:16/9;border:1px solid var(--line);background:#06100d;border-radius:18px;width:100%;display:block}.blog-video iframe{height:auto}.blog-video figcaption{color:var(--muted);margin-top:8px;font-size:13px}.blog-video-link a{color:var(--brand);text-underline-offset:3px;text-decoration:underline}.blog-interactions{border-top:1px solid var(--line);max-width:820px;margin-top:32px;padding-top:22px}.reaction-row{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.reaction-row button{border:1px solid var(--line);color:#d8eee5;cursor:pointer;background:#ffffff0a;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;display:flex}.reaction-row button.active{color:#eafff6;background:#18e29924;border-color:#18e2997a}.reaction-row button:disabled{opacity:.6;cursor:wait}.reaction-row b{color:var(--brand);font:13px Geist Mono,monospace}.comment-section{border:1px solid var(--line);background:#ffffff08;border-radius:18px;padding:16px}.comment-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.comment-head h3{margin:0;font-size:22px}.comment-head span{color:var(--muted);font:12px Geist Mono,monospace}.comment-form{gap:10px;display:grid}.comment-form input,.comment-form textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#06100d;border-radius:14px;outline:none;padding:11px 12px}.comment-form textarea{resize:vertical;min-height:104px;line-height:1.6}.comment-form input:focus,.comment-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #18e2991f}.comment-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.comment-actions span{color:#b8f8df;font-size:13px}.comment-actions button{cursor:pointer;border:0;border-radius:999px;padding:10px 16px}.comment-actions button:disabled{opacity:.45;cursor:not-allowed}.comment-list{gap:10px;margin-top:16px;display:grid}.comment-list article{border:1px solid var(--line);background:#07110e80;border-radius:15px;padding:13px}.comment-list article div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.comment-list b{color:var(--text)}.comment-list span{color:var(--muted);font:12px Geist Mono,monospace}.comment-list p,.comment-empty{color:#d8eee5;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;line-height:1.7}.comment-empty{color:var(--muted);margin:14px 0 0}.game-page{max-width:980px}.game-panel{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.game-panel section{border:1px solid var(--line);background:#0d1b16b8;border-radius:20px;padding:18px;box-shadow:0 20px 80px #00000038}.game-panel span{color:#f3c969;text-transform:uppercase;font:11px Geist Mono,monospace;display:block}.game-panel b{color:#d8eee5;margin-top:10px;line-height:1.5;display:block}@media (width<=760px){.game-panel{grid-template-columns:1fr}}.lesson>.blog-interactions{max-width:none}.algo-note{border:1px solid var(--line);background:#0d1b16b8;border-radius:22px;margin-top:18px;padding:20px;box-shadow:0 18px 70px #0003}.algo-note-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.algo-note-head span{color:var(--brand);text-transform:uppercase;font:12px Geist Mono,monospace}.algo-note-head b{color:var(--muted);font:12px Geist Mono,monospace}.algo-note h3{margin:14px 0 10px;font-size:24px}.algo-note>p{color:#d8eee5;margin:0;line-height:1.75}.algo-note .blog-body{max-width:920px}.algo-note .blog-body h3{font-size:20px}.quant-status small{color:var(--muted);margin-top:7px;line-height:1.45;display:block}.quant-panel-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.quant-panel-head b{color:var(--brand);text-transform:uppercase;text-align:right;font:11px Geist Mono,monospace}.helios-pipeline{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.helios-pipeline article{border:1px solid var(--line);background:#0d1b16b8;border-radius:20px;padding:18px;box-shadow:0 20px 80px #00000038}.helios-pipeline span{color:#f3c969;text-transform:uppercase;font:11px Geist Mono,monospace;display:block}.helios-pipeline h3{margin:9px 0 8px;font-size:20px}.helios-pipeline p{color:#cfe4dc;margin:0;line-height:1.58}.helios-boundary{margin-top:12px}@media (width<=980px){.helios-pipeline{grid-template-columns:1fr}}.simple-links{text-align:center;max-width:980px;margin:0 auto 80px;padding:0 24px}.simple-links div{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:10px;padding-top:22px;display:flex}.simple-links button{border:1px solid var(--line);color:#d8eee5;cursor:pointer;background:#ffffff09;border-radius:999px;padding:9px 14px}.simple-links button:hover{color:var(--brand);border-color:#18e2998c}.owner-entry{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;opacity:.24;margin-top:18px;font:10px Geist Mono,monospace;display:inline-block}.owner-entry:hover{opacity:.65;color:var(--brand)}.compact-tool-head{justify-content:space-between;align-items:center;gap:16px;max-width:none;display:flex}.compact-tool-head h1{margin:0}.tool-open-link{border:1px solid var(--line);color:#d8eee5;background:#ffffff09;border-radius:999px;padding:9px 14px}.tool-open-link:hover{color:var(--brand);border-color:#18e2998c}.embedded-tool{border:1px solid var(--line);background:#0d1b16b8;border-radius:18px;overflow:hidden;box-shadow:0 20px 80px #00000038}.embedded-tool iframe{background:#07110e;border:0;width:100%;height:calc(100vh - 190px);min-height:720px;display:block}@media (width<=760px){.compact-tool-head{align-items:flex-start}.embedded-tool iframe{height:760px;min-height:760px}}#tutorials.layout{grid-template-columns:minmax(284px,320px) minmax(0,1fr);gap:12px;width:min(1840px,100vw - 12px);max-width:none;margin:0 0 80px 6px;padding:18px 18px 24px 6px}#tutorials.layout.sidebar-collapsed{grid-template-columns:54px minmax(0,1fr)}#tutorials .sidebar{min-width:0;padding:10px;top:74px}.sidebar-content{min-width:0}.sidebar-toggle{color:#b8f8df;cursor:pointer;background:#18e2991a;border:1px solid #18e29952;border-radius:13px;width:100%;margin-bottom:10px;padding:8px 10px;font-size:12px;font-weight:700}.sidebar-toggle:hover{color:#eafff6;border-color:#18e2999e}.sidebar.collapsed{justify-content:center;padding:8px 6px;display:flex}.sidebar.collapsed .sidebar-toggle{writing-mode:vertical-rl;letter-spacing:.08em;min-height:148px;margin:0;padding:10px 8px;transform:rotate(180deg)}#tutorials .lesson{min-width:0;padding:18px}#tutorials .lesson h2{font-size:clamp(30px,3vw,42px)}#tutorials .idea{margin:12px 0;padding:14px 16px}#tutorials .idea li{margin:6px 0}.dryrun{gap:12px}.step-panel,.state-panel{padding:14px}.step-top h3{margin:5px 0}.step-top p{margin:0 0 10px}.visual{min-height:190px}.controls{margin-top:10px}.state-panel{align-self:start}.state-panel h3{margin:0 0 6px;font-size:14px}.vars{grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:6px;margin-bottom:8px}.vars div{min-height:38px;padding:6px 7px}.vars b{font-size:12px}.timeline{margin:8px 0}.timeline-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.timeline-title h3{margin:0}.timeline-title span{color:var(--brand);font:11px Geist Mono,monospace}.timeline-scroll{max-height:none;overflow:visible}.timeline table{table-layout:fixed}.timeline th,.timeline td{white-space:normal;overflow-wrap:anywhere;padding:6px 7px;font-size:11px;line-height:1.25}.timeline th:first-child,.timeline td:first-child{width:36%}.state-panel pre.step-code{background:#06100d;border-radius:14px;max-height:none;margin:0;overflow:visible}.step-code .line{white-space:pre-wrap;overflow-wrap:anywhere;grid-template-columns:2.4ch minmax(0,1fr);align-items:start;gap:8px;padding:4px 7px;font-size:11.5px;line-height:1.45;display:grid}.step-code .line span{color:var(--muted);text-align:right;font:10px Geist Mono,monospace}.step-code .line.active{border-left:3px solid var(--brand);color:#dbfff1;background:#18e29929;padding-left:7px}@media (width>=1280px){.dryrun{grid-template-columns:minmax(560px,1.08fr) minmax(430px,.92fr)}}@media (width<=1180px){#tutorials.layout,#tutorials.layout.sidebar-collapsed{grid-template-columns:1fr;width:auto;margin:0 auto 80px;padding:18px}#tutorials .sidebar{max-height:min(46vh,320px);position:static;overflow:auto}.sidebar.collapsed{display:block}.sidebar.collapsed .sidebar-toggle{writing-mode:horizontal-tb;min-height:0;transform:none}.state-panel{order:0}.dryrun{grid-template-columns:1fr}.timeline th:first-child,.timeline td:first-child{width:auto}}.rating-badge{color:var(--amber);background:#fbbf241a;border:1px solid #fbbf2457;border-radius:999px;margin-left:8px;padding:1px 8px;font:11px Geist Mono,monospace;display:inline-block}.problem-bank{margin-top:18px}.bank-toolbar{border:1px solid var(--line);background:#ffffff08;border-radius:18px;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;padding:16px;display:flex}.bank-toolbar label{color:var(--muted);gap:6px;font-size:12px;display:grid}.bank-toolbar .search-box{flex:260px;margin:0}.bank-toolbar select,.bank-toolbar input{border:1px solid var(--line);color:var(--text);background:#06100d;border-radius:13px;outline:none;padding:9px 11px}.bank-toolbar select:focus,.bank-toolbar input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #18e2991f}.bank-toolbar .rating-input{width:96px}.bank-toolbar label.check{color:#d8eee5;flex-direction:row;align-items:center;gap:7px;padding-bottom:8px;font-size:13px}.bank-toolbar label.check input{width:16px;height:16px;accent-color:var(--brand)}.reset-btn{border:1px solid var(--line);color:#d8eee5;cursor:pointer;background:#ffffff0a;border-radius:999px;padding:9px 16px}.reset-btn:hover{color:var(--brand);border-color:#18e2998c}.bank-count{color:var(--muted);margin:14px 2px}.bank-count b{color:var(--brand);font:20px Geist Mono,monospace}.bank-loading{color:var(--muted);text-align:center;padding:24px}.problem-rows{gap:8px;display:grid}.problem-row{border:1px solid var(--line);background:#0d1b1699;border-radius:14px;grid-template-columns:76px 62px minmax(0,1fr) 108px minmax(0,1.1fr) auto;align-items:center;gap:12px;padding:11px 14px;display:grid}.problem-row .diff{text-align:center;border:1px solid var(--line);border-radius:999px;padding:3px 8px;font:11px Geist Mono,monospace}.diff-easy{color:#18e299;background:#18e29914;border-color:#18e29957}.diff-medium{color:#fbbf24;background:#fbbf2414;border-color:#fbbf2457}.diff-hard{color:#f87171;background:#f8717114;border-color:#f8717157}.problem-row .pid{color:var(--muted);font:12px Geist Mono,monospace}.problem-row .ptitle{overflow-wrap:anywhere;min-width:0}.problem-row .ptitle .paid{color:var(--purple);margin-left:8px;font:11px Geist Mono,monospace}.problem-row .prating{color:var(--amber);font:12px Geist Mono,monospace}.problem-row .pcontest{color:var(--muted);overflow-wrap:anywhere;min-width:0;font:11px Geist Mono,monospace}.problem-row .pactions{justify-self:end;align-items:center;gap:8px;display:flex}.problem-row .pactions button{color:#b8f8df;cursor:pointer;white-space:nowrap;background:#18e2991a;border:1px solid #18e29957;border-radius:999px;padding:6px 12px;font-size:12px}.problem-row .pactions button:hover{border-color:var(--brand);color:#eafff6}.problem-row .pactions a{color:var(--muted);white-space:nowrap;font:12px Geist Mono,monospace}.problem-row .pactions a:hover{color:var(--brand)}.problem-row-wrap{gap:0;display:grid}.problem-statement{border:1px solid var(--line);background:#091410b8;border-top:none;border-radius:0 0 14px 14px;margin-top:-6px;padding:14px 16px}.stmt-langs{gap:8px;margin-bottom:10px;display:flex}.stmt-langs button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#ffffff0a;border-radius:999px;padding:5px 14px;font-size:12px}.stmt-langs button.active{background:var(--brand);color:#07110e;border-color:#0000;font-weight:700}.stmt-note{color:var(--muted);margin:6px 0;font-size:13px}.stmt-body{color:#d8eee5;overflow-wrap:anywhere;font-size:14px;line-height:1.75}.stmt-body p{margin:8px 0}.stmt-body pre{border:1px solid var(--line);white-space:pre-wrap;background:#ffffff0a;border-radius:10px;padding:10px 12px;font:12.5px Geist Mono,monospace;overflow-x:auto}.stmt-body code{background:#ffffff0f;border-radius:4px;padding:1px 4px;font:12.5px Geist Mono,monospace}.stmt-body pre code{background:0 0;padding:0}.stmt-body ul,.stmt-body ol{margin:8px 0;padding-left:22px}.stmt-body img{max-width:100%;height:auto}.stmt-body a{color:var(--brand)}.pager{justify-content:center;align-items:center;gap:16px;margin:20px 0 4px;display:flex}.pager button{border:1px solid var(--line);color:#d8eee5;cursor:pointer;background:#ffffff0a;border-radius:999px;padding:9px 16px}.pager button:hover:not(:disabled){color:var(--brand);border-color:#18e2998c}.pager button:disabled{opacity:.35;cursor:not-allowed}.pager span{color:var(--muted);font:13px Geist Mono,monospace}.contest-view{margin-top:18px}.contest-filter{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.contest-filter button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#ffffff0a;border-radius:999px;padding:8px 16px}.contest-filter button.selected{background:var(--brand);color:#07110e;border-color:#0000;font-weight:700}.contest-total{color:var(--muted);margin-left:auto;font:12px Geist Mono,monospace}.contest-groups{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;display:grid}.contest-card{border:1px solid var(--line);background:#0d1b1699;border-radius:18px;padding:16px}.contest-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;padding-bottom:10px;display:flex}.contest-head b{font-size:16px}.contest-head span{color:var(--amber);font:11px Geist Mono,monospace}.contest-problems{gap:8px;display:grid}.contest-problem{text-align:left;border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffff09;border-radius:12px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:9px 11px;display:grid}.contest-problem:hover:not(:disabled){border-color:#18e2998c}.contest-problem.no-tutorial{cursor:default;opacity:.82}.contest-problem .qidx{color:var(--brand);border:1px solid #18e29947;border-radius:9px;grid-row:span 2;place-items:center;padding:6px 0;font:13px Geist Mono,monospace;display:grid}.contest-problem b{overflow-wrap:anywhere;min-width:0;font-size:14px}.contest-problem small{color:var(--muted);font:11px Geist Mono,monospace}@media (width<=760px){.problem-row{grid-template-columns:64px 1fr;grid-auto-rows:auto;gap:6px 10px}.problem-row .prating,.problem-row .pcontest,.problem-row .pactions{grid-column:2}.problem-row .pactions{justify-self:start}.contest-total{margin-left:0}}.index-pager{justify-content:center;align-items:center;gap:12px;margin-top:12px;display:flex}.index-pager button{border:1px solid var(--line);color:#d8eee5;cursor:pointer;background:#ffffff0d;border-radius:999px;padding:5px 16px;font-size:14px}.index-pager button:hover:not(:disabled){color:var(--brand);border-color:#18e2998c}.index-pager button:disabled{opacity:.35;cursor:not-allowed}.index-pager span{color:var(--muted);font:12px Geist Mono,monospace}.lesson-meta{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:14px;display:flex}.lesson-meta .eyebrow,.lesson-meta .tags{margin:0}.lesson-writeup{margin-top:18px}.lesson-writeup .wtitle{letter-spacing:-.5px;margin:0 0 6px;font-size:clamp(24px,2.4vw,34px)}.lesson-writeup .wsummary{color:var(--muted);margin:0 0 16px;line-height:1.6}.index-view{width:auto;margin:0 0 72px;padding:14px 22px 40px 14px}.index-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:6px;display:flex}.index-head h1{letter-spacing:-.6px;margin:0 0 4px;font-size:30px}.index-head p{color:var(--muted);margin:0;font-size:14px}.index-controls{margin:10px 0 16px}.index-controls .search-box{max-width:520px}.index-controls .active-filter{color:var(--muted);margin:12px 0 8px;font-size:13px}.index-controls .active-filter b{color:var(--text)}.index-grid{grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:12px;display:grid}.index-grid .problem-card{min-height:92px}.problem-view{width:auto;margin:0 0 72px;padding:0 22px 40px 14px}.problem-view .page-back{margin:2px 0 12px;position:static}.problem-view .lesson{padding:18px 20px}@media (width>=820px){.dryrun{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px}.state-panel{order:0}.visual{min-height:200px}.state-panel pre.step-code,.timeline-scroll{max-height:none;overflow:visible}}@media (width<=819px){.dryrun{grid-template-columns:1fr}}.playground{width:auto;margin:0 0 72px;padding:0 22px 48px 14px}.playground .page-back{margin:2px 0 12px;position:static}.pg-head h1{letter-spacing:-.5px;margin:4px 0 6px;font-size:28px}.pg-lead{color:var(--muted);max-width:760px;margin:0;font-size:14px;line-height:1.6}.pg-editor{grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);align-items:start;gap:14px;margin:16px 0 8px;display:grid}.pg-field{flex-direction:column;gap:6px;display:flex}.pg-field span{color:var(--muted);font-family:Geist Mono,monospace;font-size:12px}.pg-field textarea{box-sizing:border-box;border:1px solid var(--line);color:#eafff6;resize:vertical;background:#06100d;border-radius:14px;width:100%;padding:12px 14px;font:13px/1.6 Geist Mono,monospace}.pg-field textarea:focus{border-color:#18e2998c;outline:none}.pg-side{flex-direction:column;gap:10px;display:flex}.pg-run{background:var(--brand);color:#07110e;cursor:pointer;border:0;border-radius:14px;padding:11px 16px;font-size:14px;font-weight:700}.pg-run:disabled{opacity:.5;cursor:not-allowed}.pg-msg{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.pg-error{color:#f87171;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.5}.pg-stdout,.pg-result{border:1px solid var(--line);background:#ffffff08;border-radius:12px;padding:8px 12px}.pg-stdout span,.pg-result span{color:var(--muted);letter-spacing:.08em;margin-bottom:4px;font:10px Geist Mono,monospace;display:block}.pg-stdout pre{white-space:pre-wrap;color:#d8eee5;max-height:140px;margin:0;font:12px Geist Mono,monospace;overflow:auto}.pg-result code{color:var(--brand);font:13px Geist Mono,monospace}.pg-dryrun{margin-top:12px}.pg-arrname{text-align:center;color:var(--muted);margin-top:12px;font:11px Geist Mono,monospace}.pg-novis{color:var(--muted);text-align:center;margin:auto;font-size:13px}.pg-scrub{accent-color:var(--brand);cursor:pointer;flex:1}.problem-row .pactions .pg-open{color:#eafff6;background:#18e29929;border-color:#18e29980;font-weight:700}@media (width<=900px){.pg-editor{grid-template-columns:1fr}}.track-page{margin-top:8px}.track-head{grid-template-columns:auto auto 1fr;align-items:baseline;gap:8px 14px;margin-bottom:14px;display:grid}.track-head .back-btn{grid-row:1;justify-self:start;margin:0;padding:6px 12px;font-size:13px;position:static}.track-head .eyebrow{grid-row:1;margin:0}.track-head h2{letter-spacing:-.4px;grid-row:1;margin:0;font-size:24px}.track-head .track-sum{color:var(--muted);grid-area:2/1/auto/-1;margin:0;font-size:13px;line-height:1.5}.complexity{width:auto;margin:0 0 72px;padding:0 22px 48px 14px}.complexity .page-back{margin:2px 0 10px;position:static}.cx-head h1{letter-spacing:-.5px;margin:4px 0 6px;font-size:28px}.cx-lead{color:var(--muted);max-width:760px;margin:0;font-size:14px;line-height:1.6}.cx-grid{grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);align-items:start;gap:16px;margin-top:16px;display:grid}.cx-plot{border:1px solid var(--line);background:#06100d;border-radius:18px;padding:10px}.cx-plot svg{touch-action:none;cursor:crosshair;width:100%;height:auto;display:block}.cx-axis{stroke:#ffffff38;stroke-width:1px}.cx-tick,.cx-axislabel{fill:var(--muted);font:11px Geist Mono,monospace}.cx-curve{stroke-linejoin:round;stroke-linecap:round}.cx-marker{stroke:#ffffff80;stroke-width:1px;stroke-dasharray:4 4}.cx-side{flex-direction:column;gap:14px;display:flex}.cx-controls{border:1px solid var(--line);background:#0d1b1699;border-radius:16px;flex-direction:column;gap:12px;padding:14px;display:flex}.cx-slider{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.cx-slider b{color:var(--brand);font-family:Geist Mono,monospace}.cx-slider input[type=range]{accent-color:var(--brand);cursor:pointer}.cx-check{color:#d8eee5;align-items:center;gap:8px;font-size:13px;display:flex}.cx-values{border:1px solid var(--line);background:#0d1b1699;border-radius:16px;padding:12px}.cx-values-head{color:var(--muted);letter-spacing:.08em;margin-bottom:8px;font:10px Geist Mono,monospace}.cx-row{cursor:pointer;width:100%;color:var(--text);background:0 0;border:0;border-radius:10px;grid-template-columns:14px 1fr auto;align-items:center;gap:10px;padding:7px 8px;display:grid}.cx-row:hover{background:#ffffff0a}.cx-row.off{opacity:.4}.cx-dot{border-radius:50%;width:12px;height:12px}.cx-label{text-align:left;font-size:13px}.cx-val{color:var(--amber);font:12px Geist Mono,monospace}.cx-note{color:var(--muted);margin:6px 2px 0;font-size:11px}@media (width<=900px){.cx-grid{grid-template-columns:1fr}}.stmt-disclosure{margin-bottom:14px}.stmt-toggle.wide{box-sizing:border-box;border:1px solid var(--line);color:#d8eee5;cursor:pointer;background:#18e2990f;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 16px;font-size:14px;text-decoration:none;display:flex}.stmt-toggle.wide b{color:var(--brand);font-size:12px;font-weight:700}.stmt-toggle.wide:hover{color:#eafff6;border-color:#18e29980}.stmt-disclosure .problem-statement{margin-top:10px}.solution-code{padding:10px}.solution-code .line{white-space:pre-wrap;overflow-wrap:anywhere;grid-template-columns:2.6ch minmax(0,1fr);align-items:start;gap:10px;padding:2px 8px;font-size:12.5px;line-height:1.6;display:grid}.solution-code .line span{color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;padding-top:3px;font:10px Geist Mono,monospace}@media (width<=900px){.blog-body pre,.stmt-body pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:10px}}@media (width<=600px){.problem-view,.playground,.complexity{padding:0 12px 40px}.problem-view .lesson{padding:14px 12px}.solutions,.step-panel,.state-panel{padding:12px}pre{padding:10px}.step-code .line{padding:3px 6px;font-size:12px}.solution-code .line{font-size:12px}}@media (orientation:landscape) and (height<=560px){.nav{padding:10px 14px;position:static}.problem-view,.playground,.complexity{padding:0 10px 32px}.problem-view .lesson{padding:14px}.dryrun,.cx-grid,.pg-editor,#tutorials.layout,#tutorials.layout.sidebar-collapsed{grid-template-columns:1fr}.step-panel,.state-panel{padding:12px}.state-panel pre.step-code,.solution-code,.timeline-scroll{max-height:none;overflow:visible}.step-code .line{font-size:13px;line-height:1.55}.solution-code .line{font-size:13.5px;line-height:1.65}}
