.site-header[data-astro-cid-3ef6ksr2]{display:flex;justify-content:flex-end;align-items:center;margin-bottom:.25rem}.header-right[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:1.25rem}.nav-links[data-astro-cid-3ef6ksr2]{display:flex;gap:1.25rem}.nav-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{font-size:1rem;color:var(--text-secondary);text-decoration:none}.nav-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--accent)}.active[data-astro-cid-3ef6ksr2]{color:var(--text)!important;font-weight:600}.theme-icon-dark[data-astro-cid-3ef6ksr2],[data-theme=dark] .theme-icon-light[data-astro-cid-3ef6ksr2]{display:none}[data-theme=dark] .theme-icon-dark[data-astro-cid-3ef6ksr2]{display:inline}:root{--bg: #ffffff;--bg-secondary: #f8f8f8;--text: #1a1a1a;--text-secondary: #555;--text-muted: #888;--accent: #1a5276;--accent-hover: #0e3a54;--border: #ddd;--border-light: #eee;--code-bg: #f4f4f4;--code-text: #1a1a1a;--blockquote-border: #ccc;--blockquote-text: #555;--table-stripe: #f9f9f9;--selection-bg: #b3d4fc;--shadow: rgba(0, 0, 0, .05)}[data-theme=dark]{--bg: #111111;--bg-secondary: #1a1a1a;--text: #e0e0e0;--text-secondary: #aaa;--text-muted: #777;--accent: #7ab8e0;--accent-hover: #a0d0f0;--border: #333;--border-light: #222;--code-bg: #1e1e1e;--code-text: #d4d4d4;--blockquote-border: #444;--blockquote-text: #aaa;--table-stripe: #1a1a1a;--selection-bg: #264f78;--shadow: rgba(0, 0, 0, .3)}*,*:before,*:after{box-sizing:border-box}::selection{background:var(--selection-bg)}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:Crimson Text,Georgia,Times New Roman,serif;font-size:18px;line-height:1.75;color:var(--text);background-color:var(--bg);margin:0;padding:0;transition:color .3s ease,background-color .3s ease;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.page{min-height:100vh;display:flex;flex-direction:column}.content{flex:1;width:100%;max-width:720px;margin:0 auto;padding:1rem 1.25rem 4rem}.theme-toggle{background:none;border:1px solid var(--border);border-radius:4px;padding:.3rem .5rem;cursor:pointer;font-size:.9rem;line-height:1;color:var(--text-secondary);transition:border-color .2s,color .2s}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}h1,h2,h3,h4,h5,h6{color:var(--text);font-weight:600;line-height:1.3;margin-top:2rem;margin-bottom:.75rem}h1{font-size:1.8rem;margin-top:0}h2{font-size:1.4rem;padding-top:.5rem;border-top:1px solid var(--border-light)}h3{font-size:1.15rem}h4,h5,h6{font-size:1rem}p{margin:0 0 1.25rem}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--accent-hover)}ul,ol{padding-left:1.5rem;margin:0 0 1.25rem}li{margin-bottom:.35rem}li>ul,li>ol{margin-top:.35rem;margin-bottom:0}hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}blockquote{margin:1.5rem 0;padding:.25rem 1.25rem;border-left:3px solid var(--blockquote-border);color:var(--blockquote-text);font-style:italic}blockquote p:last-child{margin-bottom:0}code{font-family:JetBrains Mono,SF Mono,Consolas,Liberation Mono,monospace;font-size:.85em;background:var(--code-bg);color:var(--code-text);padding:.15em .35em;border-radius:3px;transition:background-color .3s ease}pre{background:var(--code-bg);padding:1rem 1.25rem;overflow-x:auto;border-radius:4px;margin:1.5rem 0;line-height:1.5;transition:background-color .3s ease}pre code{background:none;padding:0;font-size:.85rem}table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}th,td{padding:.5rem .75rem;border:1px solid var(--border);text-align:left}th{font-weight:600;background:var(--bg-secondary)}tr:nth-child(2n){background:var(--table-stripe)}img{max-width:100%;height:auto;border-radius:4px}figure{margin:1.5rem 0}figcaption{font-size:.85rem;color:var(--text-muted);text-align:center;margin-top:.5rem}.footnotes{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--text-secondary)}.footnotes ol{padding-left:1.25rem}.footnotes li{margin-bottom:.5rem}sup a{font-size:.75rem;text-decoration:none;color:var(--accent)}.task-list-item{list-style:none;margin-left:-1.5rem}.task-list-item input[type=checkbox]{margin-right:.5rem}abbr[title]{text-decoration:underline dotted var(--text-muted);cursor:help}.site-footer{border-top:1px solid var(--border-light);padding-top:.75rem;margin-top:1rem;transition:border-color .3s ease}.footer-links{display:flex;gap:1.25rem;flex-wrap:wrap}.footer-links a{font-size:.95rem;color:var(--text-muted);text-decoration:none}.footer-links a:hover{color:var(--accent)}.hero h1{font-size:2rem;margin-bottom:.5rem}.hero .tagline{font-size:1.05rem;color:var(--text-secondary);margin-bottom:0;font-style:italic}.section{margin-bottom:.5rem}.section h2{font-size:1.3rem;margin-bottom:.75rem}.section:first-of-type h2{border-top:none;padding-top:0}.project-item{margin-bottom:1rem}.project-item strong{display:block;margin-bottom:.1rem}.project-item p{margin:0;font-size:.95rem;color:var(--text-secondary)}.achievement-group{margin-bottom:1.5rem}.achievement-group h3{font-size:1.05rem;border-top:none;padding-top:0;margin-bottom:.5rem}.post-list{list-style:none;padding:0}.post-list li{margin-bottom:1.25rem}.post-list-date{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text-muted);display:block;margin-bottom:.15rem}.post-list-title{font-size:1.1rem}.post-header{margin-bottom:2rem}.post-header h1{margin-bottom:.5rem}.post-meta{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text-muted);display:flex;gap:1.5rem;flex-wrap:wrap}.post-body{margin-bottom:3rem}.post-nav{display:flex;justify-content:space-between;padding-top:1.5rem;border-top:1px solid var(--border);font-size:.9rem}.post-nav a{text-decoration:none}.katex-display{overflow-x:auto;overflow-y:hidden;padding:.5rem 0}@media print{.site-footer,.theme-toggle,.post-nav{display:none}body{font-size:12pt;color:#000;background:#fff}.content{max-width:100%;padding:0}a{color:#000;text-decoration:underline}a[href^=http]:after{content:" (" attr(href) ")";font-size:.8em;color:#555}}@media(min-width:768px){body{font-size:19px}.content{padding:1.5rem 2rem 5rem}.hero h1{font-size:2.2rem}}
