.topnav{position:sticky;top:0;z-index:100;background:#ffffffe0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:background .3s,border-color .3s}[data-theme=dark] .topnav{background:#0d1117e0}.topnav-inner{max-width:var(--max-w);margin:0 auto;padding:0 2rem;height:60px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.nav-brand{font-size:1.1rem;font-weight:800;color:var(--accent);text-decoration:none;letter-spacing:-.02em;white-space:nowrap}.nav-brand span{color:var(--text);font-weight:400}.nav-brand{display:flex;align-items:center;gap:0}.brand-seg{font-size:1.05rem;font-weight:800;color:var(--accent);text-decoration:none;letter-spacing:-.02em;white-space:nowrap;transition:opacity .18s}.brand-seg:hover{opacity:.75}.brand-seg--blog{color:var(--text);font-weight:600}.brand-seg--crumb{color:var(--muted);font-weight:500;font-size:.95rem}.brand-seg--current{cursor:default}.brand-seg--current:hover{opacity:1}.brand-sep{color:var(--border);font-weight:400;font-size:1rem;padding:0 .35rem;user-select:none;letter-spacing:0}@media(max-width:640px){.brand-seg--crumb{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.nav-brand .nav-is{color:#1a1916;font-weight:800}[data-theme=dark] .nav-brand .nav-is{color:#fff}.nav-right{display:flex;align-items:center;gap:.75rem}.back-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;font-weight:600;color:var(--muted);text-decoration:none;padding:.35rem .75rem;border-radius:6px;border:1px solid var(--border);transition:all .18s}.back-link:hover{color:var(--accent);border-color:var(--accent)}.back-link svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.nav-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;font-weight:600;color:var(--muted);text-decoration:none;transition:color .18s}.nav-link:hover{color:var(--accent)}.theme-btn{width:36px;height:36px;border-radius:8px;background:var(--tag-bg);border:1px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.theme-btn:hover{background:var(--border)}.theme-btn svg{width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.topic-bar{background:var(--bg);border-bottom:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch}.topic-bar::-webkit-scrollbar{display:none}.topic-bar-inner{max-width:var(--max-w);margin:0 auto;padding:0 2rem;display:flex;align-items:center;gap:.35rem;min-width:max-content}.topic-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.76rem;font-weight:600;color:var(--muted);text-decoration:none;white-space:nowrap;border-radius:0;border-bottom:2px solid transparent;transition:color .18s,border-color .18s}.topic-pill:hover,.topic-pill.active{color:var(--accent);border-bottom-color:var(--accent)}.topic-pill svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}.topic-divider{width:1px;height:14px;background:var(--border);flex-shrink:0}.post-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:transform .22s,box-shadow .22s,border-color .22s;text-decoration:none;color:inherit;display:flex;flex-direction:column}.post-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #2563eb17;border-color:#2563eb40}.post-card.hidden{display:none}.post-thumb{width:100%;aspect-ratio:16/8;background:linear-gradient(135deg,#1e3a8a,#2563eb 60%,#3b82f6);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;flex-shrink:0}.post-thumb-pattern{position:absolute;inset:0;opacity:.12;color:#fff}.post-thumb-icon{width:28px;height:28px;stroke:#ffffffe6;fill:none;stroke-width:1.4;position:relative;z-index:1;stroke-linecap:round;stroke-linejoin:round}.post-thumb.has-photo{background:none}.post-thumb-img{width:100%;height:100%;object-fit:cover;display:block}.post-body{padding:1.4rem;display:flex;flex-direction:column;flex:1}.post-date{font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}.post-title{font-size:1rem;font-weight:700;color:var(--text);line-height:1.35;letter-spacing:-.01em;margin-bottom:.6rem}.post-excerpt{font-size:.83rem;color:var(--muted);line-height:1.7;margin-bottom:1rem;flex:1}.post-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin-top:auto;padding-top:.8rem;border-top:1px solid var(--border)}.post-tags{display:flex;flex-wrap:wrap;gap:.3rem}.post-tag{font-size:.68rem;font-weight:600;padding:.2rem .6rem;border-radius:4px;background:var(--tag-bg);color:var(--muted);border:1px solid var(--border)}.post-tag--primary{background:var(--accent);color:#fff;border-color:var(--accent)}.post-arrow{width:28px;height:28px;border-radius:6px;flex-shrink:0;background:var(--tag-bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:background .18s,border-color .18s}.post-card:hover .post-arrow{background:var(--accent);border-color:var(--accent)}.post-arrow svg{width:13px;height:13px;stroke:var(--muted);fill:none;stroke-width:2.4;stroke-linecap:round;transition:stroke .18s}.post-card:hover .post-arrow svg{stroke:#fff}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.series-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.series-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.9rem;transition:transform .22s,box-shadow .22s,border-color .22s}.series-card:hover{transform:translateY(-3px);box-shadow:0 14px 36px #2563eb17;border-color:#2563eb47}.series-card-top{display:flex;align-items:center;gap:.9rem}.series-card-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0;background:#2563eb14;border:1px solid rgba(37,99,235,.18);display:flex;align-items:center;justify-content:center}[data-theme=dark] .series-card-icon{background:#3b82f61a;border-color:#3b82f638}.series-card-icon svg{width:17px;height:17px;stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round}.series-card-label{font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.15rem}.series-card-name{font-size:.95rem;font-weight:700;color:var(--text);line-height:1.3}.series-card-desc{font-size:.82rem;color:var(--muted);line-height:1.65}.series-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.series-card-posts{display:flex;gap:.3rem}.series-dot{width:8px;height:8px;border-radius:50%;background:var(--border);border:1px solid var(--border);transition:background .2s}.series-dot.done{background:var(--accent);border-color:var(--accent)}.series-dot.current{background:transparent;border-color:var(--accent);box-shadow:0 0 0 2px #2563eb33}.series-count{font-size:.7rem;font-weight:600;color:var(--muted)}.series-status{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.18rem .55rem;border-radius:20px;border:1px solid var(--border);color:var(--muted);background:var(--tag-bg)}.series-status.active{color:#16a34a;border-color:#16a34a4d;background:#16a34a0f}[data-theme=dark] .series-status.active{color:#4ade80}.section-label{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:.75rem;margin-bottom:1.75rem}.section-label:after{content:"";flex:1;height:1px;background:var(--border)}.filter-wrap{padding:1.25rem 0;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:64px;z-index:90}.filter-inner{max-width:var(--max-w);margin:0 auto;padding:0 2rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.filter-label{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:.5rem}.filter-btn{padding:.35rem .9rem;border-radius:6px;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--muted);font-family:var(--font);transition:all .18s}.filter-btn:hover{border-color:var(--accent);color:var(--accent)}.filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.filter-empty{grid-column:1 / -1;text-align:center;padding:4rem 1rem;color:var(--muted);font-size:.9rem;display:none}.filter-empty.visible{display:block}.filter-empty svg{width:32px;height:32px;stroke:var(--border);fill:none;stroke-width:1.5;stroke-linecap:round;display:block;margin:0 auto .75rem}.newsletter{margin-top:4rem;border-radius:16px;background:linear-gradient(135deg,#2563eb12,#2563eb05);border:1px solid rgba(37,99,235,.18);padding:2.5rem;text-align:center}[data-theme=dark] .newsletter{background:linear-gradient(135deg,#3b82f614,#3b82f605)}.newsletter h3{font-size:1.4rem;font-weight:800;color:var(--text);letter-spacing:-.02em;margin-bottom:.5rem}.newsletter p{font-size:.9rem;color:var(--muted);margin-bottom:1.5rem}.newsletter-form{display:flex;gap:.6rem;max-width:440px;margin:0 auto}.newsletter-input{flex:1;padding:.7rem 1rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.88rem;font-family:var(--font)}.newsletter-input:focus{outline:none;border-color:var(--accent)}.newsletter-input::placeholder{color:var(--muted)}.newsletter-btn{padding:.7rem 1.4rem;border-radius:8px;background:var(--accent);color:#fff;border:none;font-size:.88rem;font-weight:700;font-family:var(--font);cursor:pointer;white-space:nowrap;transition:background .2s}.newsletter-btn:hover{background:var(--accent2)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.post-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.topnav{display:none}body{padding-bottom:62px}.filter-wrap{top:0}}@media(max-width:600px){.post-grid,.series-grid{grid-template-columns:1fr}.newsletter-form{flex-direction:column}}
