@import 'https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&display=swap';:root{--color-primary:#003311;--color-accent:#1f7cff;--color-accent-hover:#3072db;--color-green:#1cb854;--color-green-light:#edfbec;--color-bg:#FFFFFF;--color-surface:#fbfbfc;--color-text:#003311;--color-text-secondary:#3b3c45;--color-text-muted:#6e6f7a;--color-border:#dcdde5;--color-border-light:#ededf2;--color-code-bg:#fbfbfc;--color-footer-bg:#11003a;--color-footer-text:#FFFFFF;--grey-1:#fbfbfc;--grey-2:#ededf2;--grey-3:#dcdde5;--grey-4:#c4c6d1;--grey-5:#9b9ca8;--grey-6:#6e6f7a;--grey-7:#555761;--grey-8:#3b3c45;--grey-9:#2a2b33;--grey-10:#22242b;--font-body:'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
    Oxygen, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;--font-mono:ui-monospace, Menlo, Monaco, 'Cascadia Mono', 'Segoe UI Mono',
    'Roboto Mono', 'Oxygen Mono', 'Ubuntu Mono', 'Fira Mono',
    'Droid Sans Mono', 'Courier New', monospace;--max-width:48rem;--header-height:4rem;--spacing-xs:8px;--spacing-sm:12px;--spacing-base:16px;--spacing-lg:24px;--spacing-xl:32px;--radius:4px;--radius-md:6px;--radius-lg:8px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);line-height:1.6;display:flex;flex-direction:column;min-height:100vh}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover);text-decoration:underline}img{max-width:100%;height:auto}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-lg);width:100%}.site-header{background:var(--color-bg);height:var(--header-height);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-border)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%}.site-logo{display:flex;align-items:baseline;gap:.4rem;color:var(--color-primary);font-weight:700;font-size:1.1rem}.site-logo:hover{text-decoration:none;color:var(--color-primary)}.logo-sub{font-weight:400;color:var(--color-text-muted);font-size:.9rem}.site-nav{display:flex;gap:1.5rem}.site-nav a{color:var(--color-text-secondary);font-size:.9rem;font-weight:500}.site-nav a:hover,.site-nav a.active{color:var(--color-primary);text-decoration:none}main{flex:1;padding:var(--spacing-xl)0}.hero{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.hero h1{font-size:1.75rem;font-weight:600;color:var(--color-primary);line-height:1.3}.posts-list h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-weight:600;margin-bottom:var(--spacing-lg)}.post-summary{padding:var(--spacing-lg)0;border-bottom:1px solid var(--color-border-light)}.post-summary:last-child{border-bottom:none}.post-summary h3{font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.post-summary h3 a{color:var(--color-text)}.post-summary h3 a:hover{color:var(--color-accent);text-decoration:none}.post-summary p{color:var(--color-text-secondary);margin-top:.5rem;font-size:.95rem}.post-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.85rem;color:var(--color-text-muted)}.post-meta .post-author::after{content:'\00b7';margin-left:.5rem}.post-tags a{background:var(--color-green-light);padding:.15rem .5rem;border-radius:var(--radius);font-size:.8rem;color:var(--color-green);font-weight:500}.post-tags a:hover{background:var(--color-green);color:#fff;text-decoration:none}.post-header{margin-bottom:var(--spacing-xl)}.post-header h1{font-size:2.25rem;line-height:1.2;font-weight:600;margin-bottom:.75rem;color:var(--color-primary)}.post-hero{width:100%;border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl)}.post-content h2{font-size:1.5rem;font-weight:600;margin:2rem 0 .75rem;color:var(--color-primary)}.post-content h3{font-size:1.25rem;font-weight:600;margin:1.75rem 0 .5rem}.post-content h4{font-size:1.1rem;font-weight:600;margin:1.5rem 0 .5rem}.post-content p{margin-bottom:1.25rem}.post-content ul,.post-content ol{margin:0 0 1.25rem 1.5rem}.post-content li{margin-bottom:.3rem}.post-content blockquote{border-left:3px solid var(--color-green);padding:var(--spacing-sm)var(--spacing-base);margin:1.25rem 0;color:var(--color-text-secondary);background:var(--color-green-light);border-radius:0 var(--radius)var(--radius)0}.post-content code{font-family:var(--font-mono);font-size:.88em;background:var(--grey-2);padding:.15rem .35rem;border-radius:var(--radius);color:var(--color-text-secondary)}.post-content pre{background:var(--grey-10);color:var(--grey-2);padding:var(--spacing-lg);border-radius:var(--radius-md);overflow-x:auto;margin-bottom:1.25rem;line-height:1.5}.post-content pre code{background:0 0;padding:0;font-size:.85rem;color:inherit}.post-content table{width:100%;border-collapse:collapse;margin-bottom:1.25rem}.post-content th,.post-content td{padding:.5rem .75rem;border:1px solid var(--color-border);text-align:left}.post-content th{background:var(--color-surface);font-weight:600}.post-content img{border-radius:var(--radius-md);margin:1rem 0}.list-page h1{font-size:1.75rem;font-weight:600;color:var(--color-primary);margin-bottom:var(--spacing-lg)}.error-page{text-align:center;padding:4rem 0}.error-page h1{font-size:5rem;font-weight:700;color:var(--color-primary);margin-bottom:.5rem}.error-page p{font-size:1.2rem;color:var(--color-text-muted);margin-bottom:var(--spacing-xl)}.btn{display:inline-block;background:var(--color-accent);color:#fff;padding:.6rem 1.5rem;border-radius:var(--radius-md);font-weight:500}.btn:hover{text-decoration:none;background:var(--color-accent-hover)}.site-footer{background:var(--color-footer-bg);padding:var(--spacing-xl)0;font-size:.85rem;color:rgba(255,255,255,.7)}.footer-inner{display:flex;justify-content:space-between;align-items:center}.footer-links{display:flex;gap:1.25rem}.footer-links a{color:rgba(255,255,255,.7)}.footer-links a:hover{color:#fff;text-decoration:none}@media(max-width:640px){.hero h1{font-size:1.3rem}.post-header h1{font-size:1.6rem}.footer-inner{flex-direction:column;gap:.5rem;text-align:center}.container{padding:0 var(--spacing-base)}}