.index-hero{border-bottom:1px solid var(--line);padding:84px 0 64px;position:relative;overflow:hidden}.index-hero:before{content:"";pointer-events:none;background-image:linear-gradient(90deg,rgba(148,163,184,.06) 1px,transparent 1px),linear-gradient(rgba(148,163,184,.06) 1px,transparent 1px);background-size:64px 64px;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 0,#000 30%,transparent 80%);mask-image:radial-gradient(70% 60% at 50% 0,#000 30%,transparent 80%)}.index-hero:after{content:"";filter:blur(60px);pointer-events:none;background:radial-gradient(closest-side,rgba(0,102,255,.25),transparent 70%);border-radius:50%;width:900px;height:500px;position:absolute;top:-200px;left:50%;transform:translate(-50%)}.index-hero .inner{max-width:760px;position:relative}.breadcrumb{font-family:var(--mono);color:var(--muted);letter-spacing:.05em;align-items:center;gap:8px;font-size:11.5px;display:flex}.breadcrumb a{color:var(--muted);transition:color .15s}.breadcrumb a:hover{color:var(--text)}.breadcrumb .sep{opacity:.5}.index-hero h1{margin-top:18px}.index-hero h1 .accent{background:linear-gradient(#fff,#cfd9ea 70%);color:transparent;-webkit-background-clip:text;background-clip:text}.index-hero .lead{margin-top:20px}.hero-search{max-width:560px;margin-top:32px;position:relative}.hero-search input{border:1px solid var(--line-2);width:100%;height:54px;color:var(--text);font:500 15px var(--body);background:rgba(30,41,55,.7);border-radius:12px;outline:0;padding:0 18px 0 50px;transition:border-color .15s,background .15s}.hero-search input:focus{border-color:var(--blue);background:rgba(30,41,55,.95)}.hero-search>svg{color:var(--muted-2);position:absolute;top:50%;left:18px;transform:translateY(-50%)}.hero-search .hint{color:var(--muted-2);font-family:var(--mono);letter-spacing:.08em;font-size:11px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.hero-stats{flex-wrap:wrap;gap:32px;margin-top:36px;display:flex}.hero-stats .item{flex-direction:column;gap:2px;display:flex}.hero-stats .item .v{font-family:var(--display);color:var(--text);font-size:22px;font-weight:600}.hero-stats .item .l{font-family:var(--mono);color:var(--muted-2);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.filter-bar{z-index:30;-webkit-backdrop-filter:blur(12px)saturate(160%);border-bottom:1px solid var(--line);background:rgba(15,23,42,.86);padding:18px 0;position:-webkit-sticky;position:sticky;top:68px}.filter-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.chip-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip-group .lbl{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin-right:4px;font-size:10.5px}.chip{border:1px solid var(--line);height:30px;color:var(--muted);letter-spacing:.01em;cursor:pointer;background:rgba(255,255,255,.02);border-radius:7px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:500;transition:all .15s;display:inline-flex}.chip:hover{color:var(--text);border-color:var(--line-2)}.chip.active{background:var(--blue);color:#fff;border-color:transparent;box-shadow:0 4px 16px -6px rgba(0,102,255,.6)}.chip .count{font-family:var(--mono);opacity:.55;letter-spacing:.05em;font-size:10px}.chip.active .count{opacity:.85}.filter-sep{background:var(--line);align-self:center;width:1px;height:24px}.filter-meta{font-family:var(--mono);color:var(--muted-2);letter-spacing:.05em;margin-left:auto;font-size:11.5px}.featured-section{padding:56px 0 0}.featured{background:linear-gradient(140deg,rgba(0,102,255,.08),rgba(0,204,136,.04) 60%,transparent),var(--card);border:1px solid var(--line);border-radius:18px;grid-template-columns:1.1fr .9fr;align-items:stretch;gap:32px;display:grid;position:relative;overflow:hidden}.featured:before{content:"";background:linear-gradient(90deg,transparent,rgba(0,102,255,.4),transparent);height:1px;position:absolute;top:0;left:0;right:0}@media (max-width:880px){.featured{grid-template-columns:1fr}}.featured .copy{flex-direction:column;gap:16px;padding:40px 44px;display:flex}.featured .copy .meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.featured .copy h2{font-family:var(--display);letter-spacing:-.02em;margin:6px 0 0;font-size:30px;font-weight:600;line-height:1.1}.featured .copy p{color:var(--muted);max-width:50ch;margin:0;font-size:15px}.featured .copy .stats{font-family:var(--mono);color:var(--muted);letter-spacing:.04em;flex-wrap:wrap;gap:24px;margin-top:6px;font-size:12px;display:flex}.featured .copy .stats b{color:var(--text);margin-right:4px;font-weight:500}.featured .copy .cta{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.featured .viz{border-left:1px solid var(--line);background:linear-gradient(#0c1322,#0a101c);min-height:300px;position:relative}.featured .viz .field{position:absolute;top:0;bottom:0;left:0;right:0}.esp-board{border:1px solid var(--line-2);width:120px;height:80px;font-family:var(--mono);color:var(--muted);letter-spacing:.05em;background:linear-gradient(#1a2740,#11192b);border-radius:8px;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;box-shadow:0 8px 24px -10px rgba(0,0,0,.6)}.esp-board:after{content:"";border:1px dashed rgba(148,163,184,.18);border-radius:5px;position:absolute;top:5px;bottom:5px;left:5px;right:5px}.esp-board.a{top:42%;left:8%}.esp-board.b{top:42%;right:8%}.pulse-ring{border:1px solid var(--blue-2);opacity:0;pointer-events:none;border-radius:50%;position:absolute}.pulse-ring.r1{width:8px;height:8px;animation:4.5s ease-out infinite pulseR;top:calc(42% + 28px);left:calc(8% + 110px)}.pulse-ring.r2{width:8px;height:8px;animation:4.5s ease-out 1.5s infinite pulseR;top:calc(42% + 28px);left:calc(8% + 110px)}.pulse-ring.r3{width:8px;height:8px;animation:4.5s ease-out 3s infinite pulseR;top:calc(42% + 28px);left:calc(8% + 110px)}@keyframes pulseR{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(28)}}.packet{background:var(--blue-2);border-radius:50%;width:6px;height:6px;position:absolute;top:calc(42% + 36px);left:8%;box-shadow:0 0 12px rgba(123,174,255,.8)}.packet.p1{animation:4.5s linear infinite travel}.packet.p2{animation:4.5s linear 1.5s infinite travel}.packet.p3{animation:4.5s linear 3s infinite travel}@keyframes travel{0%{opacity:0;transform:translate(120px)}8%{opacity:1}92%{opacity:1}to{opacity:0;transform:translate(calc(100% - 30px))}}.viz-label{font-family:var(--mono);color:var(--muted-2);letter-spacing:.1em;text-transform:uppercase;font-size:10.5px;position:absolute;bottom:14px;left:18px}.tut-section{padding:48px 0 96px}.tut-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:24px;display:flex}.tut-section-head h2{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:22px;font-weight:600}.tut-section-head .count{font-family:var(--mono);color:var(--muted-2);letter-spacing:.05em;font-size:12px}.tut-section-head a.viewall{color:var(--blue-2);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.tut-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}@media (max-width:1000px){.tut-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.tut-grid{grid-template-columns:1fr}}.tut{background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:14px;flex-direction:column;transition:transform .2s,border-color .2s;display:flex;overflow:hidden}.tut:hover{border-color:#34435c;transform:translateY(-3px)}.tut .thumb{aspect-ratio:16/9;border-bottom:1px solid var(--line);background:#0b1322;position:relative;overflow:hidden}.tut .thumb svg{width:100%;height:100%;display:block}.tut .thumb .tag{position:absolute;top:12px;left:12px}.tut .thumb .time{font-family:var(--mono);color:var(--muted);letter-spacing:.06em;border:1px solid var(--line);background:rgba(11,19,34,.7);border-radius:5px;padding:3px 7px;font-size:10.5px;position:absolute;bottom:12px;right:14px}.tut .body{flex-direction:column;flex:1;gap:10px;padding:18px 20px 20px;display:flex}.tut .body .cat{font-family:var(--mono);color:var(--muted-2);letter-spacing:.1em;text-transform:uppercase;font-size:10.5px}.tut .body h3{font-family:var(--display);letter-spacing:-.005em;margin:0;font-size:17px;font-weight:600;line-height:1.25}.tut .body p{color:var(--muted);flex:1;margin:0;font-size:13.5px;line-height:1.5}.tut .body .foot{border-top:1px dashed var(--line);font-family:var(--mono);color:var(--muted-2);letter-spacing:.04em;justify-content:space-between;align-items:center;margin-top:6px;padding-top:12px;font-size:11.5px;display:flex}.tut .body .foot .author{align-items:center;gap:8px;display:flex}.tut .body .foot .author .av{border:1px solid var(--line-2);background:linear-gradient(135deg,#334155,#1e293b);border-radius:50%;width:20px;height:20px}.tut .body .foot .lessons{color:var(--muted-2)}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);font-family:var(--mono);letter-spacing:.04em;border-radius:14px;padding:80px 20px;font-size:13px}.cat-band{padding:24px 0 64px}.cat-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (max-width:1000px){.cat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.cat-grid{grid-template-columns:1fr}}.cat-card{background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:12px;flex-direction:column;gap:6px;padding:20px;transition:border-color .2s,transform .2s;display:flex;position:relative;overflow:hidden}.cat-card:hover{border-color:#34435c;transform:translateY(-2px)}.cat-card .ico{width:36px;height:36px;color:var(--blue-2);background:rgba(0,102,255,.1);border:1px solid rgba(0,102,255,.2);border-radius:9px;justify-content:center;align-items:center;margin-bottom:6px;display:flex}.cat-card .ico.g{color:var(--green-2);background:rgba(0,204,136,.1);border-color:rgba(0,204,136,.2)}.cat-card .ico.p{color:#a892ff;background:rgba(124,92,255,.1);border-color:rgba(124,92,255,.22)}.cat-card .ico.o{color:#ffb87a;background:rgba(255,154,77,.1);border-color:rgba(255,154,77,.22)}.cat-card h4{font-family:var(--display);letter-spacing:-.005em;margin:0;font-size:16px;font-weight:600}.cat-card p{color:var(--muted);margin:2px 0 0;font-size:13px;line-height:1.4}.cat-card .meta{font-family:var(--mono);color:var(--muted-2);letter-spacing:.05em;justify-content:space-between;margin-top:10px;font-size:11px;display:flex}
