:root{--color-background: #FFFFFF;--color-foreground: #000000;--color-accent: #0066FF;--color-accent-alt: #FF0066;--color-border: #000000;--color-shadow: #000000;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Space Grotesk", system-ui, -apple-system, sans-serif;--border-width: 4px;--shadow-offset: 8px;--radius: 0px}[data-theme=dark]{--color-background: #0A0A0A;--color-foreground: #FFFFFF;--color-accent: #3399FF;--color-accent-alt: #FF3366;--color-border: #FFFFFF;--color-shadow: #FFFFFF}@keyframes crt-flicker{0%{opacity:.97}50%{opacity:1}to{opacity:.98}}@keyframes crt-scanlines{0%{background-position:0 0,0 0}to{background-position:0 8px,3px 0}}.crt-effect{position:relative}.crt-effect:after{content:"";position:absolute;inset:0;background:linear-gradient(#12101000 50%,#00000040 50%),linear-gradient(90deg,#ff00000f,#00ff0005,#0000ff0f);background-size:100% 4px,3px 100%;pointer-events:none;z-index:2;animation:crt-scanlines 8s linear infinite;mix-blend-mode:screen;opacity:.7}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--color-background);color:var(--color-foreground);line-height:1.6;overflow-x:hidden;transition:background-color .3s ease,color .3s ease}#app{min-height:100vh;padding-bottom:4rem}.brutal-box{background-color:var(--color-background);border:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--color-shadow);transition:all .3s ease;position:relative}.brutal-box:after{content:"";position:absolute;inset:0;background:linear-gradient(#12101000 50%,#00000040 50%),linear-gradient(90deg,#ff00000f,#00ff0005,#0000ff0f);background-size:100% 4px,3px 100%;pointer-events:none;z-index:0;animation:crt-scanlines 8s linear infinite;mix-blend-mode:multiply;opacity:.5}.brutal-button{display:inline-block;padding:12px 24px;background-color:var(--color-accent);color:var(--color-background);border:var(--border-width) solid var(--color-border);box-shadow:4px 4px 0 var(--color-shadow);font-weight:700;text-decoration:none;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.brutal-button:after{content:"";position:absolute;inset:0;background:linear-gradient(#12101000 50%,#00000040 50%),linear-gradient(90deg,#ff00001a,#00ff000d,#0000ff1a);background-size:100% 4px,3px 100%;pointer-events:none;z-index:1;animation:crt-scanlines 8s linear infinite;mix-blend-mode:screen;opacity:.8}.brutal-button:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--color-shadow)}.brutal-heading{font-family:var(--font-display);font-weight:700;font-size:2rem;margin-bottom:1rem;text-shadow:1px 0 0 rgba(255,0,0,.4),-1px 0 0 rgba(0,255,255,.4)}.terminal-wrapper{max-width:800px;margin:4rem auto;padding:3rem;display:flex;flex-direction:column;gap:2rem}.intro-text{margin-bottom:2rem;text-align:left;position:relative;z-index:1}.intro-text p{font-family:var(--font-display);font-size:2.5rem;font-weight:700;margin-bottom:.5rem;color:var(--color-foreground);line-height:1.2;text-shadow:1px 0 0 rgba(255,0,0,.5),-1px 0 0 rgba(0,255,255,.5);animation:crt-text-flicker 3s infinite alternate}@keyframes crt-text-flicker{0%{text-shadow:1px 0 0 rgba(255,0,0,.5),-1px 0 0 rgba(0,255,255,.5)}50%{text-shadow:1.2px 0 0 rgba(255,0,0,.6),-1.2px 0 0 rgba(0,255,255,.6)}to{text-shadow:.8px 0 0 rgba(255,0,0,.4),-.8px 0 0 rgba(0,255,255,.4)}}.content-window{padding:2rem 0;margin-top:1rem;position:relative;z-index:1}.command-response{font-size:1.125rem;line-height:1.6;color:var(--color-foreground);text-shadow:.6px 0 0 rgba(255,0,0,.3),-.6px 0 0 rgba(0,255,255,.3)}.output-line{margin-bottom:1rem;font-family:var(--font-sans)}.output-line.command{color:var(--color-accent);font-weight:600}.output-line.response{color:var(--color-foreground)}.input-wrapper{position:relative;display:flex;flex-direction:column;padding:1.5rem;transition:border-color .3s ease,box-shadow .3s ease;z-index:10;overflow:visible}.input-wrapper>*{position:relative;z-index:3}.input-wrapper .autocomplete-container{z-index:9999}.input-wrapper.command-success{border-color:#22c55e;box-shadow:var(--shadow-offset) var(--shadow-offset) 0 #22c55e}.input-wrapper.command-error{border-color:#ef4444;box-shadow:var(--shadow-offset) var(--shadow-offset) 0 #ef4444}.command-input{flex:1;background:transparent;border:none;outline:none;font-size:1.25rem;font-family:var(--font-sans);color:var(--color-foreground);width:100%;text-shadow:.8px 0 0 rgba(255,0,0,.4),-.8px 0 0 rgba(0,255,255,.4)}.command-input::placeholder{color:var(--color-foreground);opacity:.5}.pdf-resume{background:#fff;color:#000;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.4;max-width:8.5in;margin:0 auto;padding:.5in}.pdf-page{width:100%;min-height:11in;background:#fff}.pdf-header{text-align:center;margin-bottom:1.5rem;border-bottom:2px solid #000;padding-bottom:1rem}.pdf-name{font-size:2.5rem;font-weight:800;margin:0;letter-spacing:-.02em}.pdf-title{font-size:1.25rem;font-weight:500;margin:.25rem 0 .5rem;color:#333}.pdf-contact{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;font-size:.9rem}.pdf-contact-item{position:relative}.pdf-contact-item:not(:last-child):after{content:"•";position:absolute;right:-.6rem;color:#666}.pdf-content{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin-top:1.5rem}.pdf-main{display:flex;flex-direction:column;gap:1.5rem}.pdf-sidebar{display:flex;flex-direction:column;gap:1.25rem}.pdf-section{break-inside:avoid}.pdf-section-title{font-size:1.1rem;font-weight:700;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #ccc;padding-bottom:.25rem}.pdf-summary{font-size:.95rem;margin:0;text-align:justify}.pdf-job{margin-bottom:1.25rem;break-inside:avoid}.pdf-job-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.pdf-job-title{font-size:1rem;font-weight:600;margin:0}.pdf-company{font-size:.9rem;color:#333;font-weight:500}.pdf-job-right{text-align:right;flex-shrink:0}.pdf-dates{font-size:.85rem;font-weight:500;color:#555}.pdf-location{font-size:.8rem;color:#666}.pdf-job-summary{font-size:.9rem;font-style:italic;margin:0 0 .5rem;color:#444}.pdf-highlights{margin:.5rem 0;padding-left:1.2rem}.pdf-highlights li{font-size:.85rem;margin-bottom:.25rem;line-height:1.3}.pdf-tech{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}.pdf-tech-tag{font-size:.7rem;padding:.15rem .4rem;background:#f0f0f0;border:1px solid #ddd;border-radius:3px;font-weight:500}.pdf-project{margin-bottom:1rem;break-inside:avoid}.pdf-project-name{font-size:.95rem;font-weight:600;margin:0 0 .25rem}.pdf-project-desc{font-size:.85rem;margin:0 0 .25rem;line-height:1.3}.pdf-skill-group{margin-bottom:1rem}.pdf-skill-category{font-size:.9rem;font-weight:600;margin:0 0 .5rem}.pdf-skill-list{display:flex;flex-wrap:wrap;gap:.25rem}.pdf-skill-item{font-size:.75rem;padding:.2rem .4rem;background:#f8f8f8;border:1px solid #e0e0e0;border-radius:2px}.pdf-education{margin-bottom:.75rem}.pdf-degree{font-size:.9rem;font-weight:600;margin:0}.pdf-institution{font-size:.85rem;color:#555}.pdf-grad-year{font-size:.8rem;color:#666}.pdf-instructions{margin-top:2rem;padding:1rem;background:#f9f9f9;border:2px dashed #ccc;border-radius:4px}.pdf-print-note h4{margin:0 0 .5rem;color:#333}.pdf-print-note ol{margin:0;padding-left:1.2rem}.pdf-print-note li{font-size:.85rem;margin-bottom:.25rem}@media print{.pdf-resume{max-width:none;margin:0;padding:.5in}.pdf-instructions{display:none!important}.pdf-page{min-height:auto}.pdf-section,.pdf-job,.pdf-project{break-inside:avoid}}.autocomplete-container{position:absolute;top:100%;left:0;right:0;margin-top:.5rem;background-color:var(--color-background);border:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--color-shadow);display:none;z-index:1000;overflow:hidden}.autocomplete-container.visible{display:block}.autocomplete-container:after{content:"";position:absolute;inset:0;background:linear-gradient(#12101000 50%,#00000040 50%),linear-gradient(90deg,#ff00000f,#00ff0005,#0000ff0f);background-size:100% 4px,3px 100%;pointer-events:none;z-index:0;animation:crt-scanlines 8s linear infinite;mix-blend-mode:multiply;opacity:.5}.autocomplete-item{padding:1rem 1.5rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease;position:relative;z-index:1}.autocomplete-item .suggestion-name{text-shadow:.5px 0 0 rgba(255,0,0,.3),-.5px 0 0 rgba(0,255,255,.3);flex-shrink:0;margin-right:1rem}.autocomplete-item .suggestion-desc{text-shadow:.3px 0 0 rgba(255,0,0,.2),-.3px 0 0 rgba(0,255,255,.2);text-align:right;opacity:.8;font-size:.9rem}.autocomplete-item:hover,.autocomplete-item.selected{background-color:var(--color-accent);color:var(--color-background)}.suggestion-name strong{color:var(--color-accent-alt)}.autocomplete-item:hover .suggestion-name strong,.autocomplete-item.selected .suggestion-name strong{color:var(--color-background)}.suggestion-desc{font-size:.875rem;opacity:.8}.command-hint,.key-hint{display:inline-block;padding:.125rem .5rem;background-color:var(--color-foreground);color:var(--color-background);font-family:monospace;font-size:.875rem}.help-section{padding:2rem;margin-bottom:2rem;position:relative;z-index:2}.command-list{margin-bottom:2rem}.command-item{display:flex;align-items:baseline;margin-bottom:1rem;gap:2rem}.command-name{font-weight:700;font-family:monospace;font-size:1.125rem;color:var(--color-accent);min-width:150px;text-shadow:.8px 0 0 rgba(255,0,0,.4),-.8px 0 0 rgba(0,255,255,.4)}.command-desc{color:var(--color-foreground);text-shadow:.5px 0 0 rgba(255,0,0,.25),-.5px 0 0 rgba(0,255,255,.25)}.help-tips h3{font-family:var(--font-display);font-size:1.25rem;margin-bottom:.5rem}.help-tips ul{list-style:none;padding-left:0}.help-tips li{margin-bottom:.5rem}.about-section{padding:2rem;margin-bottom:2rem}.about-text p{margin-bottom:1rem;font-size:1.125rem}.theme-section{padding:2rem;margin-bottom:2rem}.theme-text p{margin-bottom:1rem;font-size:1.125rem}.pong-header{padding:1rem;text-align:center;background-color:var(--color-background);border:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--color-shadow);margin-bottom:1rem;width:100%;box-sizing:border-box}.pong-header p{margin-bottom:.5rem;font-size:1rem}.golf-header{padding:1rem;text-align:center;background-color:var(--color-background);border:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--color-shadow);margin-bottom:1rem;width:100%;box-sizing:border-box}.golf-header p{margin-bottom:.5rem;font-size:1rem}.pong-game-container,.golf-game-container{display:flex;flex-direction:column;align-items:center;gap:2rem;max-width:800px;margin:4rem auto}.pong-canvas{border:2px solid var(--color-border);box-shadow:4px 4px 0 var(--color-shadow);cursor:crosshair;background-color:var(--color-background)}.quick-suggestions{margin-top:2rem}.suggestions-title{font-family:var(--font-display);font-size:1.25rem;margin-bottom:1rem}.command-suggestions{display:flex;gap:1rem;flex-wrap:wrap}.suggestion-chip{display:inline-block;padding:.5rem 1rem;background-color:var(--color-accent);color:var(--color-background);border:2px solid var(--color-border);box-shadow:2px 2px 0 var(--color-shadow);font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.suggestion-chip:after{content:"";position:absolute;inset:0;background:linear-gradient(#12101000 50%,#00000040 50%),linear-gradient(90deg,#ff00001a,#00ff000d,#0000ff1a);background-size:100% 4px,3px 100%;pointer-events:none;z-index:1;animation:crt-scanlines 8s linear infinite;mix-blend-mode:screen;opacity:.8}.suggestion-chip:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--color-shadow)}.resume-content{padding:0}.resume-header{padding:2rem;margin-bottom:2rem;text-align:center}.resume-header h1{font-size:2.5rem;margin-bottom:.5rem}.resume-title{font-size:1.5rem;color:var(--color-accent);margin-bottom:1rem;font-weight:600}.contact-info{display:flex;justify-content:center;gap:2rem;margin-bottom:1.5rem;flex-wrap:wrap}.contact-info span{font-family:monospace;font-size:.95rem}.resume-summary{font-size:1.125rem;max-width:600px;margin:0 auto;line-height:1.7}.experience-section,.skills-section,.education-section,.projects-section{padding:2rem;margin-bottom:2rem}.experience-item{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--color-border)}.experience-item:last-child{border-bottom:none;margin-bottom:0}.experience-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.company-name{font-size:1.375rem;font-weight:700;color:var(--color-accent)}.experience-type{padding:.25rem .75rem;border:2px solid var(--color-border);font-size:.875rem;font-weight:600;text-transform:uppercase}.experience-type.full-time{background-color:var(--color-accent);color:var(--color-background)}.experience-type.consulting{background-color:var(--color-accent-alt);color:var(--color-background)}.position-info{margin-bottom:1rem}.position-title{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.position-technologies{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.75rem}.position-technologies .tech-tag{font-size:.75rem;padding:.25rem .5rem;background-color:var(--color-background);color:var(--color-foreground);border:2px solid var(--color-border);box-shadow:2px 2px 0 var(--color-shadow);font-weight:500;opacity:.8}.position-meta{display:flex;gap:1rem;font-size:.95rem;color:var(--color-foreground);opacity:.8}.description-list{list-style:none;padding-left:0}.description-list li{margin-bottom:.5rem;padding-left:1.5rem;position:relative}.description-list li:before{content:"▶";position:absolute;left:0;top:0;color:var(--color-accent);font-weight:700}.skill-group{margin-bottom:1.5rem}.skill-category{font-size:1.125rem;font-weight:700;margin-bottom:.75rem;color:var(--color-accent)}.skill-items{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{display:inline-block;padding:.375rem .75rem;background-color:var(--color-foreground);color:var(--color-background);border:2px solid var(--color-border);font-size:.875rem;font-weight:500}.education-item{margin-bottom:1rem}.institution{font-size:1.25rem;font-weight:700;color:var(--color-accent);margin-bottom:.25rem}.degree-info{display:flex;justify-content:space-between;align-items:center}.degree{font-weight:600}.edu-dates{font-size:.95rem;opacity:.8}.project-item{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--color-border)}.project-item:last-child{border-bottom:none;margin-bottom:0}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;gap:1rem}.project-name{font-size:1.25rem;font-weight:700;color:var(--color-accent);margin:0}.project-links{display:flex;gap:.75rem;flex-shrink:0}.project-link{display:inline-block;padding:.25rem .5rem;background-color:var(--color-accent);color:var(--color-background);text-decoration:none;border:2px solid var(--color-border);box-shadow:2px 2px 0 var(--color-shadow);font-size:.875rem;font-weight:600;transition:all .2s ease}.project-link:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--color-shadow)}.project-description{font-size:1rem;margin-bottom:.75rem;font-style:italic}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tech-tag{display:inline-block;padding:.25rem .5rem;background-color:var(--color-accent-alt);color:var(--color-background);border:2px solid var(--color-border);font-size:.8rem;font-weight:500}.project-details{list-style:none;padding-left:0}.project-details li{margin-bottom:.5rem;padding-left:1.5rem;position:relative}.project-details li:before{content:"•";position:absolute;left:0;top:0;color:var(--color-accent-alt);font-weight:700;font-size:1.2rem}.resume-filters{padding:1.5rem;margin-bottom:2rem}.filter-buttons{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.filter-btn{padding:.5rem 1rem;background:var(--color-background);color:var(--color-foreground);border:var(--border-width) solid var(--color-border);font-family:var(--font-sans);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative}.filter-btn:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--color-shadow)}.filter-btn.active{background:var(--color-accent);color:var(--color-background);transform:translate(-2px,-2px);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--color-shadow)}.filter-btn:active{transform:translate(0);box-shadow:none}.resume-actions-centered{display:flex;justify-content:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--color-accent);color:var(--color-background);border:var(--border-width) solid var(--color-border);font-family:var(--font-sans);font-size:.9rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s ease;position:relative;text-align:center;box-sizing:border-box;line-height:1.2;white-space:nowrap}.action-btn:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--color-shadow)}.action-btn:active{transform:translate(0);box-shadow:none}.action-btn i{font-size:1rem}.download-btn{background:var(--color-accent)}.print-btn{background:var(--color-accent-alt)}@media (max-width: 768px){.resume-actions-centered{gap:.5rem;margin-bottom:1rem}.action-btn{padding:.5rem 1rem;font-size:.8rem;flex:1;max-width:150px;justify-content:center}.action-btn i{font-size:.9rem}}@keyframes digitalCollapse{0%{opacity:1;transform:scaleY(1);filter:none}30%{opacity:.8;filter:blur(1px) contrast(1.5);transform:scaleY(1) translate(2px)}40%{transform:scaleY(1) translate(-2px)}to{opacity:0;transform:scaleY(0);filter:blur(2px);max-height:0}}@keyframes digitalMaterialize{0%{opacity:0;transform:scaleY(0) translateY(-20px);filter:blur(4px)}40%{opacity:.5;transform:scaleY(.8) translateY(-10px);filter:blur(2px) contrast(2)}70%{opacity:.9;transform:scaleY(1.02) translateY(0);filter:blur(1px) contrast(1.2)}to{opacity:1;transform:scaleY(1) translateY(0);filter:none}}.filter-transition-out{animation:digitalCollapse .3s ease-out forwards;transform-origin:top center;overflow:hidden}.filter-transition-in{animation:digitalMaterialize .4s ease-out forwards;transform-origin:top center}.resume-sections{min-height:200px;position:relative}.summary-section{padding:2rem;margin-bottom:2rem}.summary-section h2{margin-bottom:1rem}.summary-text{font-size:1.125rem;line-height:1.7;max-width:800px}.resume-footer{display:flex;justify-content:flex-end;margin-top:2rem;margin-bottom:2rem}.resume-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;font-size:.75rem;color:var(--color-foreground);opacity:.6;font-family:monospace}.meta-version,.meta-updated{line-height:1.2}.usage-hint{font-size:.95rem;line-height:1.6}.usage-hint code{background-color:var(--color-background);color:var(--color-foreground);padding:.125rem .375rem;border:1px solid var(--color-background);font-family:monospace;font-size:.875rem}.command-history-container{margin-top:.5rem;min-height:3.5rem;transition:all .3s ease}.command-history-container:not(.visible){visibility:hidden;height:3.5rem}.command-history-container.visible{visibility:visible}.history-item{margin-bottom:.25rem;transition:opacity .5s ease}.history-item:last-child{margin-bottom:0}.history-item.history-placeholder{visibility:hidden;pointer-events:none}.history-command{font-family:monospace;font-size:.8rem;color:var(--color-foreground);padding:.125rem .375rem;background-color:transparent;border:1px solid var(--color-border);display:inline-block;border-radius:0}.history-command:before{content:"$ ";color:var(--color-accent);font-weight:700}.history-command.command-success{border-color:#22c55e}.history-command.command-error{border-color:#ef4444}@media (max-width: 768px){.terminal-wrapper{padding:2rem;margin:2rem auto;max-width:95vw}.brutal-box:before,.brutal-button:before{opacity:.3}.intro-text p{font-size:1.125rem}.command-item{flex-direction:column;gap:.25rem}.command-name{min-width:auto}.brutal-box{box-shadow:4px 4px 0 var(--color-shadow)}}.hacker-terminal-container{width:100%;height:100%;background:#000;color:#0f0;font-family:Courier New,monospace;position:relative;overflow:hidden}.hacker-terminal{width:100%;height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#000,#010);position:relative}.hacker-terminal:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,0,.03) 2px,rgba(0,255,0,.03) 4px);pointer-events:none;z-index:1}.hacker-header{padding:1rem;background:#010;border-bottom:2px solid #00ff00;text-align:center;position:relative;z-index:2}.hacker-title{font-size:1.5rem;font-weight:700;color:#0f0;text-shadow:0 0 10px #00ff00,0 0 20px #00ff00;letter-spacing:2px;animation:flicker 2s infinite}.hacker-subtitle{font-size:.875rem;color:red;margin-top:.5rem;animation:blink 1s infinite;text-transform:uppercase;letter-spacing:3px}.skull{display:inline-block;animation:rotate 2s infinite linear}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes flicker{0%,to{opacity:1}50%{opacity:.8}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.hacker-output{flex:1;padding:1rem;overflow-y:auto;overflow-x:hidden;font-size:.9rem;line-height:1.4;position:relative;z-index:2}.hacker-line{margin-bottom:2px;white-space:pre-wrap;word-break:break-all;animation:typein .1s}@keyframes typein{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.hacker-footer{padding:1rem;background:#010;border-top:2px solid #00ff00;display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#0f0;position:relative;z-index:2}.hacker-footer .blink{animation:blink 1s infinite;font-weight:700}.hacker-output::-webkit-scrollbar{width:8px}.hacker-output::-webkit-scrollbar-track{background:#010}.hacker-output::-webkit-scrollbar-thumb{background:#0f0;border:1px solid #001100}.hacker-output::-webkit-scrollbar-thumb:hover{background:#0d0}.hacker-terminal *{text-shadow:0 0 3px currentColor}.hacker-stop-section{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%}.hacker-stop-main{display:flex;justify-content:center;width:100%}.mega-stop-btn{position:relative;background:linear-gradient(45deg,red,#f44,red);background-size:200% 200%;color:#fff;border:3px solid #ff0000;border-radius:8px;padding:1rem 2rem;font-family:Courier New,monospace;font-size:1.1rem;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:2px;text-shadow:0 0 5px #ff0000,0 0 10px #ff0000,0 0 15px #ff0000;box-shadow:0 0 20px red,0 0 40px red,inset 0 0 10px #ffffff1a;animation:megaPulse 1.5s infinite,backgroundShift 3s infinite linear,emergencyBlink 2s infinite;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;display:flex;align-items:center;gap:.75rem;min-height:60px;overflow:hidden;z-index:10}.stop-icon{font-size:1.3rem;filter:drop-shadow(0 0 3px #ff0000)}.stop-text{font-weight:900;text-shadow:0 0 3px #ffffff,0 0 6px #ff0000,0 0 9px #ff0000}.stop-pulse{position:absolute;inset:-3px;border:2px solid #ff0000;border-radius:8px;animation:pulseBorder 1s infinite;pointer-events:none}@keyframes megaPulse{0%,to{transform:scale(1);box-shadow:0 0 20px red,0 0 40px red,inset 0 0 10px #ffffff1a}50%{transform:scale(1.05);box-shadow:0 0 30px red,0 0 60px red,0 0 80px #ff00004d,inset 0 0 15px #fff3}}@keyframes backgroundShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes emergencyBlink{0%,70%,to{border-color:red;text-shadow:0 0 5px #ff0000,0 0 10px #ff0000,0 0 15px #ff0000}75%,95%{border-color:#fff;text-shadow:0 0 5px #ffffff,0 0 10px #ffffff,0 0 15px #ffffff}}@keyframes pulseBorder{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}.mega-stop-btn:hover{background:linear-gradient(45deg,#f33,#f66,#f33);transform:scale(1.02);box-shadow:0 0 30px red,0 0 60px red,0 0 90px #f006,inset 0 0 20px #ffffff4d}.mega-stop-btn:active{transform:scale(.98);background:linear-gradient(45deg,#c00,#f33,#c00)}.hacker-stop-alternatives{display:flex;align-items:center;gap:.5rem;font-size:.8rem;opacity:.8;color:#0f0}.hack-stopped{background:linear-gradient(45deg,#0a0,#0d0,#0a0)!important;background-size:200% 200%!important;border-color:#0a0!important;color:#fff!important;animation:none!important;box-shadow:0 0 10px #0a0,inset 0 0 5px #ffffff1a!important;text-shadow:0 0 3px #00aa00,0 0 6px #00aa00!important;cursor:default!important;transform:none!important}.hack-stopped .stop-pulse{display:none!important}.hack-stopped:hover{transform:none!important;background:linear-gradient(45deg,#0a0,#0d0,#0a0)!important;box-shadow:0 0 10px #0a0,inset 0 0 5px #ffffff1a!important}.no-animation,.no-animation *{animation:none!important;animation-duration:0s!important;animation-iteration-count:0!important}@keyframes redGlow{0%,to{box-shadow:0 0 10px red;text-shadow:0 0 5px #ff0000}50%{box-shadow:0 0 20px red,0 0 30px red;text-shadow:0 0 10px #ff0000}}@media (max-width: 768px){.hacker-terminal-container{height:60vh;max-height:60vh;min-height:60vh;display:flex;flex-direction:column}.hacker-terminal{height:100%;max-height:100%;display:flex;flex-direction:column}.hacker-header{padding:.5rem;flex-shrink:0}.hacker-title{font-size:1.1rem;letter-spacing:1px}.hacker-subtitle{font-size:.7rem;margin-top:.25rem}.hacker-output{padding:.5rem;font-size:.75rem;line-height:1.2;overflow-y:auto;height:calc(100% - 140px);flex-shrink:0}.hacker-footer{padding:.5rem;font-size:.8rem;flex-direction:column;gap:.5rem;align-items:center;flex-shrink:0;background:#010;border-top:2px solid #00ff00;height:100px}.hacker-footer-text{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.mega-stop-btn{padding:.8rem 1.5rem;font-size:1rem;min-height:50px;gap:.5rem}.stop-text{font-size:.9rem}}@media (max-width: 480px){.hacker-terminal-container{height:55vh;max-height:55vh;min-height:55vh}.hacker-title{font-size:1rem}.hacker-output{font-size:.7rem;height:calc(100% - 130px)}.hacker-footer{height:90px}.mega-stop-btn{padding:.7rem 1.2rem;font-size:.9rem;min-height:45px;gap:.4rem}.stop-text{font-size:.8rem}.stop-icon{font-size:1.1rem}}.easter-egg-keyword{color:var(--color-accent);font-weight:700;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;transition:all .2s ease}.easter-egg-keyword:hover{color:var(--color-background);background-color:var(--color-accent);padding:.125rem .25rem;border-radius:2px;text-decoration:none;transform:translateY(-1px)}.easter-egg-hints{margin-top:1rem;padding:1rem;background-color:var(--color-foreground);border:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--color-shadow)}.hints-title{font-family:var(--font-display);font-weight:600;font-size:.95rem;margin-right:.5rem;color:var(--color-accent)}.hint-keywords{display:inline;gap:.5rem}.easter-egg-hint{display:inline-block;margin:0 .375rem;padding:.25rem .5rem;background-color:var(--color-accent-alt);color:var(--color-background);font-weight:500;font-size:.85rem;cursor:pointer;border:2px solid var(--color-border);box-shadow:2px 2px 0 var(--color-shadow);transition:all .15s ease}.easter-egg-hint:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--color-shadow);background-color:var(--color-accent)}@media (max-width: 768px){.terminal-wrapper{max-width:100%;margin:1rem auto;padding:1rem;gap:1rem}.pong-game-container,.golf-game-container{max-width:100%;margin:1rem auto;gap:1rem}.pong-canvas,.golf-canvas{max-width:100%;height:auto;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.pong-header,.golf-header{padding:.75rem;margin-bottom:.5rem}.pong-header p,.golf-header p{font-size:.85rem}.intro-text{margin-bottom:1rem}.intro-text p{font-size:1.75rem;line-height:1.2}.input-wrapper{position:relative}.command-input{font-size:16px;padding:1rem}.autocomplete-item{padding:.875rem 1rem;min-height:44px;border-bottom:1px solid var(--color-border)}.autocomplete-item:last-child{border-bottom:none}.suggestion-name{font-size:1rem}.suggestion-desc{font-size:.75rem}.content-window{max-height:none;overflow-y:visible}.brutal-box{box-shadow:4px 4px 0 var(--color-shadow)}.resume-header{padding:1rem}.resume-header h1{font-size:1.5rem}.resume-title{font-size:1.125rem}.help-section{padding:1rem}.command-item{padding:.5rem}.quick-suggestions{margin-top:1rem;padding:.75rem}.quick-suggestion-item{padding:.75rem;min-height:44px;margin-bottom:.5rem}.key-hint{display:none}.command-history-container{max-height:200px}}@media (hover: none) and (pointer: coarse){.brutal-button:hover{transform:none;box-shadow:4px 4px 0 var(--color-shadow)}.autocomplete-item:hover{background-color:transparent;color:var(--color-foreground)}.brutal-button:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--color-shadow)}.autocomplete-item:active{background-color:var(--color-accent);color:var(--color-background)}.autocomplete-item,.quick-suggestion-item,.brutal-button{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}.binary-transition-active{display:block;overflow:visible}.binary-transition-active.brutal-box,.binary-loading.brutal-box{box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--color-shadow)!important;margin-bottom:calc(var(--shadow-offset) + .5rem)}@keyframes binaryGlitch{0%{opacity:0;transform:translate(10px) translateY(5px) skew(5deg)}10%{opacity:.8;transform:translate(-8px) translateY(-3px) skew(-3deg)}20%{opacity:.3;transform:translate(6px) translateY(-4px) skew(2deg)}30%{opacity:1;transform:translate(-5px) translateY(2px) skew(-1deg)}40%{opacity:.6;transform:translate(4px) translateY(-2px) skew(0)}50%{opacity:.9;transform:translate(-3px) translateY(1px) skew(0)}60%{opacity:1;transform:translate(2px) translateY(0) skew(0)}70%,to{opacity:1;transform:translate(0) translateY(0) skew(0)}}@keyframes binaryMaterialize{0%{opacity:0;filter:blur(8px) brightness(2);transform:scale(.95)}40%{opacity:.7;filter:blur(3px) brightness(1.5);transform:scale(.98)}70%{opacity:.9;filter:blur(1px) brightness(1.2);transform:scale(.99)}to{opacity:1;filter:blur(0) brightness(1);transform:scale(1)}}@keyframes dataTransmission{0%{opacity:0;transform:translate(-100%) rotateY(90deg);filter:hue-rotate(0deg)}15%{opacity:.3;transform:translate(-50%) rotateY(45deg);filter:hue-rotate(120deg)}30%{opacity:.7;transform:translate(-10%) rotateY(15deg);filter:hue-rotate(240deg)}60%{opacity:.9;transform:translate(0) rotateY(0);filter:hue-rotate(0deg)}to{opacity:1;transform:translate(0) rotateY(0);filter:hue-rotate(0deg)}}@keyframes digitalPixelation{0%{filter:pixelate(8px) contrast(2);image-rendering:pixelated}50%{filter:pixelate(4px) contrast(1.5)}to{filter:pixelate(0px) contrast(1);image-rendering:auto}}@keyframes chromaticShift{0%{filter:hue-rotate(0deg) saturate(2);text-shadow:2px 0 0 rgba(255,0,0,.5),-2px 0 0 rgba(0,255,255,.5)}25%{filter:hue-rotate(90deg) saturate(1.5);text-shadow:1px 0 0 rgba(255,0,255,.3),-1px 0 0 rgba(0,255,0,.3)}50%{filter:hue-rotate(180deg) saturate(1.2);text-shadow:.5px 0 0 rgba(255,255,0,.2),-.5px 0 0 rgba(0,0,255,.2)}75%{filter:hue-rotate(270deg) saturate(1.1);text-shadow:.2px 0 0 rgba(255,128,0,.1),-.2px 0 0 rgba(128,255,0,.1)}to{filter:hue-rotate(360deg) saturate(1);text-shadow:none}}@keyframes scanlineEffect{0%{transform:translateY(-100%);opacity:0}50%{opacity:.8}to{transform:translateY(100vh);opacity:0}}@keyframes dataGlow{0%{box-shadow:0 0 5px var(--color-accent);border-color:var(--color-accent)}50%{box-shadow:0 0 20px var(--color-accent),0 0 30px var(--color-accent);border-color:var(--color-accent)}to{box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--color-shadow);border-color:var(--color-border)}}.binary-loading{animation:binaryGlitch .4s ease-out,binaryMaterialize .5s ease-out,chromaticShift .6s ease-out .1s;position:relative}.data-materializing{animation:dataTransmission .8s ease-out,digitalPixelation .6s ease-out .2s;position:relative}.binary-loading.brutal-box{animation:binaryGlitch .4s ease-out,binaryMaterialize .5s ease-out,dataGlow 1.2s ease-out}.binary-loading-simple{animation:fadeIn .3s ease-out;position:relative}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.binary-loading,.data-materializing,.binary-loading.brutal-box{animation:fadeIn .3s ease-out!important}.data-fragments-container,.binary-loading:before,.binary-loading:after{display:none!important}}.content-window{position:relative;transition:all .3s ease}.content-window:has(.binary-loading){background:radial-gradient(circle at 20% 80%,rgba(0,102,255,.03) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,0,102,.03) 0%,transparent 50%),var(--color-background)}.content-window:has(.binary-loading):before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,var(--color-accent),var(--color-accent-alt),var(--color-accent));background-size:300% 300%;animation:borderScan 2s ease-in-out;z-index:-1;opacity:.1}@keyframes borderScan{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@media (max-width: 768px){.binary-loading{animation:binaryGlitch .3s ease-out,binaryMaterialize .4s ease-out!important}.data-materializing{animation:dataTransmission .6s ease-out,digitalPixelation .4s ease-out .1s!important}.data-fragment{animation-duration:.6s!important;font-size:.7rem!important}.content-window:has(.binary-loading){background:var(--color-background)!important}.content-window:has(.binary-loading):before{animation-duration:1.5s!important;opacity:.05!important}}@media (hover: none) and (pointer: coarse){.binary-loading:before,.binary-loading:after{animation-duration:.4s!important}.data-fragments-container{opacity:.7!important}}.data-fragments-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:hidden}.data-fragment{position:absolute;color:var(--color-accent);font-family:Courier New,monospace;font-size:.8rem;font-weight:700;opacity:0;animation:fragmentMaterialize var(--duration, 1s) ease-out var(--delay, 0s);text-shadow:0 0 4px currentColor;top:calc(10% + 60% * var(--random-y, .5));left:calc(10% + 80% * var(--random-x, .5))}@keyframes fragmentMaterialize{0%{opacity:0;transform:translate(-20px) translateY(-10px) scale(.8) rotate(-5deg);filter:blur(4px)}20%{opacity:.8;transform:translate(-10px) translateY(-5px) scale(.9) rotate(-2deg);filter:blur(2px)}40%{opacity:1;transform:translate(0) translateY(0) scale(1) rotate(0);filter:blur(0px)}60%{opacity:.9;transform:translate(5px) translateY(2px) scale(1.05) rotate(1deg)}80%{opacity:.6;transform:translate(8px) translateY(5px) scale(1.1) rotate(2deg);filter:blur(1px)}to{opacity:0;transform:translate(15px) translateY(10px) scale(1.2) rotate(5deg);filter:blur(3px)}}.binary-loading:before{content:"";position:absolute;top:0;left:-10%;width:120%;height:2px;background:linear-gradient(90deg,transparent 0%,var(--color-accent) 20%,var(--color-accent) 80%,transparent 100%);opacity:0;animation:scanlineEffect .8s ease-out .2s;z-index:15;box-shadow:0 0 8px var(--color-accent)}.binary-loading:after{content:"";position:absolute;top:50%;left:-5%;width:110%;height:1px;background:var(--color-accent-alt);opacity:0;animation:scanlineEffect .6s ease-out .4s,pulseGlow .3s ease-out .1s;z-index:15;box-shadow:0 0 6px var(--color-accent-alt)}@keyframes pulseGlow{0%,to{opacity:0;transform:scaleX(.8)}50%{opacity:.9;transform:scaleX(1.2)}}.binary-char{font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;letter-spacing:inherit;line-height:inherit}.contact-content{width:100%}.contact-section{padding:2rem;margin-bottom:2rem}.contact-form-container{margin-bottom:2rem}.contact-form{margin-top:1.5rem}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.brutal-input{width:100%;padding:12px;font-family:var(--font-sans);font-size:1rem;background:var(--color-background);color:var(--color-foreground);border:3px solid var(--color-border);outline:none;transition:all .2s ease;box-shadow:4px 4px 0 var(--color-shadow)}.brutal-input:focus{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--color-shadow);border-color:var(--color-accent)}.brutal-input::placeholder{color:var(--color-muted);opacity:.6;transition:opacity .3s ease;font-family:Space Grotesk,monospace}.brutal-input.binary-placeholder::placeholder{color:#22c55e;opacity:.8;letter-spacing:2px;font-family:Space Grotesk,monospace;animation:placeholderPulse 2s ease-in-out infinite}@keyframes placeholderPulse{0%,to{opacity:.4}50%{opacity:.8}}.form-textarea{resize:vertical;min-height:120px;font-family:var(--font-sans);line-height:1.5}.form-submit-btn{width:100%;justify-content:center;background:var(--color-accent);color:var(--color-background);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:1.5rem}.form-submit-btn:hover:not(:disabled){background:var(--color-foreground)}.form-submit-btn:disabled{cursor:not-allowed;opacity:.7;transform:none;box-shadow:4px 4px 0 var(--color-shadow)}.form-submit-btn .btn-text,.form-submit-btn .btn-loading{display:inline-flex;align-items:center;gap:.5rem}.form-message{margin-top:1rem;padding:1rem;border:3px solid;font-weight:500;display:flex;align-items:center;gap:.5rem;animation:slideInUp .3s ease-out}.success-message{background:#d4f4dd;border-color:#22c55e;color:#166534}.error-message{background:#fee2e2;border-color:#ef4444;color:#991b1b}[data-theme=dark] .success-message{background:#064e3b;border-color:#34d399;color:#a7f3d0}[data-theme=dark] .error-message{background:#7f1d1d;border-color:#f87171;color:#fecaca}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}.contact-divider{height:3px;background:var(--color-border);margin:2.5rem 0;position:relative}.contact-divider:before{content:"OR";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-background);padding:0 1rem;font-weight:600;font-size:.9rem;letter-spacing:1px}.contact-method{margin-bottom:2rem}.contact-method:last-of-type{margin-bottom:1rem}.contact-label{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.25rem;color:var(--color-accent)}.contact-icon{font-size:1.5rem}.email-row{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.email-text{font-family:Space Grotesk,monospace;font-size:1.5rem;font-weight:500;color:var(--color-foreground);-webkit-user-select:all;user-select:all}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:4px;background:transparent;border:none;cursor:pointer;transition:all .2s ease;color:var(--color-muted)}.icon-button:hover{color:var(--color-accent);transform:scale(1.1)}.icon-button.copy-button svg{width:24px;height:24px;stroke:currentColor}.icon-button.copy-success{color:#4caf50!important;animation:copySuccess .3s ease-in-out}.contact-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:1rem;min-width:140px;justify-content:center}.contact-button svg.icon{width:20px;height:20px;stroke-width:2;stroke:currentColor}.contact-button.send-email{background:var(--color-accent);color:var(--color-background)}.contact-button.send-email:hover{background:var(--color-foreground)}@keyframes copySuccess{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.social-links{display:flex;gap:1rem;flex-wrap:wrap}.social-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--color-surface);border:3px solid var(--color-border);color:var(--color-foreground);text-decoration:none;transition:all .2s ease}.social-button:hover{background:var(--color-accent);color:var(--color-background);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--color-shadow)}.social-button svg.icon{width:20px;height:20px;stroke-width:2;stroke:currentColor}.contact-footer{margin-top:2rem;padding-top:1.5rem;border-top:2px solid var(--color-border)}.contact-note{font-style:italic;color:var(--color-muted);margin:0}@media (max-width: 768px){.contact-section{padding:1.5rem}.email-text{font-size:1.1rem;word-break:break-all}.email-row{flex-wrap:wrap}.contact-button,.social-button,.form-submit-btn{width:100%}.form-group{margin-bottom:1.25rem}.brutal-input{padding:10px;font-size:16px}.contact-divider:before{font-size:.8rem}}@media (max-width: 375px){.terminal-wrapper{padding:1rem}.intro-text p,.brutal-heading{font-size:1.5rem}}
