@font-face{font-display:swap;font-family:'JetBrains Mono';font-style:normal;font-weight:400;src:url('../fonts/jetbrains-mono-v20-latin-regular.woff2') format('woff2')}@font-face{font-display:swap;font-family:'JetBrains Mono';font-style:normal;font-weight:700;src:url('../fonts/jetbrains-mono-v20-latin-700.woff2') format('woff2')}@font-face{font-display:swap;font-family:'JetBrains Mono';font-style:normal;font-weight:800;src:url('../fonts/jetbrains-mono-v20-latin-800.woff2') format('woff2')}@font-face{font-display:swap;font-family:'TX-02';font-style:normal;font-weight:400;src:url('../fonts/TX-02-Regular.woff2') format('woff2')}@font-face{font-display:swap;font-family:'TX-02';font-style:normal;font-weight:700;src:url('../fonts/TX-02-Bold.woff2') format('woff2')}:root{--color-text:#333;--color-text-light:#666;--color-background:#fff;--color-background-light:#f8f8f8;--color-border:#000;--color-border-light:#eee;--color-accent:#373737;--space-xs:5px;--space-sm:8px;--space-md:15px;--space-lg:20px;--space-xl:30px;--space-xxl:40px;--font-mono:'JetBrains Mono',monospace;--font-size-sm:0.9em;--font-size-base:1em;--font-size-md:1.1em;--font-size-lg:1.5em;--font-size-xl:2em;--line-height-base:1.6;--line-height-content:1.8;--border-radius:5px;--border-width:1px;--border-width-thick:1px}.blog-container{max-width:840px;margin:0 auto;padding:var(--space-lg);color:var(--color-text);line-height:var(--line-height-base)}.blog-article{margin-bottom:var(--space-xxl)}.blog-content{flex:1;min-width:0;line-height:var(--line-height-content);font-size:var(--font-size-md);overflow-wrap:break-word}.blog-content p{margin-bottom:1.5em}.blog-content h2,.blog-content h3{margin-top:1.5em;margin-bottom:0.8em}.blog-content a{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;hyphens:auto;max-width:100%;display:inline-block}.blog-content img{max-width:100%;height:auto;display:block;margin:1.5em 0;border-radius:var(--border-radius)}.blog-media-image{cursor:pointer;transition:opacity 0.2s ease}.blog-media-image:hover{opacity:0.9}.blog-content .table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.5em 0}.blog-content table{width:100%;border-collapse:collapse;margin:0;border:var(--border-width-thick) solid var(--color-border);font-size:0.75em;font-family:'TX-02',monospace}.blog-content th,.blog-content td{border:var(--border-width) solid var(--color-border);padding:var(--space-xs);text-align:left}.blog-content th{font-weight:bold;background-color:var(--color-background-light)}.blog-content pre{background-color:var(--color-background-light);border-radius:var(--border-radius);padding:1em;margin:1.5em 0;overflow-x:auto;overflow-wrap:normal;border-left:4px solid var(--color-accent);font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.blog-content code{font-family:var(--font-mono);font-size:var(--font-size-sm);background-color:var(--color-background-light);padding:0.2em 0.4em;border-radius:3px}.blog-content pre code{background-color:transparent;padding:0;border-radius:0;color:var(--color-text)}table.blogpost-header{width:100%;border-collapse:collapse;margin-bottom:2em;font-family:'TX-02',monospace;font-size:1em}table.blogpost-header th,table.blogpost-header td{border:2px solid var(--color-border);padding:var(--space-xs)}table.blogpost-header th{text-align:left;font-weight:bold}table.blogpost-header time{white-space:pre}table.blogpost-header .width-min{white-space:nowrap}table.blogpost-header .width-auto{width:auto}table.blogpost-header h1.title{margin:0;font-size:var(--font-size-lg);font-weight:800;text-transform:uppercase}@media (max-width:600px){.blog-container{padding:var(--space-sm) 12px}.blog-content{font-size:var(--font-size-base)}.blog-content table,table.blogpost-header{font-size:0.7em}table.blogpost-header th,table.blogpost-header td{padding:4px 6px}table.blogpost-header h1.title{font-size:1.3em}}html.dark-mode{--color-text:#e7e5e4;--color-text-light:#d6d3d1;--color-background:#1c1917;--color-background-light:#292524;--color-border:#ffffff;--color-border-light:#44403c;--color-accent:#e7e5e4}html.dark-mode .blog-content a{color:#5a9eff}html.dark-mode .blog-content a:hover{color:#8bb4ff}html.dark-mode .blog-content code{background-color:#292524;color:#e7e5e4}html.dark-mode .blog-content pre{background-color:#292524}html.dark-mode table.blogpost-header th,html.dark-mode table.blogpost-header td{border-color:#57534e}