.blog-ocean-bg{position:absolute;top:0;left:0;right:0;height:clamp(540px,73vh,760px);z-index:-2;pointer-events:none;overflow:hidden;background:linear-gradient(to bottom,#5fa0d8,#a4cce0 48%,#1c5b7a 55%,#3a92a8 64%,#88c3c8,#e8d8b0 86%,#d2b88a)}.blog-ocean-bg canvas,.blog-ocean-bg .oh-fallback{width:100%;height:100%;display:block}body{background:var(--canvas)}.blog-ocean-horizon{min-height:clamp(280px,40vh,380px);background:transparent}.blog-hero{position:relative;min-height:clamp(200px,28vh,260px);background:transparent}.blog-hero-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.blog-toolbar-shell{position:sticky;top:calc(var(--header-h) + var(--space-sm));z-index:10;display:flex;justify-content:center;padding:0 var(--space-md);pointer-events:none}.blog-toolbar{pointer-events:auto;max-width:100%}.toolbar-pill{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.5em .6em;border-radius:999px;background:#ffffff8c;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.6);box-shadow:0 2px 8px #14283c0a,0 12px 40px -16px #14283c38,inset 0 1px #ffffffb3;max-width:100%}.filter-chips{display:flex;gap:2px;flex-wrap:nowrap;min-width:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.filter-chips::-webkit-scrollbar{display:none}.chip{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.5em .6em;border-radius:999px;background:#ffffff8c;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.6);box-shadow:0 2px 8px #14283c0a,0 12px 40px -16px #14283c38,inset 0 1px #ffffffb3;max-width:100%}.chip:hover{color:var(--ink);background:#ffffff8c}.chip-active{background:var(--ink);color:var(--canvas);box-shadow:0 4px 12px -4px #14283c59}.chip-active:hover{color:var(--canvas);background:var(--ink)}.chip-label{font-weight:500}.chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5em;font-size:.6rem;opacity:.65;font-feature-settings:"tnum"}.chip-active .chip-count{opacity:.85}.toolbar-divider{width:1px;height:18px;background:#14283c1f;flex-shrink:0}.search-wrap{display:flex;align-items:center;gap:.4em;padding:.4em .85em .4em .6em;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:#fff9;min-width:160px;box-shadow:inset 0 1px 3px #0000000a;transition:all var(--duration-fast) var(--ease-out)}html[data-theme=dark] .search-wrap{border-color:#ffffff1a;background:#0003;box-shadow:inset 0 1px 3px #0003}.search-wrap:focus-within{background:var(--canvas);border-color:var(--accent);box-shadow:0 4px 12px -4px #14283c26}.search-icon{color:var(--mute);flex-shrink:0;transition:color var(--duration-fast) var(--ease-out)}.search-wrap:focus-within .search-icon{color:var(--accent)}.search-wrap input{border:none;outline:none;background:transparent;font-family:var(--font-mono);font-size:.8rem;color:var(--ink);width:100%}.search-wrap input::placeholder{color:var(--mute);opacity:.8}.blog-main{position:relative;z-index:1;background:var(--canvas);min-height:60vh}.blog-inner{max-width:var(--max-width);margin:0 auto;padding:var(--space-3xl) var(--space-xl) var(--space-4xl)}.blog-empty{font-family:var(--font-mono);font-size:.85rem;color:var(--mute);text-align:center;padding:var(--space-3xl) var(--space-md);border:1px dashed var(--hairline-strong);background:var(--canvas);margin:0 0 var(--space-xl)}.year-group{margin-bottom:var(--space-3xl)}.year-group[hidden]{display:none}.year-heading{display:flex;align-items:baseline;gap:var(--space-md);margin:0 0 var(--space-xl)}.year-num{font-family:var(--font-display);font-size:1.8rem;letter-spacing:-.025em;color:var(--ink)}.year-num-draft{color:var(--warning)}.year-line{flex:1;height:1px;background:var(--hairline)}.year-count{font-family:var(--font-mono);font-size:.7rem;color:var(--ghost);letter-spacing:.06em}.post-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-xl)}.post-card-wrap{position:relative;display:flex;flex-direction:column}.post-card-wrap.hidden{display:none}.post-card{display:flex;flex-direction:column;background:var(--canvas-overlay);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--hairline);border-radius:12px;text-decoration:none;color:inherit;height:100%;overflow:hidden;transition:transform var(--duration) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration) var(--ease-out)}.post-card:hover{transform:translateY(-3px);border-color:var(--ink);box-shadow:0 12px 32px -16px #0000002e}.post-card:hover .post-thumb-img{transform:scale(1.04)}.post-card:hover .post-cta{color:var(--accent)}.post-card:hover .post-cta-arrow{transform:translate(3px)}.post-thumb{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--surface-soft);border-bottom:1px solid var(--hairline);border-top-left-radius:12px;border-top-right-radius:12px}.post-thumb-img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease-out)}.post-thumb-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(circle at 30% 20%,var(--accent-ghost) 0%,transparent 55%),linear-gradient(135deg,var(--canvas-warm) 0%,var(--surface-soft) 100%)}.post-thumb-fallback:after{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,var(--hairline) 1px,transparent 1px),linear-gradient(to bottom,var(--hairline) 1px,transparent 1px);background-size:32px 32px;opacity:.45;pointer-events:none}.fallback-mark{position:relative;z-index:1;font-family:var(--font-display);font-size:1.5rem;letter-spacing:-.02em;color:var(--ink);background:var(--canvas);padding:.25em .75em;border:1px solid var(--hairline-strong)}.post-featured-badge,.post-draft-badge{position:absolute;top:var(--space-sm);left:var(--space-sm);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:var(--canvas);padding:.25em .6em;z-index:2}.post-draft-badge{background:var(--warning)}.post-card-body{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);flex:1}.post-meta-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.post-cat{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);padding:.15em .5em;border:1px solid rgba(196,79,42,.2);background:var(--accent-ghost)}.post-cat-draft{color:var(--warning);border-color:var(--warning-line);background:var(--warning-ghost)}.post-date{font-family:var(--font-mono);font-size:.7rem;color:var(--mute);letter-spacing:.04em}.post-title{font-family:var(--font-display);font-size:clamp(1.1rem,2vw,1.35rem);color:var(--ink);line-height:1.3;letter-spacing:-.02em;margin:0;word-break:keep-all;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-desc{font-size:.86rem;line-height:1.65;color:var(--mute);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.post-cta{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;color:var(--ink);margin-top:auto;padding-top:var(--space-xs);transition:color var(--duration-fast) var(--ease-out)}.post-cta-arrow{display:inline-block;margin-left:2px;transition:transform var(--duration-fast) var(--ease-out)}.blog-admin-actions{position:absolute;top:var(--space-sm);right:var(--space-sm);display:flex;gap:4px;z-index:10}.admin-edit-btn,.admin-delete-btn{font-family:var(--font-mono);font-size:.65rem;padding:.25em .6em;border:1px solid var(--hairline);background:var(--canvas);color:var(--mute);text-decoration:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.admin-edit-btn:hover{color:var(--ink);border-color:var(--ink)}.admin-delete-btn:hover{background:var(--accent);color:var(--canvas);border-color:var(--accent)}@media(max-width:900px){.blog-hero{min-height:clamp(160px,22vh,200px)}.blog-ocean-horizon{min-height:clamp(220px,32vh,300px)}.blog-ocean-bg{height:clamp(440px,60vh,560px)}}@media(max-width:768px){.blog-hero{min-height:clamp(140px,18vh,180px)}.blog-ocean-horizon{min-height:clamp(200px,28vh,260px)}.blog-ocean-bg{height:clamp(380px,52vh,480px)}.blog-toolbar-shell{padding:0 var(--space-sm)}.toolbar-pill{width:100%;padding:.4em .5em}.search-wrap{min-width:0;padding:.4em .6em}.search-wrap input{font-size:.7rem}.chip{padding:.4em .7em;font-size:.66rem}.blog-inner{padding:var(--space-2xl) var(--space-lg) var(--space-3xl)}.post-grid{grid-template-columns:1fr;gap:var(--space-lg)}.year-num{font-size:1.4rem}}@media(max-width:520px){.toolbar-divider{display:none}.toolbar-pill{flex-wrap:wrap;border-radius:22px}.search-wrap{width:100%;background:#ffffff73;border-radius:999px}}
