body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,dl,dd,ol,ul,figure{margin:0;padding:0}body{font:400 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";color:#e8e8e8;background-color:#2a2a2a;-webkit-text-size-adjust:100%;-webkit-font-feature-settings:"kern" 1;-moz-font-feature-settings:"kern" 1;-o-font-feature-settings:"kern" 1;font-feature-settings:"kern" 1;font-kerning:normal;display:flex;min-height:100vh;flex-direction:column}h1,h2,h3,h4,h5,h6,p,blockquote,pre,ul,ol,dl,figure,.highlight{margin-bottom:15px}p{line-height:1.8;max-width:70ch;overflow-wrap:anywhere;hyphens:auto}p:lang(ko){word-break:keep-all}@media screen and (max-width: 800px){p{max-width:68ch}}main{display:block}img{max-width:100%;vertical-align:middle}figure>img{display:block}figcaption{font-size:14px}ul,ol{margin-left:30px}li>ul,li>ol{margin-bottom:0}h1,h2,h3,h4,h5,h6{font-weight:400}a{color:#4898ff;text-decoration:none}a:visited{color:#95c3ff}a:hover{color:#e8e8e8;text-decoration:underline}.social-media-list a:hover{text-decoration:none}.social-media-list a:hover .username{text-decoration:underline}blockquote{color:#aaa;border-left:4px solid #fff;padding-left:15px;font-size:18px;letter-spacing:-1px;font-style:italic}blockquote>:last-child{margin-bottom:0}pre,code{font-size:15px;border:1px solid #222;border-radius:3px;background-color:#1e1e1e}code{padding:1px 5px}pre{padding:8px 12px;overflow-x:auto}pre>code{border:0;padding-right:0;padding-left:0}.wrapper{max-width:-webkit-calc(800px - (30px * 2));max-width:calc(800px - (30px * 2));margin-right:auto;margin-left:auto;padding-right:30px;padding-left:30px}@media screen and (max-width: 800px){.wrapper{max-width:-webkit-calc(800px - (30px));max-width:calc(800px - (30px));padding-right:15px;padding-left:15px}}.wrapper:after,.footer-col-wrapper:after{content:"";display:table;clear:both}.svg-icon{width:16px;height:16px;display:inline-block;fill:#aaa;padding-right:5px;vertical-align:text-top}.social-media-list li+li{padding-top:5px}.table-wrapper{overflow-x:auto;margin-bottom:30px}.table-wrapper::-webkit-scrollbar{height:8px}.table-wrapper::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:#555}table{margin-bottom:0;width:100%;min-width:600px;text-align:left;color:#fff;border-collapse:collapse;border:1px solid #fff}table tr:nth-child(even){background-color:#131313}table th,table td{padding:10px 15px}table th{background-color:#131313;border:1px solid #f5f5f5;border-bottom-color:#e0e0e0}table td{border:1px solid #fff}.site-header{border-bottom:1px solid #fff;min-height:55.95px;position:relative}.site-title{font-size:26px;font-weight:300;line-height:54px;letter-spacing:-1px;margin-bottom:0;float:left}.site-title,.site-title:visited{color:#fff}.site-nav{float:right;line-height:54px}.site-nav .nav-trigger{display:none}.site-nav .menu-icon{display:none}.site-nav .page-link{color:#e8e8e8;line-height:1.5}.site-nav .page-link:not(:last-child){margin-right:20px}@media screen and (max-width: 600px){.site-nav{position:absolute;top:9px;right:15px;background-color:#2a2a2a;border:1px solid #fff;border-radius:5px;text-align:right}.site-nav label[for="nav-trigger"]{display:block;float:right;width:36px;height:36px;z-index:2;cursor:pointer}.site-nav .menu-icon{display:block;float:right;width:36px;height:26px;line-height:0;padding-top:10px;text-align:center}.site-nav .menu-icon>svg{fill:#fff}.site-nav input ~ .trigger{clear:both;display:none}.site-nav input:checked ~ .trigger{display:block;padding-bottom:5px}.site-nav .page-link{display:block;padding:10px 30px;margin-left:30px}.site-nav .page-link:not(:last-child){margin-right:0}}.site-footer{border-top:1px solid #fff;padding:30px 0}.footer-heading{font-size:18px;margin-bottom:15px}.contact-list,.social-media-list{list-style:none;margin-left:0}.footer-col-wrapper{font-size:15px;color:#aaa;margin-left:-15px}.footer-col{float:left;margin-bottom:15px;padding-left:15px}.footer-col-1{width:-webkit-calc(35% - (30px / 2));width:calc(35% - (30px / 2))}.footer-col-2{width:-webkit-calc(20% - (30px / 2));width:calc(20% - (30px / 2))}.footer-col-3{width:-webkit-calc(45% - (30px / 2));width:calc(45% - (30px / 2))}@media screen and (max-width: 800px){.footer-col-1,.footer-col-2{width:-webkit-calc(50% - (30px / 2));width:calc(50% - (30px / 2))}.footer-col-3{width:-webkit-calc(100% - (30px / 2));width:calc(100% - (30px / 2))}}@media screen and (max-width: 600px){.footer-col{float:none;width:-webkit-calc(100% - (30px / 2));width:calc(100% - (30px / 2))}}.page-content{padding:30px 0;flex:1}.page-heading{font-size:32px}.post-list-heading{font-size:28px}.post-list{margin-left:0;list-style:none}.post-list>li{margin-bottom:30px}.post-meta{font-size:14px;color:#aaa}.post-link{display:block;font-size:24px}.post-header{margin-bottom:30px}.post-title{font-size:42px;letter-spacing:-1px;line-height:1}@media screen and (max-width: 800px){.post-title{font-size:36px}}.post-content{margin-bottom:30px}.post-content h2{font-size:32px}@media screen and (max-width: 800px){.post-content h2{font-size:28px}}.post-content h3{font-size:26px}@media screen and (max-width: 800px){.post-content h3{font-size:22px}}.post-content h4{font-size:20px}@media screen and (max-width: 800px){.post-content h4{font-size:18px}}:root{--code-bg: #1e1e1e;--code-fg: #d4d4d4;--code-border: #3c3c3c;--code-shadow: rgba(0, 0, 0, 0.3);--code-header-bg: #2d2d2d;--comment: #6a9955;--keyword: #569cd6;--string: #ce9178;--number: #b5cea8;--function: #dcdcaa;--variable: #9cdcfe;--type: #4ec9b0;--operator: #d4d4d4;--error: #f44747}[data-theme="light"]{--code-bg: #ffffff;--code-fg: #000000;--code-border: #e1e4e8;--code-shadow: rgba(0, 0, 0, 0.1);--code-header-bg: #f6f8fa;--comment: #6a737d;--keyword: #d73a49;--string: #032f62;--number: #005cc5;--function: #6f42c1;--variable: #24292e;--type: #e36209;--operator: #d73a49;--error: #d73a49}.highlight{background:var(--code-bg);color:var(--code-fg);border-radius:6px;padding:20px;margin:20px 0;font-family:"SF Mono", "Monaco", "Inconsolata", "Roboto Mono", "Source Code Pro", "Consolas", "Courier New", monospace;font-size:14px;line-height:1.6;overflow-x:auto;border:1px solid var(--code-border);box-shadow:0 2px 8px var(--code-shadow)}.highlighter-rouge .highlight{background:var(--code-bg)}.highlight .c,.highlight .cm,.highlight .c1,.highlight .cs{color:var(--comment);font-style:italic}.highlight .cp{color:var(--comment);font-weight:bold}.highlight .err{color:var(--error);background-color:transparent}.highlight .k,.highlight .kc,.highlight .kd,.highlight .kp,.highlight .kr{color:var(--keyword);font-weight:bold}.highlight .kt{color:var(--type);font-weight:bold}.highlight .o,.highlight .ow{color:var(--operator);font-weight:bold}.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo,.highlight .il{color:var(--number)}.highlight .s,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx,.highlight .sr,.highlight .s1,.highlight .ss{color:var(--string)}.highlight .na,.highlight .no,.highlight .ni,.highlight .ne,.highlight .nf,.highlight .nn,.highlight .nt,.highlight .nv,.highlight .bp,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--variable)}.highlight .nb,.highlight .nc{color:var(--type);font-weight:bold}.highlight .nx{color:var(--variable)}.highlight .gd,.highlight .gd .x{color:var(--error);background-color:transparent}.highlight .gi,.highlight .gi .x{color:var(--type);background-color:transparent}.highlight .ge{font-style:italic}.highlight .gr,.highlight .gt{color:var(--error)}.highlight .gh,.highlight .go,.highlight .gp,.highlight .gu{color:var(--comment)}.highlight .gs{font-weight:bold}.highlight .w{color:var(--code-fg)}pre{background:var(--code-bg);border-radius:6px;padding:20px;margin:20px 0;overflow-x:auto;border:1px solid var(--code-border);box-shadow:0 2px 8px var(--code-shadow);position:relative}pre code{background:transparent;color:var(--code-fg);font-family:"SF Mono", "Monaco", "Inconsolata", "Roboto Mono", "Source Code Pro", "Consolas", "Courier New", monospace;font-size:14px;line-height:1.6;padding:0;border:none}code:not(pre code){background:var(--code-header-bg);color:var(--code-fg);padding:3px 6px;border-radius:4px;font-family:"SF Mono", "Monaco", "Inconsolata", "Roboto Mono", "Source Code Pro", "Consolas", "Courier New", monospace;font-size:0.85em;border:1px solid var(--code-border)}pre::-webkit-scrollbar{height:8px}pre::-webkit-scrollbar-track{background:var(--code-header-bg);border-radius:4px}pre::-webkit-scrollbar-thumb{background:#5a5a5a;border-radius:4px}pre::-webkit-scrollbar-thumb:hover{background:#7a7a7a}pre ::selection,.highlight ::selection{background:#264f78;color:var(--code-fg)}.theme-toggle-btn{position:fixed;top:20px;right:20px;background:var(--code-bg);color:var(--code-fg);border:1px solid var(--code-border);border-radius:25px;padding:10px 15px;cursor:pointer;font-size:14px;font-family:inherit;display:flex;align-items:center;gap:8px;transition:all 0.3s ease;z-index:1000;box-shadow:0 2px 8px var(--code-shadow)}.theme-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--code-shadow)}.theme-toggle-btn:active{transform:translateY(0)}.theme-toggle-btn .theme-icon{font-size:16px}.theme-toggle-btn .theme-text{font-weight:500}@media (max-width: 768px){.theme-toggle-btn{top:10px;right:10px;padding:8px 12px;font-size:12px}.theme-toggle-btn .theme-text{display:none}}.post-tags{margin-top:0.5em;margin-bottom:0.5em;font-size:0.8em;color:#fff}.post-tags .tags-label{margin-right:0.5em}.post-tags a{color:#fff}.post-tags a:hover{color:#e8e8e8}.post-categories{margin-top:0.5em;margin-bottom:0.5em;font-size:0.8em;color:#fff}.post-categories .categories-label{margin-right:0.5em}.post-categories a{color:#fff}.post-categories a:hover{color:#e8e8e8}#tag-filter{width:100%;display:flex;flex-wrap:wrap;justify-content:space-evenly;color:#fff;height:auto;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #fff}#tag-filter .filter-value{display:flex;align-items:center;justify-content:center;box-sizing:border-box;text-decoration:underline}#tag-filter .filter-value input[type="radio"]{display:none}#tag-filter .filter-value input[type="radio"]:checked+label{background-color:#0057c8;color:#e8e8e8}#tag-filter .filter-value label{display:flex;align-items:center;justify-content:center;padding:0.5rem;box-sizing:border-box;min-width:100%;min-height:2rem;text-align:center;cursor:pointer}#post-list li{margin-bottom:0.5rem}#post-list li a{text-decoration:underline}.excerpt{font-size:1rem;color:#aaa;max-height:32px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.rss-subscribe a{text-decoration:underline}.mermaid{text-align:center;margin:1.5em 0;overflow-x:auto}.language-shell::before{content:"Shell";background:#4a9c59;color:#fff}.language-javascript::before,.language-js::before{content:"JavaScript";background:#f7df1e;color:#000}.language-typescript::before,.language-ts::before{content:"TypeScript";background:#3178c6;color:#fff}.language-html::before{content:"HTML";background:#e34c26;color:#fff}.language-css::before{content:"CSS";background:#1572b6;color:#fff}.language-python::before,.language-py::before{content:"Python";background:#3776ab;color:#fff}.language-java::before{content:"Java";background:#ed8b00;color:#fff}.language-cpp::before{content:"C++";background:#00599c;color:#fff}.language-c::before{content:"C";background:#a8b9cc;color:#000}.language-cs::before{content:"C#";background:#239120;color:#fff}.language-php::before{content:"PHP";background:#777bb4;color:#fff}.language-ruby::before,.language-rb::before{content:"Ruby";background:#cc342d;color:#fff}.language-go::before{content:"Go";background:#00add8;color:#fff}.language-rust::before,.language-rs::before{content:"Rust";background:#ce422b;color:#fff}.language-swift::before{content:"Swift";background:#f05138;color:#fff}.language-kotlin::before,.language-kt::before{content:"Kotlin";background:#7f52ff;color:#fff}.language-sql::before{content:"SQL";background:#336791;color:#fff}.language-bash::before,.language-sh::before{content:"Bash";background:#4eaa25;color:#fff}.language-yaml::before,.language-yml::before{content:"YAML";background:#cb171e;color:#fff}.language-json::before{content:"JSON";background:#000;color:#fff}.language-xml::before{content:"XML";background:#f0ad4e;color:#000}.language-md::before,.language-markdown::before{content:"Markdown";background:#000;color:#fff}.language-haskell::before,.language-hs::before{content:"Haskell";background:#5d4f85;color:#fff}.language-shell,.language-javascript,.language-js,.language-typescript,.language-ts,.language-html,.language-css,.language-scss,.language-sass,.language-python,.language-py,.language-java,.language-cpp,.language-c,.language-cs,.language-php,.language-ruby,.language-rb,.language-go,.language-rust,.language-rs,.language-swift,.language-kotlin,.language-kt,.language-sql,.language-bash,.language-sh,.language-yaml,.language-yml,.language-json,.language-xml,.language-md,.language-markdown,.language-haskell,.language-hs{position:relative;margin:1.5em 0}.language-shell::before,.language-javascript::before,.language-js::before,.language-typescript::before,.language-ts::before,.language-html::before,.language-css::before,.language-scss::before,.language-sass::before,.language-python::before,.language-py::before,.language-java::before,.language-cpp::before,.language-c::before,.language-cs::before,.language-php::before,.language-ruby::before,.language-rb::before,.language-go::before,.language-rust::before,.language-rs::before,.language-swift::before,.language-kotlin::before,.language-kt::before,.language-sql::before,.language-bash::before,.language-sh::before,.language-yaml::before,.language-yml::before,.language-json::before,.language-xml::before,.language-md::before,.language-markdown::before,.language-haskell::before,.language-hs::before{position:absolute;top:0;right:0;font-size:0.75em;font-weight:bold;padding:2px 8px;text-transform:uppercase;letter-spacing:0.5px;z-index:10;border-radius:0 6px 0 6px}
