.blog-page-head{padding:var(--space-9) 0 var(--space-7)}.blog-page-grid{display:grid;gap:var(--space-5);grid-template-columns:1fr;margin-bottom:var(--space-7)}@media(min-width:768px){.blog-page-grid{grid-template-columns:repeat(3,1fr)}}.blog-page-card{display:flex;flex-direction:column;background:var(--color-surface-1);background-image:var(--card-sheen);border:1px solid var(--card-border);border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.blog-page-card:hover,.blog-page-card:focus-within{transform:translateY(-4px);box-shadow:var(--elevation-3);border-color:var(--color-border-strong)}.blog-page-card-media{position:relative;height:160px;display:flex;align-items:center;justify-content:center;background:var(--gradient-brand-soft);overflow:hidden}.blog-page-card-media .motif{position:relative;z-index:2;width:90px;height:90px;color:var(--color-brand);opacity:.22}.blog-page-card-media.has-photo{position:relative;overflow:hidden}.media-photo{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(.97)}.blog-page-card-media.has-photo .motif{opacity:.3}.blog-page-card-media.has-photo:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,color-mix(in srgb,var(--color-surface-1) 72%,transparent),transparent 48%),linear-gradient(135deg,rgba(var(--ref-green-rgb) / .16),rgba(var(--ref-gold-rgb) / .1))}.blog-page-card-body{padding:var(--space-5);display:flex;flex-direction:column;flex:1}.blog-page-card-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-11_5);color:var(--color-text-muted);margin-bottom:var(--space-2)}.blog-page-card-title{font-size:var(--fs-17);font-weight:var(--fw-bold);color:var(--color-text-primary);margin-bottom:var(--space-2);line-height:var(--lh-snug)}.blog-page-card-desc{font-size:var(--fs-13);color:var(--color-text-secondary);margin-bottom:var(--space-4);flex:1}.blog-page-card-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.blog-page-chip{font-size:var(--fs-10_5);font-weight:var(--fw-semibold);color:var(--color-brand);padding:3px 10px;background:var(--color-brand-tint);border-radius:var(--radius-pill)}.blog-page-card-link{display:inline-flex;align-items:center;gap:6px;color:var(--color-brand-ink);font-weight:var(--fw-semibold);font-size:var(--fs-13)}.blog-page-card-link svg{width:16px;height:16px}.blog-page-empty{padding:var(--space-9) 0;text-align:center;color:var(--color-text-secondary);font-size:var(--fs-17)}.post-article{max-width:720px;margin-inline:auto;padding:var(--space-9) var(--space-6) var(--space-10)}.post-article h1{margin-bottom:var(--space-4)}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--fs-13);margin-bottom:var(--space-7)}.post-meta .sep{color:var(--color-border-strong)}.post-meta .tags{display:inline-flex;flex-wrap:wrap;gap:var(--space-2)}.post-cover{margin:var(--space-7) 0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--card-border);position:relative}.post-cover img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover}.post-cover:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,color-mix(in srgb,var(--color-bg) 34%,transparent),transparent 30%),linear-gradient(160deg,rgba(var(--ref-gold-rgb) / .07),transparent 55%)}.prose{color:var(--color-text-primary);font-size:var(--text-body);line-height:var(--lh-body)}.prose>*+*{margin-top:var(--space-5)}.prose h2{font-size:var(--text-h1);font-weight:var(--fw-extrabold);line-height:var(--lh-snug);margin-top:var(--space-8)}.prose h3{font-size:var(--text-h2);font-weight:var(--fw-bold);line-height:var(--lh-snug);margin-top:var(--space-7)}.prose h4{font-size:var(--fs-17);font-weight:var(--fw-bold);margin-top:var(--space-6)}.prose p{color:var(--color-text-primary)}.prose a{color:var(--color-brand-ink);text-decoration:underline;text-underline-offset:3px}.prose ul,.prose ol{padding-inline-start:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li>ul,.prose li>ol{margin-top:var(--space-2)}.prose blockquote{border-inline-start:3px solid var(--color-brand);padding-inline-start:var(--space-5);color:var(--color-text-secondary);font-style:normal}.prose img{max-width:100%;height:auto;border-radius:var(--radius-lg)}.prose strong{font-weight:var(--fw-bold);color:var(--color-text-primary)}.prose em{font-style:italic}.prose :not(pre)>code{background:var(--color-surface-2);border:1px solid var(--color-hairline);border-radius:var(--radius-sm);padding:2px 6px;font-size:.9em;direction:ltr;unicode-bidi:isolate}.prose pre{direction:ltr;text-align:left;unicode-bidi:isolate;overflow-x:auto;background:var(--color-surface-2);border:1px solid var(--color-hairline);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5)}.prose pre code{background:none;border:none;padding:0;font-size:var(--fs-13);line-height:var(--lh-body)}.post-back{margin-top:var(--space-9);padding-top:var(--space-6);border-top:1px solid var(--color-hairline)}.post-back a{display:inline-flex;align-items:center;gap:6px;font-weight:var(--fw-semibold);color:var(--color-brand-ink)}.post-back a svg{width:16px;height:16px}.notfound{min-height:50vh;display:flex;align-items:center;justify-content:center;padding:var(--space-10) var(--space-6);text-align:center}.notfound-inner{max-width:440px}.notfound-code{font-size:var(--fs-40);font-weight:var(--fw-black);background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:var(--space-4)}.notfound p{color:var(--color-text-secondary);margin-bottom:var(--space-2)}.notfound-links{display:flex;gap:var(--space-3);justify-content:center;margin-top:var(--space-6);flex-wrap:wrap}@media(pointer:coarse){.blog-page-card-link,.post-back a{min-height:44px;align-items:center}.nav-links a,.footer-col a{min-height:44px;display:flex;align-items:center}}
