﻿@import url("https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&display=swap");*{margin:0;padding:0;box-sizing:border-box}body{font-family:"JetBrains Mono","Roboto Mono",monospace;background-color:var(--background);color:var(--foreground);line-height:1.6;padding:20px;transition:background-color .3s,color .3s}::selection{background-color:var(--selection);color:var(--foreground)}h1,h2,h3,h4,h5,h6{font-weight:700;margin:1.5em 0 .5em;line-height:1.2;color:var(--yellow)}h1{font-size:2em;margin-top:0;border-bottom:2px solid var(--border-color);padding-bottom:10px}h2{font-size:1.5em;border-bottom:1px solid var(--border-color);padding-bottom:5px}h3{font-size:1.3em}p{margin-bottom:1em}strong{color:var(--aqua);font-weight:bold}pre{margin:15px 0;border:1px solid var(--border-color);border-radius:8px;position:relative;overflow:hidden;padding:0}pre::before{content:attr(data-language);display:flex;align-items:center;height:36px;background-color:var(--code-header-bg);color:var(--code-header-color);padding:0 16px;font-size:.85em;text-transform:lowercase;border-bottom:1px solid var(--border-color);border-top-left-radius:7px;border-top-right-radius:7px;position:sticky;top:0;z-index:1}pre code{display:block;padding:15px;background-color:var(--code-bg);color:var(--code-color);overflow-x:auto;width:100%}pre .code-copy-button{position:absolute;top:0;right:10px;height:36px;background:rgba(0,0,0,0);border:none;color:var(--code-header-color);font-size:.85em;padding:0 8px;cursor:pointer;display:flex;align-items:center;gap:5px;z-index:2}pre .code-copy-button:hover{color:var(--yellow)}pre .code-copy-button .copy-icon,pre .code-copy-button .copied-icon{width:16px;height:16px}pre .code-copy-button .copied-icon{display:none}pre .code-copy-button.copied .copy-icon{display:none}pre .code-copy-button.copied .copied-icon{display:inline-block}em{font-style:italic;color:var(--purple)}:root{--background: #282828;--background-soft: #32302f;--background-hard: #1d2021;--foreground: #fbf1c7;--foreground-soft: #ebdbb2;--comment: #928374;--selection: #504945;--cursor: #fe8019;--border-color: #504945;--border-color-light: rgba(102,92,84,.5);--nav-bg: rgba(40,40,40,.8);--terminal-bg: rgba(40,40,40,.9);--terminal-header: #3c3836;--card-bg: #3c3836;--tag-bg: #504945;--tag-bg-hover: #665c54;--tag-color: #d5c4a1;--text-color: #ebdbb2;--text-muted: #928374;--heading-color: #fbf1c7;--primary-color: #83a598;--primary-color-hover: #458588;--link-color: #83a598;--code-bg: #1d2021;--code-color: #d5c4a1;--code-header-bg: #3c3836;--code-header-color: #bdae93;--inline-code-bg: rgba(80,73,69,.6);--inline-code-color: #d5c4a1;--blockquote-bg: rgba(60,56,54,.5);--table-header-bg: #504945;--table-row-bg: rgba(60,56,54,.5);--background-color: #282828;--kbd-bg: #3c3836;--red: #fb4934;--green: #b8bb26;--yellow: #fabd2f;--blue: #83a598;--purple: #d3869b;--aqua: #8ec07c;--orange: #fe8019;--red-dim: #cc241d;--green-dim: #98971a;--yellow-dim: #d79921;--blue-dim: #458588;--purple-dim: #b16286;--aqua-dim: #689d6a;--orange-dim: #d65d0e}:root .z-code{color:#fdf4c1;background-color:#282828}:root .z-punctuation.z-definition.z-tag{color:#83a598}:root .z-punctuation.z-definition.z-entity{color:#d3869b}:root .z-constant{color:#d3869b}:root .z-constant.z-character.z-escape{color:#b8bb26}:root .z-constant.z-other{color:#fdf4c1}:root .z-entity{color:#8ec07c}:root .z-keyword.z-operator.z-comparison,:root .z-keyword.z-operator,:root .z-keyword.z-operator.z-symbolic,:root .z-keyword.z-operator.z-string,:root .z-keyword.z-operator.z-assignment,:root .z-keyword.z-operator.z-arithmetic,:root .z-keyword.z-operator.z-class,:root .z-keyword.z-operator.z-key,:root .z-keyword.z-operator.z-logical{color:#fe8019}:root .z-keyword,:root .z-keyword.z-operator.z-new,:root .z-keyword.z-other,:root .z-keyword.z-control{color:#fa5c4b}:root .z-storage{color:#fabd2f}:root .z-string,:root .z-string.z-unquoted.z-heredoc .z-string{color:#b8bb26}:root .z-comment{color:#928374;font-style:italic}:root .z-string.z-regexp .z-constant.z-character.z-escape{color:#b8bb26}:root .z-support{color:#fabd2f}:root .z-variable{color:#fdf4c1}:root .z-variable.z-language{color:#fdf4c1}:root .z-meta.z-function-call{color:#fdf4c1}:root .z-invalid{color:#fdf4c1;background-color:#932b1e}:root .z-text .z-source,:root .z-string.z-unquoted.z-heredoc,:root .z-source .z-source{color:#fdf4c1}:root .z-string.z-quoted .z-source{color:#b8bb26}:root .z-string{color:#b8bb26}:root .z-support.z-constant{color:#fabd2f}:root .z-support.z-class{color:#8ec07c}:root .z-entity.z-name.z-tag{color:#8ec07c;font-weight:bold}:root .z-meta.z-tag,:root .z-meta.z-tag .z-entity{color:#8ec07c}:root .z-constant.z-other.z-color.z-rgb-value{color:#83a598}:root .z-meta.z-selector.z-css .z-entity.z-name.z-tag{color:#fa5c4b}:root .z-meta.z-selector.z-css,:root .z-entity.z-other.z-attribute-name.z-id{color:#b8bb26}:root .z-meta.z-selector.z-css .z-entity.z-other.z-attribute-name.z-class{color:#b8bb26}:root .z-support.z-type.z-property-name.z-css{color:#8ec07c}:root .z-meta.z-preprocessor.z-at-rule .z-keyword.z-control.z-at-rule{color:#fabd2f}:root .z-meta.z-property-value .z-constant{color:#fabd2f}:root .z-meta.z-property-value .z-support.z-constant.z-named-color.z-css{color:#fe8019}:root .z-meta.z-constructor.z-argument.z-css{color:#fabd2f}:root .z-meta.z-diff,:root .z-meta.z-diff.z-header{color:#83a598}:root .z-markup.z-deleted{color:#fa5c4b}:root .z-markup.z-changed{color:#fabd2f}:root .z-markup.z-inserted{color:#8ec07c}:root .z-markup.z-bold{font-weight:bold}:root .z-markup.z-italic{font-style:italic}:root .z-markup.z-heading{color:#8ec07c;font-weight:bold}:root .z-entity.z-name.z-type.z-class.z-php{color:#8ec07c}:root .z-keyword.z-other.z-phpdoc{color:#928374}:root .z-constant.z-numeric.z-css,:root .z-keyword.z-other.z-unit.z-css{color:#d3869b}:root .z-punctuation.z-definition.z-entity.z-css{color:#b8bb26}:root .z-variable.z-language.z-js{color:#fabd2f}:root .z-string.z-unquoted.z-label.z-js{color:#fdf4c1}:root .z-constant.z-other.z-table-name.z-sql{color:#b8bb26}:root .z-constant.z-other.z-database-name.z-sql{color:#b8bb26}:root .z-storage.z-type.z-dired.z-item.z-directory,:root .z-dired.z-item.z-directory{color:#8ec07c}:root .z-orgmode.z-link{color:#fabd2f;text-decoration:underline}:root .z-orgmode.z-page{color:#b8bb26}:root .z-orgmode.z-break{color:#d3869b}:root .z-orgmode.z-headline{color:#8ec07c}:root .z-orgmode.z-tack{color:#fabd2f}:root .z-orgmode.z-follow_up{color:#fabd2f}:root .z-orgmode.z-checkbox{color:#fabd2f}:root .z-orgmode.z-checkbox.z-summary{color:#fabd2f}:root .z-orgmode.z-tags{color:#fa5c4b}.light-mode{--background: #fbf1c7;--background-soft: #f2e5bc;--background-hard: #f9f5d7;--foreground: #282828;--foreground-soft: #3c3836;--comment: #928374;--selection: #d5c4a1;--cursor: #af3a03;--border-color: #d5c4a1;--border-color-light: rgba(189,174,147,.5);--nav-bg: rgba(251,241,199,.8);--terminal-bg: rgba(251,241,199,.9);--terminal-header: #ebdbb2;--card-bg: #ebdbb2;--tag-bg: #d5c4a1;--tag-bg-hover: #bdae93;--tag-color: #504945;--text-color: #3c3836;--text-muted: #928374;--heading-color: #282828;--primary-color: #076678;--primary-color-hover: #458588;--link-color: #076678;--code-bg: #f9f5d7;--code-color: #504945;--code-header-bg: #ebdbb2;--code-header-color: #665c54;--inline-code-bg: rgba(213,196,161,.6);--inline-code-color: #504945;--blockquote-bg: rgba(235,219,178,.5);--table-header-bg: #d5c4a1;--table-row-bg: rgba(235,219,178,.5);--background-color: #fbf1c7;--kbd-bg: #ebdbb2;--red: #9d0006;--green: #79740e;--yellow: #b57614;--blue: #076678;--purple: #8f3f71;--aqua: #427b58;--orange: #af3a03;--red-dim: #cc241d;--green-dim: #98971a;--yellow-dim: #d79921;--blue-dim: #458588;--purple-dim: #b16286;--aqua-dim: #689d6a;--orange-dim: #d65d0e}.light-mode .z-code{color:#282828;background-color:#fcf0ca}.light-mode .z-punctuation.z-definition.z-tag{color:#076678}.light-mode .z-punctuation.z-definition.z-entity{color:#8f3f71}.light-mode .z-constant{color:#8f3f71}.light-mode .z-constant.z-character.z-escape{color:#79740e}.light-mode .z-constant.z-other{color:#282828}.light-mode .z-entity{color:#407959}.light-mode .z-keyword.z-operator.z-comparison,.light-mode .z-keyword.z-operator,.light-mode .z-keyword.z-operator.z-symbolic,.light-mode .z-keyword.z-operator.z-string,.light-mode .z-keyword.z-operator.z-assignment,.light-mode .z-keyword.z-operator.z-arithmetic,.light-mode .z-keyword.z-operator.z-class,.light-mode .z-keyword.z-operator.z-key,.light-mode .z-keyword.z-operator.z-logical{color:#b23c15}.light-mode .z-keyword,.light-mode .z-keyword.z-operator.z-new,.light-mode .z-keyword.z-other,.light-mode .z-keyword.z-control{color:#9d0006}.light-mode .z-storage{color:#b57614}.light-mode .z-string,.light-mode .z-string.z-unquoted.z-heredoc .z-string{color:#79740e}.light-mode .z-comment{color:#928374;font-style:italic}.light-mode .z-string.z-regexp .z-constant.z-character.z-escape{color:#79740e}.light-mode .z-support{color:#b57614}.light-mode .z-variable{color:#282828}.light-mode .z-variable.z-language{color:#282828}.light-mode .z-meta.z-function-call{color:#282828}.light-mode .z-invalid{color:#282828;background-color:#932b1e}.light-mode .z-text .z-source,.light-mode .z-string.z-unquoted.z-heredoc,.light-mode .z-source .z-source{color:#282828}.light-mode .z-string.z-quoted .z-source{color:#79740e}.light-mode .z-string{color:#79740e}.light-mode .z-support.z-constant{color:#b57614}.light-mode .z-support.z-class{color:#407959}.light-mode .z-entity.z-name.z-tag{color:#407959;font-weight:bold}.light-mode .z-meta.z-tag,.light-mode .z-meta.z-tag .z-entity{color:#407959}.light-mode .z-constant.z-other.z-color.z-rgb-value{color:#076678}.light-mode .z-meta.z-selector.z-css .z-entity.z-name.z-tag{color:#9d0006}.light-mode .z-meta.z-selector.z-css,.light-mode .z-entity.z-other.z-attribute-name.z-id{color:#79740e}.light-mode .z-meta.z-selector.z-css .z-entity.z-other.z-attribute-name.z-class{color:#79740e}.light-mode .z-support.z-type.z-property-name.z-css{color:#407959}.light-mode .z-meta.z-preprocessor.z-at-rule .z-keyword.z-control.z-at-rule{color:#b57614}.light-mode .z-meta.z-property-value .z-constant{color:#b57614}.light-mode .z-meta.z-property-value .z-support.z-constant.z-named-color.z-css{color:#b23c15}.light-mode .z-meta.z-constructor.z-argument.z-css{color:#b57614}.light-mode .z-meta.z-diff,.light-mode .z-meta.z-diff.z-header{color:#282828;background-color:#076678}.light-mode .z-markup.z-deleted{color:#282828;background-color:#9d0006}.light-mode .z-markup.z-changed{color:#282828;background-color:#b57614}.light-mode .z-markup.z-inserted{color:#282828;background-color:#407959}.light-mode .z-markup.z-bold{font-weight:bold}.light-mode .z-markup.z-italic{font-style:italic}.light-mode .z-markup.z-heading{color:#407959;font-weight:bold}.light-mode .z-entity.z-name.z-type.z-class.z-php{color:#407959}.light-mode .z-keyword.z-other.z-phpdoc{color:#928374}.light-mode .z-constant.z-numeric.z-css,.light-mode .z-keyword.z-other.z-unit.z-css{color:#8f3f71}.light-mode .z-punctuation.z-definition.z-entity.z-css{color:#79740e}.light-mode .z-variable.z-language.z-js{color:#b57614}.light-mode .z-string.z-unquoted.z-label.z-js{color:#282828}.light-mode .z-constant.z-other.z-table-name.z-sql{color:#79740e}.light-mode .z-constant.z-other.z-database-name.z-sql{color:#79740e}.light-mode .z-storage.z-type.z-dired.z-item.z-directory,.light-mode .z-dired.z-item.z-directory{color:#407959}.light-mode .z-orgmode.z-link{color:#b57614;text-decoration:underline}.light-mode .z-orgmode.z-page{color:#79740e}.light-mode .z-orgmode.z-break{color:#8f3f71}.light-mode .z-orgmode.z-headline{color:#407959}.light-mode .z-orgmode.z-tack{color:#b57614}.light-mode .z-orgmode.z-follow_up{color:#b57614}.light-mode .z-orgmode.z-checkbox{color:#b57614}.light-mode .z-orgmode.z-checkbox.z-summary{color:#b57614}.light-mode .z-orgmode.z-tags{color:#9d0006}.container{max-width:1200px;margin:0 auto;padding:0 20px}.navbar{background:var(--nav-bg);border:1px solid var(--border-color);border-radius:4px;backdrop-filter:blur(10px);padding:15px 25px;margin-bottom:30px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px rgba(0,0,0,.1);position:sticky;top:20px;z-index:1000}.navbar-left{display:flex;gap:20px}.navbar-right{display:flex;align-items:center}.menu-icon{display:none;cursor:pointer;font-size:1.5rem;color:var(--text-color)}.sidebar{position:fixed;top:0;left:-250px;width:250px;height:100%;background:var(--nav-bg);border-right:1px solid var(--border-color);box-shadow:2px 0 10px rgba(0,0,0,.1);z-index:2000;transition:left .3s ease;padding:20px;display:flex;flex-direction:column}.sidebar.open{left:0}.sidebar-close{display:flex;justify-content:flex-end;font-size:1.5rem;cursor:pointer;margin-bottom:20px;color:var(--text-color)}.sidebar-content{display:flex;flex-direction:column;gap:15px}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1999;display:none}.sidebar-overlay.active{display:block}footer{margin-top:50px;padding-top:20px;border-top:1px solid var(--border-color);color:var(--comment);font-size:.9em}@media (max-width: 768px){body{padding:10px}.navbar{padding:12px 15px;position:sticky;top:10px;justify-content:space-between}.navbar-left{display:none}.menu-icon{display:block;margin-left:5px}.navbar-right{margin-right:5px}.combined-section{flex-direction:column}.combined-section .profile-sidebar{margin-right:0;margin-bottom:30px;max-width:100%}}a{color:var(--blue);text-decoration:none;border-bottom:1px dashed var(--blue);padding-bottom:1px;transition:color .2s,border-color .2s}a:hover{color:var(--orange);border-color:var(--orange)}.nav-link{border-bottom:none;padding:5px 10px;border-radius:3px}.nav-link:hover{color:var(--orange)}.nav-link.active{color:var(--orange);font-weight:bold}.nav-link.taxonomy-active{color:var(--orange);font-weight:bold}.inline-link{margin-left:8px;color:var(--blue);text-decoration:none;border-bottom:none;transition:color .2s}.inline-link:hover{color:var(--orange)}.inline-link i{margin-right:6px}.inline-link span{border-bottom:1px dashed var(--blue);padding-bottom:1px}.inline-link span:hover{border-color:var(--orange)}.theme-toggle{background:none;border:1px solid var(--border-color);color:var(--foreground);font-family:inherit;padding:8px;cursor:pointer;border-radius:50%;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .2s;width:40px;height:40px;line-height:1}.theme-toggle:hover{background:var(--selection);border-color:var(--orange);transform:rotate(15deg)}.terminal-section{margin-bottom:30px;background-color:var(--terminal-bg);border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.terminal-header{background-color:var(--terminal-header);padding:8px 15px;border-bottom:1px solid var(--border-color);display:flex;align-items:center}.terminal-title{font-size:.9rem;font-weight:bold;color:var(--orange)}.terminal-body{padding:15px}.terminal-line{display:flex;align-items:center;margin-bottom:10px;font-family:"JetBrains Mono",monospace}.terminal-prompt{color:var(--blue);margin-right:10px;font-weight:bold}.terminal-command{color:var(--green);font-weight:normal}.terminal-output{color:var(--foreground);margin-left:20px;margin-bottom:20px;padding-left:10px;border-left:2px solid var(--border-color);}.blog-page .terminal-output,.tag-page .terminal-output,.taxonomy-page .terminal-output{border-left:none;margin-left:0;padding-left:0}.terminal-output ul{list-style-type:none;margin-left:10px}.terminal-output li{margin-bottom:5px}.terminal-output li::before{content:"";display:none}.rough-edge{position:relative}.rough-edge::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border:1px solid var(--border-color);border-radius:4px;pointer-events:none;clip-path:polygon(0% 5%, 5% 0%, 95% 0%, 100% 5%, 100% 95%, 95% 100%, 5% 100%, 0% 95%)}@keyframes cursor-blink{0%, 100%{opacity:1}50%{opacity:0}}.terminal-cursor::after{content:"▋";display:inline-block;animation:cursor-blink 1.2s infinite;color:var(--cursor);margin-left:2px}.combined-section{display:flex;margin:20px 0;border-left:none;padding-left:0;align-items:stretch;min-height:100%}.profile-sidebar{flex:0 0 250px;max-width:250px;display:flex;flex-direction:column;height:100%;padding-right:20px}.sidebar-row{width:100%;display:flex;justify-content:center;align-items:center;margin-bottom:15px}.image-row{flex:1}.whoami-image{width:100%;text-align:center}.whoami-image img{max-width:100%;width:100%;height:auto;object-fit:cover;border-radius:5px;border:2px solid var(--border-color)}.profile-name{margin:0;font-size:1.2em;font-weight:bold;color:var(--yellow);text-align:center}.contact-row{width:100%;display:flex;justify-content:center}.contact-column{width:48%;display:flex;flex-direction:column;align-items:center}.contact-item{margin-bottom:8px;display:flex;justify-content:center;align-items:center;white-space:nowrap}.contact-item i{margin-right:8px;color:var(--blue);width:16px;text-align:center;font-size:.9em}.contact-item a{border-bottom:none;padding:3px 6px;border-radius:3px;transition:background-color .2s,color .2s;font-size:.9em;display:flex;align-items:center}.contact-item a:hover{background-color:var(--selection);color:var(--orange)}.contact-item a:hover i,.contact-item a:hover svg{color:var(--orange);fill:var(--orange)}.about-content{flex:1;padding-left:20px;border-left:2px solid var(--border-color);display:flex;flex-direction:column;padding-right:15px}.about-content h1,.about-content h2:first-child{margin-top:0}.whoami-container{display:flex;align-items:flex-start;gap:30px;margin:20px 0}.whoami-info{flex:1}.whoami-info p{margin-bottom:15px;font-size:1.2em;font-weight:bold;color:var(--yellow)}.contact-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:15px;grid-column-gap:30px;margin-top:10px;width:100%;margin-bottom:0}.contact-list li{margin-bottom:5px;display:flex;align-items:center;white-space:nowrap}.contact-list li i{margin-right:8px;color:var(--blue);width:16px;text-align:center;font-size:.9em}.contact-list li a{border-bottom:none;padding:3px 6px;border-radius:3px;transition:background-color .2s,color .2s;font-size:.9em;display:flex;align-items:center}.contact-list li a:hover{background-color:var(--selection);color:var(--orange)}.contact-list li a:hover i,.contact-list li a:hover svg{color:var(--orange);fill:var(--orange)}.terminal-output strong+br+span,.terminal-output li strong~em{color:var(--red)}.cv-date{color:var(--red)}.cv-list li{margin-bottom:10px;position:relative;padding-left:15px}.cv-list .list-dot{color:var(--aqua);margin-right:5px;position:absolute;left:0}.cv-list .list-content{margin-left:0;margin-top:5px}.publication-list{list-style-type:none;padding-left:0}.publication-list li{margin-bottom:20px;padding-left:0;position:relative}.publication-list li::before{display:none}.pub-year{color:var(--green);margin-right:10px}.pub-title{color:var(--aqua);font-weight:bold}.pub-links{margin-top:5px;font-size:.9em}.pub-links a{margin-right:5px;padding:2px 5px;border-radius:3px;border-bottom:none;transition:background-color .2s}.pub-links a:hover{background-color:var(--selection)}.blog-section{max-width:800px;margin:0 auto;padding:2rem 1rem}.blog-section .section-title{margin-bottom:2rem;font-size:2.5rem;font-weight:700}.blog-posts{margin-top:2rem}.blog-post-item{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px dashed var(--border-color)}.blog-post-item:last-child{border-bottom:none}.blog-post-item .post-title{margin-top:0;margin-bottom:.5rem;font-size:1.5rem;font-weight:bold}.blog-post-item .post-title a{color:var(--blue);text-decoration:none;transition:color .2s}.blog-post-item .post-title a:hover{color:var(--orange);text-decoration:none}.blog-post-item .post-meta{margin-bottom:1rem;font-size:.9rem;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:1rem}.blog-post-item .post-meta .post-tags{display:flex;flex-wrap:wrap;gap:.5rem}.blog-post-item .post-meta .post-tags .tag{display:inline-block;font-weight:bold;color:var(--blue);text-decoration:none;transition:color .2s}.blog-post-item .post-meta .post-tags .tag:hover{color:var(--orange);text-decoration:none}.blog-post-item .post-meta .post-tags .tag.active-tag{color:var(--orange);text-decoration:none}.blog-post-item .post-meta .post-tags .current-tag{display:inline-block;font-weight:bold;color:var(--orange);font-size:1rem;pointer-events:none}.blog-post-item .post-summary{margin-bottom:1rem;color:var(--text-color);line-height:1.6}.blog-post-item .read-more{display:inline-block;color:var(--primary-color);text-decoration:none;font-weight:600;transition:color .2s}.blog-post-item .read-more:hover{text-decoration:none;color:var(--orange)}.blog-post{max-width:800px;margin:0 auto;padding:2rem 1rem}.blog-post .post-header{margin-bottom:2rem}.blog-post .post-header .post-title{margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.blog-post .post-header .post-meta{color:var(--text-muted);display:flex;flex-wrap:wrap;gap:1rem;font-size:.9rem}.blog-post .post-header .post-meta .post-tags{display:flex;flex-wrap:wrap;gap:.5rem}.blog-post .post-header .post-meta .post-tags .tag{display:inline-block;padding:.2rem .5rem;background-color:var(--tag-bg);color:var(--tag-color);border-radius:3px;text-decoration:none;transition:color .2s,text-decoration .2s}.blog-post .post-header .post-meta .post-tags .tag:hover{background-color:var(--tag-bg-hover)}.blog-post .post-content{color:var(--text-color);line-height:1.8}.blog-post .post-content h1,.blog-post .post-content h2,.blog-post .post-content h3,.blog-post .post-content h4,.blog-post .post-content h5,.blog-post .post-content h6{margin-top:2rem;margin-bottom:1rem;color:var(--heading-color)}.blog-post .post-content p{margin-bottom:1.5rem}.blog-post .post-content a{color:var(--primary-color);text-decoration:none}.blog-post .post-content a:hover{color:var(--primary-color-hover)}.blog-post .post-content img{max-width:100%;height:auto;border-radius:4px;margin:1.5rem 0}.blog-post .post-content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:4px solid var(--primary-color);background-color:var(--blockquote-bg);font-style:italic}.blog-post .post-content table{width:100%;border-collapse:collapse;margin:1.5rem 0}.blog-post .post-content table th,.blog-post .post-content table td{padding:.75rem;border:1px solid var(--border-color)}.blog-post .post-content table th{background-color:var(--table-header-bg);text-align:left}.blog-post .post-content table tr:nth-child(even){background-color:var(--table-row-bg)}.blog-post .post-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.blog-post .post-footer .back-to-blog{display:inline-block;color:var(--primary-color);text-decoration:none;font-weight:600}.blog-post .post-footer .back-to-blog:hover{text-decoration:none;color:var(--orange)}.post-content{color:var(--text-color);line-height:1.8}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{margin-top:2rem;margin-bottom:1rem;color:var(--heading-color)}.post-content p{margin-bottom:1.5rem}.post-content a{color:var(--primary-color);text-decoration:none}.post-content a:hover{color:var(--primary-color-hover)}.post-content img{max-width:100%;height:auto;border-radius:4px;margin:1.5rem 0}.post-content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:4px solid var(--primary-color);background-color:var(--blockquote-bg);font-style:italic}.post-content table{width:100%;border-collapse:collapse;margin:1.5rem 0}.post-content table th,.post-content table td{padding:.75rem;border:1px solid var(--border-color)}.post-content table th{background-color:var(--table-header-bg);text-align:left}.post-content table tr:nth-child(even){background-color:var(--table-row-bg)}.post-header{margin-bottom:2rem}.post-header .post-title{margin-bottom:.5rem;font-size:2rem;font-weight:700;color:var(--yellow)}.post-header .post-meta{color:var(--text-muted);display:flex;flex-wrap:wrap;gap:1rem;font-size:.9rem}.post-header .post-meta .post-tags{display:flex;flex-wrap:wrap;gap:.5rem}.post-header .post-meta .post-tags .tag{display:inline-block;font-weight:bold;color:var(--blue);text-decoration:none;transition:color .2s}.post-header .post-meta .post-tags .tag:hover{color:var(--orange);text-decoration:none}.post-header .post-meta .post-tags .tag.active-tag{color:var(--orange);text-decoration:none}.post-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.post-footer .back-to-blog{display:inline-block;color:var(--primary-color);text-decoration:none;font-weight:600}.post-footer .back-to-blog:hover{text-decoration:none;color:var(--orange)}.terminal-output .post-content.markdown-content{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;line-height:1.6;color:var(--text-color);word-wrap:break-word;font-size:18px;padding:1rem 1.5rem;}.terminal-output .post-content.markdown-content code:not(:has(*)){padding:.2em .4em;margin:0;font-size:85%;background-color:var(--code-bg);border-radius:3px;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace}.terminal-output .post-content.markdown-content a:not(.tag){color:var(--link-color)}.terminal-output .post-content.markdown-content a:hover{color:var(--orange);text-decoration:none}.terminal-output .post-content.markdown-content .tag{color:var(--blue)}.terminal-output .post-content.markdown-content ul,.terminal-output .post-content.markdown-content ol{padding-left:2em;margin-top:0;margin-bottom:16px;list-style-position:outside}.terminal-output .post-content.markdown-content ul{list-style-type:disc}.terminal-output .post-content.markdown-content ul li::marker{font-size:1em;color:var(--text-color)}.terminal-output .post-content.markdown-content ol{list-style-type:decimal}.terminal-output .post-content.markdown-content ol li::marker{color:var(--text-color)}.terminal-output .post-content.markdown-content ul ul,.terminal-output .post-content.markdown-content ol ul{list-style-type:circle}.terminal-output .post-content.markdown-content ul ul ul,.terminal-output .post-content.markdown-content ol ul ul,.terminal-output .post-content.markdown-content ul ol ul,.terminal-output .post-content.markdown-content ol ol ul{list-style-type:square}.terminal-output .post-content.markdown-content li{margin-bottom:.25em;word-wrap:break-word;color:var(--text-color)}.terminal-output .post-content.markdown-content li>p{margin-top:16px}.terminal-output .post-content.markdown-content li+li{margin-top:.25em}.terminal-output .post-content.markdown-content h1,.terminal-output .post-content.markdown-content h2,.terminal-output .post-content.markdown-content h3,.terminal-output .post-content.markdown-content h4,.terminal-output .post-content.markdown-content h5,.terminal-output .post-content.markdown-content h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25;border-bottom:none;color:var(--heading-color)}.terminal-output .post-content.markdown-content h1{font-size:2em;padding-bottom:.3em;border-bottom:1px solid var(--border-color-light)}.terminal-output .post-content.markdown-content h2{font-size:1.5em;padding-bottom:.3em;border-bottom:1px solid var(--border-color-light)}.terminal-output .post-content.markdown-content h3{font-size:1.25em}.terminal-output .post-content.markdown-content h4{font-size:1em}.terminal-output .post-content.markdown-content h5{font-size:.875em}.terminal-output .post-content.markdown-content h6{font-size:.85em;color:var(--text-muted)}.terminal-output .post-content.markdown-content p{margin-top:0;margin-bottom:16px}.terminal-output .post-content.markdown-content strong{font-weight:600;color:var(--text-color)}.terminal-output .post-content.markdown-content a{color:var(--link-color);text-decoration:none}.terminal-output .post-content.markdown-content blockquote{margin:0 0 16px 0;padding:0 1em;color:var(--text-muted);border-left:.25em solid var(--border-color)}.terminal-output .post-content.markdown-content blockquote>:first-child{margin-top:0}.terminal-output .post-content.markdown-content blockquote>:last-child{margin-bottom:0}.terminal-output .post-content.markdown-content table{display:block;width:100%;overflow:auto;margin-top:0;margin-bottom:16px;border-spacing:0;border-collapse:collapse}.terminal-output .post-content.markdown-content table tr{background-color:var(--background-color);border-top:1px solid var(--border-color-light)}.terminal-output .post-content.markdown-content table tr:nth-child(2n){background-color:var(--table-row-bg)}.terminal-output .post-content.markdown-content table th,.terminal-output .post-content.markdown-content table td{padding:6px 13px;border:1px solid var(--border-color)}.terminal-output .post-content.markdown-content table th{font-weight:600}.terminal-output .post-content.markdown-content img{max-width:100%;box-sizing:content-box;background-color:var(--background-color)}.terminal-output .post-content.markdown-content hr{height:.25em;padding:0;margin:24px 0;background-color:var(--border-color);border:0}.terminal-output .post-content.markdown-content kbd{display:inline-block;padding:3px 5px;font:11px SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;line-height:10px;color:var(--text-color);vertical-align:middle;background-color:var(--kbd-bg);border:1px solid var(--border-color);border-radius:3px;box-shadow:inset 0 -1px 0 var(--border-color)}.terminal-output .post-content.markdown-content mjx-container{overflow-x:auto;overflow-y:hidden;max-width:100%}.taxonomy-list,.taxonomy-single{max-width:800px;margin:0 auto;padding:2rem 1rem}.taxonomy-list h1,.taxonomy-single h1{margin-bottom:2rem;font-size:2.5rem;font-weight:700}.tags-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:1rem}.tags-list li{margin-bottom:1rem}.tags-list li a.tag{display:inline-block;font-weight:bold;color:var(--blue);text-decoration:none;font-size:1rem;transition:color .2s}.tags-list li a.tag:hover{color:var(--orange);text-decoration:none}.tags-list li a.tag.active-tag{color:var(--orange);text-decoration:none}.tags-list li .count{margin-left:.5rem;color:var(--text-muted);font-size:.9rem}.current-tag{display:inline-block;font-weight:bold;color:var(--orange);font-size:1rem;pointer-events:none}.tag-title{color:var(--orange);font-weight:bold;font-size:1.6rem;margin-bottom:1.5rem}.back-link{margin-top:2rem}.back-link a{display:inline-block;color:var(--primary-color);text-decoration:none;font-weight:600;transition:color .2s}.back-link a:hover{text-decoration:none;color:var(--orange)}