:root{--terminal-bg:#071012;--terminal-bg-soft:#0b1518;--terminal-panel:rgba(13, 24, 28, 0.92);--terminal-panel-strong:rgba(18, 30, 35, 0.96);--terminal-line:rgba(139, 164, 171, 0.18);--terminal-line-strong:rgba(139, 164, 171, 0.28);--terminal-text:#eef5f2;--terminal-muted:#a8b6b6;--terminal-dim:#768687;--terminal-accent:#69e6a7;--terminal-accent-2:#62d7e8;--terminal-warn:#f3c86b;--terminal-danger:#f46e62;--theme:var(--terminal-bg);--entry:var(--terminal-panel);--primary:var(--terminal-text);--secondary:var(--terminal-muted);--tertiary:rgba(255, 255, 255, 0.08);--content:var(--terminal-text);--code-block-bg:#060d10;--code-bg:rgba(105, 230, 167, 0.1);--border:var(--terminal-line);color-scheme:dark}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100vh;margin:0}main,header,footer,section,article,aside,nav{display:block}a{color:inherit;text-decoration:none}button,input{font:inherit}button{border:0}img,svg{display:block;max-width:100%}.hidden{display:none!important}html[data-theme=light]{--terminal-bg:#f5f7f6;--terminal-bg-soft:#eef3f1;--terminal-panel:rgba(255, 255, 255, 0.92);--terminal-panel-strong:#ffffff;--terminal-line:rgba(18, 42, 48, 0.14);--terminal-line-strong:rgba(18, 42, 48, 0.24);--terminal-text:#101c1e;--terminal-muted:#4d5e60;--terminal-dim:#6f7e80;--terminal-accent:#078c55;--terminal-accent-2:#087a92;--terminal-warn:#9b6a00;--terminal-danger:#b33d35;--theme:var(--terminal-bg);--entry:var(--terminal-panel);--primary:var(--terminal-text);--secondary:var(--terminal-muted);--tertiary:rgba(13, 32, 37, 0.07);--content:var(--terminal-text);--code-block-bg:#eaf1ef;--code-bg:rgba(7, 140, 85, 0.1);--border:var(--terminal-line);color-scheme:light}body{background:linear-gradient(var(--terminal-line) 1px,transparent 1px),linear-gradient(90deg,var(--terminal-line) 1px,transparent 1px),radial-gradient(circle at 20% 0%,rgba(105,230,167,.1),transparent 28rem),var(--terminal-bg);background-size:28px 28px,28px 28px,auto,auto;color:var(--terminal-text);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,sans-serif;letter-spacing:0}.main{max-width:1480px;margin:0 auto;padding:24px 32px 0}.terminal-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--terminal-line);background:rgba(7,16,18,.86);backdrop-filter:blur(18px)}html[data-theme=light] .terminal-header{background:rgba(245,247,246,.88)}.terminal-nav{display:grid;grid-template-columns:auto minmax(0,1fr)auto;align-items:center;gap:24px;max-width:1480px;min-height:76px;margin:0 auto;padding:0 32px}.terminal-brand,.terminal-footer-brand{display:inline-flex;align-items:center;gap:12px;font-size:20px;font-weight:800;color:var(--terminal-text);white-space:nowrap}.terminal-prompt-mark{color:var(--terminal-accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:800}.terminal-menu{display:flex;align-items:center;justify-content:center;gap:28px;min-width:0;margin:0;padding:0;overflow-x:auto;list-style:none}.terminal-menu a{display:block;padding:27px 0 24px;color:var(--terminal-muted);font-size:15px;white-space:nowrap}.terminal-menu span{display:block;border-bottom:2px solid transparent;padding-bottom:8px}.terminal-menu span.active,.terminal-menu a:hover{color:var(--terminal-accent)}.terminal-menu span.active{border-color:var(--terminal-accent)}.terminal-actions{display:flex;align-items:center;gap:10px}.terminal-search-form{display:flex;align-items:center;gap:8px;width:min(240px,24vw);min-height:38px;border:1px solid var(--terminal-line-strong);border-radius:6px;background:var(--terminal-panel);padding:0 10px;color:var(--terminal-muted)}.terminal-search-form input{width:100%;min-width:0;border:0;outline:0;background:0 0;color:var(--terminal-text);font:inherit}.terminal-search-form kbd{border:1px solid var(--terminal-line-strong);border-radius:4px;padding:1px 5px;color:var(--terminal-dim);font:11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.terminal-icon-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid transparent;border-radius:6px;background:0 0;color:var(--terminal-muted);font:700 11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;cursor:pointer}.terminal-icon-button:hover{border-color:var(--terminal-line-strong);color:var(--terminal-accent);background:var(--terminal-panel)}html[data-theme=dark] .terminal-theme-toggle .moon,html[data-theme=light] .terminal-theme-toggle .sun{display:none}.terminal-hero,.terminal-stats,.terminal-home-grid,.terminal-page-header,.terminal-panel,.terminal-single{animation:terminalFadeIn 180ms ease-out}@keyframes terminalFadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.terminal-window,.terminal-panel,.terminal-stat,.terminal-page-header,.post-single{border:1px solid var(--terminal-line-strong);border-radius:6px;background:var(--terminal-panel);box-shadow:0 18px 60px rgba(0,0,0,.22)}.terminal-window{overflow:hidden}.terminal-window-bar{display:flex;align-items:center;gap:10px;min-height:38px;border-bottom:1px solid var(--terminal-line);background:var(--terminal-panel-strong);padding:0 16px;color:var(--terminal-muted);font:12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.terminal-window-bar time{margin-left:auto}.dot{width:12px;height:12px;border-radius:50%}.dot.red{background:var(--terminal-danger)}.dot.yellow{background:var(--terminal-warn)}.dot.green{background:var(--terminal-accent)}.terminal-path{margin-left:44px}.terminal-hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr)minmax(340px,.8fr);gap:40px;align-items:center;padding:34px 32px}.terminal-command{margin:0 0 14px;color:var(--terminal-accent);font:15px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.terminal-hero h1{margin:0;color:var(--terminal-text);font-size:clamp(34px,4vw,48px);line-height:1.15}.terminal-lead{max-width:680px;margin:18px 0 26px;color:var(--terminal-muted);font-size:17px;line-height:1.8}.terminal-topic-row,.terminal-tag-cloud,.post-tags{display:flex;flex-wrap:wrap;gap:8px}.terminal-topic-row a,.terminal-tag-cloud a,.terminal-mini-tag,.post-tags a,.terms-tags a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--terminal-line-strong);border-radius:5px;background:rgba(255,255,255,3%);padding:6px 10px;color:var(--terminal-accent);font-size:13px}html[data-theme=light] .terminal-topic-row a,html[data-theme=light] .terminal-tag-cloud a,html[data-theme=light] .terminal-mini-tag,html[data-theme=light] .post-tags a,html[data-theme=light] .terms-tags a{background:rgba(7,140,85,7%)}.terminal-topic-row a:hover,.terminal-tag-cloud a:hover,.terminal-mini-tag:hover,.post-tags a:hover,.terms-tags a:hover{border-color:var(--terminal-accent);background:rgba(105,230,167,.12)}.terminal-system-card{display:grid;grid-template-columns:1fr 1.1fr;gap:24px;align-items:center}.terminal-db-symbol{display:flex;align-items:center;justify-content:center;color:var(--terminal-accent)}.terminal-db-symbol svg{width:min(180px,100%);height:auto;fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.terminal-system-card dl{margin:0;color:var(--terminal-muted);font:14px/1.7 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.terminal-system-card div{display:grid;grid-template-columns:76px 1fr;gap:10px}.terminal-system-card dt{color:var(--terminal-accent)}.terminal-system-card dd{margin:0}.terminal-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}.terminal-stat{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon label" "icon value";gap:2px 14px;align-items:center;padding:18px 20px}.terminal-stat-icon{grid-area:icon;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--terminal-accent)}.terminal-stat-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.terminal-stat span:not(.terminal-stat-icon){grid-area:label;color:var(--terminal-muted);font-size:13px}.terminal-stat strong{grid-area:value;color:var(--terminal-text);font-size:24px;line-height:1.1}.terminal-home-grid{display:grid;grid-template-columns:minmax(0,1fr)430px;gap:24px;margin-top:18px}.terminal-panel{padding:22px}.terminal-panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--terminal-line);margin-bottom:4px;padding-bottom:12px}.terminal-panel-header h2,.terminal-page-header h1{margin:0;color:var(--terminal-text)}.terminal-panel-header a{color:var(--terminal-accent);font-size:13px;white-space:nowrap}.terminal-post-list{display:grid}.terminal-post-row{display:grid;grid-template-columns:minmax(0,1fr)auto;gap:22px;border-bottom:1px solid var(--terminal-line);padding:18px 0}.terminal-post-row:last-child{border-bottom:0;padding-bottom:0}.terminal-post-row h2,.terminal-post-row h3{margin:0 0 8px;color:var(--terminal-text);font-size:19px}.terminal-post-row h2 a:hover,.terminal-post-row h3 a:hover{color:var(--terminal-accent)}.terminal-post-row p{margin:0;color:var(--terminal-muted);line-height:1.7}.terminal-post-row footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;color:var(--terminal-dim);font:13px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:nowrap}.terminal-sidebar{display:grid;align-content:start;gap:18px}.terminal-tag-cloud a span{color:var(--terminal-muted)}.terminal-archive-list{display:grid;gap:2px}.terminal-archive-list a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--terminal-line);padding:11px 2px;color:var(--terminal-muted)}.terminal-archive-list a:hover{color:var(--terminal-accent)}.terminal-empty{color:var(--terminal-dim)}.terminal-page-header{margin-bottom:18px;padding:26px}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px;color:var(--terminal-dim);font-size:14px}.breadcrumbs a:hover{color:var(--terminal-accent)}.breadcrumbs svg{width:16px;height:16px;flex:none}.terminal-page-header h1{font-size:clamp(30px,4vw,44px)}.terminal-page-header p:last-child{margin-bottom:0;color:var(--terminal-muted)}.terminal-terms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:0;padding:0;list-style:none}.terminal-terms-grid a{justify-content:space-between;width:100%;min-height:44px}.terminal-archive-page .archive-year{margin-top:0}.archive-year-header,.archive-month-header{color:var(--terminal-text)}.archive-count{color:var(--terminal-accent)}.archive-entry{border-color:var(--terminal-line)}.archive-entry-title a:hover{color:var(--terminal-accent)}.terminal-search-page .searchbox input{width:100%;min-height:44px;border:1px solid var(--terminal-line-strong);border-radius:6px;background:var(--code-block-bg);color:var(--terminal-text);padding:0 14px;outline:0}.terminal-search-page .searchbox input:focus{border-color:var(--terminal-accent);box-shadow:0 0 0 3px rgba(105,230,167,.12)}.searchResults{display:grid;gap:12px;margin:16px 0 0;padding:0;list-style:none}.searchResults li{margin:0}.terminal-search-result{border:1px solid var(--terminal-line);border-radius:6px;background:linear-gradient(135deg,rgba(105,230,167,8%),transparent 42%),var(--terminal-panel)}.terminal-search-result.focus,.terminal-search-result:hover{border-color:var(--terminal-accent);background:linear-gradient(135deg,rgba(105,230,167,.12),transparent 48%),var(--terminal-panel-strong)}.terminal-search-result-link{display:grid;gap:7px;padding:16px 18px;color:inherit;text-decoration:none}.terminal-search-result-command,.terminal-search-result-path{color:var(--terminal-accent);font:13px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.terminal-search-result-link strong{color:var(--terminal-text);font-size:18px;line-height:1.35}.terminal-search-result-summary{color:var(--terminal-muted);font-size:14px;line-height:1.7}.terminal-search-result-path{color:var(--terminal-dim);overflow-wrap:anywhere}.terminal-search-empty{border:1px dashed var(--terminal-line-strong);border-radius:6px;padding:18px;color:var(--terminal-muted);background:var(--terminal-panel)}.terminal-single{border:0;background:0 0;box-shadow:none}.post-header{margin:0 0 18px}.post-title{margin:0;color:var(--terminal-text);font-size:clamp(30px,4vw,46px);line-height:1.2}.post-meta,.entry-footer,.archive-meta{color:var(--terminal-dim)}.post-content{color:var(--terminal-text);line-height:1.85}.post-content p{margin:0 0 1.1em}.post-content p:last-child{margin-bottom:0}.post-content h2,.post-content h3,.post-content h4{color:var(--terminal-text)}.post-content a{color:var(--terminal-accent)}.post-footer{margin-top:18px}.post-tags{margin:0;padding:0;list-style:none}.post-content code{border-radius:4px;color:var(--terminal-accent)}.post-content pre code{color:inherit}.post-content pre{position:relative}.copy-code{position:absolute;top:10px;right:10px;border:1px solid var(--terminal-line-strong);border-radius:5px;background:var(--terminal-panel-strong);color:var(--terminal-accent);padding:4px 8px;font-size:12px;cursor:pointer}.copy-code:hover{border-color:var(--terminal-accent)}.toc{border:1px solid var(--terminal-line-strong);border-radius:6px;background:var(--terminal-panel)}.paginav{border-color:var(--terminal-line-strong);border-radius:6px;background:var(--terminal-panel)}.pagination a{border-radius:6px;background:var(--terminal-panel);color:var(--terminal-accent)}.terminal-footer{max-width:none;border-top:1px solid var(--terminal-line);margin-top:42px;padding:26px 32px;background:rgba(7,16,18,.7);color:var(--terminal-muted)}html[data-theme=light] .terminal-footer{background:rgba(245,247,246,.78)}.terminal-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.3fr;gap:28px;max-width:1480px;margin:0 auto;text-align:left}.terminal-footer p{margin:10px 0 0}.terminal-footer nav{display:flex;flex-wrap:wrap;gap:18px 28px;align-content:center}.terminal-footer a:hover{color:var(--terminal-accent)}.terminal-footer a,.terminal-footer a:hover,.terminal-footer-brand,.terminal-footer-brand:hover{border-bottom:0;box-shadow:none;text-decoration:none}.terminal-footer-meta{display:grid;justify-items:end;gap:8px}.terminal-footer-meta a{color:var(--terminal-muted)}.top-link{position:fixed;right:18px;bottom:18px;z-index:30;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-color:var(--terminal-line-strong);border:1px solid var(--terminal-line-strong);border-radius:6px;background:var(--terminal-panel-strong);color:var(--terminal-accent)}.top-link svg{width:22px;height:22px;flex:none}@media(max-width:1180px){.terminal-nav{grid-template-columns:1fr auto}.terminal-menu{grid-column:1/-1;grid-row:2;justify-content:flex-start;border-top:1px solid var(--terminal-line)}.terminal-actions{justify-self:end}.terminal-hero-grid,.terminal-home-grid{grid-template-columns:1fr}.terminal-system-card{display:none}}@media(max-width:780px){.main{padding:16px 14px 0}.terminal-nav{gap:12px;padding:0 14px}.terminal-brand{font-size:17px}.terminal-actions{gap:6px}.terminal-search-form{width:42px;padding:0 11px;transition:width 160ms ease,border-color 160ms ease}.terminal-search-form:focus-within,.terminal-search-form.is-open{position:fixed;top:8px;right:14px;z-index:40;width:min(330px,calc(100vw - 28px));border-color:var(--terminal-accent);box-shadow:0 18px 42px rgba(0,0,0,.22)}.terminal-search-form input,.terminal-search-form kbd{display:none}.terminal-search-form:focus-within input,.terminal-search-form.is-open input{display:block}.terminal-menu{gap:18px}.terminal-menu a{padding:12px 0 10px}.terminal-hero-grid,.terminal-window-bar,.terminal-panel,.terminal-page-header{padding-left:16px;padding-right:16px}.terminal-window-bar .terminal-path{margin-left:10px}.terminal-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.terminal-stat{gap:1px 9px;padding:12px}.terminal-stat-icon{width:26px;height:26px}.terminal-stat-icon svg{width:24px;height:24px}.terminal-stat span:not(.terminal-stat-icon){font-size:11px}.terminal-stat strong{font-size:20px}.terminal-post-row,.terminal-footer-grid{grid-template-columns:1fr}.terminal-post-row footer{justify-content:flex-start;flex-wrap:wrap;white-space:normal}.terminal-footer-meta{justify-items:start}.top-link{right:14px;bottom:14px;width:40px;height:40px}.top-link svg{width:20px;height:20px}}