pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}:root{--d-surface: #282c34;--d-surface-raised-a: #1e1e1e;--d-surface-raised-b: #2d2d2d;--d-surface-alt: #1a1a1a;--d-surface-sunken: #111111;--d-border: #404040;--d-border-subtle: #2a2a2a;--d-fg-rgb: 255, 255, 255;--d-shadow-rgb: 0, 0, 0;--d-accent: #1976d2;--d-accent-hover: #42a5f5;--d-accent-active: #1565c0;--d-accent-rgb: 25, 118, 210;--d-on-accent: #fff;--d-success: #4caf50;--d-success-soft: #81c784;--d-success-softer: #a5d6a7;--d-success-strong: #38983f;--d-danger: #f44336;--d-danger-rgb: 244, 67, 54;--d-code-bg: #0d1117;--d-code-border: #30363d;--d-code-fg: #c9d1d9;--d-table-head-bg: #2a4a6b;--d-btn-disabled: #37474f;--d-hl-fg: #c9d1d9;--d-hl-keyword: #ff7b72;--d-hl-title: #d2a8ff;--d-hl-attr: #79c0ff;--d-hl-string: #a5d6ff;--d-hl-built-in: #ffa657;--d-hl-comment: #8b949e;--d-hl-name: #7ee787;--d-hl-section: #1f6feb;--d-hl-bullet: #f2cc60;--d-hl-addition-fg: #aff5b4;--d-hl-addition-bg: #033a16;--d-hl-deletion-fg: #ffdcd7;--d-hl-deletion-bg: #67060c;--l-surface: #f7f7f5;--l-surface-raised-a: #ffffff;--l-surface-raised-b: #f2f2ef;--l-surface-alt: #ffffff;--l-surface-sunken: #ecebe7;--l-border: #d8d6d1;--l-border-subtle: #e6e4df;--l-fg-rgb: 24, 24, 27;--l-shadow-rgb: 15, 15, 20;--l-accent: #1565c0;--l-accent-hover: #0d47a1;--l-accent-active: #0a3880;--l-accent-rgb: 21, 101, 192;--l-on-accent: #fff;--l-success: #2e7d32;--l-success-soft: #33691e;--l-success-softer: #1b5e20;--l-success-strong: #2e7d32;--l-danger: #c62828;--l-danger-rgb: 198, 40, 40;--l-code-bg: #f4f4f2;--l-code-border: #d8d6d1;--l-code-fg: #24292f;--l-table-head-bg: #d6e4f5;--l-btn-disabled: #c3c8cc;--l-hl-fg: #24292f;--l-hl-keyword: #cf222e;--l-hl-title: #8250df;--l-hl-attr: #0550ae;--l-hl-string: #0a3069;--l-hl-built-in: #953800;--l-hl-comment: #6e7781;--l-hl-name: #116329;--l-hl-section: #0550ae;--l-hl-bullet: #735c0f;--l-hl-addition-fg: #116329;--l-hl-addition-bg: #dafbe1;--l-hl-deletion-fg: #82071e;--l-hl-deletion-bg: #ffebe9;color-scheme:dark;--surface: var(--d-surface);--surface-raised-a: var(--d-surface-raised-a);--surface-raised-b: var(--d-surface-raised-b);--surface-alt: var(--d-surface-alt);--surface-sunken: var(--d-surface-sunken);--border: var(--d-border);--border-subtle: var(--d-border-subtle);--fg-rgb: var(--d-fg-rgb);--shadow-rgb: var(--d-shadow-rgb);--accent: var(--d-accent);--accent-hover: var(--d-accent-hover);--accent-active: var(--d-accent-active);--accent-rgb: var(--d-accent-rgb);--on-accent: var(--d-on-accent);--success: var(--d-success);--success-soft: var(--d-success-soft);--success-softer: var(--d-success-softer);--success-strong: var(--d-success-strong);--danger: var(--d-danger);--danger-rgb: var(--d-danger-rgb);--code-bg: var(--d-code-bg);--code-border: var(--d-code-border);--code-fg: var(--d-code-fg);--table-head-bg: var(--d-table-head-bg);--btn-disabled: var(--d-btn-disabled);--hl-fg: var(--d-hl-fg);--hl-keyword: var(--d-hl-keyword);--hl-title: var(--d-hl-title);--hl-attr: var(--d-hl-attr);--hl-string: var(--d-hl-string);--hl-built-in: var(--d-hl-built-in);--hl-comment: var(--d-hl-comment);--hl-name: var(--d-hl-name);--hl-section: var(--d-hl-section);--hl-bullet: var(--d-hl-bullet);--hl-addition-fg: var(--d-hl-addition-fg);--hl-addition-bg: var(--d-hl-addition-bg);--hl-deletion-fg: var(--d-hl-deletion-fg);--hl-deletion-bg: var(--d-hl-deletion-bg)}@media(prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light;--surface: var(--l-surface);--surface-raised-a: var(--l-surface-raised-a);--surface-raised-b: var(--l-surface-raised-b);--surface-alt: var(--l-surface-alt);--surface-sunken: var(--l-surface-sunken);--border: var(--l-border);--border-subtle: var(--l-border-subtle);--fg-rgb: var(--l-fg-rgb);--shadow-rgb: var(--l-shadow-rgb);--accent: var(--l-accent);--accent-hover: var(--l-accent-hover);--accent-active: var(--l-accent-active);--accent-rgb: var(--l-accent-rgb);--on-accent: var(--l-on-accent);--success: var(--l-success);--success-soft: var(--l-success-soft);--success-softer: var(--l-success-softer);--success-strong: var(--l-success-strong);--danger: var(--l-danger);--danger-rgb: var(--l-danger-rgb);--code-bg: var(--l-code-bg);--code-border: var(--l-code-border);--code-fg: var(--l-code-fg);--table-head-bg: var(--l-table-head-bg);--btn-disabled: var(--l-btn-disabled);--hl-fg: var(--l-hl-fg);--hl-keyword: var(--l-hl-keyword);--hl-title: var(--l-hl-title);--hl-attr: var(--l-hl-attr);--hl-string: var(--l-hl-string);--hl-built-in: var(--l-hl-built-in);--hl-comment: var(--l-hl-comment);--hl-name: var(--l-hl-name);--hl-section: var(--l-hl-section);--hl-bullet: var(--l-hl-bullet);--hl-addition-fg: var(--l-hl-addition-fg);--hl-addition-bg: var(--l-hl-addition-bg);--hl-deletion-fg: var(--l-hl-deletion-fg);--hl-deletion-bg: var(--l-hl-deletion-bg)}}:root[data-theme=light]{color-scheme:light;--surface: var(--l-surface);--surface-raised-a: var(--l-surface-raised-a);--surface-raised-b: var(--l-surface-raised-b);--surface-alt: var(--l-surface-alt);--surface-sunken: var(--l-surface-sunken);--border: var(--l-border);--border-subtle: var(--l-border-subtle);--fg-rgb: var(--l-fg-rgb);--shadow-rgb: var(--l-shadow-rgb);--accent: var(--l-accent);--accent-hover: var(--l-accent-hover);--accent-active: var(--l-accent-active);--accent-rgb: var(--l-accent-rgb);--on-accent: var(--l-on-accent);--success: var(--l-success);--success-soft: var(--l-success-soft);--success-softer: var(--l-success-softer);--success-strong: var(--l-success-strong);--danger: var(--l-danger);--danger-rgb: var(--l-danger-rgb);--code-bg: var(--l-code-bg);--code-border: var(--l-code-border);--code-fg: var(--l-code-fg);--table-head-bg: var(--l-table-head-bg);--btn-disabled: var(--l-btn-disabled);--hl-fg: var(--l-hl-fg);--hl-keyword: var(--l-hl-keyword);--hl-title: var(--l-hl-title);--hl-attr: var(--l-hl-attr);--hl-string: var(--l-hl-string);--hl-built-in: var(--l-hl-built-in);--hl-comment: var(--l-hl-comment);--hl-name: var(--l-hl-name);--hl-section: var(--l-hl-section);--hl-bullet: var(--l-hl-bullet);--hl-addition-fg: var(--l-hl-addition-fg);--hl-addition-bg: var(--l-hl-addition-bg);--hl-deletion-fg: var(--l-hl-deletion-fg);--hl-deletion-bg: var(--l-hl-deletion-bg)}:root[data-theme=dark]{color-scheme:dark;--surface: var(--d-surface);--surface-raised-a: var(--d-surface-raised-a);--surface-raised-b: var(--d-surface-raised-b);--surface-alt: var(--d-surface-alt);--surface-sunken: var(--d-surface-sunken);--border: var(--d-border);--border-subtle: var(--d-border-subtle);--fg-rgb: var(--d-fg-rgb);--shadow-rgb: var(--d-shadow-rgb);--accent: var(--d-accent);--accent-hover: var(--d-accent-hover);--accent-active: var(--d-accent-active);--accent-rgb: var(--d-accent-rgb);--on-accent: var(--d-on-accent);--success: var(--d-success);--success-soft: var(--d-success-soft);--success-softer: var(--d-success-softer);--success-strong: var(--d-success-strong);--danger: var(--d-danger);--danger-rgb: var(--d-danger-rgb);--code-bg: var(--d-code-bg);--code-border: var(--d-code-border);--code-fg: var(--d-code-fg);--table-head-bg: var(--d-table-head-bg);--btn-disabled: var(--d-btn-disabled);--hl-fg: var(--d-hl-fg);--hl-keyword: var(--d-hl-keyword);--hl-title: var(--d-hl-title);--hl-attr: var(--d-hl-attr);--hl-string: var(--d-hl-string);--hl-built-in: var(--d-hl-built-in);--hl-comment: var(--d-hl-comment);--hl-name: var(--d-hl-name);--hl-section: var(--d-hl-section);--hl-bullet: var(--d-hl-bullet);--hl-addition-fg: var(--d-hl-addition-fg);--hl-addition-bg: var(--d-hl-addition-bg);--hl-deletion-fg: var(--d-hl-deletion-fg);--hl-deletion-bg: var(--d-hl-deletion-bg)}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--surface);margin:0;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:rgb(var(--fg-rgb));line-height:1.6;font-size:16px}a{color:var(--accent);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-hover);text-decoration:underline}.container{max-width:1200px;margin:0 auto;background-color:var(--surface);min-height:100vh}.main-content{padding:2rem 2rem 6rem;flex:1}.header{background:linear-gradient(135deg,var(--surface-raised-a) 0%,var(--surface-raised-b) 100%);border-bottom:1px solid var(--border);padding:2rem;box-shadow:0 2px 4px rgba(var(--shadow-rgb),.3)}.header-content{display:flex;flex-direction:row;align-items:center;gap:2rem;max-width:1200px;margin:0 auto}.logo{height:150px;width:auto;flex-shrink:0}.hero-text{flex:1;display:flex;flex-direction:column;gap:.4rem;text-align:center}.header-spacer{width:150px;flex-shrink:0;display:flex;justify-content:flex-end;align-items:flex-start}.theme-toggle{background:transparent;border:1px solid var(--border);border-radius:50%;width:2.25rem;height:2.25rem;line-height:1;font-size:1.05rem;cursor:pointer;color:rgba(var(--fg-rgb),.7);transition:color .2s ease,border-color .2s ease,background-color .2s ease}.theme-toggle:hover{color:var(--accent-hover);border-color:var(--accent);background-color:rgba(var(--accent-rgb),.1)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero-name{color:var(--accent);font-size:2.5rem;font-weight:300;font-family:Roboto,sans-serif;margin:0}.hero-tagline{font-size:1.2rem;color:var(--success-soft);font-style:italic;margin:0}.hero-tagline a{color:inherit;text-decoration:underline}.hero-tagline a:hover{color:var(--success-softer)}.hero-description{font-size:1rem;color:rgba(var(--fg-rgb),.7);font-weight:300;margin:0}.cta-chat{color:var(--success-strong);font-weight:400}.cta-chat:hover{color:var(--success)}.blog-home{color:rgb(var(--fg-rgb));max-width:1000px;margin:0 auto}.blog-intro{background:linear-gradient(135deg,var(--surface-raised-a) 0%,var(--surface-raised-b) 100%);padding:3rem;border-radius:12px;box-shadow:0 8px 32px rgba(var(--shadow-rgb),.3);margin-bottom:3rem;border:1px solid var(--border);text-align:center}.blog-intro h1{color:var(--accent);font-size:2.5rem;font-weight:300;margin-bottom:1rem;font-family:Roboto,sans-serif}.blog-intro .tagline{font-size:1.2rem;color:var(--success-soft);margin-bottom:1rem;font-style:italic;font-weight:400}.blog-intro p{font-size:1.1rem;color:rgba(var(--fg-rgb),.8);max-width:600px;margin:0 auto;line-height:1.7;font-weight:300}.posts h2{color:rgb(var(--fg-rgb));font-size:2rem;font-weight:300;margin-bottom:2rem;text-align:center;font-family:Roboto,sans-serif}.posts-list{display:grid;gap:2rem}.post-preview{position:relative;background:linear-gradient(135deg,var(--surface-raised-a) 0%,var(--surface-raised-b) 100%);padding:2rem;border-radius:12px;border:1px solid var(--border);box-shadow:0 4px 20px rgba(var(--shadow-rgb),.3);transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.post-preview:hover{transform:translateY(-4px);box-shadow:0 8px 32px rgba(var(--shadow-rgb),.4);border-color:var(--accent)}.post-card-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.post-preview h3{margin-bottom:1rem}.post-preview h3 a{color:rgb(var(--fg-rgb));font-size:1.5rem;font-weight:400;font-family:Roboto,sans-serif;transition:color .2s ease}.post-preview h3 a:hover{color:var(--accent);text-decoration:none}.post-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;font-size:.9rem;color:rgba(var(--fg-rgb),.6)}.post-meta time{color:rgba(var(--fg-rgb),.7)}.excerpt{color:rgba(var(--fg-rgb),.8);margin-bottom:1.5rem;line-height:1.7;font-size:1rem}.post-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.tag{background-color:rgba(var(--accent-rgb),.2);color:var(--accent-hover);padding:.3rem .8rem;border-radius:16px;font-size:.8rem;font-weight:500;border:1px solid rgba(var(--accent-rgb),.3)}.blog-search{margin-bottom:3rem}.search-form{display:flex;flex-direction:column;gap:.5rem}.search-input-wrapper{display:flex;gap:0;border-radius:8px;overflow:hidden;border:1px solid var(--border);transition:border-color .2s ease}.search-input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.2)}.search-input{flex:1;background:var(--surface-raised-a);border:none;outline:none;color:rgb(var(--fg-rgb));font-size:1rem;padding:.8rem 1rem;font-family:inherit}.search-input::placeholder{color:rgba(var(--fg-rgb),.35)}.search-input::-webkit-search-cancel-button{display:none}.search-button{background:var(--accent);border:none;color:var(--on-accent);padding:.8rem 1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;flex-shrink:0}.search-button:hover:not(:disabled){background:var(--accent-active)}.search-button:disabled{background:var(--btn-disabled);cursor:not-allowed}.search-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(var(--fg-rgb),.3);border-top-color:var(--on-accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.search-mode-row{display:flex;align-items:flex-start;gap:1rem;height:2.1rem;overflow:visible}.search-mode-buttons{display:flex;flex-shrink:0;border-radius:6px;overflow:hidden;border:1px solid var(--border)}.search-mode-btn{background:var(--surface-raised-a);border:none;border-right:1px solid var(--border);color:rgba(var(--fg-rgb),.5);padding:.35rem .75rem;font-size:.8rem;font-family:inherit;cursor:pointer;transition:background-color .15s ease,color .15s ease;white-space:nowrap}.search-mode-btn:last-child{border-right:none}.search-mode-btn:hover:not(.active){background:var(--border-subtle);color:rgba(var(--fg-rgb),.75)}.search-mode-btn.active{background:var(--table-head-bg);color:rgba(var(--fg-rgb),.9)}.search-hint{font-size:.8rem;color:rgba(var(--fg-rgb),.35);margin:0;padding-top:.4rem;align-self:flex-start}.search-error{color:var(--danger);background-color:rgba(var(--danger-rgb),.1);border:1px solid rgba(var(--danger-rgb),.3);border-radius:8px;padding:.75rem 1rem;margin-top:1rem;font-size:.9rem}.search-results{margin-top:1.5rem}.search-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem}.search-results-header h3{color:rgb(var(--fg-rgb));font-size:1.2rem;font-weight:300;margin:0}.search-clear{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.9rem;padding:0;font-family:inherit;transition:color .2s ease;white-space:nowrap}.search-clear:hover{color:var(--accent-hover);text-decoration:underline}.search-results-list{display:grid;gap:2rem}.search-result-heading{color:var(--success-soft);font-size:.95rem;margin-bottom:.5rem;font-style:italic}.blog-post{color:rgb(var(--fg-rgb));max-width:800px;margin:0 auto}.post-header{text-align:center;margin-bottom:3rem;padding:3rem;background:linear-gradient(135deg,var(--surface-raised-a) 0%,var(--surface-raised-b) 100%);border-radius:12px;box-shadow:0 8px 32px rgba(var(--shadow-rgb),.3);border:1px solid var(--border)}.post-title{color:var(--accent);font-size:2.5rem;font-weight:300;line-height:1.3;margin-bottom:1.5rem;font-family:Roboto,sans-serif}.post-content{background:linear-gradient(135deg,var(--surface-raised-a) 0%,var(--surface-raised-b) 100%);padding:3rem;border-radius:12px;box-shadow:0 8px 32px rgba(var(--shadow-rgb),.3);border:1px solid var(--border);line-height:1.8}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{color:var(--accent);margin:2rem 0 1rem;font-weight:400;font-family:Roboto,sans-serif}.post-content h1{font-size:2rem}.post-content h2{font-size:1.7rem}.post-content h3{font-size:1.4rem}.post-content h4{font-size:1.2rem}.post-content p{margin-bottom:1.5rem;color:rgba(var(--fg-rgb),.9)}.post-content ul,.post-content ol{margin:1.5rem 0;padding-left:2rem;color:rgba(var(--fg-rgb),.9)}.post-content li{margin-bottom:.5rem}.post-content pre{background-color:var(--code-bg);padding:1.5rem;border-radius:8px;overflow-x:auto;margin:1.5rem 0;border:1px solid var(--code-border);box-shadow:inset 0 2px 4px rgba(var(--shadow-rgb),.2)}.post-content code{font-family:Monaco,Consolas,Courier New,monospace;font-size:.9em}.post-content pre code{color:var(--code-fg)}.post-content p code{background-color:rgba(var(--accent-rgb),.1);color:var(--accent-hover);padding:.2rem .4rem;border-radius:4px;border:1px solid rgba(var(--accent-rgb),.2)}.post-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}.post-content th,.post-content td{padding:.6rem 1rem;text-align:left;border:1px solid var(--border-subtle)}.post-content th{background-color:var(--surface-alt);font-weight:600;color:rgba(var(--fg-rgb),.9)}.post-content tr:nth-child(2n){background-color:rgba(var(--fg-rgb),.03)}.post-content img{max-width:100%;max-height:400px;border-radius:8px;cursor:pointer;object-fit:contain;vertical-align:middle;margin:4px}.post-content p:has(>img){text-align:center;margin:1.5rem 0}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(var(--shadow-rgb),.85);display:flex;align-items:center;justify-content:center;z-index:1000;cursor:zoom-out}.lightbox img{max-width:95vw;max-height:95vh;object-fit:contain;border-radius:4px;cursor:zoom-out}.post-content hr{margin:1rem 0;border:none;border-top:1px solid var(--border)}.post-footer{margin-top:2rem}.post-repos{margin-bottom:1.5rem}.post-repos ul{margin:.5rem 0 0;padding-left:1.5rem}.post-content iframe{max-width:100%;display:block;margin:1.5rem 0}.post-content blockquote{border-left:4px solid var(--accent);padding-left:1.5rem;margin:1.5rem 0;color:rgba(var(--fg-rgb),.8);font-style:italic;background-color:rgba(var(--accent-rgb),.05);padding:1rem 1rem 1rem 1.5rem;border-radius:0 8px 8px 0}.subscribe-box{display:flex;align-items:center;gap:2rem;margin:0 0 3rem;padding:.75rem 1.5rem;background-color:rgba(var(--accent-rgb),.05);border:1px solid var(--accent);border-radius:8px}.subscribe-box__text{flex:1;min-width:0}.subscribe-box h3{margin:0 0 .35rem}.subscribe-box p{margin:0;color:rgba(var(--fg-rgb),.8)}.subscribe-box iframe{flex:0 0 400px;width:400px;height:110px;border:0;border-radius:4px;background:transparent}.post-content+.subscribe-box{margin-top:2rem}@media(max-width:800px){.subscribe-box{flex-direction:column;align-items:stretch;gap:.75rem}.subscribe-box iframe{flex-basis:auto;width:100%}}.blog-footer{position:fixed;bottom:0;left:0;right:0;background-color:var(--surface-sunken);border-top:1px solid var(--border-subtle);padding:.5rem 2rem;text-align:center;color:rgba(var(--fg-rgb),.7);font-size:.75rem;z-index:100;display:flex;flex-direction:column;gap:.15rem}.blog-footer p{margin:0}.blog-footer a{color:rgba(var(--fg-rgb),.5)}.blog-footer a:hover{color:rgba(var(--fg-rgb),.8);text-decoration:none}.loading,.error{text-align:center;padding:3rem 2rem;color:rgba(var(--fg-rgb),.8)}.error{color:var(--danger);background-color:rgba(var(--danger-rgb),.1);border:1px solid rgba(var(--danger-rgb),.3);border-radius:8px}@media(max-width:768px){.header{padding:1.5rem 1rem}.header-content{gap:1.25rem}.logo{height:100px}.header-spacer{width:100px}.hero-name{font-size:1.8rem}.hero-tagline{font-size:1rem}.main-content{padding:1rem}.post-preview{padding:1.5rem}.post-title{font-size:2rem}.post-content{padding:2rem}.post-meta{flex-direction:column;align-items:flex-start;gap:.5rem}.footer-links{gap:1rem}.post-content pre{padding:1rem;font-size:.9rem}}@media(max-width:480px){.hero-name{font-size:1.5rem}.logo{height:75px}.header-spacer{width:75px}.post-title,.post-content h1{font-size:1.7rem}.post-content h2{font-size:1.4rem}.post-content h3{font-size:1.2rem}.post-content{padding:1.5rem}.post-header{padding:2rem}}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{position:relative;scroll-margin-top:5rem}.post-content .heading-anchor{margin-left:.45rem;color:var(--accent);text-decoration:none;font-weight:400;opacity:0;transition:opacity .15s ease-in-out}.post-content h1:hover .heading-anchor,.post-content h2:hover .heading-anchor,.post-content h3:hover .heading-anchor,.post-content h4:hover .heading-anchor,.post-content h5:hover .heading-anchor,.post-content h6:hover .heading-anchor,.post-content .heading-anchor:focus-visible{opacity:.55}.post-content .heading-anchor:hover{opacity:1}.post-content .heading-anchor:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}@media(hover:none){.post-content .heading-anchor{opacity:.35}}.post-content .heading-anchor.copied{opacity:1}.post-content .heading-anchor.copied:after{content:"Copied";margin-left:.4rem;padding:.1rem .4rem;font-size:.7rem;font-family:Roboto,sans-serif;vertical-align:middle;color:var(--on-accent);background:var(--accent);border-radius:3px}@media(prefers-reduced-motion:reduce){.post-content .heading-anchor{transition:none}}.hljs{color:var(--hl-fg);background:var(--code-bg)}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:var(--hl-keyword)}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:var(--hl-title)}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:var(--hl-attr)}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:var(--hl-string)}.hljs-built_in,.hljs-symbol{color:var(--hl-built-in)}.hljs-comment,.hljs-code,.hljs-formula{color:var(--hl-comment)}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:var(--hl-name)}.hljs-subst{color:var(--hl-fg)}.hljs-section{color:var(--hl-section);font-weight:700}.hljs-bullet{color:var(--hl-bullet)}.hljs-emphasis{color:var(--hl-fg);font-style:italic}.hljs-strong{color:var(--hl-fg);font-weight:700}.hljs-addition{color:var(--hl-addition-fg);background-color:var(--hl-addition-bg)}.hljs-deletion{color:var(--hl-deletion-fg);background-color:var(--hl-deletion-bg)}
