/*! (c) 2025 Kazuki Kawamura (casp.jp). All rights reserved. Unauthorized copying or redistribution of this stylesheet is prohibited. */
@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.blog-container{min-height:100vh;padding-top:calc(var(--nav-height) + var(--space-xl));background:var(--bg-primary);position:relative;overflow:visible}.blog-container::before,.blog-post::before{content:none}.blog-header{text-align:center;padding:var(--space-2xl) var(--space-md) var(--space-lg);position:relative;z-index:10}.blog-title{font-size:var(--font-size-4xl);font-weight:700;background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-xs);letter-spacing:-.02em}.blog-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:400}.blog-content{padding:0 var(--space-lg) var(--space-3xl);margin:0 auto;position:relative;z-index:10}.blog-posts{display:flex;flex-direction:column;gap:0}.blog-post{background:0 0;border-radius:0;padding:var(--space-md)0;box-shadow:none;border:0;border-bottom:1px solid var(--glass-border);transition:background-color var(--transition-fast);position:relative;overflow:visible}.blog-post:hover{transform:none;box-shadow:none;border-color:var(--glass-border);background:rgba(var(--primary-color-rgb),.03)}.blog-post:hover .blog-post-image::after,.blog-post:hover::before{opacity:0}.blog-post:last-child{border-bottom:none}.blog-post-content{position:relative;z-index:0}.blog-post-date{color:var(--text-tertiary);font-size:var(--font-size-xs);font-weight:500;margin-bottom:calc(var(--space-xs) + 2px);display:flex;align-items:center;gap:calc(var(--space-xs) + 1px)}.blog-post-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-sm);line-height:1.45;transition:color var(--transition-fast)}.blog-post-title-link{color:inherit;text-decoration:none;border-bottom:1px dotted rgba(var(--primary-color-rgb),.45);transition:color var(--transition-fast),border-bottom-color var(--transition-fast)}.blog-post-title-link:hover{color:var(--primary-color);border-bottom-color:rgba(var(--primary-color-rgb),.92)}.blog-post-title-link:focus-visible{outline:2px solid rgba(var(--primary-color-rgb),.3);outline-offset:2px}.blog-post:hover .blog-post-title{background:0 0;-webkit-background-clip:initial;-webkit-text-fill-color:currentColor;background-clip:initial;color:var(--text-primary)}.blog-post-description{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.55;margin-bottom:var(--space-sm)}.blog-post-meta{display:flex;flex-wrap:wrap;gap:calc(var(--space-xs) + 2px) var(--space-sm);align-items:center;margin-bottom:var(--space-sm)}.blog-post-tag{background:0 0;color:var(--text-secondary);padding:0;border-radius:0;font-size:var(--font-size-xs);font-weight:500;border:0;transition:color var(--transition-fast)}.blog-post-tag.primary{color:var(--accent-primary)}.blog-post-link,.platform-badge{display:inline-flex;align-items:center}.blog-post-link{gap:.5rem;color:var(--accent-primary);font-weight:600;text-decoration:none;transition:color var(--transition-fast),border-bottom-color var(--transition-fast);font-size:var(--font-size-sm);border-bottom:1px dotted rgba(var(--primary-color-rgb),.55)}.blog-post-link:hover{gap:.5rem;color:var(--primary-dark);border-bottom-color:rgba(var(--primary-color-rgb),.92)}.blog-post-link::after{content:"→";font-size:var(--font-size-base);transition:transform var(--transition-fast)}.blog-post-link:hover::after{transform:translateX(1px)}.platform-badge{gap:calc(var(--space-xs) - 1px);padding:0;background:0 0;border:0;border-radius:0;font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary)}.platform-badge.note,.platform-badge.qiita,[data-theme=dark] .platform-badge.note,[data-theme=dark] .platform-badge.qiita{background:0 0;color:var(--text-secondary);border-color:transparent}.blog-post{animation:fadeInUp .6s ease forwards;opacity:0}.blog-post:nth-child(1){animation-delay:.1s}.blog-post:nth-child(2){animation-delay:.2s}.blog-post:nth-child(3){animation-delay:.3s}[data-theme=dark] .blog-post{background:0 0;border-color:var(--glass-border)}[data-theme=dark] .blog-post-tag{background:0 0;border-color:transparent}.blog-post-image{width:100%;height:160px;border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-sm);position:relative;background:var(--bg-secondary)}.blog-post-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.blog-post:hover .blog-post-image img{transform:none}.blog-post-image::after{content:none}@media (max-width:768px){.blog-title{font-size:var(--font-size-3xl)}.blog-subtitle{font-size:var(--font-size-xs)}.blog-header{padding:var(--space-xl) var(--space-md) var(--space-md)}.blog-post{padding:var(--space-sm)0}.blog-post-title{font-size:var(--font-size-base)}.blog-post-description{font-size:var(--font-size-xs)}.blog-content{padding:0 var(--space-md) var(--space-2xl)}.blog-post-meta{gap:calc(var(--space-xs) + 1px) var(--space-sm)}.blog-post-tag{font-size:var(--font-size-xs);padding:0}.blog-post-image{height:128px;margin-bottom:var(--space-sm)}}.blog-content{max-width:760px}.blog-main{min-width:0}.blog-section-label{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--space-xs)}.blog-section-label::after{content:"";flex:1;height:1px;background:var(--glass-border)}.blog-section-label--accent{color:var(--accent-primary)}.blog-pickup-section{margin-bottom:var(--space-lg)}.blog-pickup-card{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:rgba(var(--primary-color-rgb),.05);padding:var(--space-lg);animation:fadeInUp .6s ease forwards}.blog-pickup-card .blog-post-title{font-size:var(--font-size-xl);font-weight:700;line-height:1.4;letter-spacing:-.01em}.blog-pickup-card .blog-post-description{font-size:var(--font-size-sm);line-height:1.6;margin-bottom:0}
