.nav-social[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--color-text-secondary);align-items:center;padding:.25rem;transition:color .2s;display:flex;border-bottom:none!important}.nav-social[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--color-accent)}:root{--color-bg:#f5f7f9;--color-bg-secondary:#fff;--color-text:#000c2d;--color-text-secondary:#687385;--color-accent:#36f;--color-accent-hover:#2952cc;--color-border:#dfe3e9;--color-code-bg:#1e1e1e;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono:Consolas, Monaco, "Andale Mono", monospace;--max-width:1100px;--max-width-wide:1142px;--header-height:64px;--radius:8px;--shadow:0 1px 3px #00000014, 0 1px 2px #0000000f;--shadow-lg:0 4px 16px #0000000f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;line-height:1.5;display:flex}h1,h2,h3,h4,h5,h6{margin-top:2rem;margin-bottom:.75rem;font-weight:700;line-height:1.3}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.375rem}h4{font-size:1.125rem}p{margin-bottom:1.25rem}a{color:var(--color-accent);text-decoration:none;transition:color .2s}a:hover{color:var(--color-accent-hover)}img{border-radius:var(--radius);max-width:100%;height:auto}code{font-family:var(--font-mono);background:var(--color-bg-secondary);border-radius:4px;padding:.15em .35em;font-size:.875em}pre{border-radius:var(--radius);margin-bottom:1.5rem;padding:1.25rem;font-size:.875rem;line-height:1.6;overflow-x:auto}pre code{font-size:inherit;background:0 0;padding:0}.site-header{z-index:100;background:var(--color-bg-secondary);box-shadow:0 .5px 0 0 var(--color-border);height:var(--header-height);backdrop-filter:blur(8px);position:sticky;top:0}.nav-container{max-width:var(--max-width-wide);justify-content:space-between;align-items:center;height:100%;margin:0 auto;padding:0 1.5rem;display:flex}.site-logo{justify-content:flex-start;align-items:center;height:56px;text-decoration:none;display:inline-flex}.site-logo img{border-radius:0;width:auto;max-width:220px;height:48px;display:block}.site-logo:hover{opacity:.9}.nav-links{gap:2rem;list-style:none;display:flex}.nav-links a{color:var(--color-text-secondary);border-bottom:2px solid #0000;padding:.25rem 0;font-size:.9375rem;font-weight:500;transition:color .2s,border-color .2s}.nav-links a:hover,.nav-links a.active{color:var(--color-text);border-bottom-color:var(--color-accent)}.nav-toggle{cursor:pointer;background:0 0;border:none;padding:.5rem;display:none}.hamburger,.hamburger:before,.hamburger:after{background:var(--color-text);width:24px;height:2px;transition:transform .2s;display:block;position:relative}.hamburger:before,.hamburger:after{content:"";position:absolute}.hamburger:before{top:-7px}.hamburger:after{top:7px}@media (width<=800px){.nav-links{gap:1.25rem}}@media (width<=640px){.nav-toggle{display:block}.nav-links{top:var(--header-height);background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-direction:column;gap:.5rem;padding:1rem 1.5rem;display:none;position:absolute;left:0;right:0}.nav-links.open{display:flex}}.site-footer{background:var(--color-bg-secondary);box-shadow:0 0 0 .5px var(--color-border);margin-top:auto;padding:2.5rem 1.5rem}.footer-container{max-width:var(--max-width-wide);color:var(--color-text-secondary);justify-content:space-between;align-items:center;margin:0 auto;font-size:.875rem;display:flex}.footer-links{gap:1.5rem;display:flex}.footer-links a{color:var(--color-text-secondary)}.footer-links a:hover{color:var(--color-accent)}@media (width<=640px){.footer-container{text-align:center;flex-direction:column;gap:1rem}}main{flex:1}.container{max-width:var(--max-width);margin:0 auto;padding:2rem 1.5rem}.container-wide{max-width:var(--max-width-wide);margin:0 auto;padding:2rem 1.5rem}.hero{text-align:center;padding:4rem 0 2rem}.hero h1{margin-top:0;margin-bottom:.5rem;font-size:2.5rem}.hero p{color:var(--color-text-secondary);max-width:600px;margin:0 auto;font-size:1.125rem}.post-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.post-card{background:var(--color-bg-secondary);border-radius:var(--radius);border:1px solid var(--color-border);flex-direction:column;padding:1.5rem;transition:box-shadow .2s,transform .2s;display:flex}.post-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.post-card a{color:var(--color-text);text-decoration:none}.post-card h3{margin-top:0;margin-bottom:.5rem;font-size:1.125rem;line-height:1.4}.post-card .post-meta{color:var(--color-text-secondary);margin-bottom:.75rem;font-size:.8125rem}.post-card .post-excerpt{color:var(--color-text-secondary);flex:1;font-size:.9375rem;line-height:1.6}.post-tags{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.tag{background:var(--color-accent);color:#fff;border-radius:99px;padding:.2rem .6rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:opacity .2s;display:inline-block}.tag:hover{opacity:.85;color:#fff}.post-header{border-bottom:1px solid var(--color-border);margin-bottom:2rem;padding-bottom:1.5rem}.post-header h1{margin-top:0;margin-bottom:.75rem;font-size:2.25rem}.post-header .post-meta{color:var(--color-text-secondary);font-size:.9375rem}.post-description{color:var(--color-text-secondary);margin:0 0 1.5rem;font-size:1.15rem;line-height:1.6}.post-content{font-size:1rem;line-height:1.75}.post-content h2{margin-top:2.5rem}.post-content h3{margin-top:2rem}.post-content ul,.post-content ol{margin-bottom:1.25rem;padding-left:1.5rem}.post-content li{margin-bottom:.35rem}.post-content blockquote{border-left:4px solid var(--color-accent);background:var(--color-bg-secondary);border-radius:0 var(--radius) var(--radius) 0;color:var(--color-text-secondary);margin:1.5rem 0;padding:.75rem 1.25rem}.post-content table{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:.9375rem}.post-content th,.post-content td{text-align:left;border:1px solid var(--color-border);padding:.75rem}.post-content th{background:var(--color-bg-secondary);font-weight:600}.post-content hr{border:none;border-top:1px solid var(--color-border);margin:2rem 0}.post-content .screenshot{border:1px solid var(--color-border);border-radius:var(--radius);text-align:center;background:radial-gradient(at 0 0,#1b2a3a,#0e161f 70%);margin:1.75rem 0;padding:1.5rem}.post-content .screenshot img{width:100%;max-width:var(--shot-width,100%);border-radius:6px;display:inline-block;box-shadow:0 8px 28px #00000073}.post-content .screenshot figcaption{color:#b3c0cd;margin-top:.9rem;font-size:.9rem;line-height:1.5}.post-nav{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:2.25rem;display:grid}.post-nav-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);padding:.8rem .9rem;text-decoration:none;display:block}.post-nav-image{aspect-ratio:16/6;object-fit:cover;border-radius:6px;width:100%;margin-bottom:.45rem}.post-nav-card:hover{box-shadow:var(--shadow);color:var(--color-text)}.post-nav-card-right{text-align:right}.post-nav-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;font-size:.75rem;font-weight:600;display:block}.post-nav-card strong{margin-bottom:.2rem;font-size:.92rem;line-height:1.35;display:block}.post-nav-date{color:var(--color-text-secondary);font-size:.78rem}.related-posts{margin-top:1.6rem}.related-posts h2{margin-top:0;margin-bottom:.7rem;font-size:1.2rem}.related-post-grid{gap:.65rem;display:grid}.related-post-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);grid-template-columns:92px 1fr;align-items:start;gap:.7rem;padding:.7rem .85rem;text-decoration:none;display:grid}.related-post-card:hover{box-shadow:var(--shadow);color:var(--color-text)}.related-post-image{aspect-ratio:1;object-fit:cover;border-radius:6px;width:100%}.related-post-content{min-width:0}.related-post-card h3{margin:0;font-size:.98rem;line-height:1.3}.related-post-card p{color:var(--color-text-secondary);margin:.35rem 0;font-size:.84rem;line-height:1.45}.related-post-card time{color:var(--color-text-secondary);font-size:.75rem;display:block}@media (width<=640px){.post-nav{grid-template-columns:1fr}.post-nav-card-right{text-align:left}.related-post-card{grid-template-columns:72px 1fr}}.archive-year{margin-top:2.5rem}.archive-year h2{color:var(--color-text-secondary);margin-bottom:1rem;font-size:1.5rem}.archive-list{list-style:none}.archive-list li{border-bottom:1px solid var(--color-border);align-items:baseline;gap:1rem;padding:.5rem 0;display:flex}.archive-list .archive-date{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;min-width:5rem;font-size:.8125rem}.archive-list a{color:var(--color-text);font-weight:500}.archive-list a:hover{color:var(--color-accent)}.tag-cloud{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.tag-cloud .tag{padding:.35rem .85rem;font-size:.875rem}.tag-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.tag-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);text-decoration:none;transition:transform .2s,box-shadow .2s;overflow:hidden}.tag-card:hover{box-shadow:var(--shadow-lg);color:var(--color-text);transform:translateY(-2px)}.bookmark-card{border:1px solid var(--color-border);border-radius:var(--radius);margin:1.5rem 0;transition:box-shadow .2s;overflow:hidden}.bookmark-card:hover{box-shadow:var(--shadow)}.bookmark-card a{color:inherit;min-height:140px;text-decoration:none;display:flex}.bookmark-card .bookmark-content{flex-direction:column;flex:1;gap:.35rem;min-width:0;padding:1rem 1.25rem;display:flex}.bookmark-card .bookmark-title{color:var(--color-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.bookmark-card .bookmark-description{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:.85rem;line-height:1.4;display:-webkit-box;overflow:hidden}.bookmark-card .bookmark-meta{color:var(--color-text-secondary);align-items:center;gap:.4rem;margin-top:auto;font-size:.8rem;display:flex}.bookmark-card .bookmark-icon{border-radius:2px;width:16px;height:16px}.bookmark-card .bookmark-thumbnail{flex-shrink:0;width:200px}.bookmark-card .bookmark-thumbnail img{object-fit:cover;width:100%;height:100%}@media (width<=640px){.bookmark-card a{flex-direction:column-reverse;min-height:auto}.bookmark-card .bookmark-thumbnail{width:100%;height:160px}}.tag-card img{aspect-ratio:16/9;object-fit:cover;border-radius:0;width:100%}.tag-card-body{padding:.9rem 1rem 1rem}.tag-card-body h2{margin:0 0 .4rem;font-size:1rem}.tag-card-body p{color:var(--color-text-secondary);margin:0 0 .6rem;font-size:.875rem}.tag-card-count{color:var(--color-text-secondary);font-size:.8125rem}.tag-hero{grid-template-columns:220px 1fr;align-items:center;gap:1rem;margin-bottom:1rem;display:grid}.tag-hero img{aspect-ratio:1;object-fit:cover;width:100%}.tag-hero-content h1{margin:0}.tag-hero-content p{color:var(--color-text-secondary);margin:.65rem 0 0}@media (width<=700px){.tag-hero{grid-template-columns:1fr}.tag-hero img{aspect-ratio:16/9}}.section-header{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.section-header h2{margin-top:0}.section-header a{font-size:.875rem;font-weight:500}.not-found{text-align:center;padding:6rem 1.5rem}.not-found h1{margin-bottom:1rem;font-size:4rem}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
