:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#05070d;--panel:#101522;--panel-strong:#171d2b;--text:#f7fbff;--muted:#a8b3c7;--pink:#ff168c;--blue:#168fff;--line:#ffffff1f;--mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--max:1120px}*{box-sizing:border-box}html{background:var(--bg)}body{min-width:320px;color:var(--text);font-family:var(--mono);background:radial-gradient(circle at 80% 0%, #168fff1a, transparent 34rem), radial-gradient(circle at 10% 70%, #ff168c12, transparent 32rem), var(--bg);margin:0}a{color:inherit;text-decoration:none}button{font:inherit}:focus-visible{outline:2px dashed var(--blue);outline-offset:3px}p{color:var(--muted);font-size:.94rem;line-height:1.65}h1,h2,h3{margin:0;line-height:1.15}h1{max-width:none;color:var(--text);letter-spacing:-.04em;font-size:clamp(1.5rem,4vw,3rem);font-weight:700}h2{letter-spacing:-.04em;font-size:clamp(1.45rem,3vw,2.2rem)}h3{font-size:1.1rem}.app-shell{min-height:100dvh}.shell-label,.eyebrow,.directory-number,.stack,.career-date,.career-place{font-family:var(--mono)}.shell-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:600}.brand{border-bottom:1px dashed var(--blue);align-items:center;margin-bottom:1.5rem;padding:0 .5rem 1.5rem;display:flex}.brand img{width:178px;max-width:100%;height:auto;display:block}.menu-button{display:none}.shell-sidebar{z-index:30;border-right:1px dashed var(--blue);background:#090d17;flex-direction:column;width:252px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-body{flex-direction:column;flex:1;min-height:0;padding:1.6rem .75rem 1rem;display:flex;overflow-y:auto}.tree-command,.tree-root{color:var(--blue);margin:0 0 .8rem;padding:0 .5rem;font-size:.78rem;line-height:1.4}.tree-command span{color:var(--pink)}.tree-root{color:var(--text);margin-bottom:.25rem;font-size:.95rem;font-weight:900}.shell-sidebar nav{padding-left:.6rem;display:grid}.shell-sidebar nav a{min-height:48px;color:var(--muted);font-family:var(--mono);text-transform:lowercase;grid-template-columns:2.15rem 2.2rem minmax(0,1fr);align-items:center;gap:.15rem;padding:.65rem .5rem;font-size:.95rem;font-weight:800;transition:color .16s;display:grid}.shell-sidebar nav a[href^="/personal/"]{padding-left:1.25rem;font-size:.88rem}.shell-sidebar nav a:hover{color:var(--text)}.shell-sidebar nav a.router-link-active{color:var(--pink)}.tree-branch{color:var(--blue);font-size:.8rem;font-weight:400}.nav-prompt{color:var(--blue);font-size:.85rem}.nav-prompt:before{content:"[ ]"}.shell-sidebar nav a.router-link-active .nav-prompt{color:var(--pink)}.shell-sidebar nav a.router-link-active .nav-prompt:before{content:"[O]"}.sidebar-footer{border-top:1px dashed var(--line);gap:1rem;margin-top:auto;padding:1.2rem .75rem 0;display:grid}.language-row{color:var(--muted);font-family:var(--mono);justify-content:space-between;align-items:center;gap:1rem;font-size:.75rem;display:flex}.language-options{display:flex}.language-button{min-width:44px;min-height:44px;color:var(--blue);cursor:pointer;background:0 0;border:0;padding:.5rem .25rem;font-weight:700}.language-button:hover{color:var(--text)}.language-button[aria-pressed=true]{color:var(--pink)}.nav-backdrop{display:none}.shell-workspace{min-width:0;margin-left:252px}.page,.home-page{width:min(var(--max), calc(100% - 3rem));min-height:100dvh;margin:0 auto;padding:clamp(1.5rem,4vw,3.5rem) clamp(1.25rem,4vw,3rem) 4rem}.page>.section:first-child{border-top:1px dashed var(--line);padding-top:1.25rem}.page .section+.section{border-top:1px dashed var(--line);margin-top:clamp(3rem,7vw,6rem);padding-top:1.25rem}.section-head{max-width:760px;margin-bottom:2rem}.section-head>p:last-child{max-width:64ch}.eyebrow{color:var(--pink);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .9rem;font-size:.73rem;font-weight:700;line-height:1.5}.home-hero{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:1.25rem 0 clamp(2rem,5vw,3.5rem)}.home-hero h1{margin-bottom:1rem}.zsh-context{flex-wrap:wrap;gap:.75rem;margin:0 0 .6rem;font-size:.85rem;display:flex}.zsh-context span:first-child{color:var(--pink)}.zsh-context span:nth-child(2){color:var(--blue)}.zsh-prompt{color:var(--pink)}.zsh-cursor{color:var(--blue);animation:1s step-end infinite cursor-blink}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.home-intro{max-width:62ch;margin-bottom:1.2rem}.text-link{border-bottom:1px dashed var(--blue);color:var(--text);font-family:var(--mono);align-items:center;gap:.6rem;padding:.65rem 0;font-size:.83rem;font-weight:700;display:inline-flex}.text-link span{color:var(--pink)}.text-link:hover{color:var(--blue)}.split{grid-template-columns:1fr;gap:2rem;display:grid}.split>div{max-width:760px}.split>.panel{border-top:1px dashed var(--line);padding-top:1.25rem}.about-intro{max-width:760px}.grid{border-top:1px dashed var(--line);grid-template-columns:1fr;display:grid}.card{border-bottom:1px dashed var(--line);padding:1.5rem 0}.card h2{color:var(--blue);letter-spacing:-.02em;font-size:1.35rem}.card p:last-child{margin-bottom:0}.stack{color:var(--blue);font-size:.83rem;font-weight:700}.project-links{margin-top:1rem}.portfolio-more a{color:var(--blue);text-underline-offset:.2em;font-weight:700;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.portfolio-more a:hover{color:var(--pink)}.actions{flex-wrap:wrap;gap:.6rem;margin-top:1.25rem;display:flex}.actions a{border:1px dashed var(--line);min-height:42px;color:var(--blue);font-family:var(--mono);background:0 0;align-items:center;padding:.65rem .85rem;font-size:.76rem;font-weight:700;display:inline-flex}.actions a:hover{border-color:var(--pink);color:var(--pink)}.home-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.home-actions a{justify-content:space-between;gap:1rem;min-height:80px;padding:1.25rem;font-size:1rem}.career-timeline{max-width:900px;margin:0;padding:0;list-style:none}.career-item{padding:0 0 2rem 2rem;position:relative}.career-item:before{border:2px dashed var(--pink);background:var(--bg);content:"";border-radius:50%;width:.65rem;height:.65rem;position:absolute;top:.35rem;left:0}.career-item:after{border-left:1px dashed var(--line);content:"";width:0;position:absolute;top:1rem;bottom:0;left:.3rem}.career-item:last-child:after{display:none}.career-item-secondary{color:var(--muted);padding-left:3rem;font-size:.9rem}.career-item-secondary:before{border-color:var(--line);width:.45rem;height:.45rem;left:1rem}.career-item-secondary .career-date{color:var(--muted)}.career-secondary-place{font-weight:600}.career-note{color:var(--muted);margin-top:.5rem;font-size:.9rem}.career-item p{margin:.25rem 0}.career-date,.career-place{color:var(--blue);font-size:.78rem;font-weight:700}.career-date{margin-bottom:.35rem!important}.career-place{align-items:center;gap:.75rem;width:fit-content;max-width:100%;margin:.4rem 0;display:flex}.career-place:hover{color:var(--pink)}.career-logo-frame{background:#fff;border-radius:2px;flex:0 0 110px;justify-content:center;align-items:center;width:110px;height:54px;padding:5px;display:flex}.career-logo-frame-dark{background:var(--bg)}.career-logo{object-fit:contain;max-width:100%;max-height:100%;display:block}.career-item p:last-child{margin-top:.65rem}.homelab-map{grid-template-columns:minmax(180px,.8fr) minmax(0,2.4fr) minmax(180px,.8fr);align-items:start;gap:1rem;display:grid}.homelab-perimeter{border:1px dashed var(--blue);background:#090d17bd;align-content:start;gap:.8rem;min-width:0;padding:1rem;display:grid}.homelab-perimeter-title,.homelab-group>h4{color:var(--blue);text-align:center;text-transform:uppercase;margin:0;font-size:.85rem}.homelab-device,.homelab-group{border:1px dashed var(--line);background:#101522b8;min-width:0}.homelab-device{text-align:center;align-content:start;justify-items:center;gap:.3rem;padding:.85rem;display:grid}.homelab-device-type,.homelab-device-os{margin:0;font-size:.76rem}.homelab-device-type{color:var(--pink);text-transform:uppercase;font-weight:700}.homelab-device-os{color:var(--text)}.homelab-icon{fill:none;width:48px;height:40px;stroke:var(--blue);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.homelab-cloud-icon{width:56px;height:42px}.homelab-vps .homelab-icon{stroke:var(--pink)}.homelab-network-core,.homelab-cluster{justify-items:center;display:grid}.homelab-network-core>.homelab-device{border-color:var(--blue);min-width:190px}.homelab-network-core:after{border-left:1px dashed var(--blue);content:"";width:0;height:1rem}.homelab-wire{border-left:1px dashed var(--blue);width:0;height:22px;display:block}.homelab-groups{grid-template-columns:1fr 1fr;gap:1rem;display:grid;position:relative}.homelab-groups:before{border-top:1px dashed var(--blue);content:"";width:50%;position:absolute;top:-1rem;left:25%}.homelab-groups:after{border-left:1px dashed var(--blue);content:"";height:1rem;position:absolute;top:-1rem;left:50%}.homelab-group{border-color:var(--line);align-content:start;justify-items:center;gap:.65rem;padding:.85rem;display:grid;position:relative}.homelab-group:before{border-left:1px dashed var(--blue);content:"";height:1rem;position:absolute;top:-1rem;left:50%}.homelab-devices{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;width:100%;display:grid}.homelab-node-list{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.wip-status{border-left:2px dashed var(--pink);padding-left:1rem}.coach-video{border:1px dashed var(--line);background:#000;width:100%;display:block}.contact-panel{border-top:1px dashed var(--line);max-width:760px;margin-top:clamp(2rem,5vw,4rem);padding:1.5rem 0 0}.contact-panel h2{font-size:1.5rem}.contact-panel .actions{margin-top:1rem}.social-actions{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:1rem;display:grid}.social-actions a{gap:1rem;min-height:88px;padding:1.25rem;font-size:1rem}.social-icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 28px;width:28px;height:28px}.reveal{opacity:0;transition:opacity .42s,transform .42s;transform:translateY(12px)}.reveal.is-visible{opacity:1;transform:none}.page-enter-active,.page-leave-active{transition:opacity .15s}.page-enter-from,.page-leave-to{opacity:0}@media (width<=1100px){.homelab-map{grid-template-columns:1fr}}@media (width<=900px){.shell-sidebar{width:224px}.shell-workspace{margin-left:224px}}@media (width<=700px){body:has(.shell-sidebar.open){overflow:hidden}.shell-sidebar{background:var(--panel);width:min(86vw,340px);display:none;inset:0 auto 0 0}.shell-sidebar.open{display:flex}.menu-button{z-index:40;border:1px dashed var(--blue);background:var(--bg);min-width:44px;min-height:44px;color:var(--text);cursor:pointer;padding:.5rem;display:block;position:fixed;top:.75rem;right:1rem}.menu-button[aria-expanded=true]{border-color:var(--blue)}.sidebar-body{padding-top:1.3rem}.nav-backdrop{z-index:20;cursor:default;background:#0009;border:0;width:100%;display:block;position:fixed;inset:0}.shell-workspace{margin-left:0;padding-top:4.5rem}.page,.home-page{width:100%;min-height:calc(100dvh - 4.5rem);padding:1.25rem 1rem 3rem}.home-hero{padding-bottom:2rem}.home-hero h1{font-size:clamp(1.5rem,6vw,2.5rem)}.home-actions{grid-template-columns:1fr}.homelab-groups{grid-template-columns:1fr;gap:1rem;margin-left:.5rem}.homelab-groups:before{border-top:0;width:0;left:50%}.homelab-devices{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.zsh-cursor{animation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important}.reveal{opacity:1;transform:none}}.typewriter-text{display:grid;position:relative}span.typewriter-text{max-width:100%;display:inline-grid}.typewriter-source,.typewriter-output{grid-area:1/1;min-width:0}.typewriter-text.is-typing>.typewriter-source{opacity:0}.typewriter-output{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.typewriter-source::selection{color:var(--text);background:var(--blue)}
