#search-modal{display:none;position:fixed;inset:0;background:#00000080;z-index:9999;align-items:flex-start;justify-content:center;padding-top:100px}#search-modal.open{display:flex}#search-container{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;width:90%;max-width:600px;box-shadow:0 8px 32px #0000004d;overflow:hidden}#search-input{width:100%;padding:16px 20px;border:none;border-bottom:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);font-family:Söhne,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;outline:none}#search-input::placeholder{color:var(--text-secondary)}#search-results{max-height:400px;overflow-y:auto;padding:4px}.search-result-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;margin:2px 4px;cursor:pointer;user-select:none;border-radius:4px}.search-result-item:hover{background:var(--bg-secondary)}.search-result-item.selected,.search-result-item.selected:hover{background:var(--link-color)}.search-result-text{display:flex;flex-direction:column;min-width:0;flex:1}.search-result-title{color:var(--text-primary);font-weight:500;font-size:15px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-description{color:var(--text-secondary);font-size:13px;margin-top:2px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-date{color:var(--text-secondary);font-size:13px;white-space:nowrap;flex-shrink:0}.search-result-item.selected .search-result-title{color:#fff}.search-result-item.selected .search-result-description,.search-result-item.selected .search-result-date{color:#fffc}.search-empty{padding:40px 20px;text-align:center;color:var(--text-secondary)}.search-hint{padding:12px 20px;font-size:12px;color:var(--text-tertiary);border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:12px}.search-kbd{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:3px;padding:2px 6px;font-family:Söhne Mono,monospace;font-size:11px}#theme-toggle[data-astro-cid-x3pjskd3]{width:18px;height:18px;border:none;background:transparent;cursor:pointer;padding:0;transition:opacity .2s;position:relative}#theme-toggle[data-astro-cid-x3pjskd3]:hover{opacity:.7}#theme-icon[data-astro-cid-x3pjskd3]{display:block;width:18px;height:18px;border-radius:50%;transition:background .2s}#theme-icon[data-astro-cid-x3pjskd3][data-theme=light]{background:transparent;border:2px solid var(--text-primary)}#theme-icon[data-astro-cid-x3pjskd3][data-theme=dark]{background:var(--text-primary);border:2px solid var(--text-primary)}#theme-icon[data-astro-cid-x3pjskd3][data-theme=system]{background:linear-gradient(90deg,transparent 50%,var(--text-primary) 50%);border:2px solid var(--text-primary)}#theme-tooltip[data-astro-cid-x3pjskd3]{position:absolute;top:100%;right:0;margin-top:8px;padding:4px 8px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .1s;z-index:1001}@media(hover:hover)and (pointer:fine){#theme-toggle[data-astro-cid-x3pjskd3]:hover #theme-tooltip[data-astro-cid-x3pjskd3]{opacity:1}}:root,:root[data-theme=light]{--bg-primary: #fff;--bg-secondary: #f6f8fa;--text-primary: #24292e;--text-secondary: #586069;--text-tertiary: #6a737d;--link-color: #0366d6;--border-color: #e1e4e8;--border-light: #eaecef;--code-bg: rgba(27, 31, 35, .05);--mark-bg: #fff8c5}:root[data-theme=dark]{--bg-primary: #0d1117;--bg-secondary: #161b22;--text-primary: #c9d1d9;--text-secondary: #8b949e;--text-tertiary: #8b949e;--link-color: #58a6ff;--border-color: #30363d;--border-light: #21262d;--code-bg: rgba(110, 118, 129, .4);--mark-bg: rgba(187, 128, 9, .4)}@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg-primary: #0d1117;--bg-secondary: #161b22;--text-primary: #c9d1d9;--text-secondary: #8b949e;--text-tertiary: #8b949e;--link-color: #58a6ff;--border-color: #30363d;--border-light: #21262d;--code-bg: rgba(110, 118, 129, .4);--mark-bg: rgba(187, 128, 9, .4)}}*{box-sizing:border-box}body{margin:0;background-color:var(--bg-primary);color:var(--text-primary);font-family:Söhne,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.container{max-width:1012px;margin:32px auto;padding:0 24px}@media(min-width:768px){.container{padding:0 40px}}.header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.site-title{margin:0;font-size:2em;font-weight:600;line-height:1.25}.site-title a{color:var(--link-color);text-decoration:none}.site-title a:hover{text-decoration:underline}.markdown-body{font-size:18px;line-height:1.6;word-wrap:break-word}.markdown-body a{color:var(--link-color);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body a[href^=http]:not([href*="liamhorne.com"]):after{content:" ↗";font-size:.7em;opacity:.6}.markdown-body p{margin-top:0;margin-bottom:16px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25;color:var(--text-primary)}.markdown-body h1{font-size:2em;font-weight:500;padding-bottom:.3em;border-bottom:1px solid var(--border-color)}.markdown-body h2{font-size:1.5em;padding-bottom:.3em;border-bottom:1px solid var(--border-color)}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{font-size:.85em;color:var(--text-secondary)}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:16px;padding-left:2em}.markdown-body li{margin-bottom:8px}.markdown-body li>ul,.markdown-body li>ol{margin-top:8px;margin-bottom:0}.markdown-body blockquote{margin:0 0 16px;padding:0 1em;color:var(--text-tertiary);border-left:.25em solid var(--border-color)}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:var(--border-color);border:0}.markdown-body img{max-width:100%;background-color:transparent}.markdown-body mark{background-color:var(--mark-bg);color:var(--text-primary)}.markdown-body code,.markdown-body kbd,.markdown-body pre{font-family:Söhne Mono,ui-monospace,SFMono-Regular,Courier New,monospace}.markdown-body code{padding:.2em .4em;margin:0;font-size:85%;background-color:var(--code-bg);border-radius:6px}.markdown-body pre{margin-top:0;margin-bottom:16px;padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:var(--bg-secondary);border-radius:6px}.markdown-body pre code{padding:0;font-size:100%;background-color:transparent;border-radius:0}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}@media(prefers-color-scheme:dark){:root:not([data-theme]) .astro-code,:root:not([data-theme]) .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}}.markdown-body table{display:block;max-width:100%;overflow-x:auto;border-spacing:0;border-collapse:collapse;margin-top:0;margin-bottom:16px}.markdown-body table th{font-weight:600}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--border-color)}.markdown-body table tr{background-color:var(--bg-primary);border-top:1px solid var(--border-color)}.markdown-body table tr:nth-child(2n){background-color:var(--bg-secondary)}.markdown-body section.footnotes{margin-top:32px;padding-top:16px;border-top:1px solid var(--border-light);font-size:14px;color:var(--text-secondary)}.post-hero{display:block;width:100%;margin-bottom:24px}.post-date{margin-top:-8px;color:var(--text-secondary);font-size:15px}.post-list{list-style:none;padding:0;margin-top:24px}.post-list li{display:flex;align-items:baseline;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border-light)}.post-list time{color:var(--text-secondary);font-size:14px;white-space:nowrap;min-width:90px}
