.navbar-links a,body,html{transition:background var(--transition),color var(--transition)}.navbar-links,header.navbar{display:flex;align-items:center}h pre,h1,pre code{line-height:1.2}.footer,.grid-card,.text-center,footer{text-align:center}:root{--navbar-height:62px;--layout-max-width:1400px;--radius:1.3em;--shadow:0 4px 16px rgba(50, 68, 88, 0.08);--shadow-elev:0 8px 32px rgba(38, 56, 80, 0.11);--shadow-card:0 3px 24px rgba(18, 29, 42, 0.07);--color-bg:#f4f8fb;--color-bg-alt:#e9edf3;--color-card:#fff;--color-text:#202a35;--color-text-muted:#6c8197;--color-accent:#27a2d8;--color-accent2:#ff686b;--color-focus:#16e0a8;--transition:0.22s cubic-bezier(0.75, 0.2, 0.29, 0.95);font-family:Inter,"Segoe UI",Arial,sans-serif;color-scheme:light dark}.dark{--color-bg:#181a20;--color-bg-alt:#1e2230;--color-card:#222733;--color-text:#e5ecf3;--color-accent:#1dc1b0;--color-accent2:#ffe066;--color-text-muted:#94a3b8;--color-focus:#2bfdd8;--shadow:0 3px 24px rgba(10, 14, 22, 0.21);--shadow-card:0 6px 34px rgba(14, 16, 22, 0.19)}body,html{background:var(--color-bg);margin:0;min-height:100vh;color:var(--color-text);font-family:inherit;font-size:17px}header.navbar,main{max-width:var(--layout-max-width);margin:0 auto}.navbar-brand,a{transition:color var(--transition);color:var(--color-accent);text-decoration:none}h1{font-size:32px}a:focus,a:hover{color:var(--color-accent2);outline:0}main{padding:2.6em 1.1em 3em}.mt-3{margin-top:30px}.mt-5{margin-top:80px}.mb-3{margin-bottom:30px}.mb-5{margin-bottom:80px}.blog-post iframe,.blog-post img,.static-page img,section .static-page iframe{border-radius:20px}header.navbar{background:var(--color-bg-alt);box-shadow:var(--shadow),0 8px 26px -8px rgba(35,72,101,.1);justify-content:space-between;height:var(--navbar-height);position:sticky;top:0;border-radius:0 0 var(--radius) var(--radius);z-index:100;padding:0 1.7em}.navbar-brand{font-size:1.45em;font-weight:700;margin-right:auto;letter-spacing:.06em;line-height:1.09}.navbar-links{gap:1.12em}.navbar-links a{border-radius:.9em;padding:.48em 1em;font-size:1.09em;color:var(--color-text);font-weight:500;background:0 0;letter-spacing:.02em;position:relative}.navbar-links a.active,.navbar-links a:hover,.pagination .btn.active,.pagination a.active,.post-pagination a:focus,.post-pagination a:hover{background:var(--color-accent);color:#fff}.navbar-links a:focus{outline:2px solid var(--color-focus);outline-offset:1.5px}.darkmode-btn{background:var(--color-card);color:var(--color-accent);border-radius:50%;border:2px solid var(--color-accent2);width:2.45em;height:2.45em;font-size:1.16em;margin-left:1.12em;cursor:pointer;transition:background var(--transition),color var(--transition),border var(--transition);display:flex;align-items:center;justify-content:center}.pagination,.post-pagination{font-size:1.08em;display:flex}.darkmode-btn:focus,.darkmode-btn:hover,.pagination .btn:focus,.pagination .btn:hover,.pagination a:focus,.pagination a:hover{background:var(--color-accent2);color:var(--color-bg);border-color:var(--color-accent)}.navbar-burger{display:none;flex-direction:column;gap:5px;background:0 0;border:none;cursor:pointer;width:34px;height:34px;justify-content:center;align-items:center;margin-left:1.05em;padding:0;outline:0}.navbar-burger span{display:block;width:100%;height:3px;background:var(--color-accent);border-radius:2px;transition:.23s cubic-bezier(.55, 0, .25, 1)}.navbar-burger.active span:first-child{transform:translateY(8px) rotate(45deg)}.navbar-burger.active span:nth-child(2){opacity:0}.navbar-burger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.pagination{justify-content:center;align-items:center;gap:1em;margin:2.5em 0 1.5em;flex-wrap:wrap}.pagination .btn,.pagination a{background:var(--color-bg-alt);color:var(--color-accent);padding:.43em 1.12em;border-radius:.75em;border:1.5px solid var(--color-accent2);font-weight:500;text-decoration:none;margin:0 4px;transition:background var(--transition),color var(--transition),border var(--transition);display:inline-block}.post-pagination a,.tag,.tag-badge{transition:background var(--transition),color var(--transition);text-decoration:none}.pagination span{color:var(--color-text-muted);font-size:.97em;margin:0 4px}.post-pagination{justify-content:space-between;align-items:flex-start;gap:1.5em;margin-top:2.4em}.post-pagination .next-post,.post-pagination .prev-post{flex:1 1 0;text-align:left}.post-pagination .next-post{text-align:right}.post-pagination span{display:block;color:var(--color-text-muted);font-size:.93em;margin-bottom:.2em}.post-pagination a{color:var(--color-accent);background:var(--color-bg-alt);border-radius:.6em;padding:.55em 1em;font-weight:600;box-shadow:0 .5em 1.6em -.5em rgba(35,168,202,.08);border:0}.post-tags,.tag-list,.tags-list{display:flex;gap:.6em;margin-top:1.1em;flex-wrap:wrap}.tag,.tag-badge{background:var(--color-accent2);color:#202a35;border-radius:1.22em;font-size:.98em;font-weight:500;padding:.37em 1em;margin-bottom:.16em;line-height:1;display:inline-block}.tag-badge:focus,.tag-badge:hover,.tag:focus,.tag:hover{background:var(--color-accent);color:#fff;outline:2px solid var(--color-focus)}pre,pre code{font-family:"Fira Mono",Consolas,Menlo,monospace;font-size:1em;background:#1b222f;color:#abb2bf;border-radius:.75em;padding:1em;box-shadow:0 4px 18px -4px rgba(12,14,28,.17);margin:1em 0;overflow-x:auto;display:block;border-left:4px solid #61afef;position:relative}pre code{background:0 0;color:inherit;font-size:inherit;border:none;padding:0;line-height:inherit}pre::-webkit-scrollbar{height:8px;background:#212530}pre::-webkit-scrollbar-thumb{background:#474f61;border-radius:7px}.feature-grid{margin:2.7em 0}.feature-grid h2{color:#202a35;font-size:1.27em;margin-bottom:1em}.grid-list{display:grid;grid-template-columns:repeat(3,1fr);gap:2em}.grid-list-2{display:grid;grid-template-columns:repeat(2,1fr);gap:2em}.grid-card{background:var(--color-card);border-radius:.9em;box-shadow:var(--shadow-card);padding:1.1em 1.3em;border:1.2px solid var(--color-bg-alt);transition:box-shadow .17s,transform .13s}.grid-card img{border-radius:.6em;margin-bottom:1em;width:100%;height:auto;object-fit:cover;min-height:110px;max-height:180px}.grid-card h3{color:var(--color-accent);margin-bottom:.23em}.grid-card p{color:var(--color-text-muted);font-size:1em}.grid-card:hover{box-shadow:0 7px 22px rgba(32,120,180,.08);transform:translateY(-2.5px)}@media (max-width:520px){pre,pre code{font-size:.98em;padding:.8em .5em}}@media (max-width:760px){header.navbar{padding:0 .4em}.navbar-links{position:absolute;top:var(--navbar-height);left:0;right:0;width:100vw;background:var(--color-bg-alt);box-shadow:var(--shadow-elev);border-radius:0 0 1.15em 1.15em;flex-direction:column;align-items:flex-start;gap:0;opacity:0;pointer-events:none;max-height:0;overflow:hidden;transition:max-height .23s,opacity .15s}.navbar-links.open{opacity:1;pointer-events:auto;max-height:400px;padding-bottom:.7em}.navbar-links a{width:100%;padding:1.12em 2em;margin:0;border-bottom:1px solid var(--color-bg);text-align:left;font-size:1.11em}.navbar-burger{display:flex}}.blog-list{display:grid;grid-template-columns:repeat(3,1fr);gap:2.3em;margin:2.7em 0 2.3em;padding:0}@media (max-width:900px){.blog-list,.grid-list{grid-template-columns:repeat(2,1fr)}.footer,footer,header.navbar,main{max-width:99vw}}@media (max-width:600px){.blog-list,.grid-list{grid-template-columns:1fr}.grid-list{gap:1.2em}.blog-list{gap:1.15em}}.card{display:flex;flex-direction:column;background:var(--color-card);border-radius:1.2em;box-shadow:var(--shadow-card);overflow:hidden;min-height:355px;transition:box-shadow .22s,transform .17s cubic-bezier(.3, 1.2, .6, 1);position:relative;border:1.6px solid var(--color-bg-alt)}.card:focus-within,.card:hover{box-shadow:0 20px 48px -5px rgba(38,72,101,.15),var(--shadow);transform:translateY(-4px) scale(1.022);border-color:var(--color-accent)}.blog-cover__placeholder,.card-image{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--color-bg-alt);border-bottom:1.2px solid var(--color-bg-alt)}.blog-cover__placeholder{display:flex;align-items:center;justify-content:center}.card-content{padding:1.17em 1.45em;display:flex;flex-direction:column;gap:.75em;flex:1 1 auto}.card-title{font-size:1.22em;font-weight:700;margin:0 0 .2em;color:var(--color-text);letter-spacing:.01em;line-height:1.21}.card-meta{font-size:.99em;color:var(--color-accent2);margin-bottom:.13em;display:flex;flex-wrap:wrap;gap:.6em}.blog-tags span{color:var(--color-accent);margin-right:2px;font-size:.99em}.card-desc{color:var(--color-text);font-size:1.07em;flex:1 1 auto;margin-bottom:.4em}.card-readmore{background:var(--color-accent);color:#fff;border-radius:.8em;padding:.44em 1.1em;font-weight:600;font-size:1em;letter-spacing:.02em;margin-top:.26em;align-self:flex-start;box-shadow:0 1.7px 12px rgba(24,90,120,.04);transition:background var(--transition),color var(--transition);text-decoration:none;border:none;cursor:pointer}.footer,blockquote,footer{background:var(--color-bg-alt)}.footer,footer,h1,h2,h3,h4{color:var(--color-accent)}.card-readmore:focus,.card-readmore:hover{background:var(--color-accent2);color:var(--color-bg);outline:2.3px solid var(--color-accent)}.footer,footer{font-size:1.05em;padding:2.4em 1.2em 2.45em;box-shadow:0 -2px 24px -2px rgba(35,72,101,.12);margin:2.5em auto 0;max-width:var(--layout-max-width);border-radius:var(--radius) var(--radius) 0 0;letter-spacing:.03em}@media (max-width:900px){.footer,footer{max-width:99vw}}.blog-post,.static-page,body,main{font-family:inherit}@media (max-width:740px){.footer,footer,header.navbar,main{padding-left:.4em;padding-right:.4em}}@media (max-width:500px){.blog-post,.card-content,.static-page{padding-left:.24em;padding-right:.24em}main{padding:1em .2em 1.7em}}::-webkit-scrollbar{width:9px;background:var(--color-bg-alt)}::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:8px}::selection{background:var(--color-accent2);color:#fff}:focus-visible{outline:2.2px solid var(--color-focus);outline-offset:1.2px}*,:after,:before{box-sizing:border-box}img{max-width:100%;display:block}blockquote{border-left:4px solid var(--color-accent2);margin:1em 0;padding:.75em 1.3em;font-style:italic}.dark pre,.dark pre code{background:#041a3b;color:#c8ccd4;border-left-color:#528bff;box-shadow:0 3px 15px -3px rgba(15,18,28,.22)}