:root{--bg-color:#2e3440;--text-color:#d8dee9;--secondary-text-color:#c8c8c8;--accent-color:#90a8c0;--secondary-color:#7890a8;--border-color:#3b4351;--header-color:#eceff4;--terminal-green:#a3be8c;--terminal-yellow:#ebcb8b;--terminal-red:#bf616a;--font-mono:"JetBrains Mono Variable",ui-monospace,SFMono-Regular,"SF Mono",Menlo,Monaco,Consolas,"Liberation Mono",monospace}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg-color:#eceff4;--text-color:#2e3440;--secondary-text-color:#4c566a;--accent-color:#486090;--secondary-color:#6078a8;--border-color:#d1d5db;--header-color:#2e3440;--terminal-green:#4b644b;--terminal-yellow:#ebcb8b;--terminal-red:#bf616a}}:root[data-theme=light]{--bg-color:#eceff4;--text-color:#2e3440;--secondary-text-color:#4c566a;--accent-color:#486090;--border-color:#d1d5db;--header-color:#2e3440;--terminal-green:#4b644b;--terminal-yellow:#ebcb8b;--terminal-red:#bf616a}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-mono);height:100%;line-height:1.5;text-align:left;transition:background-color .3s ease,color .3s ease;width:100%;word-wrap:break-word;overflow-wrap:break-word}a{color:var(--accent-color);text-decoration:none;transition:opacity .2s ease}a:hover{opacity:.8}body{margin:0 auto;max-width:1200px;min-height:calc(100vh - 120px);padding:2rem 1rem}.container{margin:0 auto;max-width:900px}.terminal-path{background-color:var(--accent-color);color:var(--bg-color);display:inline-block;font-size:1rem;font-weight:500;margin-bottom:1rem;padding:5px 10px}.search-container{.search-result{margin:.5rem 0}.search-result a{color:var(--accent-color)}.search-result a:hover{text-decoration:underline}.result-date{color:var(--secondary-text-color);font-size:.75rem}}.content-box{border:1px solid var(--accent-color);margin-bottom:2rem;padding:2rem;transition:border-color .3s ease}.nav{display:flex;flex-wrap:wrap;gap:2rem;margin:1.5rem 0}.nav a{font-size:1rem}.nav a:before{content:"./";opacity:.7}.nav a.home:before{content:""}.cursor{animation:blink 1s step-end infinite;background-color:var(--text-color);display:inline-block;height:1em;margin-left:.2em;width:.6em}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.footer{color:var(--secondary-text-color);font-size:.9rem;font-weight:300;padding:2rem 0;text-align:center}.footer svg{vertical-align:middle}.footer .floating{border:none;bottom:20px;display:flex;flex-direction:column;outline:none;padding:15px;position:fixed;right:30px;z-index:10}#toTopBtn{background:var(--border-color);border:none;color:var(--text-color);cursor:pointer;display:none;font-family:var(--font-mono);padding:.5rem 1rem}#toTopBtn:hover{background:var(--accent-color);color:var(--bg-color)}.theme-switcher{background:var(--border-color);border:none;color:var(--text-color);cursor:pointer;font-family:var(--font-mono);padding:.5rem 1rem;transition:background-color .3s ease,color .3s ease}.theme-switcher:hover{background:var(--accent-color);color:var(--bg-color)}h1.title{color:var(--header-color);font-size:1.75rem;font-weight:700;margin-bottom:.5rem}div.content{margin:1rem auto;span.date{display:block}span.date,span.list-date{font-size:.9rem;margin-bottom:1.5rem}span.date,span.draft-badge,span.list-date{color:var(--secondary-text-color);font-weight:300}li,ol,ul{list-style-position:inside}ul{margin-bottom:1em;margin-top:.5em;padding-left:20px}ul li{line-height:1.3;margin-bottom:.5em;padding-left:.5em}div.expressive-code{padding:1rem 0}table{border-collapse:collapse}table,td,th{border:1px dashed var(--secondary-text-color);padding:10px}h1,h2,h3,h4{line-height:1.3;margin:.5rem 0}a{text-decoration:underline 1px}div.callout-info div.callout-content a{color:#1e90ff}div.callout-warning div.callout-content a{color:#4682b4}blockquote{border-left:1px solid var(--accent-color);color:var(--text-color);font-style:italic;margin-left:0;margin-right:0;padding:20px}img{height:100%;max-width:100%}}.command{color:var(--terminal-green);margin-right:.5rem}.command:before{content:"$ ";opacity:.7}.fade-in{opacity:1}.fade-in,.fade-out{transition-duration:.7s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,1,1)}.fade-out{opacity:0}@media (max-width:768px){.terminal-path{font-size:1rem}.nav{gap:1rem}.content-box{padding:1.5rem}}@media (max-width:480px){.terminal-path{font-size:.9rem}.nav{gap:.8rem}.content-box{padding:1rem}}@media print{.search-container,div.extra-post,footer,nav.nav{display:none}}@font-face{font-display:swap;font-family:JetBrains Mono Variable;font-style:normal;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:JetBrains Mono Variable;font-style:normal;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:JetBrains Mono Variable;font-style:normal;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:JetBrains Mono Variable;font-style:normal;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:JetBrains Mono Variable;font-style:normal;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:JetBrains Mono Variable;font-style:normal;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.search-container[data-astro-cid-otpdt6jm]{margin:2rem 0}.command-prompt[data-astro-cid-otpdt6jm]{align-items:center;display:flex;gap:.5rem}.search-input[data-astro-cid-otpdt6jm]{background:transparent;border:none;color:var(--text-color);font-size:1rem;outline:none;padding:.5rem}.search-results[data-astro-cid-otpdt6jm]{margin-left:1rem;margin-top:1rem}.theme-dropdown[data-astro-cid-dz5h74bc]{display:inline-block;position:relative}.menu-body[data-astro-cid-dz5h74bc]{background-color:var(--bg-color);border:1px solid var(--border-color);bottom:70px;box-shadow:0 2px 5px #0003;display:none;min-width:140px;position:fixed;right:45px;z-index:20}.dropdown-item[data-astro-cid-dz5h74bc]{cursor:pointer;padding:.5rem 1rem;transition:background-color .2s ease}.dropdown-item[data-astro-cid-dz5h74bc]:hover{background-color:var(--border-color)}.dropdown-item[data-astro-cid-dz5h74bc].active{color:var(--accent-color);font-weight:700}.theme-dropdown[data-astro-cid-dz5h74bc]:hover .menu-body[data-astro-cid-dz5h74bc]{display:block}.astro-route-announcer{left:0;position:absolute;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;white-space:nowrap;width:1px}
