.blog-page{max-width:1080px}.blog-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 24px;margin-bottom:20px;display:flex}.blog-header-copy{flex:280px;min-width:0}.blog-header-copy h1{margin-bottom:10px}.blog-header-copy .sub{max-width:52ch;margin-bottom:0}.blog-header-actions{flex-shrink:0;align-items:center;gap:10px;display:inline-flex}.blog-rss-link{border:1px solid var(--line);color:var(--muted);background:#0b0c0e;border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.blog-rss-link:hover{color:var(--text);border-color:var(--line-strong)}.blog-rss-link svg{opacity:.9;display:block}.blog-layout-toggle{border:1px solid var(--line);background:#0b0c0e;border-radius:10px;flex-shrink:0;align-items:center;gap:2px;padding:3px;display:inline-flex}.blog-layout-btn{appearance:none;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;transition:color .12s,background .12s;display:inline-flex}.blog-layout-btn:hover{color:var(--text)}.blog-layout-btn.is-active{color:var(--text);background:#ffffff0f}.blog-layout-btn svg{opacity:.85;display:block}.blog-toolbar{flex-direction:column;align-items:center;gap:10px;margin-bottom:22px;display:flex}.blog-toolbar-main{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 12px;width:100%;max-width:640px;display:flex}.blog-search{border:1px solid var(--line);min-width:200px;color:var(--muted);background:#0b0c0e;border-radius:10px;flex:240px;align-items:center;gap:10px;padding:10px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.blog-search:focus-within{color:var(--brand-text);border-color:#2563eb8c;box-shadow:0 0 0 3px #2563eb26}.blog-search input{min-width:0;color:var(--text);font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:14px}.blog-search input::placeholder{color:var(--muted)}.blog-tag-filter-wrap{flex:none;position:relative}.blog-tag-filter-btn{appearance:none;border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:#0b0c0e;border-radius:10px;align-items:center;gap:8px;max-width:min(220px,46vw);padding:10px 12px;font-size:13.5px;font-weight:500;transition:color .12s,border-color .12s,background .12s,box-shadow .12s;display:inline-flex}.blog-tag-filter-btn>span{text-overflow:ellipsis;overflow:hidden}.blog-tag-filter-btn:hover{color:var(--text);border-color:var(--line-strong)}.blog-tag-filter-btn.is-active,.blog-tag-filter-btn[aria-expanded=true]{color:var(--brand-text);background:#2563eb1a;border-color:#2563eb80;box-shadow:0 0 0 3px #2563eb1f}.blog-tag-filter-btn[aria-expanded=true] .blog-tag-filter-chevron{transform:rotate(180deg)}.blog-tag-filter-chevron{opacity:.75;flex-shrink:0;transition:transform .14s}.blog-tag-menu{z-index:40;border:1px solid var(--line);background:#0d0e11;border-radius:12px;min-width:200px;max-width:min(280px,80vw);max-height:min(320px,50vh);padding:6px;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 12px 40px #00000073}.blog-tag-menu[hidden]{display:none!important}.blog-tag-option{color:var(--muted);border-radius:8px;padding:8px 10px;font-size:13px;font-weight:500;line-height:1.3;text-decoration:none;transition:color .1s,background .1s;display:block}.blog-tag-option:hover{color:var(--text);background:#ffffff0d}.blog-tag-option.is-active{color:var(--brand-text);background:#2563eb1f}.blog-count-badge{border:1px solid var(--line);color:var(--muted);font-family:var(--mono);letter-spacing:.02em;white-space:nowrap;user-select:none;background:0 0;border-radius:999px;flex:none;align-items:center;margin:0;padding:4px 9px;font-size:11px;font-weight:500;line-height:1.2;display:inline-flex}.blog-count-badge[hidden]{display:none!important}.blog-feed{width:100%}.blog-feed--list{flex-direction:column;gap:14px;width:100%;max-width:880px;margin-inline:auto;display:flex}.blog-feed--list .blog-card{width:100%}.blog-feed--grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:none;display:grid}@property --blog-beam-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.blog-card{color:inherit;border:1px solid var(--line);isolation:isolate;background:#0b0c0e;border-radius:12px;flex-direction:column;height:100%;min-height:0;padding:22px;text-decoration:none;transition:border-color .15s,transform .15s,background .15s;display:flex;position:relative;overflow:hidden}.blog-card:before{content:"";border-radius:inherit;background:conic-gradient(from var(--blog-beam-angle), transparent 0%, transparent 55%, #2563eb 70%, #34b44a 82%, transparent 92%);-webkit-mask-composite:xor;opacity:0;pointer-events:none;z-index:1;padding:1px;transition:opacity .18s;position:absolute;inset:0;mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-position:0 0,0 0;mask-size:auto,auto;mask-repeat:repeat,repeat;mask-clip:content-box,border-box;mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.blog-card:hover{background:#0d0e11;border-color:#0000;transform:translateY(-1px)}.blog-card:hover:before{opacity:1;animation:2.8s linear infinite blog-border-beam}@keyframes blog-border-beam{to{--blog-beam-angle:360deg}}.blog-card>*{z-index:2;position:relative}.blog-card-date{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-text);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px;font-size:11px;font-weight:600;display:flex}.blog-card-date-short{display:none}.blog-card-rt{color:var(--muted);letter-spacing:.04em}.blog-card-rt:before{content:"·";color:var(--line-strong);margin-right:12px}.blog-card-title{letter-spacing:-.015em;color:var(--text);margin:0;font-size:17px;font-weight:600;line-height:1.3}.blog-card-desc{color:var(--muted);margin:8px 0 0;font-size:13.5px;line-height:1.55}.blog-card-tags{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:16px;display:flex}.blog-tag{font-family:var(--mono);letter-spacing:.03em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 7px;font-size:10px;font-weight:600;line-height:1.4}.blog-feed--grid .blog-card{padding:18px}.blog-feed--grid .blog-card-title{font-size:15.5px}.blog-feed--grid .blog-card-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.blog-feed--grid .blog-card-date time{display:none}.blog-feed--grid .blog-card-date-short{display:inline}.blog-empty{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;margin-top:40px;padding:24px 16px;display:flex}.blog-empty[hidden]{display:none!important}.blog-empty-icon{opacity:.55;color:var(--muted);display:block}.blog-empty-text{margin:0;font-size:14px;line-height:1.45}@media (width<=900px){.blog-feed--grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.blog-feed--grid{grid-template-columns:1fr}.blog-header{align-items:flex-start}}
