html,body{scrollbar-width:thin;scrollbar-color:var(--zinc-700)transparent;-ms-overflow-style:auto}html{scroll-behavior:smooth;scrollbar-gutter:stable}html::-webkit-scrollbar{width:8px;height:8px}body::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar{width:8px;height:8px}html::-webkit-scrollbar-thumb{background:var(--zinc-700);border-radius:999px}body::-webkit-scrollbar-thumb{background:var(--zinc-700);border-radius:999px}::-webkit-scrollbar-thumb{background:var(--zinc-700);border-radius:999px}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--expo-out:linear(0 0%,.1684 2.66%,.3165 5.49%,.446 8.52%,.5581 11.78%,.6535 15.29%,.7341 19.11%,.8011 23.3%,.8557 27.93%,.8962 32.68%,.9283 38.01%,.9529 44.08%,.9711 51.14%,.9833 59.06%,.9915 68.74%,1 100%);--zinc-50:#fafafa;--zinc-950:#000;--zinc-900:#000;--zinc-800:#151515;--zinc-700:#2a2a2d;--zinc-600:#46464c;--zinc-500:#77777f;--zinc-400:#a1a1aa;--zinc-300:#d4d4d8;--zinc-200:#e4e4e7;--zinc-100:#f4f4f5;--font-jetbrains:"JetBrains Mono",monospace;--font-geist:"Geist",sans-serif;--font-doto:"Doto",sans-serif;--bg-secondary:#000;--border:var(--zinc-800);--text-muted:var(--zinc-500);--surface-low:#0000006b;--surface-card:#050506a8;--surface-card-hover:#0c0c0ed1;--surface-panel:#08080a94;--surface-panel-strong:#060607e6;--surface-hover:#ffffff0b;--terminal-bg:#000;--soft-border:#ffffff1a;--image-border:#ffffff12;--grid-line:#ffffff0e;--scanline-a:#12101000;--scanline-b:#00000040;--scanline-r:#ff00000f;--scanline-g:#00ff0005;--scanline-bc:#0000ff0f;--pattern-line:#ffffff1f;--shadow-soft:#000000a8;--fallback-gradient-start:#000000fa;--fallback-gradient-end:#0c0c0ed6;--theme-toggle-bg:#000000c7;--theme-toggle-hover:#09090af5;--theme-wave-light:#f5f1e8;--theme-wave-dark:#000}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--zinc-50:#050505;--zinc-950:#fffdf8;--zinc-900:#f5f1e8;--zinc-800:#ddd5c7;--zinc-700:#c5b9a6;--zinc-600:#9b8f7c;--zinc-500:#6f675b;--zinc-400:#4c463d;--zinc-300:#34312c;--zinc-200:#24221f;--zinc-100:#151412;--bg-secondary:#f1eadf;--border:#d8ccba;--text-muted:#6f675b;--surface-low:#fffdf87a;--surface-card:#fffdf89e;--surface-card-hover:#fffdf8e6;--surface-panel:#fffdf88f;--surface-panel-strong:#fffdf8e0;--surface-hover:#ded5c78c;--terminal-bg:#fffaf1;--soft-border:#1514121a;--image-border:#15141214;--grid-line:#1514120f;--scanline-a:#fff0;--scanline-b:#5d503d14;--scanline-r:#a3651908;--scanline-g:#15141205;--scanline-bc:#35415a08;--pattern-line:#6f675b2e;--shadow-soft:#52432c21;--fallback-gradient-start:#fffdf8fa;--fallback-gradient-end:#e8decfc7;--theme-toggle-bg:#fffdf8d1;--theme-toggle-hover:#fffdf8fa;--theme-wave-light:#f5f1e8;--theme-wave-dark:#18181b}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;color:var(--zinc-100);background-color:var(--zinc-900);font-family:var(--font-geist);overscroll-behavior-y:contain;text-rendering:optimizeLegibility;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-jetbrains);letter-spacing:-.02em}a{color:inherit;text-decoration:none}button{font-family:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=link]:focus-visible{outline:2px solid var(--zinc-300);outline-offset:3px}::selection{background-color:var(--zinc-200);color:var(--zinc-900)}.app-shell{opacity:1;transition:opacity .42s ease-out}.app-shell-hidden{opacity:0;pointer-events:none}.scanlines{pointer-events:none;z-index:40;opacity:.03;background:linear-gradient(var(--scanline-a)50%,var(--scanline-b)50%),linear-gradient(90deg,var(--scanline-r),var(--scanline-g),var(--scanline-bc));background-size:100% 2px,3px 100%;position:fixed;inset:0}.side-pattern{background-color:var(--zinc-900);border-style:dashed;border-color:var(--soft-border);z-index:12;pointer-events:none;width:32px;height:100%;display:none;position:fixed;top:0;bottom:0;overflow:hidden}.side-pattern.left{border-right-width:1px;left:0}.side-pattern.right{border-left-width:1px;right:0}.side-pattern-inner{pointer-events:none;opacity:.5;background-image:repeating-linear-gradient(315deg,var(--pattern-line)0px,var(--pattern-line)1px,transparent 1px,transparent 10px);position:absolute;inset:0}@media (min-width:768px){.side-pattern{display:flex}}.main-wrapper{z-index:10;background:var(--zinc-900);justify-content:center;align-items:flex-start;min-height:100vh;padding:0 18px 96px;display:flex;position:relative}.skip-link{z-index:10000;border:1px solid var(--soft-border);background:var(--surface-panel-strong);color:var(--zinc-100);font-family:var(--font-jetbrains);letter-spacing:.08em;text-transform:uppercase;border-radius:8px;padding:10px 12px;font-size:.72rem;transition:transform .2s;position:fixed;top:18px;left:18px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.theme-toggle-button{z-index:60;border:1px solid var(--soft-border);background:var(--theme-toggle-bg);color:var(--zinc-300);font-family:var(--font-jetbrains);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 30px var(--shadow-soft);border-radius:999px;align-items:center;gap:8px;padding:9px 12px;font-size:.68rem;transition:color .2s,border-color .2s,background .2s,transform .2s;display:inline-flex;position:fixed;top:18px;right:20px}.theme-toggle-button:hover{color:var(--zinc-100);border-color:var(--zinc-500);background:var(--theme-toggle-hover);transform:translateY(-1px)}::view-transition-group(root){animation-timing-function:var(--expo-out)}::view-transition-old(root){z-index:-1;animation:none}::view-transition-new(root){animation:.7s both view-transition-wave}@keyframes view-transition-wave{0%{clip-path:circle(0 at var(--vt-x,50%)var(--vt-y,50%))}to{clip-path:circle(var(--vt-r,150%)at var(--vt-x,50%)var(--vt-y,50%))}}.theme-wave{left:var(--wave-x);top:var(--wave-y);width:var(--wave-size);height:var(--wave-size);pointer-events:none;z-index:9998;animation:theme-wave-spread .7s var(--expo-out)forwards;border-radius:9999px;position:fixed;transform:translate(-50%,-50%)scale(0)}.theme-wave-light{background:var(--theme-wave-light)}.theme-wave-dark{background:var(--theme-wave-dark)}@keyframes theme-wave-spread{0%{opacity:1;transform:translate(-50%,-50%)scale(0)}78%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}@media (max-width:639px){.theme-toggle-button{padding:8px 10px;font-size:.6rem;top:12px;right:12px}}@media (min-width:1024px){.main-wrapper{padding:0 32px 32px}}@media (min-width:640px) and (max-width:1023px){.main-wrapper{padding-bottom:calc(132px + env(safe-area-inset-bottom,0px))}}.main-content{width:100%;max-width:740px}@media (min-width:900px){.main-content.main-content-wide{max-width:1060px}}.content-border{--content-padding-x:14px;--content-padding-top:44px;border-left:1px dashed var(--soft-border);border-right:1px dashed var(--soft-border);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--zinc-100)2%,transparent)50%,transparent),var(--zinc-900);min-height:85vh;padding:44px 14px;position:relative}.page-loader{min-height:40vh;color:var(--zinc-500);font-family:var(--font-jetbrains);letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;font-size:.72rem;display:flex}.page-loader span{border:1px dashed var(--zinc-800);background:var(--surface-low);border-radius:8px;padding:10px 12px}.page-transition{animation:.22s ease-out both page-enter}@keyframes page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translate(0,0)}}.github-contributions-placeholder{min-height:248px}@media (max-width:639px){.github-contributions-placeholder{min-height:204px}}@media (min-width:640px){.content-border{--content-padding-x:28px;--content-padding-top:48px;padding:48px 28px}}@media (min-width:1180px){.content-border{--content-padding-x:32px;--content-padding-top:48px;padding-left:32px;padding-right:32px}}@media (max-width:639px){.main-wrapper{padding:0 10px calc(148px + env(safe-area-inset-bottom,0px))}.content-border{--content-padding-x:14px;--content-padding-top:30px;min-height:auto;padding:30px 14px}.section-header{flex-wrap:wrap;gap:8px 12px}}.dot-matrix{text-transform:uppercase;letter-spacing:-.05em;font-family:Doto,sans-serif;font-size:4rem;font-weight:900;line-height:1}@media (min-width:640px){.dot-matrix{font-size:5rem}}.section-header{font-family:var(--font-jetbrains);color:var(--zinc-200);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px dashed var(--zinc-800);justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:14px;font-size:clamp(.92rem,1.25vw,1.05rem);font-weight:800;display:flex}.section-header>span:first-child{color:var(--zinc-100)}@media (max-width:639px){.section-header{letter-spacing:.05em;align-items:flex-start;margin-bottom:22px;padding-bottom:12px;font-size:.84rem}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.animate-blink{animation:1.06s infinite blink}.footer-text{text-align:center;width:100%;font-size:10px;font-family:var(--font-jetbrains);color:var(--zinc-700);padding:24px 0}.scroll-hidden{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(20px)}.scroll-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.sidebar{z-index:50;background:0 0;border-radius:12px;flex-direction:column;align-items:center;gap:16px;padding:4px;display:none;position:fixed;top:50%;left:min(100vw - 78px,50% + 404px);transform:translateY(-50%)}@media (min-width:1024px){.sidebar{display:flex}}@media (min-width:1280px){.sidebar.sidebar-wide{left:min(100vw - 78px,50% + 558px)}}.sidebar-logo{background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;transition:opacity .2s;display:flex;overflow:hidden}.sidebar-logo:hover{opacity:.8}.sidebar-logo-img{object-fit:cover;border-radius:8px;width:100%;height:100%}.sidebar-nav{flex-direction:column;gap:13px;display:flex}.sidebar-nav-item{width:30px;height:30px;color:var(--zinc-600);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:15px;transition:all .3s;display:flex;position:relative}.sidebar-nav-item:hover{color:var(--zinc-300)}.sidebar-nav-item.active{color:var(--zinc-100)}.sidebar-nav-item .corner{border-color:#0000;width:6px;height:6px;transition:border-color .3s;position:absolute}.sidebar-nav-item .corner.tl{border-top:1px solid;border-left:1px solid;top:0;left:0}.sidebar-nav-item .corner.tr{border-top:1px solid;border-right:1px solid;top:0;right:0}.sidebar-nav-item .corner.bl{border-bottom:1px solid;border-left:1px solid;bottom:0;left:0}.sidebar-nav-item .corner.br{border-bottom:1px solid;border-right:1px solid;bottom:0;right:0}.sidebar-nav-item:hover .corner{border-color:var(--zinc-600)}.sidebar-nav-item.active .corner{border-color:var(--zinc-400)}.mobile-nav{left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:50;pointer-events:none;display:flex;position:fixed;transform:translate(-50%)}@media (min-width:1024px){.mobile-nav{display:none}}.mobile-nav-inner{pointer-events:auto;background:color-mix(in srgb,var(--zinc-900)70%,transparent);-webkit-backdrop-filter:blur(18px)saturate(140%);border:1px solid color-mix(in srgb,var(--zinc-100)10%,transparent);height:58px;box-shadow:0 10px 30px #00000073,0 2px 6px #0000004d,inset 0 1px 0 color-mix(in srgb,var(--zinc-100)8%,transparent);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:flex}.mobile-nav-item{width:42px;height:42px;color:var(--zinc-400);background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;font-size:17px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background-color .2s,color .2s;display:flex;position:relative}.mobile-nav-item:active{transform:scale(.9)}.mobile-nav-item:hover{color:var(--zinc-100);transform:translateY(-2px)}.mobile-nav-item.active{color:var(--zinc-100);background:color-mix(in srgb,var(--zinc-100)12%,transparent)}.mobile-nav-item .icon-wrap{justify-content:center;align-items:center;display:flex}.mobile-nav-item .nav-label{display:none}@media (max-width:380px){.mobile-nav-inner{gap:2px;height:54px;padding:0 8px}.mobile-nav-item{width:38px;height:38px;font-size:16px}}.section-index{z-index:46;width:130px;color:var(--zinc-600);text-align:right;pointer-events:auto;display:none;position:fixed;top:calc(50% - 148px);right:calc(50% + 382px)}.section-index-title{font-family:var(--font-jetbrains);letter-spacing:.12em;text-transform:uppercase;color:var(--zinc-500);margin-bottom:16px;font-size:.62rem;font-weight:600;display:block}.section-index-nav{gap:15px;display:grid}.section-index-link{min-height:18px;font-family:var(--font-geist);color:var(--zinc-600);justify-content:flex-end;align-items:center;padding-right:18px;font-size:.74rem;font-weight:500;transition:color .2s,transform .2s;display:inline-flex;position:relative}.section-index-link:after{content:"";background:var(--zinc-700);transform-origin:100%;width:9px;height:1px;transition:transform .2s,background-color .2s;position:absolute;top:50%;right:0;transform:translateY(-50%)scaleX(0)}.section-index-link:hover{color:var(--zinc-300)}.section-index-link.active{color:var(--zinc-100);font-weight:600}.section-index-link.active:after{background:var(--zinc-300);transform:translateY(-50%)scaleX(1)}@media (min-width:1180px){.section-index{display:block}}@media (min-width:1440px){.section-index{right:calc(50% + 384px)}}.custom-cursor{z-index:9999;pointer-events:none;opacity:0;mix-blend-mode:difference;contain:layout style paint;will-change:transform;background-color:#fff;border-radius:50%;width:16px;height:16px;transition:width .18s cubic-bezier(.16,1,.3,1),height .18s cubic-bezier(.16,1,.3,1),opacity .16s ease-out;position:fixed;top:0;left:0;transform:translate(-120px,-120px)}.custom-cursor[data-visible=true]{opacity:1}.custom-cursor[data-hover=true]{width:32px;height:32px}.boot-screen{background-color:var(--zinc-950);z-index:9999;box-sizing:border-box;width:100vw;height:100vh;padding:24px;transition:opacity .8s ease-out;position:fixed;top:0;left:0;overflow:hidden}.boot-screen.fade-out{opacity:0;pointer-events:none}.boot-content{font-family:var(--font-jetbrains),monospace;color:var(--zinc-300);max-width:800px;margin:0 auto;font-size:.9rem;line-height:1.6}.boot-line{white-space:pre-wrap;word-wrap:break-word;margin:4px 0}.boot-status{color:#34d399;font-weight:700}.boot-status.warn{color:#fbbf24}.boot-cursor{background-color:var(--zinc-300);vertical-align:middle;width:10px;height:1.2em;margin-left:4px;animation:1s step-end infinite blink;display:inline-block}.matrix-canvas{z-index:0;pointer-events:none;opacity:.15;contain:strict;width:100vw;height:100vh;position:fixed;top:0;left:0;transform:translateZ(0)}:root[data-theme=light] .matrix-canvas{opacity:.08;filter:contrast(.72)sepia(.14);mix-blend-mode:multiply}
