.blog.index{padding:64px 0 80px}.blog.index .blog.header{margin-bottom:40px}.blog.index .blog.header h1{letter-spacing:-.03em;color:var(--ink);font-size:36px;font-weight:800}.blog.index .blog.header .sub{color:var(--muted);margin-top:8px;font-size:15px}.blog.index .blog.categories{flex-wrap:wrap;gap:8px;margin-bottom:32px;display:flex}.blog.index .blog.categories .blog.category.pill{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);border-radius:20px;padding:5px 14px;font-size:13.5px;font-weight:500;transition:border-color .12s,background .12s}.blog.index .blog.categories .blog.category.pill:hover{border-color:var(--warm);color:var(--warm)}.blog.index .blog.categories .blog.category.pill.is-active{background:var(--warm);border-color:var(--warm);color:#fff}.blog.index .blog.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;display:grid}@media (width<=768px){.blog.index .blog.grid{grid-template-columns:1fr}}.blog.index .blog.empty{text-align:center;color:var(--muted);padding:64px 0}.blog.index .blog.pagination{justify-content:center;margin-top:40px;display:flex}.blog.index .blog.back.link{color:var(--warm);font-size:14px}.blog.index .blog.back.link:hover{text-decoration:underline}.blog.post.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;transition:box-shadow .15s;display:flex;overflow:hidden}.blog.post.card:hover{box-shadow:0 4px 16px #15161d14}.blog.post.card .blog.post.card.cover{aspect-ratio:16/9;display:block;overflow:hidden}.blog.post.card .blog.post.card.cover img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.blog.post.card .blog.post.card.cover:hover img{transform:scale(1.03)}.blog.post.card .blog.post.card.body{flex-direction:column;flex:1;padding:20px 24px;display:flex}.blog.post.card .blog.post.card.meta{align-items:center;gap:12px;margin-bottom:12px;display:flex}.blog.post.card .blog.post.card.meta .blog.post.card.category{text-transform:uppercase;letter-spacing:.05em;color:var(--warm);font-size:12px;font-weight:600}.blog.post.card .blog.post.card.meta .blog.post.card.date{color:var(--muted-2);font-size:12px}.blog.post.card .blog.post.card.title{margin-bottom:12px;font-size:17px;font-weight:700;line-height:1.35}.blog.post.card .blog.post.card.title a{color:var(--ink)}.blog.post.card .blog.post.card.title a:hover{color:var(--warm)}.blog.post.card .blog.post.card.excerpt{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;margin-bottom:20px;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.blog.post.card .blog.post.card.footer{justify-content:space-between;align-items:center;display:flex}.blog.post.card .blog.post.card.footer .blog.post.card.author{color:var(--muted);font-size:13px}.blog.show .blog.cover.img{object-fit:cover;object-position:center;width:100%;height:320px;display:block}@media (width<=768px){.blog.show .blog.cover.img{height:200px}}.blog.show .wrap{max-width:780px;margin:0 auto;padding:40px 24px 80px}.blog.show .blog.article .blog.article.header{margin-bottom:32px}.blog.show .blog.article .blog.article.header .blog.article.meta{color:var(--muted);align-items:center;gap:12px;margin-bottom:16px;font-size:13px;display:flex}.blog.show .blog.article .blog.article.header .blog.article.meta .blog.article.category{color:var(--warm);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.blog.show .blog.article .blog.article.header .blog.article.title{letter-spacing:-.03em;color:var(--ink);margin-bottom:16px;font-size:36px;font-weight:800;line-height:1.2}@media (width<=768px){.blog.show .blog.article .blog.article.header .blog.article.title{font-size:26px}}.blog.show .blog.article .blog.article.header .blog.article.excerpt{color:var(--muted);font-size:17px;line-height:1.7}.blog.show .blog.article .blog.article.body.prose{color:var(--ink-2);font-size:16px;line-height:1.75}.blog.show .blog.article .blog.article.body.prose h2{color:var(--ink);margin:32px 0 16px;font-size:24px;font-weight:700}.blog.show .blog.article .blog.article.body.prose h3{color:var(--ink);margin:24px 0 12px;font-size:19px;font-weight:700}.blog.show .blog.article .blog.article.body.prose p{margin:0 0 20px}.blog.show .blog.article .blog.article.body.prose ul,.blog.show .blog.article .blog.article.body.prose ol{list-style:revert;margin-bottom:20px;padding-left:24px}.blog.show .blog.article .blog.article.body.prose blockquote{border-left:3px solid var(--warm);color:var(--muted);margin:24px 0;padding-left:20px;font-style:italic}.blog.show .blog.article .blog.article.body.prose hr{border:none;border-top:1px solid var(--line);margin:32px 0}.blog.show .blog.article .blog.article.body.prose a{color:var(--warm);text-decoration:underline}.blog.show .blog.article .blog.article.body.prose img{border-radius:8px;max-width:100%;margin:24px 0}.blog.show .blog.article .blog.article.body.prose pre{background:var(--ink);color:#e8e8e8;font-family:var(--f-mono);border-radius:8px;margin-bottom:20px;padding:20px 24px;font-size:14px;overflow-x:auto}.blog.show .blog.article .blog.article.body.prose code{font-family:var(--f-mono);background:var(--bg);border-radius:4px;padding:2px 6px;font-size:13.5px}.blog.show .blog.article .blog.article.body.prose pre code{background:0 0;padding:0}.blog.show .blog.article .blog.article.body.prose strong{font-weight:700}.blog.show .blog.article .blog.article.body.prose em{font-style:italic}.blog.show .blog.comments{border-top:1px solid var(--line);margin-top:48px;padding-top:32px}.blog.show .blog.comments .blog.comments.title{margin-bottom:24px;font-size:18px;font-weight:700}.blog.show .blog.comments .blog.comments.list{flex-direction:column;gap:20px;margin-bottom:32px;display:flex}.blog.show .blog.comments .blog.comment.form.wrap .field.body{margin-bottom:16px}.blog.show .blog.comments .blog.comment.form.wrap .field.body label{margin-bottom:8px;display:block}.blog.show .blog.comments .blog.comment.form.wrap .field.body textarea{width:100%}.blog.show .blog.comments .blog.comment.login.prompt{color:var(--muted);font-size:14px}.blog.show .blog.comments .blog.comment.login.prompt a{color:var(--warm);text-decoration:underline}.blog.comment{gap:16px;display:flex}.blog.comment.is-hidden{opacity:.4}.blog.comment .blog.comment.avatar{background:var(--warm-soft);width:36px;height:36px;color:var(--warm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex;overflow:hidden}.blog.comment .blog.comment.avatar img{object-fit:cover;width:100%;height:100%}.blog.comment .blog.comment.body{flex:1}.blog.comment .blog.comment.body .blog.comment.header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.blog.comment .blog.comment.body .blog.comment.header .blog.comment.author{font-size:14px;font-weight:600}.blog.comment .blog.comment.body .blog.comment.header .blog.comment.date{color:var(--muted-2);font-size:12px}.blog.comment .blog.comment.body .blog.comment.text{color:var(--ink-2);font-size:14.5px;line-height:1.65}
