body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0}code{font-family:Space Mono,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-weight:400}:root{--bg-primary:#e9e3e180;--bg-secondary:#e8d0d080;--bg-tertiary:#d9d5c080;--text-primary:#3d211f;--text-secondary:#5c4a42;--text-tertiary:#7b6b63;--accent-orange:#d97706;--accent-green:#3c402c;--accent-yellow:#fbbf24;--accent-red:#dc2626;--accent-blue:#0369a1;--border-color:#c4b5a0a6;--border-light:#c4b5a09c;--border-subtle:#d9d5c0b9;--border-heavy:#8b7355;--link-color:#d97706;--link-hover:#92400e;--shadow-light:4px 4px 0px #3d211f26;--shadow-medium:6px 6px 0px #3d211f40;--shadow-large:8px 8px 0px #3d211f59;--shadow-retro-light:4px 4px 0px #3d211f26;--shadow-retro-medium:6px 6px 0px #3d211f40;--shadow-retro-heavy:8px 8px 0px #3d211f59;--tag-bg:#d97706;--tag-text:#f2f2cc;--tech-bg:#d9d5c0;--tech-text:#3d211f;--gradient-accent:linear-gradient(135deg,#d97706,#92400e);--gradient-retro:linear-gradient(135deg,#d97706,#92400e);--gradient-sunset:linear-gradient(135deg,#fbbf24,#dc2626);--phosphor-glow-primary:0 0 5px #d977064d,0 0 10px #d9770633,0 0 15px #d977061a;--phosphor-glow-accent:0 0 5px #fbbf2466,0 0 10px #fbbf244d,0 0 15px #fbbf2433;--rs-flash-color-1:#dc2626;--rs-flash-color-2:#d97706;--rs-glow-color:#fbbf24}body.dark-mode{--bg-primary:#0000007a;--bg-secondary:#22050573;--bg-tertiary:#4f5028;--text-primary:#f2f2cc;--text-secondary:#d9d5c0;--text-tertiary:#b8b5a0;--accent-orange:#fb923c;--accent-green:#84cc16;--accent-yellow:#ff0;--accent-red:#ef4444;--accent-blue:#0ea5e9;--border-color:#00ff0d;--border-light:#2509c2;--border-subtle:#2b5028;--border-heavy:#7b3e01;--link-color:#fb923c;--link-hover:#fdba74;--shadow-light:4px 4px 0px #fbbf2433;--shadow-medium:6px 6px 0px #8f6e1a4d;--shadow-large:8px 8px 0px #b1841466;--shadow-retro-light:4px 4px 0px #fbbf2433;--shadow-retro-medium:6px 6px 0px #fbbf244d;--shadow-retro-heavy:8px 8px 0px #fbbf2466;--tag-bg:#fb923c;--tag-text:#15002e;--tech-bg:#363636;--tech-text:#f2f2cc;--gradient-accent:linear-gradient(135deg,#199400,#15002e);--gradient-retro:linear-gradient(135deg,#009425,#15002e);--gradient-sunset:linear-gradient(135deg,#dc2626,#7c2d12);--phosphor-glow-primary:0 0 5px #fb923c66,0 0 10px #fb923c4d,0 0 20px #fb923c33;--phosphor-glow-accent:0 0 5px #84cc1680,0 0 15px #84cc164d,0 0 25px #84cc161a;--rs-flash-color-1:#84cc16;--rs-flash-color-2:#fb923c;--rs-glow-color:#ff0}*{box-sizing:border-box;margin:0;padding:0}html{height:100vh;overflow-y:scroll;scroll-behavior:smooth;scroll-snap-type:y mandatory}body{background-color:initial;cursor:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAaCAYAAABLlle3AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjEuNWRHWFIAAAEjSURBVEhLxdPBDsFAEAbg7gO4iwdonBoRIkRDJARRQVQEF5E4ioODg4OD9x5mt9NOpU7trD+Z7KaVfDPb5ZgoiDa2ouBZKX1QhK3hCu7lkoYT3EoS+JGaWnT6NEorlRBsUH7MFlBMAnMQG7CC8kmFUUx6Wjpqa9Ni3b7KCsyntQbz78rrL7AgilExymHci8OvD0LFm/gLfI0vluA35jif+Pd3LqyZBCcwG1XQ63QynueKwek/jUXPqAa+H+0LTxrGajcacDmfpUCKOW4E654H+zCUB2mtui4M+3047nYRyuHCmlAawbVZq+mLs12tNDqfjPXUhHdbrWifOwqW0ylsFgs4HfYxQLUOAn2ZZqOR3mMj5l3ucOg7/J3SzWX/TjQIOs4b5hYomDjRHQMAAAAASUVORK5CYII=),auto;font-family:IBM Plex Sans,Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;font-weight:400;height:100vh;letter-spacing:-.01em;line-height:1.6;overflow-y:auto;scroll-snap-type:y mandatory;transition:background-color .3s ease,color .3s ease}body,body.dark-mode{background-color:#e9e3e180;background-color:var(--bg-primary);color:#3d211f;color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-family:VT323,Press Start\ 2P,monospace;font-weight:400;letter-spacing:.02em;text-shadow:0 0 5px #d977064d,0 0 10px #d9770633,0 0 15px #d977061a;text-shadow:var(--phosphor-glow-primary)}.tech-tag,.tech-tag-small,code{font-family:IBM Plex Mono,Space Mono,Courier New,monospace;font-weight:400}.App{margin:0;padding:0;position:relative;width:100%;z-index:2}#starfield-bg{background:radial-gradient(ellipse at center,#05060a 0,#000 70%);height:100%;inset:0;pointer-events:none;position:fixed;width:100%;z-index:0}#starfield-bg.light{background:radial-gradient(ellipse at center,#f0fff4 0,#e6ffed 60%,#dfffee 100%)}#starfield{background:#0000;height:100%;inset:0;mix-blend-mode:normal;pointer-events:none;position:fixed;width:100%;z-index:1}#starfield.debug-force-visible{background:#ff000014!important;z-index:2147483647!important}.nav{align-items:flex-end;border-bottom:none;display:flex;justify-content:space-between;left:0;padding:8px 0 0;position:fixed;right:0;top:0;z-index:1000}.nav,body.dark-mode .nav{background:#0000}main{height:calc(100vh - 50px);margin-top:50px;overflow-y:auto;scroll-snap-type:y mandatory}.nav-links{display:flex;gap:0;padding-left:20px;padding-top:0}.nav a{background:#0000;border:1px solid #fff9;border-bottom:none;border-radius:3px 3px 0 0;border-right-color:#80808099;color:#5c4a42;color:var(--text-secondary);font-family:IBM Plex Sans,sans-serif;font-weight:500;margin-right:-1px;padding:8px 18px 10px;position:relative;text-decoration:none;text-shadow:.5px .5px 0 #ffffff4d;transition:all .15s ease}.nav a:hover{background:#e0e0e033;border-color:#fffc #808080cc #808080cc #fffc;color:#3d211f;color:var(--text-primary)}.nav a:active{transform:translateY(1px)}.nav a.active{background:#e9e3e180;background:var(--bg-primary);border-color:#fff grey #0000 #fff;box-shadow:0 -2px 4px #0000001a;color:#3d211f;color:var(--text-primary);margin-bottom:-2px;padding-bottom:12px;z-index:1}body.dark-mode .nav a{background:#0000;border-color:#5559 #0009 #0009 #5559;color:#5c4a42;color:var(--text-secondary);text-shadow:.5px .5px 0 #00000080}body.dark-mode .nav a:hover{background:#4a4a4a33;border-color:#555555e6 #000000e6 #000000e6 #555555e6;color:#3d211f;color:var(--text-primary)}body.dark-mode .nav a.active{background:#e9e3e180;background:var(--bg-primary);border-color:#555 #000 #0000 #555;box-shadow:0 -2px 4px #0000004d}.theme-toggle{background:linear-gradient(180deg,#e0e0e0 0,#b8b8b8);border-color:#fff #404040 #404040 #fff;border-radius:4px;border-style:solid;border-width:3px;box-shadow:2px 2px 4px #0000004d;color:#3d211f;color:var(--text-primary);cursor:pointer;font-family:IBM Plex Sans,sans-serif;font-size:18px;margin-right:20px;padding:6px 12px;text-shadow:1px 1px 0 #fffc;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .05s ease}.theme-toggle:hover{background:linear-gradient(180deg,#f0f0f0 0,#c8c8c8);border-color:#fff #505050 #505050 #fff;box-shadow:0 0 8px #ffffc899}.theme-toggle:active{background:linear-gradient(180deg,#b8b8b8 0,#d0d0d0);border-color:#404040 #fff #fff #404040;box-shadow:inset 2px 2px 4px #0000004d;transform:translate(1px,1px)}.theme-toggle:focus{outline:2px solid #d97706;outline:2px solid var(--link-color);outline-offset:2px}body.dark-mode .theme-toggle{background:linear-gradient(180deg,#2a2a2a 0,#1a1a1a);border-color:#444 #000 #000 #444;box-shadow:2px 2px 4px #0009,inset 0 0 0 1px #333;color:#3d211f;color:var(--text-primary);text-shadow:1px 1px 0 #000c}body.dark-mode .theme-toggle:hover{background:linear-gradient(180deg,#3a3a3a 0,#2a2a2a);border-color:#555 #000 #000 #555;box-shadow:0 0 12px #0f06}body.dark-mode .theme-toggle:active{background:linear-gradient(180deg,#1a1a1a 0,#2a2a2a);border-color:#000 #444 #444 #000;box-shadow:inset 2px 2px 4px #0009}.toggle-text{background:#0000;color:inherit;font-family:IBM Plex Sans,sans-serif;font-size:14px;font-weight:600;margin-left:8px;pointer-events:none}.toggle-thumb{background:-moz-linear-gradient(center top,#fff 15%,#bbb 1%,#bbb 16%,#c5c5c5 1%,#d2d2d2 50%,#e6e6e6 1%,#e6e6e6 99%,#d2d2d2 1%,#d2d2d2 100%);background:-webkit-gradient(linear,0 0,0 100%,from(#fff),color-stop(.15,#fff),color-stop(.15,#bbb),color-stop(.16,#bbb),color-stop(.17,#c5c5c5),color-stop(.5,#d2d2d2),color-stop(.51,#e6e6e6),color-stop(.99,#e6e6e6),color-stop(.99,#d2d2d2),to(#d2d2d2));border:1px solid #a3a3a3;box-shadow:0 2px 5px #999;-moz-box-shadow:0 2px 5px #999;-webkit-box-shadow:0 2px 5px #999;height:100px;width:50px}.toggle-thumb.dark{background:-moz-linear-gradient(center top,#fff 1%,#e6e6e6 1%,#e6e6e6 50%,#ddd 1%,#ddd 51%,#fbfcfb 1%,#fbfcfb 85%,#bbb 1%,#bbb 86%,#c5c5c5 1%,#d2d2d2 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(.01,#fff),color-stop(.01,#e6e6e6),color-stop(.5,#e6e6e6),color-stop(.5,#ddd),color-stop(.51,#ddd),color-stop(.51,#fbfcfb),color-stop(.85,#fbfcfb),color-stop(.85,#c5c5c5),color-stop(1,#d2d2d2));box-shadow:0 5px 5px #999;-moz-box-shadow:0 5px 5px #999;-webkit-box-shadow:0 5px 5px #999}.toggle-icon{font-size:16px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scroll-indicator{align-items:center;animation:fadeIn .5s ease-in-out forwards;animation-delay:1s;bottom:30px;display:flex;flex-direction:column;gap:8px;left:50%;opacity:0;position:fixed;transform:translateX(-50%);transform-origin:50% 0;transition:opacity .3s ease;z-index:999}.scroll-indicator.hide{opacity:0;pointer-events:none}@keyframes fadeIn{to{opacity:1}}.scroll-arrow{animation:bounce 2s infinite;border-bottom:2px solid #5c4a42;border-bottom:2px solid var(--text-secondary);border-right:2px solid #5c4a42;border-right:2px solid var(--text-secondary);cursor:pointer;height:30px;transform-origin:50% 0;transition:border-color .3s ease,transform .24s ease-in-out;width:30px}@keyframes spin{25%{transform:rotate(45deg)}75%{transform:rotate(90deg)}to{transform:rotate(0deg)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0) rotate(45deg)}40%{transform:translateY(-10px) rotate(45deg)}60%{transform:translateY(-5px) rotate(45deg)}}@keyframes swing{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}@keyframes swingText{0%{transform:rotate(-6deg)}to{transform:rotate(6deg)}}.scroll-text{color:#5c4a42;color:var(--text-secondary);cursor:pointer;display:inline-block;font-size:14px;font-weight:500;letter-spacing:1px;text-transform:uppercase;transform-origin:50% 0;transition:color .3s ease,transform .24s ease-in-out}body.dark-mode .toggle-track{background-color:#d97706;background-color:var(--tag-bg);border-color:#d97706;border-color:var(--tag-bg)}.section{background-color:initial!important;display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:1200px;min-height:calc(100vh - 70px);padding:60px 40px;position:relative;scroll-snap-align:start;scroll-snap-stop:always;width:100%}.section#about{align-items:center;justify-content:center;padding-top:120px;text-align:center}.section:last-child{border-bottom:none}.contact-links,.profile-content,.project-card,.project-meta,.project-tags-inline,.project-technologies{background-color:initial!important}.section h2{color:#3d211f;color:var(--text-primary);font-size:2.5rem;font-weight:600;letter-spacing:-.5px;margin-bottom:40px;padding-bottom:10px;position:relative}.section h2:after{background:linear-gradient(135deg,#d97706,#92400e);background:var(--gradient-accent);border-radius:2px;bottom:0;content:"";height:4px;left:0;position:absolute;width:60px}.section h3{color:#3d211f;color:var(--text-primary);font-size:1.2rem;font-weight:600;margin-bottom:15px}.profile-content{margin-bottom:40px;text-align:left}.profile-content h1{-webkit-text-fill-color:#0000;animation:fadeInUp .6s ease-out;background:linear-gradient(135deg,#3f0,#ff0303);-webkit-background-clip:text;background-clip:text;font-size:3.5rem;font-weight:350;letter-spacing:-1px;margin-bottom:10px}.profile-content p:first-of-type{animation:fadeInUp .6s ease-out .1s both;color:#3d211f;color:var(--text-primary);font-size:1.5rem;font-weight:500;margin-bottom:30px}.profile-content p:last-of-type{animation:fadeInUp .6s ease-out .2s both;color:#5c4a42;color:var(--text-secondary);font-size:1.1rem;line-height:1.7;margin-bottom:0;max-width:700px}.skills-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:30px}.dev-env-list{list-style:none;max-width:300px;padding-left:0}.dev-env-list li{border-bottom:1px solid #d9d5c0b9;border-bottom:1px solid var(--border-subtle);color:#5c4a42;color:var(--text-secondary);padding:8px 0}.dev-env-list li:last-child{border-bottom:none}.skill-category ul{list-style:none;padding-left:0}.skill-category li{color:#5c4a42;color:var(--text-secondary);display:block;padding:10px 0 10px 20px;position:relative;transition:all .6s ease;will-change:transform}.skill-category li:before{color:#d97706;color:var(--link-color);content:"▸";left:0;position:absolute;transition:transform .2s ease}.skill-category li:hover{color:#3d211f;color:var(--text-primary);padding-left:40px;transform:translateY(0)}.skill-category li:hover:before{transform:translate(5px,5px)}.skill-category li:last-child{border-bottom:none}.skill-category li,.skill-category li .skill-char{color:#5c4a42;color:var(--text-secondary)}.skill-category li:hover,.skill-category li:hover .skill-char{color:#3d211f;color:var(--text-primary)}body.dark-mode .skill-category li,body.dark-mode .skill-category li .skill-char{color:#5c4a42;color:var(--text-secondary)}body.dark-mode .skill-category li:hover,body.dark-mode .skill-category li:hover .skill-char{color:#3d211f;color:var(--text-primary)}body.dark-mode .github-icon{filter:invert(1) brightness(2)}.github-icon{margin-left:6px;vertical-align:middle}.skill-char{--i:0;color:inherit;display:inline-block;transition:color .2s ease;white-space:pre}.skill-category li:hover .skill-char{animation:charWave .9s ease-in-out infinite,colorCycle 1.75s steps(7) infinite;animation-delay:calc(var(--i)*.06s),calc(var(--i)*.08s);will-change:transform,color}@keyframes charWave{0%{transform:translateY(0)}25%{transform:translateY(-8px)}50%{transform:translateY(0)}75%{transform:translateY(4px)}to{transform:translateY(0)}}@keyframes colorCycle{0%{color:#ff3b30}14%{color:#ff9500}28%{color:#ffd60a}42%{color:#32d74b}56%{color:#5ac8fa}70%{color:#5856d6}84%{color:#ff2d55}to{color:#ff3b30}}.contact-links{display:flex;gap:20px;margin-top:40px}.contact-links a{animation:fadeInUp .6s ease-out .3s both;background:linear-gradient(180deg,#e0e0e0 0,#b8b8b8);border-color:#fff #404040 #404040 #fff;border-radius:3px;border-style:solid;border-width:3px;box-shadow:2px 2px 4px #0000004d;color:#3d211f;color:var(--text-primary);font-family:IBM Plex Sans,sans-serif;font-weight:600;padding:8px 16px;position:relative;text-decoration:none;text-shadow:1px 1px 0 #fffc;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .05s ease}.contact-links a:hover{background:linear-gradient(180deg,#f0f0f0 0,#c8c8c8);border-color:#fff #505050 #505050 #fff}.contact-links a:active{background:linear-gradient(180deg,#b8b8b8 0,#d0d0d0);border-color:#404040 #fff #fff #404040;box-shadow:inset 2px 2px 4px #0000004d;transform:translate(1px,1px)}body.dark-mode .contact-links a{background:linear-gradient(180deg,#2a2a2a 0,#1a1a1a);border-color:#444 #000 #000 #444;box-shadow:2px 2px 4px #0009,inset 0 0 0 1px #333;color:#3d211f;color:var(--text-primary);text-shadow:1px 1px 0 #000c}body.dark-mode .contact-links a:hover{background:linear-gradient(180deg,#3a3a3a 0,#2a2a2a);border-color:#555 #000 #000 #555;box-shadow:0 0 12px #0f06}body.dark-mode .contact-links a:active{background:linear-gradient(180deg,#1a1a1a 0,#2a2a2a);border-color:#000 #444 #444 #000;box-shadow:inset 2px 2px 4px #0009}.projects-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:30px}.project-card{background:#e8d0d080;background:var(--bg-secondary);border:1px solid #c4b5a0a6;border:1px solid var(--border-color);border-radius:16px;box-shadow:4px 4px 0 #3d211f26;box-shadow:var(--shadow-light);overflow:hidden;padding:30px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.project-card:before{background:linear-gradient(135deg,#d97706,#92400e);background:var(--gradient-accent);content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.project-card.clickable{cursor:pointer}.project-card.clickable:focus,.project-card.clickable:hover{border-color:#c4b5a0a6;border-color:var(--border-color);box-shadow:8px 8px 0 #3d211f59;box-shadow:var(--shadow-large);outline:none;transform:translateY(-8px)}.project-card.clickable:hover:before{transform:scaleX(1)}.project-card.clickable:focus{outline:2px solid #d97706;outline:2px solid var(--link-color);outline-offset:2px}.project-card h3{color:#3d211f;color:var(--text-primary);margin-bottom:10px}.project-card p{color:#5c4a42;color:var(--text-secondary);line-height:1.5;margin-bottom:15px}.project-meta{display:flex;flex-direction:column;gap:8px}.project-tags-inline{display:flex;flex-wrap:wrap;gap:6px}.project-tag-small{border-radius:12px;font-size:10px;font-weight:600;letter-spacing:.5px;padding:3px 8px;text-transform:uppercase}.project-technologies{gap:6px}.tech-tag-small{background:linear-gradient(180deg,#d4d4d4 0,#acacac);border-color:#fff #707070 #707070 #fff;border-radius:3px;border-style:solid;border-width:2px;box-shadow:1px 1px 2px #0003;color:#3d211f;color:var(--text-primary);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500;padding:3px 8px;text-shadow:1px 1px 0 #ffffff80;transition:all .05s ease}.project-card:hover .tech-tag-small{background:linear-gradient(180deg,#e4e4e4 0,#bcbcbc);box-shadow:1px 2px 3px #0000004d;transform:translateY(-1px)}body.dark-mode .tech-tag-small{background:linear-gradient(180deg,#363636 0,#262626);border-color:#4a4a4a #1a1a1a #1a1a1a #4a4a4a;box-shadow:1px 1px 2px #0006;color:#3d211f;color:var(--text-primary);text-shadow:1px 1px 0 #000c}body.dark-mode .project-card:hover .tech-tag-small{background:linear-gradient(180deg,#464646 0,#363636);border-color:#5a5a5a #1a1a1a #1a1a1a #5a5a5a}.project-links{display:flex;gap:15px}.project-links a{color:#d97706;color:var(--link-color);font-size:14px;font-weight:500;text-decoration:none}.project-links a:hover{text-decoration:underline}@keyframes subtle-glow{0%,to{box-shadow:0 0 5px #ffffc84d}50%{box-shadow:0 0 12px #ffffc899}}@media (max-width:768px){body,html{scroll-snap-type:y mandatory}.scroll-indicator{bottom:20px}.scroll-arrow{height:25px;width:25px}.scroll-text{font-size:12px}.nav{padding:8px 15px 0}.nav-links{font-size:13px;gap:8px;padding-left:10px}.section{min-height:calc(100vh - 45px);padding:40px 20px}main{margin-top:45px}.section#about{padding-top:100px}.profile-content{text-align:left}.profile-content h1{font-size:2.5rem}.profile-content p:first-of-type{font-size:1.2rem}.profile-content p:last-of-type{font-size:1rem}.section h2{font-size:2rem;margin-bottom:30px}.skills-grid{gap:30px;grid-template-columns:1fr}.dev-env-list{max-width:100%}.contact-links{align-items:center;flex-direction:column;width:100%}.contact-links a{text-align:center;width:100%}.projects-grid{grid-template-columns:1fr}.project-card{padding:20px}#crt-container{animation:none}#crt-container:before{animation:none;background:repeating-linear-gradient(0deg,#00000014,#0000 2px)}h1,h2,h3{text-shadow:0 0 5px #d97706;text-shadow:0 0 5px var(--accent-orange)}.contact-links a:hover,.project-card:hover h3{animation:none}}a,button{cursor:url(/static/media/Dragon%20Scimitar%20hand.2d5de8f7d355b7526c21.cur),pointer}#crt-container{animation:crt-flicker .15s infinite;border-radius:0 0 2% 2%;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;transform:perspective(500px) rotateX(0deg);transform-style:preserve-3d;will-change:opacity,filter;z-index:2}#crt-container,.crt-inner{background:#0000;height:100%;width:100%}.crt-inner{border-radius:1%;transform:scale(.98)}.App,.crt-inner{pointer-events:auto}@keyframes crt-flicker{0%,to{filter:brightness(1);opacity:1}2%{filter:brightness(.98);opacity:.98}4%{filter:brightness(1.02);opacity:1}8%{filter:brightness(.99);opacity:.99}50%{filter:brightness(1);opacity:1}52%{filter:brightness(.98);opacity:.98}}#crt-container:before{animation:scanlines 8s linear infinite;background:repeating-linear-gradient(0deg,#00000026,#0000 1px,#0000 2px,#00000026 3px);content:"";height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:10}@keyframes scanlines{0%{transform:translateY(0)}to{transform:translateY(4px)}}#crt-container:after{background:radial-gradient(ellipse at center,#0000 0,#0000 65%,#0000001a 85%,#0000004d 100%);content:"";height:110%;left:-5%;pointer-events:none;position:fixed;top:-5%;width:110%;z-index:9}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}#projects h2,#skills h2{padding-bottom:0;position:static}#projects h2:after,#skills h2:after{animation:cursor-blink 1.2s step-end infinite;background:none;color:#d97706;color:var(--accent-orange);content:"█";display:inline-block;font-size:.85em;height:auto;margin-left:8px;position:static;vertical-align:.05em;width:auto}body.dark-mode #projects h2:after,body.dark-mode #skills h2:after{color:#3c402c;color:var(--accent-green)}.profile-content h1:after{animation:cursor-blink 1.2s step-end infinite;color:#fbbf24;color:var(--accent-yellow);content:"█";display:inline-block;filter:drop-shadow(0 0 8px #fbbf24);filter:drop-shadow(0 0 8px var(--accent-yellow));font-size:.75em;margin-left:12px;vertical-align:.05em}@keyframes rs-flash{0%,to{color:#dc2626;color:var(--rs-flash-color-1)}50%{color:#d97706;color:var(--rs-flash-color-2)}}#projects h2{animation:rs-flash 1.5s ease-in-out infinite}@keyframes rs-glow{0%,to{text-shadow:0 0 5px #fbbf24,0 0 10px #fbbf24,0 0 15px #fbbf24;text-shadow:0 0 5px var(--rs-glow-color),0 0 10px var(--rs-glow-color),0 0 15px var(--rs-glow-color)}50%{text-shadow:0 0 10px #fbbf24,0 0 20px #fbbf24,0 0 30px #fbbf24;text-shadow:0 0 10px var(--rs-glow-color),0 0 20px var(--rs-glow-color),0 0 30px var(--rs-glow-color)}}.nav a:hover{animation:rs-glow 2s ease-in-out infinite}.profile-content h1{animation:fadeInUp .6s ease-out,rs-glow 3s ease-in-out .6s infinite}@keyframes rs-shake{0%,to{transform:translate(0) rotate(0deg)}10%{transform:translate(-1px,-1px) rotate(-.5deg)}20%{transform:translate(1px,1px) rotate(.5deg)}30%{transform:translate(-1px,1px) rotate(-.5deg)}40%{transform:translate(1px,-1px) rotate(.5deg)}50%{transform:translate(-1px,-1px) rotate(-.5deg)}60%{transform:translate(1px,1px) rotate(.5deg)}70%{transform:translate(-1px,1px) rotate(-.5deg)}80%{transform:translate(1px,-1px) rotate(.5deg)}90%{transform:translate(-1px,-1px) rotate(-.5deg)}}.project-card:hover h3{animation:rs-shake .5s ease-in-out infinite;display:inline-block}@keyframes rs-scroll-subtle{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}}.contact-links a:hover{animation:rs-scroll-subtle 2s ease-in-out infinite}@keyframes rs-slide-in{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}.profile-content p:first-of-type{animation:rs-slide-in .8s ease-out .3s both}@media (prefers-reduced-motion:reduce){#crt-container,#crt-container:before{animation:none!important}.profile-content h1:after,.section h2:after{animation:none!important;opacity:1}#projects h2,.contact-links a:hover,.nav a:hover,.profile-content h1,.project-card:hover h3{animation:none!important}h1,h2,h3,h4,h5,h6{text-shadow:none!important}.profile-content h1{animation:fadeInUp .6s ease-out both!important}.profile-content p:first-of-type{animation:fadeIn .8s ease-out .3s both!important}}.modal-overlay{align-items:center;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalFadeIn .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#e9e3e1f2;border-radius:12px;box-shadow:0 20px 40px var(--shadow-medium);display:flex;flex-direction:column;max-height:90vh;max-width:800px;position:relative;width:100%}body.dark-mode .modal-content{background:#000000eb}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:28px;height:40px;justify-content:center;position:absolute;right:20px;top:15px;transition:all .2s ease;width:40px;z-index:1001}.modal-close:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.modal-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-primary);border-top-left-radius:12px;border-top-right-radius:12px;flex-shrink:0;padding:30px 30px 20px}.modal-header h2{color:var(--text-primary);font-size:1.8rem;font-weight:600;margin:0 0 10px}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.project-tag{border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.project-technologies{display:flex;flex-wrap:wrap;gap:8px}.tech-tag{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:var(--tech-bg);border-radius:20px;color:var(--tech-text);font-size:12px;font-weight:500;padding:4px 12px}.modal-body{flex-grow:1;overflow-y:auto;padding:20px 30px}.project-images{margin-bottom:25px}.project-image-container{margin:0 0 20px}.project-image-container:last-child{margin-bottom:0}.project-image-container img{border-radius:8px;box-shadow:0 4px 12px var(--shadow-light);display:block;height:auto;width:100%}.project-image-container figcaption{color:var(--text-secondary);font-size:13px;font-style:italic;line-height:1.4;margin-top:8px;text-align:center}.project-description{color:var(--text-secondary);line-height:1.6}.project-description p{margin:0 0 15px}.project-description p:last-child{margin-bottom:0}.project-description h3{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:20px 0 12px}.project-description h3:first-child{margin-top:15px}.project-description ul{margin:0 0 15px;padding-left:25px}.project-description li{color:var(--text-secondary);margin-bottom:8px}.project-description li:last-child{margin-bottom:0}.modal-footer{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#e9e3e1f2;border-bottom-left-radius:12px;border-bottom-right-radius:12px;display:flex;flex-shrink:0;gap:15px;padding:20px 30px 30px}body.dark-mode .modal-footer{background:#000000eb}.project-link{border:1px solid var(--link-color);border-radius:5px;color:var(--link-color);display:inline-block;font-weight:500;padding:10px 20px;text-decoration:none;transition:all .3s ease}.project-link:hover{background-color:var(--link-color);color:#fff}@media (max-width:768px){.modal-overlay{padding:10px}.modal-content{max-height:95vh}.modal-header{padding:20px 20px 15px}.modal-body{padding:15px 20px}.modal-footer{flex-direction:column;padding:15px 20px 20px}.modal-header h2{font-size:1.5rem}}.carousel{margin-bottom:25px;position:relative}.carousel-viewport{border-radius:8px;overflow:hidden}.carousel-container{display:flex;touch-action:pan-y}.carousel-slide{align-items:center;display:flex;flex:0 0 100%;justify-content:center;min-width:0}.carousel-slide-content{align-items:center;display:flex;flex-direction:column;margin:0;width:100%}.carousel-image{border-radius:0;display:block;height:500px;object-fit:contain;outline:#fff;width:100%}.carousel-caption{color:var(--text-secondary);font-size:13px;font-style:italic;line-height:1.4;margin-top:8px;text-align:center;transition:opacity .3s ease}.carousel-button{background:linear-gradient(180deg,#e0e0e0 0,#b8b8b8);border-color:#fff #404040 #404040 #fff;border-radius:4px;border-style:solid;border-width:3px;box-shadow:2px 2px 4px #0000004d;box-sizing:initial;color:var(--text-primary);cursor:pointer;font-family:IBM Plex Sans,sans-serif;font-weight:600;height:2.5em;padding:0 1.2em;text-shadow:1px 1px 0 #fffc;transition:all .05s ease}.carousel-button:hover{background:linear-gradient(180deg,#f0f0f0 0,#c8c8c8);border-color:#fff #505050 #505050 #fff;box-shadow:0 0 8px #ffffc899}.carousel-button:active{background:linear-gradient(180deg,#b8b8b8 0,#d0d0d0);border-color:#404040 #fff #fff #404040;box-shadow:inset 2px 2px 4px #0000004d;transform:translate(1px,1px)}.carousel-button:focus{outline:2px solid var(--link-color);outline-offset:2px}.carousel-button-prev{left:15px}.carousel-button-next{right:15px}.carousel-dots{display:flex;gap:10px;justify-content:center;margin-top:20px;padding-bottom:5px}.carousel-dot{background-color:var(--text-secondary);border:none;border-radius:50%;cursor:pointer;height:12px;opacity:.3;padding:0;transition:all .3s ease;width:12px}.carousel-dot:hover{opacity:.6;transform:scale(1.2)}.carousel-dot:focus{outline:2px solid var(--link-color);outline-offset:2px}.carousel-dot-active{background-color:var(--link-color);opacity:1;transform:scale(1.3)}body.dark-mode .carousel-button{background:linear-gradient(180deg,#2a2a2a 0,#1a1a1a);border-color:#444 #000 #000 #444;box-shadow:2px 2px 4px #0009,inset 0 0 0 1px #333;color:var(--text-primary);text-shadow:1px 1px 0 #000c}body.dark-mode .carousel-button:hover{background:linear-gradient(180deg,#3a3a3a 0,#2a2a2a);border-color:#555 #000 #000 #555;box-shadow:0 0 12px #0f06}body.dark-mode .carousel-button:active{background:linear-gradient(180deg,#1a1a1a 0,#2a2a2a);border-color:#000 #444 #444 #000;box-shadow:inset 2px 2px 4px #0009}@media (max-width:768px){.carousel-image{height:300px}.carousel-button{--ini:circle farthest-side at;--lst:0,#0000 100%,#383d41;--set:bottom 1.25em/0.625em 0.625em no-repeat padding-box;border:3px solid #0000;border-radius:1em;box-sizing:initial;color:#e9eae9;font:inherit;height:2.5em;padding:0 .75em;text-shadow:1px 1px #434343,1px 1px 3px #323232}.carousel-button-prev{left:10px}.carousel-button-next{right:10px}.carousel-dots{margin-top:15px}.carousel-dot{height:10px;width:10px}}
/*# sourceMappingURL=main.4aba18d1.css.map*/