@import"https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,600;1,400&family=IBM+Plex+Mono:wght@400;500&family=Shippori+Mincho:wght@400;600&display=swap";:root{--paper: #fafaf8;--ink: #1a1a18;--mid: #8a8278;--terra: #b5603a;--border: #c8bfb4;--grid: #e2dbd2;--toolbar-bg: #f0ebe4}:root[data-theme=dark]{--paper: #1a1a18;--ink: #fafaf8;--terra: #d4845a;--border: #3a342e;--grid: #2e2a26;--toolbar-bg: #211e1b}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #1a1a18;--ink: #fafaf8;--terra: #d4845a;--border: #3a342e;--grid: #2e2a26;--toolbar-bg: #211e1b}}*,*:before,*:after{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:IBM Plex Mono,monospace;font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased}.site-header{border-bottom:1px solid var(--border);background:var(--toolbar-bg);position:sticky;top:0;z-index:100}.site-header-inner{max-width:720px;margin:0 auto;padding:0 24px;height:52px;display:flex;align-items:center;justify-content:space-between}.site-logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink)}.site-logo-text{font-family:Crimson Pro,serif;font-weight:600;font-size:20px;letter-spacing:.02em}.site-nav{display:flex;align-items:center;gap:16px}.site-nav-link{color:var(--mid);text-decoration:none;font-size:12px;letter-spacing:.08em;text-transform:lowercase;transition:color .15s}.site-nav-link:hover{color:var(--terra)}.site-theme-toggle{background:transparent;border:1px solid currentColor;border-radius:4px;padding:2px 8px;cursor:pointer;font-family:inherit;font-size:12px;color:var(--mid);opacity:.6;transition:opacity .15s;display:flex;align-items:center}.site-theme-toggle:hover{opacity:1}.blog-root{min-height:100vh;display:flex;flex-direction:column;.blog-search-inline{display:flex;align-items:center;gap:6px}.blog-search-input{background:var(--paper);border:1px solid var(--border);color:var(--ink);font-family:IBM Plex Mono,monospace;font-size:12px;padding:4px 10px;width:200px;outline:none;transition:border-color .15s,width .2s ease;&:focus{border-color:var(--terra);width:260px}&::placeholder{color:var(--mid)}}.blog-search-btn{background:none;border:none;color:var(--mid);cursor:pointer;font-size:14px;padding:4px;transition:color .15s;&:hover{color:var(--terra)}}.blog-search-status{font-size:11px;color:var(--mid)}.blog-search-dropdown{position:absolute;top:calc(100% + 4px);right:0;width:320px;background:var(--toolbar-bg);border:1px solid var(--border);z-index:200;box-shadow:0 4px 16px #0000001f}.blog-search-dropdown-item{display:block;padding:10px 14px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--grid);font-family:Crimson Pro,serif;font-size:16px;transition:background .1s,color .1s;&:last-child{border-bottom:none}&:hover{background:var(--paper);color:var(--terra)}}.blog-main{flex:1;max-width:720px;width:100%;margin:0 auto;padding:48px 24px 80px}.blog-footer{border-top:1px solid var(--border);text-align:center;padding:20px;font-size:11px;color:var(--mid);letter-spacing:.06em}.post-list{list-style:none;padding:0;margin:0}.post-list-item{display:grid;grid-template-columns:120px 1fr;gap:0 24px;padding:18px 0;border-bottom:1px solid var(--grid);align-items:baseline;&:first-child{border-top:1px solid var(--grid)}}.post-date{font-size:11px;color:var(--mid);letter-spacing:.04em;padding-top:2px}.post-title-link{font-family:Crimson Pro,serif;font-size:19px;font-weight:400;color:var(--ink);text-decoration:none;line-height:1.4;transition:color .15s;&:hover{color:var(--terra)}}.post-tags{grid-column:2;display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.post-tag{font-size:10px;color:var(--mid);border:1px solid var(--grid);padding:1px 7px;text-decoration:none;letter-spacing:.04em;transition:border-color .15s,color .15s;&:hover{color:var(--terra);border-color:var(--terra)}}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:48px;font-size:12px;color:var(--mid)}.pagination-link{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--border);padding-bottom:1px;letter-spacing:.04em;transition:color .15s,border-color .15s;&:hover{color:var(--terra);border-color:var(--terra)}}.post-header{margin-bottom:48px;padding-bottom:32px;border-bottom:1px solid var(--grid)}.post-header-meta{display:flex;align-items:center;gap:16px;margin-bottom:16px;font-size:11px;color:var(--mid);letter-spacing:.04em}.post-header-category{color:var(--terra)}.post-header h1{font-family:Crimson Pro,serif;font-size:clamp(28px,5vw,44px);font-weight:600;line-height:1.25;letter-spacing:-.01em;margin:0 0 16px}.post-header-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.prose{font-family:Shippori Mincho,Crimson Pro,serif;font-size:18px;line-height:1.9;color:var(--ink);max-width:68ch;h1,h2,h3,h4{font-family:IBM Plex Mono,monospace;font-weight:500;margin:2.5em 0 .75em;color:var(--ink)}h2{font-size:11px;text-transform:uppercase;letter-spacing:.14em;display:flex;align-items:center;gap:16px;&:after{content:"";flex:1;height:1px;background:var(--grid)}}h3{font-size:13px;letter-spacing:.04em}p{margin:0 0 1.5em}a{color:var(--terra);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:opacity .15s;&:hover{opacity:.7}}code{font-family:IBM Plex Mono,monospace;font-size:13px;background:var(--toolbar-bg);border:1px solid var(--grid);padding:1px 6px;border-radius:2px}pre{padding:24px 28px;overflow-x:auto;margin:2em -4px;font-size:13px;line-height:1.65;border-left:3px solid var(--terra);background-color:var(--shiki-light-bg, var(--ink))!important;color:var(--shiki-light, var(--paper))!important;code{background:none;border:none;padding:0;color:inherit;font-size:inherit;border-radius:0}span{color:var(--shiki-light)!important;background-color:var(--shiki-light-bg)!important;font-style:var(--shiki-light-font-style)!important;font-weight:var(--shiki-light-font-weight)!important;text-decoration:var(--shiki-light-text-decoration)!important}}blockquote{border-left:2px solid var(--terra);margin:2em 0;padding:.75em 0 .75em 24px;color:var(--mid);font-style:italic;font-size:1.05em}ul,ol{padding-left:1.75em;margin:0 0 1.5em}li{margin-bottom:.5em}hr{border:none;text-align:center;margin:3em 0;&:before{content:"· · ·";color:var(--mid);letter-spacing:.5em;font-family:Crimson Pro,serif;font-size:20px}}img{max-width:100%;height:auto;margin:1.5em 0}table{width:100%;border-collapse:collapse;font-size:14px;margin:2em 0}th,td{border:1px solid var(--grid);padding:10px 14px;text-align:left}th{background:var(--toolbar-bg);font-family:IBM Plex Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.1em}}.search-page{h1{font-family:Crimson Pro,serif;font-size:32px;font-weight:400;margin:0 0 32px}}.search-form{display:flex;gap:0;margin-bottom:40px}.search-form-input{flex:1;background:var(--paper);border:1px solid var(--border);border-right:none;color:var(--ink);font-family:IBM Plex Mono,monospace;font-size:13px;padding:10px 16px;outline:none;&:focus{border-color:var(--terra)}}.search-form-btn{background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-family:IBM Plex Mono,monospace;font-size:12px;padding:10px 20px;cursor:pointer;letter-spacing:.04em;transition:background .15s,color .15s;&:hover:not(:disabled){background:var(--terra);border-color:var(--terra)}&:disabled{opacity:.4;cursor:not-allowed}}.search-status{font-size:12px;color:var(--mid);margin-bottom:16px;&.search-error{color:#c0392b}}.search-results{list-style:none;padding:0;margin:0}.search-result-item{padding:16px 0;border-bottom:1px solid var(--grid);&:first-child{border-top:1px solid var(--grid)}}.search-result-link{font-family:Crimson Pro,serif;font-size:19px;color:var(--ink);text-decoration:none;display:block;margin-bottom:4px;transition:color .15s;&:hover{color:var(--terra)}}.search-result-meta{font-size:11px;color:var(--mid);display:flex;gap:12px;align-items:center}.tag-page-heading{font-family:Crimson Pro,serif;font-size:28px;font-weight:400;margin:0 0 40px;span{color:var(--terra)}}.mermaid-diagram{margin:1.5em 0;overflow-x:auto;text-align:center;svg{max-width:100%;height:auto}}@media(max-width:600px){.post-list-item{grid-template-columns:1fr;gap:4px}.post-tags{grid-column:1}.blog-search-input{width:140px}.blog-search-input:focus{width:180px}}}:root[data-theme=dark] .prose pre,:root[data-theme=dark] .prose pre span{background-color:var(--shiki-dark-bg)!important;color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .prose pre,:root:not([data-theme=light]) .prose pre span{background-color:var(--shiki-dark-bg)!important;color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}}
