:root{--bg-hard: #1d2021;--bg: #282828;--bg-soft: #32302f;--bg1: #3c3836;--bg2: #504945;--fg: #ebdbb2;--fg-dim: #a89984;--red: #fb4934;--green: #b8bb26;--yellow: #fabd2f;--blue: #83a598;--purple: #d3869b;--aqua: #8ec07c;--orange: #fe8019}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{background:var(--bg-hard);color:var(--fg);font-family:JetBrains Mono,monospace;min-height:100vh;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15),rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px);pointer-events:none;z-index:1000}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.3) 100%);pointer-events:none;z-index:999}.noise{position:fixed;top:0;left:0;width:100%;height:100%;opacity:.03;pointer-events:none;z-index:998;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23noise)'/%3E%3C/svg%3E")}.container{max-width:900px;margin:0 auto;padding:clamp(.5rem,4vw,2rem);position:relative;z-index:1}.terminal-wrapper{position:relative}.terminal-tab{position:absolute;right:-2.5rem;top:8rem;background:var(--bg1);border:1px solid var(--bg2);border-left:none;padding:.75rem .5rem;writing-mode:vertical-rl;text-orientation:mixed;font-size:.75rem;color:var(--fg-dim);border-radius:0 4px 4px 0;cursor:pointer;opacity:.7;transition:all .2s ease;text-transform:uppercase;letter-spacing:.1em}.terminal-tab:hover{opacity:1;color:var(--aqua);border-color:var(--aqua)}@keyframes shake{0%,to{transform:translate(0)}10%{transform:translate(-10px) rotate(-1deg)}20%{transform:translate(10px) rotate(1deg)}30%{transform:translate(-10px) rotate(-1deg)}40%{transform:translate(10px) rotate(1deg)}50%{transform:translate(-5px) rotate(-.5deg)}60%{transform:translate(5px) rotate(.5deg)}70%{transform:translate(-5px)}80%{transform:translate(5px)}90%{transform:translate(-2px)}}body.shake{animation:shake .5s ease-in-out}.wip-overlay{position:fixed;inset:0;background:#1d2021f2;display:flex;justify-content:center;align-items:center;visibility:hidden;opacity:0;pointer-events:none;z-index:2000}.wip-overlay.active{visibility:visible;opacity:1;pointer-events:auto}.wip-container{text-align:center}.wip-pixel-art{font-family:JetBrains Mono,monospace;font-size:clamp(.5rem,3vw,1.2rem);color:var(--red);line-height:1.1;text-shadow:0 0 10px var(--red),0 0 20px var(--red);animation:glitch .3s infinite;white-space:pre}.wip-subtext{margin-top:1.5rem;font-size:1rem;color:var(--fg-dim);letter-spacing:.2em;text-transform:uppercase}@keyframes glitch{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(2px,-2px)}60%{transform:translate(-2px,-2px)}80%{transform:translate(2px,2px)}}.wip-overlay.break-apart .wip-container{animation:breakApart 1s ease-out forwards}.wip-overlay.break-apart .wip-pixel-art{animation:explode 1s ease-out forwards}.wip-overlay.break-apart .wip-subtext{animation:fadeOut .5s ease-out forwards}@keyframes breakApart{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2)}to{transform:scale(0);opacity:0;filter:blur(10px)}}@keyframes explode{0%{transform:scale(1) rotate(0);opacity:1;letter-spacing:normal}30%{transform:scale(1.3) rotate(5deg);letter-spacing:.5em;text-shadow:0 0 20px var(--red),0 0 40px var(--red),0 0 60px var(--orange)}to{transform:scale(2) rotate(-10deg);opacity:0;letter-spacing:2em;filter:blur(20px)}}@keyframes fadeOut{to{opacity:0;transform:translateY(20px)}}.terminal-header{background:var(--bg1);border:1px solid var(--bg2);border-radius:8px 8px 0 0;padding:.75rem 1rem;display:flex;align-items:center;gap:.5rem;margin-top:4rem}.terminal-dot{width:12px;height:12px;border-radius:50%}.terminal-dot.red{background:var(--red)}.terminal-dot.yellow{background:var(--yellow)}.terminal-dot.green{background:var(--green)}.terminal-title{margin-left:1rem;font-size:.85rem;color:var(--fg-dim)}.audio-player{margin-left:auto;display:flex;align-items:center;gap:.5rem;font-size:.75rem}.audio-icon{color:var(--purple);font-size:.9rem}.audio-btn{background:none;border:1px solid var(--bg2);color:var(--fg-dim);min-width:36px;height:24px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:.65rem;padding:0 .4rem;font-family:inherit}.audio-btn:hover{border-color:var(--aqua);color:var(--aqua)}.mute-btn .muted-icon,.mute-btn[data-muted=true] .unmuted-icon{display:none}.mute-btn[data-muted=true] .muted-icon{display:inline;color:var(--red)}.mute-btn[data-muted=false]{border-color:var(--green);color:var(--green)}.marquee-container{width:120px;overflow:hidden;position:relative;background:var(--bg);border:1px solid var(--bg2);border-radius:4px;padding:.25rem .5rem}.marquee-container:before,.marquee-container:after{content:"";position:absolute;top:0;width:10px;height:100%;z-index:1;pointer-events:none}.marquee-container:before{left:0;background:linear-gradient(to right,var(--bg),transparent)}.marquee-container:after{right:0;background:linear-gradient(to left,var(--bg),transparent)}.marquee-text{display:inline-block;white-space:nowrap;color:var(--yellow);animation:marquee 8s linear infinite;padding-left:100%}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-100%)}}.terminal-body{background:var(--bg);border:1px solid var(--bg2);border-top:none;border-radius:0 0 8px 8px;padding:clamp(1rem,4vw,2rem);min-height:70vh;overflow-x:hidden}.prompt{color:var(--green);margin-right:.5rem}.command{color:var(--fg)}.output{margin:1.5rem 0;padding-left:0}.ascii-art{font-family:VT323,monospace;font-size:clamp(.35rem,1.5vw,.75rem);color:var(--aqua);white-space:pre;line-height:1.2;margin:2rem auto;animation:glow 2s ease-in-out infinite alternate;overflow-x:auto;max-width:100%;text-align:center;display:block}@keyframes glow{0%{text-shadow:0 0 5px var(--aqua),0 0 10px rgba(142,192,124,.3)}to{text-shadow:0 0 10px var(--aqua),0 0 20px rgba(142,192,124,.5)}}.typing-line{display:flex;align-items:center;margin:1rem 0;opacity:0;animation:fadeIn .3s forwards}.typing-line:nth-child(1){animation-delay:.2s}.typing-line:nth-child(2){animation-delay:.6s}.typing-line:nth-child(3){animation-delay:1s}.typing-line:nth-child(4){animation-delay:1.4s}.typing-line:nth-child(5){animation-delay:1.8s}@keyframes fadeIn{to{opacity:1}}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:2rem 0}.info-block{background:var(--bg-soft);border:1px solid var(--bg2);padding:1.5rem;position:relative;overflow:hidden;transition:all .3s ease}.info-block:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--aqua);transform:scaleY(0);transition:transform .3s ease}.info-block:hover:before{transform:scaleY(1)}.info-block:hover{border-color:var(--aqua);transform:translate(5px)}.info-block h3{color:var(--yellow);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem}.info-block p{color:var(--fg);font-size:.9rem;line-height:1.6;overflow-wrap:break-word;word-wrap:break-word}.skills-section{margin:3rem 0}.skills-json{background:var(--bg-soft);border:1px solid var(--bg2);padding:1.5rem;font-size:clamp(.7rem,2.5vw,.85rem);line-height:1.8;margin-top:1rem;overflow-x:auto;overflow-wrap:break-word;word-wrap:break-word}.json-key{color:var(--yellow)}.json-string{color:var(--green)}.json-bracket,.json-comma{color:var(--fg-dim)}.projects-list{margin:2rem 0}.project-item{display:flex;align-items:flex-start;padding:1rem 0;border-bottom:1px dashed var(--bg2);transition:all .3s ease}.project-item:hover{padding-left:1rem;background:#fb49340d}.project-status{width:8px;height:8px;border-radius:50%;margin-right:1rem;margin-top:.5rem;animation:pulse 2s infinite}.project-status.active{background:var(--green)}.project-status.archived{background:var(--fg-dim)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.project-info h4{color:var(--fg);font-weight:500;margin-bottom:.25rem}.project-info h4 a{color:var(--orange);text-decoration:none;border-bottom:1px dotted var(--orange);transition:all .2s}.project-info h4 a:hover{color:var(--yellow);border-color:var(--yellow)}.project-info p{color:var(--fg-dim);font-size:.85rem;overflow-wrap:break-word;word-wrap:break-word}.contact-block{margin-top:3rem;padding:2rem;background:linear-gradient(135deg,var(--bg-soft) 0%,var(--bg1) 100%);border:1px solid var(--bg2);position:relative}.contact-block:after{content:"█";position:absolute;bottom:2rem;right:2rem;color:var(--green);animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.contact-links{display:flex;gap:2rem;flex-wrap:wrap;margin-top:1rem}.contact-link{color:var(--blue);text-decoration:none;font-size:.9rem;display:flex;align-items:center;gap:.5rem;transition:all .2s}.contact-link:hover{color:var(--purple)}.contact-link:before{content:"→";color:var(--fg-dim)}.terminal-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--bg2);display:flex;justify-content:space-between;color:var(--fg-dim);font-size:.75rem}@media (max-width: 768px){.ascii-art{font-size:.45rem}.container{padding:1rem}.terminal-header{margin-top:2rem}.audio-player{gap:.35rem}.marquee-container{width:80px}.terminal-tab{display:none}.contact-links{flex-direction:column;gap:1rem}.terminal-footer{flex-direction:column;gap:.5rem;text-align:center}.info-grid{grid-template-columns:1fr}.info-block,.skills-json{padding:1rem}.skills-json span[style*=margin-left]{margin-left:.75rem!important}.contact-block{padding:1.5rem 1rem}}@media (max-width: 480px){html{font-size:14px}.ascii-art{font-size:.32rem;margin:1rem auto}.container{padding:.5rem}.terminal-header{margin-top:1rem;padding:.5rem .75rem;flex-wrap:wrap}.terminal-title{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-dot{width:10px;height:10px}.audio-player{order:4;width:100%;justify-content:center;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--bg2)}.marquee-container{width:100px}.typing-line{flex-wrap:wrap}.info-block h3{font-size:.7rem}.info-block p{font-size:.8rem}.project-item{flex-direction:column;align-items:flex-start;gap:.5rem}.project-status{margin-top:0}.contact-link{font-size:.8rem}}
