:root{--bg:#06060685;--fg:#fff;--muted:#ffffff59;--border:#fff3;--dot-size:.8px;--dot-gap:22px;--gruvbox-yellow:#fabd2f;--gruvbox-aqua:#8ec07c;--gruvbox-orange:#fe8019;--gruvbox-blue:#83a598;--gruvbox-purple:#d3869b;--gruvbox-fg:#ebdbb2;--gruvbox-fg2:#d5c4a1}body[data-theme=amber]{--fg:#ffd999;--muted:#ffbf6673;--border:#ffb3474d;--gruvbox-yellow:#ffb347;--gruvbox-aqua:#e3aa58;--gruvbox-orange:#ff8f3d;--gruvbox-blue:#ffd089;--gruvbox-purple:#d6984d;--gruvbox-fg:#ffe4b6;--gruvbox-fg2:#f4c77f}body[data-theme=phosphor]{--fg:#c9ffd0;--muted:#72ff9266;--border:#66ff9947;--gruvbox-yellow:#7bff9b;--gruvbox-aqua:#50f1a5;--gruvbox-orange:#41da78;--gruvbox-blue:#78ffc8;--gruvbox-purple:#5fd6b2;--gruvbox-fg:#d8ffe2;--gruvbox-fg2:#aaffc0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:#000}body{background-color:var(--bg);color:var(--fg);cursor:default;overscroll-behavior:none;font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:JetBrains Mono,Courier New,monospace}body:before{content:"";z-index:-1;pointer-events:none;background-color:#000;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='2' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.12'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;position:fixed;inset:0}body:after{content:"";z-index:9998;pointer-events:none;background:radial-gradient(#0000 55%,#0000008c 85%,#000000d9 100%);position:fixed;inset:0}a{color:var(--fg);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}::selection{background:var(--fg);color:var(--bg)}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em}.app{flex-direction:column;min-height:100vh;display:flex}.navbar{z-index:9999;background-color:#000000eb;border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;height:56px;padding:0 2rem;display:flex;position:sticky;top:0;overflow:hidden;box-shadow:0 1px #ffffff0d,0 4px 24px #0009}.navbar:after{content:"";pointer-events:none;z-index:1;background:repeating-linear-gradient(#0000 0 2px,#00000026 2px 4px);position:absolute;inset:0}.navbar__brand,.navbar__links,.navbar__status{z-index:2;position:relative}.navbar__brand{letter-spacing:.12em;text-transform:uppercase;color:var(--gruvbox-blue);cursor:default;-webkit-user-select:none;user-select:none;font-size:1rem;font-style:italic;font-weight:700}.navbar__brand:before,.navbar__brand:after{content:attr(data-text);opacity:0;pointer-events:none;position:absolute;top:0;left:0}.navbar__brand:before{color:var(--gruvbox-orange)}.navbar__brand:after{color:var(--gruvbox-blue)}.navbar__brand:hover{color:var(--gruvbox-aqua)}.navbar__brand:hover:before{opacity:.85;animation:.4s steps(3,end) forwards glitch-top}.navbar__brand:hover:after{opacity:.85;animation:.4s steps(3,end) forwards glitch-bot}@keyframes glitch-top{0%{clip-path:inset(0 0 65%);transform:translate(-3px)}25%{clip-path:inset(15% 0 55%);transform:translate(3px)}50%{clip-path:inset(40% 0 30%);transform:translate(-2px)}75%{clip-path:inset(5% 0 80%);transform:translate(2px)}to{opacity:0;transform:translate(0)}}@keyframes glitch-bot{0%{clip-path:inset(55% 0 0);transform:translate(3px)}25%{clip-path:inset(70% 0 0);transform:translate(-3px)}50%{clip-path:inset(45% 0 10%);transform:translate(2px)}75%{clip-path:inset(80% 0 0);transform:translate(-2px)}to{opacity:0;transform:translate(0)}}.navbar__links{gap:1.75rem;list-style:none;display:flex}.navbar__links a{letter-spacing:.1em;text-transform:uppercase;color:var(--gruvbox-yellow);cursor:crosshair;font-size:.75rem;font-weight:500;transition:color .15s;position:relative}.navbar__links a:after{content:"";background:var(--gruvbox-purple);width:0;height:1px;transition:width .2s;position:absolute;bottom:-3px;left:0}.navbar__links a:hover{color:var(--gruvbox-purple);text-decoration:none}.navbar__links a:hover:after{width:100%}.navbar__links a.active{color:var(--gruvbox-orange);text-decoration:none}.navbar__links a.active:after{background:var(--gruvbox-orange);width:100%}.navbar__num{color:var(--gruvbox-orange);opacity:.45;margin-right:.1rem;font-size:.55rem;transition:opacity .15s}.navbar__links a:hover .navbar__num,.navbar__links a.active .navbar__num{opacity:1}.navbar__status{align-items:center;gap:.6rem;display:flex}.navbar__time{letter-spacing:.1em;color:var(--gruvbox-fg2);opacity:.35;font-size:.6rem}.navbar__status-sep{color:var(--border);opacity:.6;font-size:.6rem}.page{flex:1;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.page__inner{width:100%;max-width:680px}.page__tag{letter-spacing:.2em;text-transform:uppercase;color:var(--gruvbox-aqua);margin-bottom:1rem;font-size:.65rem}[data-page=home] .page__tag{color:var(--gruvbox-yellow)}[data-page=about] .page__tag{color:var(--gruvbox-aqua)}[data-page=projects] .page__tag{color:var(--gruvbox-orange)}[data-page=easter-egg] .page__tag{color:var(--gruvbox-purple)}.page__heading{letter-spacing:-.03em;color:var(--gruvbox-yellow);margin-bottom:1.5rem;font-size:clamp(2rem,6vw,3.5rem);font-weight:800;line-height:1.1}.page__body{color:var(--gruvbox-fg);max-width:480px;font-size:.875rem;line-height:1.8}.page__body p+p{margin-top:1rem}.page__divider{background:var(--border);width:40px;height:1px;margin:2rem 0}.skills{flex-direction:column;gap:1rem;margin-top:2rem;display:flex}.skills__group{grid-template-columns:90px 1fr;align-items:baseline;gap:1rem;display:grid}.skills__label{letter-spacing:.15em;text-transform:uppercase;color:var(--gruvbox-orange);white-space:nowrap;font-size:.65rem}.skills__items{color:var(--gruvbox-fg2);font-size:.875rem;line-height:1.6}.KSULogo{max-height:50px;margin-top:1.5rem;margin-bottom:1.5rem;transition:rotate .2s,scale .2s;display:block}.KSULogo:hover{rotate:5deg;scale:1.1}.project-block{border-bottom:1px solid var(--border);padding:1.5rem 0}.project-block:last-child{border-bottom:none}.project-block h2{color:var(--gruvbox-blue)}#githublogo{opacity:.6;width:24px;height:24px;margin-bottom:1rem;transition:opacity .15s}#githublogo:hover{opacity:1}.button-container{gap:.75rem;display:flex}.header-button{letter-spacing:.15em;text-transform:uppercase;color:var(--gruvbox-yellow);border:1px solid var(--gruvbox-yellow);cursor:crosshair;background:0 0;padding:.4rem 1rem;font-family:inherit;font-size:.65rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.header-button:hover{background:var(--gruvbox-yellow);color:var(--bg);border-color:var(--gruvbox-yellow)}.cursor-crosshair-zone{cursor:crosshair}.cursor-spotlight{pointer-events:none;z-index:0;background:radial-gradient(180px circle at var(--x,-9999px) var(--y,-9999px), #fabd2f0e, transparent 70%);position:fixed;inset:0}@media (hover:none){.cursor-spotlight{display:none}}@keyframes cpIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.cp-overlay{z-index:10000;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.cp-box{background:#000000eb;border:1px solid #ffffff1f;width:100%;max-width:380px;animation:.1s both cpIn;position:relative;overflow:hidden;box-shadow:0 1px #ffffff0d,0 8px 32px #000c}.cp-box:after{content:"";pointer-events:none;z-index:1;background:repeating-linear-gradient(#0000 0 2px,#00000026 2px 4px);position:absolute;inset:0}.cp-header,.cp-list,.cp-footer{z-index:2;position:relative}.cp-header{letter-spacing:.2em;text-transform:uppercase;color:var(--gruvbox-aqua);opacity:.5;border-bottom:1px solid var(--border);padding:.65rem 1rem;font-size:.6rem}.cp-list{padding:.3rem 0;list-style:none}.cp-item{cursor:crosshair;border-left:2px solid #0000;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex}.cp-item--active{border-left-color:var(--gruvbox-orange);background:#ffffff08}.cp-key{color:var(--gruvbox-orange);text-align:center;opacity:.6;min-width:18px;font-size:.6rem}.cp-item--active .cp-key{opacity:1}.cp-label{color:var(--gruvbox-fg2);font-size:.8rem}.cp-item--active .cp-label{color:var(--gruvbox-fg)}.cp-footer{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--border);padding:.55rem 1rem;font-size:.55rem}.navbar__cmd-hint{-webkit-user-select:none;user-select:none;align-items:center;gap:3px;display:flex}.navbar__cmd-hint kbd{color:var(--gruvbox-fg2);background:#ffffff0a;border:1px solid #ffffff1f;border-bottom:2px solid #ffffff14;border-radius:3px;padding:.15rem .45rem;font-family:inherit;font-size:.6rem;line-height:1;transition:color .15s,border-color .15s}.navbar__cmd-hint:hover kbd{color:var(--gruvbox-yellow);border-color:#fabd2f40 #fabd2f40 #fabd2f26}@media (width<=540px){.navbar__time,.navbar__status-sep,.navbar__cmd-hint{display:none}}.cursor{opacity:1;color:var(--gruvbox-yellow);margin-left:1px;display:inline-block}.cursor--blink{animation:1s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.route-wrap{will-change:clip-path;flex-direction:column;flex:1;min-height:0;animation:.28s forwards pageWipeIn;display:flex}.route-wrap--exit{pointer-events:none;animation:.18s forwards pageWipeOut}@keyframes pageWipeOut{0%{clip-path:inset(0)}to{clip-path:inset(100% 0 0)}}@keyframes pageWipeIn{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.page__inner>*{animation:.4s both fadeSlideUp}.page__inner>:first-child{animation-delay:0s}.page__inner>:nth-child(2){animation-delay:70ms}.page__inner>:nth-child(3){animation-delay:.14s}.page__inner>:nth-child(4){animation-delay:.21s}.page__inner>:nth-child(5){animation-delay:.28s}.page__inner>:nth-child(6){animation-delay:.35s}.dm-wrap{background:#000;border:1px solid #fabd2f1f;border-radius:6px;margin-bottom:2.5rem;padding:20px 16px 24px;position:relative;overflow:hidden}.dm-wrap:before{content:"";pointer-events:none;z-index:10;background:repeating-linear-gradient(0deg,#0000002e 0 1px,#0000 1px 4px);position:absolute;inset:0}.dm-label{color:#fabd2f33;letter-spacing:4px;text-align:center;text-transform:uppercase;margin-bottom:16px;font-size:9px}.dm-matrix{justify-content:center;gap:var(--dm-gap,2.5px);display:grid}.dm-dot{width:var(--dm-dot-size,8px);height:var(--dm-dot-size,8px);background:#1a1200;border-radius:50%}.dm-dot--on{background:#fabd2f;box-shadow:0 0 6px #fabd2f,0 0 14px #fabd2f55}@media (width<=768px){:root{--dm-dot-size:4px;--dm-gap:1.5px}.dm-dot--on{box-shadow:0 0 3px #fabd2f,0 0 7px #fabd2f55}}@media (width<=400px){:root{--dm-dot-size:3px;--dm-gap:1px}}body.is-terminal,body.is-terminal .app{height:100dvh;overflow:hidden}body.is-terminal .footer{flex-shrink:0}.terminal{scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;background:repeating-linear-gradient(#0000 0 2px,#00000026 2px 4px);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.terminal::-webkit-scrollbar{width:4px}.terminal::-webkit-scrollbar-thumb{background:#ffffff14}.terminal__body{flex-direction:column;padding:1.5rem 2rem;font-size:.78rem;line-height:1.9;display:flex}.terminal__line{white-space:pre-wrap;color:#ffffff80;align-items:baseline;gap:.6rem;display:flex}.terminal__line--output{color:#ffffff80}.terminal__line--error{color:var(--gruvbox-orange)}.terminal__line--mjj{color:#cfe4ff;text-shadow:0 0 2px #8fb6ff,0 0 8px #5a91ff,0 0 16px #5a91ffcc;white-space:pre;animation:2.7s linear infinite mjjFlicker;position:relative}.terminal__line--mjj:after{content:"";pointer-events:none;mix-blend-mode:screen;opacity:.22;background:repeating-linear-gradient(#96beff33 0 1px,#0000 1px 3px);animation:3s linear infinite mjjScan;position:absolute;inset:0}.terminal__line--xo{color:#f5f8ff;text-shadow:0 0 2px #fff,0 0 8px #e1ebfff2,0 0 16px #c8dcffcc;white-space:pre}@keyframes mjjFlicker{0%,18%,22%,58%,62%,to{opacity:1}20%,60%{opacity:.85}}@keyframes mjjScan{0%{transform:translateY(0)}to{transform:translateY(3px)}}.terminal__prompt{color:var(--gruvbox-aqua);white-space:nowrap;-webkit-user-select:none;user-select:none;flex-shrink:0}.terminal__cmd-text{color:var(--fg)}.terminal__neofetch{padding:.5rem 0}.terminal__current{margin-top:.1rem}.terminal__input-wrap{flex:1;min-width:0;position:relative}.terminal__input{color:var(--fg);font-family:inherit;font-size:inherit;line-height:inherit;caret-color:#0000;background:0 0;border:none;outline:none;flex:1;width:100%;min-width:0;padding:0}.terminal__block-caret{background:var(--gruvbox-yellow);pointer-events:none;opacity:0;width:.62ch;height:1.15em;position:absolute;top:50%;transform:translateY(-50%)}.terminal__block-caret--visible{animation:1s step-end infinite terminalBlockBlink}@keyframes terminalBlockBlink{0%,49%{opacity:.95}50%,to{opacity:0}}.kpanic{z-index:10001;cursor:pointer;background:#000;flex-direction:column;justify-content:center;padding:3rem clamp(1.5rem,6vw,5rem);display:flex;position:fixed;inset:0;overflow:auto}.kpanic__output{max-width:780px}.kpanic__line{color:#ffffff80;white-space:pre;font-size:.78rem;line-height:1.9}.kpanic__line--accent{color:var(--gruvbox-orange);font-weight:700}.kpanic__cursor{color:#ffffff80;animation:1s step-end infinite blink}.kpanic__hint{letter-spacing:.15em;text-transform:uppercase;color:var(--gruvbox-blue);margin-top:3rem;font-size:.65rem;animation:2s step-end infinite blink}.project-tags{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.project-desc{color:var(--gruvbox-fg2);max-width:520px;margin-bottom:1rem;font-size:.8rem;line-height:1.7}.project-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--gruvbox-aqua);border:1px solid #8ec07c40;padding:.15rem .5rem;font-size:.6rem}@media (width<=540px){.page{align-items:flex-start;padding:2rem 1.25rem}.navbar{padding:0 1.25rem}.navbar__links{gap:.75rem}.footer{padding:0 1.25rem}}.footer{z-index:9999;letter-spacing:.1em;text-transform:uppercase;height:56px;color:var(--gruvbox-fg2);background-color:#000000eb;border-top:1px solid #ffffff1f;justify-content:space-between;align-items:center;padding:0 2rem;font-size:.65rem;display:flex;position:sticky;bottom:0;overflow:hidden;box-shadow:0 -1px #ffffff0d,0 -4px 24px #0009}.footer:after{content:"";pointer-events:none;z-index:1;background:repeating-linear-gradient(#0000 0 2px,#00000026 2px 4px);position:absolute;inset:0}.footer>*{z-index:2;position:relative}.footer a{cursor:crosshair}
