@import url("https://fonts.googleapis.com/css2?family=Press+Start+2P&family=IBM+Plex+Mono:wght@400;500;600&display=swap");:root,[data-theme=green]{--crt-color:#00ff00;--crt-rgb:0,255,0;--crt-dim:#00cc00}[data-theme=amber]{--crt-color:#ffb000;--crt-rgb:255,176,0;--crt-dim:#cc8c00}[data-theme=blue]{--crt-color:#33ccff;--crt-rgb:51,204,255;--crt-dim:#1a9fd6}html{height:100vh;height:100dvh}body,html{width:100%;padding:0;margin:0}body{min-height:100%;font-family:Press Start\ 2P,monospace;background-color:#000000;color:var(--crt-color);image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}body.terminal-active{overflow:hidden}#__next{min-height:100%;width:100%;position:relative}*{box-sizing:border-box}a{text-decoration:none}a,a:hover{color:var(--crt-color)}a:hover{text-decoration:underline;text-shadow:0 0 10px var(--crt-color)}.console-container{background-color:#000000;color:var(--crt-color);font-family:Press Start\ 2P,monospace;font-size:12px;line-height:1.8;border:3px solid var(--crt-color);box-shadow:0 0 20px rgba(var(--crt-rgb),.5),inset 0 0 20px rgba(var(--crt-rgb),.1),inset 0 0 80px rgba(var(--crt-rgb),.03),0 0 40px rgba(var(--crt-rgb),.15);border-radius:8px;height:100%;width:100%;padding:8px;overflow:hidden;display:flex;flex-direction:column;position:absolute;top:0;left:0;right:0;bottom:0;scrollbar-width:thin;scrollbar-color:var(--crt-color) #000000}.console-container:before{background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(var(--crt-rgb),.015) 2px,rgba(var(--crt-rgb),.015) 4px);animation:scanlineScroll 8s linear infinite;opacity:.6}.console-container:after,.console-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.console-container:after{background:radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.3) 100%)}.console-container>*{position:relative;z-index:2}@keyframes scanlineScroll{0%{transform:translateY(0)}to{transform:translateY(4px)}}@keyframes flicker{0%,to{opacity:1}3%{opacity:.97}6%{opacity:1}9%{opacity:.98}12%{opacity:1}92%{opacity:1}93%{opacity:.96}94%{opacity:1}97%{opacity:.97}98%{opacity:1}}.boot-sequence,.console-container{animation:flicker 4s ease-in-out infinite}.boot-sequence{position:absolute;inset:0;background:#000000;color:var(--crt-color);font-family:Press Start\ 2P,monospace;font-size:11px;line-height:1.9;padding:24px;display:flex;flex-direction:column;justify-content:flex-start;text-shadow:0 0 6px var(--crt-color);outline:none;cursor:pointer}.boot-line{animation:hackFadeIn .12s ease-in}.boot-skip-hint{position:absolute;bottom:16px;right:16px;font-size:7px;opacity:.5}@media (max-width:768px){.boot-sequence{font-size:8px;padding:16px}}.console-header{color:var(--crt-color);font-weight:400;border-bottom:2px solid var(--crt-color);padding-bottom:5px;padding-top:5px;text-shadow:0 0 10px var(--crt-color),0 0 20px var(--crt-color),0 0 30px var(--crt-color);box-shadow:0 5px 15px rgba(var(--crt-rgb),.3);flex-shrink:0;position:relative;z-index:100;animation:headerGlow 2s ease-in-out infinite alternate}@keyframes headerGlow{0%{text-shadow:0 0 10px var(--crt-color),0 0 20px var(--crt-color),0 0 30px var(--crt-color);box-shadow:0 5px 15px rgba(var(--crt-rgb),.3)}to{text-shadow:0 0 15px var(--crt-color),0 0 25px var(--crt-color),0 0 35px var(--crt-color),0 0 45px var(--crt-color);box-shadow:0 5px 20px rgba(var(--crt-rgb),.5)}}.header-bar{display:flex;justify-content:space-between;align-items:center;margin-top:10px;position:relative;gap:8px}.header-version{color:var(--crt-color);opacity:.9;text-shadow:0 0 5px var(--crt-color),0 0 10px var(--crt-color),0 0 15px var(--crt-color)}.header-controls{display:flex;align-items:center;gap:8px}.header-action{background:transparent;border:2px solid var(--crt-color);color:var(--crt-color);font-family:Press Start\ 2P,monospace;font-size:8px;padding:5px 8px;cursor:pointer;text-shadow:0 0 5px var(--crt-color);box-shadow:0 0 8px rgba(var(--crt-rgb),.4);transition:all .2s ease;white-space:nowrap}.header-action:hover{background-color:rgba(var(--crt-rgb),.12);box-shadow:0 0 14px rgba(var(--crt-rgb),.8)}.theme-swatches{display:flex;gap:4px;align-items:center}.theme-swatch{width:14px;height:14px;border:1px solid rgba(255,255,255,.4);border-radius:50%;cursor:pointer;padding:0;transition:all .15s ease}.theme-swatch.active{border-color:#ffffff;box-shadow:0 0 8px currentColor;transform:scale(1.2)}.header-hint{color:var(--crt-color);margin-top:5px;opacity:.7;text-shadow:0 0 5px var(--crt-color),0 0 10px var(--crt-color)}.ascii-art{text-shadow:0 0 10px var(--crt-color),0 0 20px var(--crt-color),0 0 30px var(--crt-color);white-space:pre;margin:5px 0}.ascii-art,.help-button{font-family:Press Start\ 2P,monospace;color:var(--crt-color)}.help-button{background:transparent;border:2px solid var(--crt-color);cursor:pointer;text-shadow:0 0 5px var(--crt-color),0 0 10px var(--crt-color);box-shadow:0 0 10px rgba(var(--crt-rgb),.5);transition:all .2s ease;position:relative;z-index:1000}.help-button:hover{background-color:rgba(var(--crt-rgb),.1);box-shadow:0 0 15px rgba(var(--crt-rgb),.8)}.help-popup{position:absolute;top:100%;right:0;margin-top:10px;background-color:#000000;border:3px solid var(--crt-color);max-height:70vh;overflow-y:auto;z-index:10001;box-shadow:0 0 20px rgba(var(--crt-rgb),.8),inset 0 0 20px rgba(var(--crt-rgb),.1);font-family:Press Start\ 2P,monospace;line-height:1.6;color:var(--crt-color);text-shadow:0 0 5px var(--crt-color)}.help-popup-title{border-bottom:2px solid var(--crt-color);padding-bottom:8px;margin-bottom:10px;font-weight:700}.help-popup-close{position:absolute;top:5px;right:5px;background:transparent;border:1px solid var(--crt-color);color:var(--crt-color);font-family:Press Start\ 2P,monospace;font-size:8px;padding:2px 6px;cursor:pointer;text-shadow:0 0 5px var(--crt-color)}.help-popup-close:hover{background-color:rgba(var(--crt-rgb),.2)}.console-content{flex:1 1;overflow-y:auto;overflow-x:hidden;margin-bottom:5px;padding-right:5px;-webkit-overflow-scrolling:touch;min-height:0;scroll-behavior:smooth}.console-content::-webkit-scrollbar{width:10px}.console-content::-webkit-scrollbar-track{background:#000000;border:1px solid rgba(var(--crt-rgb),.3)}.console-content::-webkit-scrollbar-thumb{background:var(--crt-color);border:1px solid #000000;box-shadow:0 0 5px var(--crt-color)}.console-content::-webkit-scrollbar-thumb:hover{background:var(--crt-dim);box-shadow:0 0 10px var(--crt-color)}.command-block{margin-bottom:10px}.command-line{display:flex;align-items:center;margin:5px 0;padding:8px 0;background-color:rgba(0,0,0,.4);border:1px solid transparent;transition:all .2s}.command-line:hover{background-color:rgba(var(--crt-rgb),.05);border-color:rgba(var(--crt-rgb),.3)}.prompt-text{color:var(--crt-color);font-weight:400;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-shadow:0 0 4px var(--crt-color),0 0 8px rgba(var(--crt-rgb),.6);font-size:12px}.command-text{color:var(--crt-color);margin-left:10px;text-shadow:0 0 4px var(--crt-color),0 0 8px var(--crt-color),0 0 12px rgba(var(--crt-rgb),.5)}.output-box{color:var(--crt-color);white-space:pre-wrap;background-color:#000000;padding:15px;border:2px solid var(--crt-color);margin:10px 0 10px 20px;box-shadow:0 0 15px rgba(var(--crt-rgb),.5),inset 0 0 10px rgba(var(--crt-rgb),.1);text-shadow:0 0 4px var(--crt-color),0 0 8px var(--crt-color),0 0 12px rgba(var(--crt-rgb),.6);letter-spacing:.5px;animation:phosphorAppear .3s ease-out}@keyframes phosphorAppear{0%{text-shadow:0 0 8px var(--crt-color),0 0 16px var(--crt-color),0 0 24px rgba(var(--crt-rgb),.8);filter:brightness(1.3)}to{text-shadow:0 0 4px var(--crt-color),0 0 8px var(--crt-color),0 0 12px rgba(var(--crt-rgb),.6);filter:brightness(1)}}.typing-cursor{color:var(--crt-color);font-weight:700;animation:cursorBlink 1s ease-in-out infinite;text-shadow:0 0 5px var(--crt-color)}@keyframes cursorBlink{0%,40%{opacity:1}50%{opacity:0}90%,to{opacity:1}}.console-link{color:var(--crt-color);text-decoration:underline;text-shadow:0 0 5px var(--crt-color),0 0 10px var(--crt-color);cursor:pointer;transition:all .2s ease}.console-link:hover{color:var(--crt-dim);text-shadow:0 0 10px var(--crt-color),0 0 20px var(--crt-color)}.clickable-command{background:transparent;border:none;color:var(--crt-color);font-family:Press Start\ 2P,monospace;font-size:inherit;text-decoration:underline;text-shadow:0 0 5px var(--crt-color),0 0 10px var(--crt-color);cursor:pointer;padding:0 2px;margin:0;transition:all .2s ease}.clickable-command:hover{color:var(--crt-dim);text-shadow:0 0 10px var(--crt-color),0 0 20px var(--crt-color)}.clickable-file{background:transparent;border:none;color:var(--crt-color);font-family:Press Start\ 2P,monospace;font-size:12px;cursor:pointer;text-decoration:underline;text-shadow:0 0 5px var(--crt-color),0 0 10px var(--crt-color);padding:2px 4px;margin:0;transition:all .2s ease}.clickable-file:hover{color:var(--crt-dim);text-shadow:0 0 10px var(--crt-color),0 0 20px var(--crt-color)}.file-icon-inline{color:var(--crt-color);text-shadow:0 0 5px var(--crt-color)}.console-input-form{flex-shrink:0;padding-top:5px;z-index:100;width:100%;box-sizing:border-box}.console-input-form,.input-line{position:relative;background-color:#000000}.input-line{display:flex;align-items:center;margin:2px 0;padding:8px 0;border:1px solid transparent;transition:all .2s}.input-wrapper{position:relative;flex:1 1;margin-left:10px}.command-input{background:rgba(0,0,0,.8);border:2px solid var(--crt-color);color:var(--crt-color);font-family:Press Start\ 2P,monospace;font-size:12px;outline:none;width:100%;caret-color:var(--crt-color);text-shadow:0 0 5px var(--crt-color),0 0 10px var(--crt-color);box-shadow:0 0 10px rgba(var(--crt-rgb),.3),inset 0 0 10px rgba(var(--crt-rgb),.1);padding:5px 10px;position:relative;z-index:2;-webkit-appearance:none;border-radius:0}.command-input::placeholder{color:var(--crt-color);opacity:.7;text-shadow:0 0 3px var(--crt-color)}.command-input:focus{border-color:var(--crt-color);box-shadow:0 0 15px rgba(var(--crt-rgb),.5),inset 0 0 15px rgba(var(--crt-rgb),.2)}.command-input:hover{border-color:var(--crt-color);box-shadow:0 0 12px rgba(var(--crt-rgb),.4),inset 0 0 12px rgba(var(--crt-rgb),.15)}.autocomplete-ghost{position:absolute;top:5px;left:10px;color:var(--crt-color);font-family:Press Start\ 2P,monospace;font-size:12px;opacity:.7;pointer-events:none;white-space:pre;text-shadow:0 0 5px var(--crt-color),0 0 10px var(--crt-color),0 0 15px rgba(var(--crt-rgb),.5);z-index:1}@keyframes hackFadeIn{0%{opacity:0}to{opacity:1}}.console-header:after,.console-header:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:0}.console-header:before{animation:glitchFlash 8s ease-in-out infinite;background:rgba(0,255,255,.03);transform:translateX(-2px)}.console-header:after{animation:glitchFlash 8s ease-in-out .5s infinite;background:rgba(255,0,255,.03);transform:translateX(2px)}@keyframes glitchFlash{0%,93%,to{opacity:0}94%{opacity:1;transform:translateX(-3px) skewX(-1deg)}95%{opacity:0}96%{opacity:1;transform:translateX(3px) skewX(1deg)}97%{opacity:0}}.readable{font-family:IBM Plex Mono,Press Start\ 2P,monospace;color:#d8ffd8;background:#050805;max-width:880px;margin:0 auto;padding:48px 24px 96px;line-height:1.65;font-size:16px}.readable a{color:var(--crt-color);text-decoration:underline;text-underline-offset:2px}.readable a:hover{text-shadow:0 0 8px var(--crt-color)}.readable-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:32px;flex-wrap:wrap}.readable-launch{background:transparent;border:2px solid var(--crt-color);color:var(--crt-color);font-family:IBM Plex Mono,monospace;font-weight:600;font-size:14px;padding:8px 14px;cursor:pointer;border-radius:4px;transition:all .2s ease}.readable-launch:hover{background:rgba(var(--crt-rgb),.12);box-shadow:0 0 14px rgba(var(--crt-rgb),.5)}.readable h1{font-family:Press Start\ 2P,monospace;font-size:22px;line-height:1.4;color:var(--crt-color);margin:0 0 8px;text-shadow:0 0 12px rgba(var(--crt-rgb),.5)}.readable .readable-tagline{font-size:15px;color:#9fdf9f;margin:0 0 4px}.readable .readable-location{font-size:13px;color:#6fae6f;margin:0}.readable h2{font-family:Press Start\ 2P,monospace;font-size:14px;color:var(--crt-color);margin:40px 0 16px;padding-bottom:8px;border-bottom:1px solid rgba(var(--crt-rgb),.3)}.readable h3{font-size:17px;color:#eaffea;margin:0 0 4px}.readable p{margin:0 0 14px}.readable section{margin-bottom:8px}.readable .project{margin:0 0 22px;padding-left:14px;border-left:2px solid rgba(var(--crt-rgb),.35)}.readable .project-meta{font-size:13px;color:#7fbf7f;margin:0 0 6px}.readable .tag{display:inline-block;font-size:12px;color:#050805;background:var(--crt-color);border-radius:3px;padding:1px 7px;margin-left:8px;vertical-align:middle;font-weight:600}.readable ul{margin:0 0 14px;padding-left:20px}.readable li{margin-bottom:6px}.readable .skill-group{margin-bottom:14px}.readable .skill-group strong{color:var(--crt-color)}.readable .readable-footer{margin-top:48px;padding-top:16px;border-top:1px solid rgba(var(--crt-rgb),.3);font-size:13px;color:#6fae6f}@media (max-width:768px){.readable{font-size:15px;padding:28px 16px 72px}.readable h1{font-size:17px}.readable h2{font-size:12px}.console-container{padding:max(env(safe-area-inset-top,0px),5px) max(env(safe-area-inset-right,0px),5px) 0 max(env(safe-area-inset-left,0px),5px);font-size:10px;border-radius:4px}.console-content{padding-bottom:10px}.console-input-form{padding:8px 5px max(env(safe-area-inset-bottom,0px),8px);border-top:2px solid rgba(var(--crt-rgb),.8)}.input-wrapper{margin-left:5px}.input-line{padding:5px 0}.output-box{margin-left:10px;padding:8px}.header-bar{margin-top:3px;flex-wrap:wrap}.header-action{font-size:10px;padding:4px 6px}.header-hint{margin-top:2px}}@media (prefers-reduced-motion:reduce){.boot-sequence,.console-container,.console-header,.typing-cursor{animation:none}}