code[class*=language-],pre[class*=language-]{color:#ccc;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;tab-size:4;-webkit-hyphens:none;hyphens:none;background:0 0;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;line-height:1.5}pre[class*=language-]{margin:.5em 0;padding:1em;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{white-space:normal;border-radius:.3em;padding:.1em}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}
:root{--color-bg:#060806;--color-surface:#0a0e0a;--color-surface-raised:#0d110d;--color-border:#1e2e1e;--color-border-bright:#2a4a2a;--color-text:#84e678;--color-text-dim:#689b65;--color-text-ghost:#3e663b;--color-green:#3af818;--color-green-glow:#04fa42;--color-amber:#e0a51c;--color-red:#f44;--color-blue:#16a2ff;--color-orange:#e47046;--color-orange-bg:#e4704612;--color-orange-border:#e4704640;--color-orange-text:#e7c1b3}body{background-color:var(--color-bg);color:var(--color-text);text-align:center;font-family:var(--font-jetbrains,"JetBrains Mono","Courier New",monospace);margin:0;padding-top:56px;line-height:1.7}a{color:var(--color-green);font-family:var(--font-jetbrains,"JetBrains Mono","Courier New",monospace);text-decoration:none}a:hover{color:var(--color-text)}a:visited{color:#2a8c20}code,pre,kbd,samp{font-family:var(--font-jetbrains,"JetBrains Mono",Consolas,"Liberation Mono",Menlo,monospace)}pre[class*=language-]{border:1px solid var(--color-green);background:#020402;border-radius:0;margin:1.5rem 0;padding:2.6rem 1.25rem 1.25rem;position:relative;overflow-x:auto;box-shadow:0 0 16px #39ff1424,0 0 40px #39ff140d}pre[class*=language-]:before{content:"──[ code ]──";background:var(--color-surface);border-bottom:1px solid var(--color-green);font-size:.72rem;font-family:var(--font-jetbrains,monospace);color:var(--color-text-dim);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;padding:.35rem .75rem;display:block;position:absolute;top:0;left:0;right:0;overflow:hidden}pre.language-javascript:before,pre.language-jsx:before{content:"──[ javascript ]──"}pre.language-typescript:before,pre.language-tsx:before{content:"──[ typescript ]──"}pre.language-bash:before,pre.language-sh:before,pre.language-shell:before,pre.language-zsh:before{content:"──[ bash ]──"}pre.language-python:before,pre.language-py:before{content:"──[ python ]──"}pre.language-css:before{content:"──[ css ]──"}pre.language-html:before,pre.language-markup:before{content:"──[ html ]──"}pre.language-json:before{content:"──[ json ]──"}pre.language-markdown:before,pre.language-md:before{content:"──[ markdown ]──"}pre.language-yaml:before,pre.language-yml:before{content:"──[ yaml ]──"}pre.language-sql:before{content:"──[ sql ]──"}pre.language-php:before{content:"──[ php ]──"}pre.language-go:before{content:"──[ go ]──"}pre.language-rust:before{content:"──[ rust ]──"}pre.language-text:before,pre.language-txt:before{content:"──[ text ]──"}code[class*=language-]{font-family:var(--font-jetbrains,"JetBrains Mono",monospace);box-shadow:none;color:var(--color-text);background:0 0;font-size:12px}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#4e8048;font-style:italic}.token.punctuation{color:var(--color-text-dim)}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol{color:#00e5ff}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin{color:#f4e842}.token.operator,.token.entity,.token.url,.token.variable,.token.inserted{color:#a8e040}.token.atrule,.token.attr-value,.token.keyword{color:#ff79c6}.token.regex,.token.important{color:#ffb86c}.token.deleted{color:#f55}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}:not(pre)>code{background:var(--color-surface);border:1px solid var(--color-border);color:#f4e842;font-family:var(--font-jetbrains,monospace);padding:.1em .4em;font-size:.88em}hr{background:0 0;border:none;width:100%;height:1.5rem;margin:40px auto;position:relative;overflow:visible}hr:after{content:"●   ●   ●";color:var(--color-green);white-space:nowrap;text-shadow:0 0 8px var(--color-green-glow),0 0 18px #00ff4166;font-size:1.1rem;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%)translateY(-50%)}h1{color:var(--color-green);font-family:var(--font-jetbrains,"JetBrains Mono",monospace);letter-spacing:-.02em;text-shadow:0 0 8px var(--color-green-glow),0 0 20px #00ff4140;font-size:2.5rem;font-weight:700;line-height:1.1}h2{font-family:var(--font-jetbrains,"JetBrains Mono",monospace);color:var(--color-green);letter-spacing:-.01em;text-shadow:0 0 6px var(--color-green-glow),0 0 16px #00ff4133;font-size:1.75rem;font-weight:600;line-height:1.1}h3{font-family:var(--font-jetbrains,"JetBrains Mono",monospace);color:var(--color-green);margin-bottom:10px;font-size:1.25rem;font-weight:600;line-height:1.2}.blog-layout{box-sizing:border-box;justify-content:center;align-items:flex-start;gap:1.25rem;width:100%;max-width:1650px;margin:0 auto;padding:2rem 3rem;display:flex}.blog-content{flex:auto;min-width:0;max-width:1130px}.blog-sidebar-wrap{flex:0 0 300px;width:300px;margin-left:0}.blog-sidebar{text-align:left;border:1px solid var(--color-border);background:var(--color-surface);border-radius:0;padding:1.25rem;position:sticky;top:90px}.blog-sidebar-title{margin:0 0 .75rem;font-size:1.1rem}.blog-sidebar-group{margin-top:1.25rem}.blog-sidebar-section{color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--color-border);margin:.5rem 0 .35rem;padding-bottom:.2rem;font-size:.72rem}.blog-sidebar-category{font-family:var(--font-jetbrains,monospace);color:var(--color-green);font-size:1rem;font-weight:600;display:inline-block}.blog-sidebar-link{color:var(--color-text-dim);margin:.35rem 0;font-size:.88rem;display:inline-block}.blog-sidebar-link:before{content:"── ";color:var(--color-border-bright)}.blog-sidebar-link:visited{color:var(--color-text-dim)}.blog-sidebar-link:hover{color:var(--color-green)}.blog-sidebar-posts{margin:0;padding:.35rem 0 0;list-style:none}.blog-sidebar-posts li{margin:.15rem 0}.blog-sidebar-subcats{margin:0;padding:.25rem 0 0 .75rem;list-style:none}.blog-sidebar-subcats li{margin:.15rem 0}.blog-page{text-align:left;padding:2rem}.blog-page-title{margin:.25rem 0 1.25rem}.blog-article{box-sizing:border-box;width:100%;overflow-x:hidden}.blog-article img,.blog-article video,.blog-article iframe{max-width:100%;height:auto}.blog-article pre,.blog-article pre[class*=language-]{box-sizing:border-box;white-space:pre-wrap;word-break:break-all;overflow-wrap:break-word;max-width:100%;overflow-x:hidden}.blog-article pre code,.blog-article pre code[class*=language-]{white-space:pre-wrap;word-break:break-all;overflow-wrap:break-word}.blog-article hr{width:10%}blockquote{border-left:3px solid var(--color-green);box-shadow:none;color:var(--color-text-dim);background:#39ff140a;border-radius:0;margin:2rem 0;padding:2rem 1.5rem 2rem 5rem;font-size:1rem;position:relative}blockquote:before{content:"“";color:var(--color-green);opacity:.35;pointer-events:none;font-family:Georgia,serif;font-size:4rem;line-height:1;position:absolute;top:-.1rem;left:.5rem}blockquote p{margin:0}blockquote p+p{margin-top:.85rem}blockquote cite{color:var(--color-text-ghost);margin-top:.9rem;font-size:.85rem;font-style:normal;display:block}blockquote cite:before{content:"— "}.blog-post-list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.blog-post-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:0;padding:1.25rem 1.25rem 1.1rem;transition:border-color .1s,background .1s}.blog-post-card:hover{border-color:var(--color-border-bright);background:var(--color-surface-raised)}.blog-post-card-row{align-items:flex-start;gap:1.25rem;display:flex}.blog-post-card-main{flex:auto;min-width:0}.blog-post-thumb-wrap{flex:0 0 200px;width:200px}.blog-post-thumb{object-fit:cover;border:3px solid var(--color-text-dim);background:var(--color-surface);border-radius:0;width:200px;height:200px;display:block}.blog-post-thumb-placeholder{background:var(--color-surface-raised)}.blog-post-card-head{margin-bottom:.55rem;display:flex}.blog-post-title{font-family:var(--font-jetbrains,monospace);color:var(--color-green);font-size:1.3rem;font-weight:700;line-height:1.3}.blog-post-title:visited{color:var(--color-green)}.blog-post-date{color:var(--color-text-ghost);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .85rem;font-size:.75rem;font-style:normal}.blog-post-meta{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-dim);margin:0 0 .2rem;font-size:.72rem}.blog-post-description{color:var(--color-text);margin:0}.blog-post-readmore{color:var(--color-green);letter-spacing:.05em;margin-top:.9rem;font-size:.85rem;font-weight:600;display:inline-block}.blog-post-readmore:before{content:"[ "}.blog-post-readmore:after{content:" ↗ ]"}.blog-post-readmore:hover,.blog-post-readmore:visited:hover{color:var(--color-text)}.blog-post-readmore:visited{color:var(--color-green)}@keyframes boot-fade-in{0%{opacity:0}to{opacity:1}}@keyframes boot-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes phosphor-flicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.96}94%{opacity:1}96%{opacity:.98}}.hero-boot{background:var(--color-bg);flex-direction:column;justify-content:flex-start;align-items:center;padding:5rem 8% 3rem;animation:6s ease-in-out infinite phosphor-flicker;display:flex;position:relative;overflow:hidden}.hero-arrow{color:var(--color-green);text-shadow:0 0 16px var(--color-green-glow),0 0 40px #00ff414d;opacity:0;z-index:1;margin-top:2rem;font-size:3rem;line-height:1;animation:.3s 5s forwards boot-fade-in,1.6s ease-in-out 5.5s infinite hero-arrow-bounce}@keyframes hero-arrow-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.hero-boot:after{content:"";pointer-events:none;background:repeating-linear-gradient(#0000,#0000 2px,#0000000a 2px 4px);position:absolute;inset:0}.boot-sequence{font-family:var(--font-jetbrains,"JetBrains Mono","Courier New",monospace);text-align:left;z-index:1;border:1px solid var(--color-green);background:#020402;width:100%;max-width:860px;padding:3rem 2rem 2rem;position:relative;box-shadow:0 0 20px #39ff1429,0 0 60px #39ff140f}.boot-sequence:before{content:"──[ TERMINAL ]──";background:var(--color-surface);border-bottom:1px solid var(--color-green);font-size:.72rem;font-family:var(--font-jetbrains,monospace);color:var(--color-text-dim);letter-spacing:.1em;white-space:nowrap;padding:.35rem .75rem;display:block;position:absolute;top:0;left:0;right:0;overflow:hidden}.boot-line{opacity:0;color:var(--color-text-dim);margin:.25rem 0;font-size:.95rem;line-height:1.6;animation:.15s forwards boot-fade-in}.boot-line-name{color:var(--color-green);letter-spacing:-.02em;text-shadow:0 0 8px var(--color-green-glow),0 0 24px #00ff4166;margin:.6rem 0;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.1}.boot-line-green{color:var(--color-text)}.boot-line-ready{color:var(--color-green);margin-top:10px;font-weight:600}.boot-cursor:after{content:"█";color:var(--color-green);margin-left:10px;animation:1s step-start infinite boot-cursor-blink}.boot-ctas{opacity:0;flex-wrap:wrap;gap:1rem;margin-top:4rem;animation:.3s forwards boot-fade-in;display:flex}.btn-terminal{border:1px solid var(--color-green);color:var(--color-green);font-family:var(--font-jetbrains,"JetBrains Mono",monospace);letter-spacing:.1em;text-transform:uppercase;background:0 0;padding:10px 24px;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .1s,color .1s;display:inline-block}.btn-terminal:before{content:"[ "}.btn-terminal:after{content:" ]"}.btn-terminal:hover,.btn-terminal:visited:hover{background:var(--color-green);color:var(--color-bg);text-decoration:none}.btn-terminal:visited{color:var(--color-green)}.btn-terminal-sec{border-color:var(--color-border-bright);color:var(--color-text)}.btn-terminal-sec:visited{color:var(--color-text)}.btn-terminal-sec:hover,.btn-terminal-sec:visited:hover{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}.boot-d1{animation-delay:.3s}.boot-d2{animation-delay:.9s}.boot-d3{animation-delay:1.5s}.boot-d4{animation-delay:2.1s}.boot-d5{animation-delay:2.7s}.boot-d6{animation-delay:3.3s}.boot-d7{animation-delay:4s}.boot-d8{animation-delay:4.6s}@media (prefers-reduced-motion:reduce){.hero-boot{animation:none}.boot-line,.boot-ctas,.boot-cursor:after,.hero-arrow{opacity:1;animation:none}}@media (max-width:640px){.hero-boot{padding:4rem 4% 2rem}.boot-sequence{padding:2.5rem 1rem 1.5rem}.boot-line-name{font-size:1.75rem}}.middle-container{margin-top:140px}.skill-row,.profile{text-align:left;width:50%;margin:80px auto;line-height:2}.skill-img{float:left;filter:grayscale()sepia()hue-rotate(60deg)saturate(350%)brightness(.72);margin-right:30px}.skill-img2{float:right;filter:grayscale()sepia()hue-rotate(60deg)saturate(350%)brightness(.72);margin-left:30px}.table-date{color:var(--color-text-dim);min-width:100px;padding-right:20px}.btn{border:1px solid var(--color-green);font-family:var(--font-jetbrains,"JetBrains Mono",monospace);letter-spacing:.1em;text-transform:uppercase;background:0 0;border-radius:0;padding:12px 32px;font-size:1rem;font-weight:600;text-decoration:none;transition:background .1s,color .1s;display:inline-block;color:var(--color-green)!important}.btn:before{content:"[ "}.btn:after{content:" ]"}.btn:hover{background:var(--color-green);text-decoration:none;color:var(--color-bg)!important}.site-nav{z-index:1000;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);height:56px;box-shadow:none;justify-content:space-between;align-items:center;padding:0 2rem;display:flex;position:fixed;top:0;left:0;right:0}.nav-links{gap:1rem;display:flex}.site-nav .brand{align-items:center;gap:0;margin-right:1rem;text-decoration:none;display:inline-flex}.brand-icon{filter:grayscale()sepia()hue-rotate(60deg)saturate(350%)brightness(.85);width:32px;height:32px}.brand-name{color:var(--color-green);font-family:var(--font-jetbrains,"JetBrains Mono",monospace);text-shadow:0 0 8px var(--color-green-glow),0 0 20px #00ff414d;font-size:1.25rem;font-weight:700}.brand-name:after{content:"█";color:var(--color-green);vertical-align:baseline;margin-left:2px;font-size:.55em;line-height:1;animation:1s step-start infinite boot-cursor-blink;display:inline-block}.site-nav .brand:visited,.site-nav .brand:hover,.site-nav .brand:visited:hover{color:inherit}.nav-links a{color:var(--color-text);font-family:var(--font-jetbrains,"JetBrains Mono",monospace);letter-spacing:.12em;text-transform:uppercase;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .1s}.nav-links a:visited{color:var(--color-text)}.nav-links a:hover,.nav-links a:visited:hover,.nav-links a.active,.nav-links a.active:visited{color:var(--color-green)}.nav-links a:before{content:"[";color:var(--color-border-bright)}.nav-links a:after{content:"]";color:var(--color-border-bright)}.hamburger{border:1px solid var(--color-border);background:var(--color-surface-raised);cursor:pointer;border-radius:0;width:40px;height:40px;display:none;position:relative}.hamburger-icon{color:var(--color-text);transition:transform .2s ease-in-out}.hamburger:hover .hamburger-icon,.hamburger[aria-expanded=true] .hamburger-icon{color:var(--color-green)}.hamburger-icon.open{transform:rotate(90deg)}.mobile-menu{background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:none;padding:1rem 2rem;display:none;position:fixed;top:56px;left:0;right:0}.mobile-menu a{color:var(--color-text);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--color-border);padding:.75rem 0;font-size:.95rem;display:block}.mobile-menu a:before{content:"> ";color:var(--color-green)}.mobile-menu a:visited{color:var(--color-text)}.mobile-menu a:hover,.mobile-menu a.active,.mobile-menu a.active:visited{color:var(--color-green)}.mobile-menu.show{display:block}.site-footer{background-color:var(--color-surface);text-align:center;border-top:1px solid var(--color-border);margin-top:70px;padding:38px 24px}.site-footer p{color:var(--color-text-ghost);margin:0;font-size:.82rem}.site-footer a,.footer-link{color:var(--color-text-dim);justify-content:center;align-items:center;gap:6px;margin:0 14px;text-decoration:none;transition:color .1s;display:inline-flex}.site-footer a:visited,.footer-link:visited{color:var(--color-text-dim)}.site-footer a:hover,.footer-link:hover{color:var(--color-green)}.footer-icon{width:22px;height:22px}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.copyright{color:var(--color-text-ghost);padding:20px 0;font-size:.75rem}.cheatsheet-page{background-color:var(--color-bg);flex-direction:column;align-items:center;min-height:100vh;padding:2rem;display:flex}.cheatsheet-title{color:var(--color-green);text-align:center;margin:.25rem 0 .5rem}.cheatsheet-window{border:1px solid var(--color-green);width:100%;max-width:900px;margin-top:1.5rem;margin-bottom:2rem;box-shadow:0 0 16px #39ff142e,0 0 40px #39ff1412}.cheatsheet-window-bar{background:var(--color-surface);border-bottom:1px solid var(--color-green);font-family:var(--font-jetbrains,monospace);color:var(--color-text-dim);letter-spacing:.12em;text-transform:uppercase;text-align:left;padding:.4rem 1rem;font-size:.72rem}.cheatsheet-window-bar:before{content:"──[ ";color:var(--color-border-bright)}.cheatsheet-window-bar:after{content:" ]──";color:var(--color-border-bright)}.cheatsheet-grid{justify-content:center;gap:0;width:100%;margin:0;display:flex}.cheatsheet-column{flex:1;padding:1.5rem 2.5rem}.cheatsheet-column:first-child{border-right:1px solid var(--color-green)}.cheatsheet-column h3{text-shadow:none;margin:.4rem 0;font-size:1rem;font-weight:500}.cheatsheet-column a{color:var(--color-text);font-family:var(--font-jetbrains,"JetBrains Mono",monospace);font-size:.95rem;font-weight:500;text-decoration:none;transition:color .1s}.cheatsheet-column a:before{content:"── ";color:var(--color-border-bright);font-size:.8rem}.cheatsheet-column a:visited{color:var(--color-text-dim)}.cheatsheet-column a:hover{color:var(--color-green)}.cheatsheet-cursor{font-family:var(--font-jetbrains,monospace);color:var(--color-green);text-align:left;margin:.4rem 0 0;font-size:1rem}.cheatsheet-cursor:before{content:"> ";color:var(--color-text-dim)}.cheatsheet-cursor:after{content:"_";animation:1s step-start infinite boot-cursor-blink}.hobbies-page{background-color:var(--color-bg);flex-direction:column;min-height:100vh;padding:2rem;display:flex}.hobbies-header{text-align:center;margin-bottom:2rem}.hobbies-title{color:var(--color-green);font-size:2.5rem;font-family:var(--font-jetbrains,"JetBrains Mono",monospace);text-shadow:0 0 8px var(--color-green-glow),0 0 20px #00ff4140;margin:0}.hobbies-subtitle{color:var(--color-text-dim);font-size:1.1rem;font-family:var(--font-jetbrains,monospace);margin:-10px 0 0}.hobbies-container{align-items:flex-start;gap:2rem;display:flex}.hobbies-gallery{flex:2;min-width:0}.gallery-mosaic{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.gallery-item{object-fit:cover;border:1px solid var(--color-border);width:100%;height:200px;box-shadow:none;filter:grayscale()sepia()hue-rotate(60deg)saturate(350%)brightness(.72);border-radius:0;transition:filter .15s,border-color .15s}.gallery-item-button{cursor:pointer;background:0 0;border:none;padding:0;display:block}.gallery-item-button:hover .gallery-item{filter:grayscale()sepia()hue-rotate(60deg)saturate(500%)brightness(.9);border-color:var(--color-border-bright)}.hobbies-list{flex:1;min-width:0}.hobbies-list-items{color:var(--color-text-dim);text-align:right;font-size:1rem;line-height:1.8rem;font-family:var(--font-jetbrains,monospace);margin:0;padding:0;list-style-type:none}.hobbies-list-items li{margin-bottom:.5rem}.hobbies-list-items li:after{content:" ──";color:var(--color-border-bright)}.modal-overlay{z-index:9999;background-color:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{justify-content:center;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative}.modal-image{border:1px solid var(--color-border-bright);border-radius:0;width:auto;max-width:100%;height:auto;max-height:100%}.modal-close{color:var(--color-text-dim);cursor:pointer;width:40px;height:40px;font-size:1.5rem;font-family:var(--font-jetbrains,monospace);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .1s;display:flex;position:absolute;top:-40px;right:0}.modal-close:hover{color:var(--color-green)}.terminal-panel{border:1px solid var(--color-green);background:#020402;width:min(1120px,100%);margin-top:2rem;box-shadow:0 0 16px #39ff1424,0 0 40px #39ff140d}.terminal-panel--compact{width:100%;margin:1.5rem 0}.terminal-panel-bar{background:var(--color-surface);border-bottom:1px solid var(--color-green);color:var(--color-text-dim);font-family:var(--font-jetbrains,monospace);letter-spacing:.1em;text-transform:uppercase;text-align:left;padding:.35rem .75rem;font-size:.72rem}.terminal-panel-bar:before{content:"──[ ";color:var(--color-border-bright)}.terminal-panel-bar:after{content:" ]──";color:var(--color-border-bright)}.terminal-form{box-sizing:border-box;flex-direction:column;gap:1rem;width:100%;max-width:1120px;margin-top:0;padding:1.5rem;display:flex}.terminal-form-inline{box-sizing:border-box;flex-wrap:wrap;align-items:stretch;gap:.5rem;width:100%;margin-top:0;padding:1.25rem 1.5rem;display:flex}.terminal-field{flex-direction:column;gap:.3rem;width:100%;display:flex}.terminal-label{color:var(--color-text-dim);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-family:var(--font-jetbrains,monospace);display:block}.terminal-label:before{content:"$ ";color:var(--color-green)}.terminal-input{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-jetbrains,"JetBrains Mono",monospace);box-sizing:border-box;border-radius:0;outline:none;width:100%;padding:.55rem .75rem;font-size:.9rem;transition:border-color .1s,box-shadow .1s}.terminal-input:focus{border-color:var(--color-green);box-shadow:0 0 0 1px var(--color-green)}.terminal-input::placeholder{color:var(--color-text-ghost)}.terminal-input:disabled{opacity:.45;cursor:not-allowed}textarea.terminal-input{resize:vertical;min-height:130px}.terminal-submit{border:1px solid var(--color-green);color:var(--color-green);font-family:var(--font-jetbrains,"JetBrains Mono",monospace);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:0 0;border-radius:0;padding:.55rem 1.25rem;font-size:.82rem;font-weight:600;transition:background .1s,color .1s;display:inline-block}.terminal-submit:before{content:"[ "}.terminal-submit:after{content:" ]"}.terminal-submit:hover:not(:disabled){background:var(--color-green);color:var(--color-bg)}.terminal-submit:disabled{opacity:.5;cursor:not-allowed}.terminal-submit--success{border-color:var(--color-text-dim);color:var(--color-text-dim)}.terminal-msg{font-size:.82rem;font-family:var(--font-jetbrains,monospace);margin:.25rem 0 0}.terminal-msg--success{color:var(--color-green)}.terminal-msg--success:before{content:"> "}.terminal-msg--error{color:var(--color-red)}.terminal-msg--error:before{content:"! "}@media (max-width:1024px){.nav-links{display:none}.hamburger{display:inline-block}.brand-name{font-size:.85rem}body{padding-top:56px}.skill-row,.profile{width:90%;margin:24px auto}.skill-img,.skill-img2{float:none;margin:0 0 16px;display:block}.brand-icon{width:28px;height:28px}.blog-layout{flex-direction:column;padding:1.5rem}.blog-sidebar-wrap{flex:auto;width:100%;margin-left:0}.blog-sidebar{position:static}.blog-page{padding:1.25rem .5rem .5rem}.blog-post-title{font-size:1.1rem}.hobbies-container{flex-direction:column;gap:2rem}.hobbies-gallery,.hobbies-list{flex:1}.hobbies-list-items{text-align:left}.hobbies-list-items li:after{display:none}.hobbies-list-items li:before{content:"── ";color:var(--color-border-bright)}}@media (max-width:900px){.blog-post-card-row{flex-direction:column}.blog-post-thumb-wrap{flex:auto;width:100%}.blog-post-thumb{width:100%;height:auto;max-height:260px}.cheatsheet-grid{gap:2rem}}@media (max-width:720px){.cheatsheet-grid{flex-direction:column;align-items:center}.cheatsheet-column{text-align:center}.hobbies-title{font-size:1.75rem}.hobbies-subtitle{font-size:.95rem}.gallery-mosaic{grid-template-columns:repeat(2,1fr)}.gallery-item{height:150px}}.legal-page{flex-direction:column;align-items:center;min-height:100vh;padding:3rem 2rem 4rem;display:flex}.legal-window{border:1px solid var(--color-green);background:#020402;width:100%;max-width:780px;padding:3rem 2.5rem 2.5rem;position:relative;box-shadow:0 0 16px #39ff1424,0 0 40px #39ff140d}.legal-window-bar{background:var(--color-surface);border-bottom:1px solid var(--color-green);font-size:.72rem;font-family:var(--font-jetbrains,monospace);color:var(--color-text-dim);letter-spacing:.1em;text-transform:uppercase;padding:.35rem .75rem;position:absolute;top:0;left:0;right:0}.legal-window-bar:before{content:"──[ ";color:var(--color-border-bright)}.legal-window-bar:after{content:" ]──";color:var(--color-border-bright)}.legal-window h1{margin-top:0}.legal-window h2{margin-top:2rem}.legal-meta{color:var(--color-text-ghost);margin:-.5rem 0 1.5rem;font-size:.8rem}.not-found-page{flex-direction:column;justify-content:flex-start;align-items:center;min-height:100vh;padding:125px 2rem 2rem;display:flex}.error-window{border:1px solid var(--color-green);width:100%;max-width:600px;padding:1.5rem 2rem 2rem;box-shadow:0 0 16px #39ff142e,0 0 40px #39ff1412}.error-window-bar{background:var(--color-surface);border-bottom:1px solid var(--color-green);color:var(--color-text-dim);letter-spacing:.1em;text-transform:uppercase;margin:-1.5rem -2rem 1.5rem;padding:.35rem .75rem;font-size:.75rem}.error-window-bar:before{content:"──[ ";color:var(--color-border-bright)}.error-window-bar:after{content:" ]──";color:var(--color-border-bright)}.error-title{color:var(--color-red);text-shadow:0 0 8px #ff444480;letter-spacing:.06em;margin-bottom:1.25rem;font-size:1.3rem;font-weight:700}.error-line{margin-bottom:.5rem;font-size:.95rem}.error-cmd{color:var(--color-green);margin-right:.5rem}.error-out{color:var(--color-text-ghost);margin-bottom:1rem;font-size:.9rem}.error-cursor{background:var(--color-green);vertical-align:middle;width:.55em;height:1em;animation:1s step-end infinite boot-cursor-blink;display:inline-block}.post-list-page{max-width:1000px;margin:0 auto;padding:2rem}.post-list-meta{color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .25rem;font-size:.85rem}.post-list-date{color:var(--color-text-dim);font-size:.9rem}.post-list-item{list-style:none}.post-list-link{color:var(--color-text);font-size:1.2rem;font-weight:600;text-decoration:none;transition:color .1s}.post-list-link:hover{color:var(--color-green)}.post-list-link:visited{color:var(--color-text-dim)}.blog-article-meta{color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;font-size:.85rem}.blog-article-date{color:var(--color-text-dim);margin-bottom:.5rem;font-size:.9rem}.draft-banner{color:var(--color-amber);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;font-size:.85rem;font-weight:700}@media (max-width:640px){.skill-img,.skill-img2{object-fit:cover;width:180px;height:180px}.hero-boot{padding:4rem 4% 2rem}.boot-sequence{padding:2.5rem 1rem 1.5rem}.boot-line-name{font-size:1.75rem}.blog-article pre,pre[class*=language-],code[class*=language-]{padding:.75rem .9rem;font-size:12px}}.btn-orange{border:1px solid var(--color-orange-border);color:var(--color-orange);background:var(--color-orange-bg);font-family:var(--font-jetbrains,"JetBrains Mono",monospace);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border-radius:0;padding:.55rem 1.25rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:background .1s,color .1s,border-color .1s;display:inline-block}.btn-orange:before{content:"[ "}.btn-orange:after{content:" ]"}.btn-orange:hover{background:var(--color-orange);border-color:var(--color-orange);color:var(--color-bg)}.highlight-orange{background:var(--color-orange-bg);border:1px solid var(--color-orange-border);color:var(--color-orange-text);padding:.15em .4em}.text-orange{color:var(--color-orange-text)}.border-orange{border-color:var(--color-orange-border)}a.link-orange{color:var(--color-orange-text);text-decoration:underline;-webkit-text-decoration-color:var(--color-orange);text-decoration-color:var(--color-orange);text-underline-offset:1px;transition:color .1s}a.link-orange:hover{color:var(--color-orange)}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.690580e8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.303a03d6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0b4edfe7.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.bff0868b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.719084df.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.102b7f24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.690580e8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.303a03d6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0b4edfe7.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.bff0868b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.719084df.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.102b7f24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/04c5164763c40239-s.690580e8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/26f284dcc38c84c0-s.303a03d6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7e7f32a39836f228-s.0b4edfe7.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa39153a3fc630ba-s.bff0868b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6a5386fd6038edbe-s.719084df.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/051742360c26797e-s.p.102b7f24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/04c5164763c40239-s.690580e8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.303a03d6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.0b4edfe7.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.bff0868b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.719084df.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/051742360c26797e-s.p.102b7f24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_84221b24-module__Gp-jUq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_84221b24-module__Gp-jUq__variable{--font-jetbrains:"JetBrains Mono","JetBrains Mono Fallback"}
