body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--fire-orange:#ff6b35;--ember-red:#cc2936}.home-container{color:#e0e0e0;color:var(--text);font-family:MedievalSharp,cursive;height:100vh;overflow:hidden;position:relative}.background{background:url(/Portfolio/static/media/Anor_Londo_29.b6992dfe2d1e9fa906f4.png) no-repeat 50%/cover;opacity:.7;z-index:-2}.background,.veil{height:100%;left:0;position:absolute;top:0;width:100%}.veil{background:linear-gradient(180deg,#0d0c0fe6,#0d0c0f99);z-index:-1}.content{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:0 2rem;text-align:center}.title{cursor:default;font-size:4rem;margin-bottom:1rem;position:relative;text-shadow:0 0 10px #3c4d7a;text-shadow:0 0 10px var(--blood-red)}.title-glow{color:#c9a227;color:var(--golden);font-size:1.5rem}.title-glow,.title-main{display:block;overflow:hidden;position:relative}.title-main{font-size:3.5rem;letter-spacing:3px}.letter{display:inline-block;position:relative;transform-origin:center center;transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.letter:hover{color:#ff6b35;color:var(--fire-orange);filter:brightness(1.5);text-shadow:0 0 20px #cc2936,0 0 40px #ff6b35,0 0 60px #c9a227;text-shadow:0 0 20px var(--ember-red),0 0 40px var(--fire-orange),0 0 60px var(--golden);transform:scale(1.2) translateY(-5px) rotate(5deg)}.letter:before{background:#ff6b35;background:var(--fire-orange);border-radius:50%;content:"";height:4px;left:50%;opacity:0;position:absolute;top:-10px;transform:translateX(-50%);transition:all .5s ease;width:4px}.letter:hover:before{box-shadow:0 0 10px #ff6b35,0 0 20px #cc2936;box-shadow:0 0 10px var(--fire-orange),0 0 20px var(--ember-red);opacity:1;transform:translateX(-50%) translateY(-20px)}.title-main:after{border:2px solid #c9a227;border:2px solid var(--golden);border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .6s ease;width:0}.title:hover .title-main:after{border-color:#cc2936;border-color:var(--ember-red);height:200px;opacity:.3;width:200px}.title-glow .letter{position:relative}.title-glow .letter:after{background:linear-gradient(45deg,#0000,#c9a227,#0000);background:linear-gradient(45deg,#0000,var(--golden),#0000);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transform:translateX(-100%);transition:all .8s ease}.title-glow .letter:hover:after{opacity:.6;transform:translateX(100%)}.title-main .letter{overflow:visible;position:relative}.title-main .letter:nth-child(2n):hover{color:#cc2936;color:var(--ember-red);transform:scale(1.15) translateY(-8px) rotate(-3deg)}.title-main .letter:nth-child(odd):hover{color:#ff6b35;color:var(--fire-orange);transform:scale(1.25) translateY(-3px) rotate(8deg)}.title-main .letter:first-child{transition-delay:.05s}.title-main .letter:nth-child(2){transition-delay:.1s}.title-main .letter:nth-child(3){transition-delay:.15s}.title-main .letter:nth-child(4){transition-delay:.2s}.title-main .letter:nth-child(5){transition-delay:.25s}.title-main .letter:nth-child(6){transition-delay:.3s}.title-main .letter:nth-child(7){transition-delay:.35s}.title-main .letter:nth-child(8){transition-delay:.4s}.title-main .letter:nth-child(9){transition-delay:.45s}.title-main .letter:nth-child(10){transition-delay:.5s}.title-main .letter:nth-child(11){transition-delay:.55s}.title-main .letter:nth-child(12){transition-delay:.6s}.title:hover{filter:drop-shadow(0 0 30px rgba(204,41,54,.5))}.subtitle{font-size:1.5rem;margin-bottom:2rem;max-width:600px}.text-blood{font-weight:700}.cta-buttons{display:flex;gap:1rem}.cta-button{background:#3c4d7a;background:var(--blood-red);border:none;border-radius:5px;color:#fff;cursor:pointer;font-family:MedievalSharp,cursive;font-size:1rem;padding:.8rem 1.5rem;text-decoration:none;transition:all .3s}.cta-button-outline{background:#0000;border:2px solid #c9a227;border:2px solid var(--golden);color:#c9a227;color:var(--golden)}.cta-button:hover{box-shadow:0 5px 15px #3c4d7a;transform:translateY(-3px)}.pulse{animation:pulse 1.5s infinite}@media (max-width:768px){.title{font-size:2.5rem}.subtitle{font-size:1.2rem}.cta-buttons{flex-direction:column}.letter:hover{transform:scale(1.1) translateY(-3px)}}.project-card{background:#141419cc;border:1px solid var(--blood-red);border-radius:8px;box-shadow:0 4px 6px #0000001a;overflow:hidden;transition:all .3s ease}.project-card.hovered{box-shadow:0 10px 20px #6c757d;transform:translateY(-10px)}.project-image-container{height:200px;overflow:hidden;position:relative;width:100%}.project-image{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.project-card.hovered .project-image{transform:scale(1.05)}.project-overlay{background:linear-gradient(0deg,#0d0c0fe6,#0000);height:100%;left:0;position:absolute;top:0;width:100%}.project-content{padding:1.5rem}.project-title{color:var(--golden);font-size:1.5rem;margin-bottom:.5rem}.project-description{line-height:1.5;margin-bottom:1rem;opacity:.9}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tag{background:#3c4d7a;border-radius:4px;color:var(#5a6268);font-size:.8rem;padding:.3rem .6rem}.project-links{display:flex;gap:1rem}.project-link{background:var(--blood-red);border-radius:4px;color:#fff;padding:.5rem 1rem;text-decoration:none;transition:all .3s}.project-link:hover{background:#3c4d7a}.demo-link{background:#0000;border:1px solid var(--golden);color:var(--golden)}.demo-link:hover{background:#c9a2271a}:root{--bg2:url(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQbTKMSKE1N1h10gyRJetlnA37QP0dBGHrCFQ&s)}.projects-page{background:linear-gradient(#0d0c0fd9,#0d0c0fe6),url(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQbTKMSKE1N1h10gyRJetlnA37QP0dBGHrCFQ&s),#0d0c0f;background:linear-gradient(#0d0c0fd9,#0d0c0fe6),var(--bg2),var(--dark-bg);background-attachment:fixed;background-size:cover;color:#e0e0e0;color:var(--text);font-family:MedievalSharp,cursive;font-family:var(--font-primary);min-height:100vh;overflow:hidden;padding:2% 2rem 2rem;position:relative}.projects-page:before{animation:candle-flicker 8s infinite alternate;background:radial-gradient(circle at 20% 30%,#c9a22726,#0000 20%),radial-gradient(circle at 80% 20%,#c9a2271a,#0000 20%),radial-gradient(circle at 30% 80%,#c9a2271a,#0000 20%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:-1}@keyframes candle-flicker{0%,to{opacity:.8}25%{opacity:.9;transform:translateY(-1px)}50%{opacity:.7;transform:translateY(1px)}75%{opacity:.85}}.projects-title{font-size:3rem;margin-bottom:1rem;margin-top:1%;position:relative;text-align:center;text-shadow:0 0 8px #2d4177;transform:translateZ(0);z-index:1}.text-blood{color:#3c4d7a;text-shadow:0 0 5px #3c4d7ab3}.projects-subtitle{font-size:1.2rem;font-style:italic;margin-bottom:3rem;opacity:.8;position:relative;text-align:center;z-index:1}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:0 auto;max-width:1200px;perspective:1000px;position:relative;z-index:1}.mouse-move-effect{background:radial-gradient(circle at var(--mouse-x) var(--mouse-y),#c9a2270d,#0000 30%);bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;transition:background .3s ease-out;z-index:0}@media (max-width:768px){.projects-page{background-attachment:scroll;padding-top:5rem}.projects-title{font-size:2rem;margin-top:1rem}.projects-subtitle{font-size:1rem}.projects-grid{grid-template-columns:1fr}}:root{--dark-bg-secondary:#1a181b;--blood-red-dark:#1f2d53;--golden-light:#e0c040;--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--font-secondary:"Crimson Text",serif;--font-code:"Fira Code",monospace;--border-radius:8px;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 12px #22325f;--shadow-lg:0 8px 24px #c9a22733;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease}body{background-color:#0d0c0f;background-color:var(--dark-bg);color:#e0e0e0;color:var(--text-primary);font-family:Crimson Text,serif;font-family:var(--font-secondary);line-height:1.6;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:MedievalSharp,cursive;font-family:var(--font-primary);letter-spacing:1px;margin:0}a{color:#c9a227;color:var(--golden);text-decoration:none;transition:.2s ease;transition:var(--transition-fast)}a:hover{color:#e0c040;color:var(--golden-light);text-shadow:0 0 5px #c9a22780}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#1a181b;background:var(--dark-bg-secondary)}::-webkit-scrollbar-thumb{background:#3c4d7a;background:var(--blood-red);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#1f2d53;background:var(--blood-red-dark)}:root{--bg1:url(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTo_piTlmiaaLL0YB2V_XF8sCpxY6n6X3gkHQ&s)}.skills-page{background:linear-gradient(#0d0c0fd9,#0d0c0fe6),url(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTo_piTlmiaaLL0YB2V_XF8sCpxY6n6X3gkHQ&s),var(--dark-bg);background:linear-gradient(#0d0c0fd9,#0d0c0fe6),var(--bg1),var(--dark-bg);background-attachment:fixed;background-size:cover;color:var(--text-primary);font-family:var(--font-secondary);min-height:100vh;padding:2% 2rem 2rem}.skills-title{font-family:var(--font-primary);font-size:3rem;margin-bottom:1rem;margin-top:1%;text-align:center;text-shadow:0 0 10px #3c4d7a}.text-blood{color:var(--blood-red)}.skills-subtitle{font-size:1.2rem;margin-bottom:2rem;opacity:.8;text-align:center}.skills-filter{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-bottom:2rem}.filter-button{background:#0000;border:1px solid var(--golden);border-radius:20px;color:var(--golden);cursor:pointer;font-family:var(--font-primary);padding:.5rem 1.2rem;transition:var(--transition-normal)}.filter-button:hover{background:#c9a2271a}.filter-button.active{background:var(--golden);color:var(--dark-bg);font-weight:700}.skills-list{margin:0 auto;max-width:800px}.skill-item{background:#14141999;border-left:3px solid var(--blood-red);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1rem}.skill-header{align-items:center;display:flex;margin-bottom:.5rem}.skill-icon{font-size:1.5rem;margin-right:.8rem}.skill-name{flex-grow:1;font-family:var(--font-primary);font-weight:700}.skill-level{color:var(--golden);font-weight:700}.skill-bar-container{background:#1f2a47;border-radius:5px;height:10px;overflow:hidden;width:100%}.skill-bar{background:linear-gradient(90deg,var(--blood-red),var(--golden));border-radius:5px;height:100%;position:relative;transition:width 1.5s ease-out}.skill-bar.animate:after{animation:shine 2s infinite;background:linear-gradient(90deg,#0000,#fff3,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shine{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@media (max-width:768px){.skills-page{padding-top:5rem}.skills-title{font-size:2.2rem;margin-top:1rem}.skills-filter{gap:.5rem}.filter-button{font-size:.9rem;padding:.4rem .8rem}.skill-item{padding:.8rem}}:root{--font-primary:"MedievalSharp",cursive}.navbar{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0d0c0fcc;border-bottom:1px solid #3050a8;display:flex;justify-content:space-between;padding:1rem 0;position:fixed;top:0;transition:all .3s ease;width:100%;z-index:1000}.navbar.scrolled{background:#141419f2;border-bottom:1px solid #3c4d7a;border-bottom:1px solid var(--blood-red)}.navbar-brand{color:#e0e0e0;color:var(--text);display:flex;flex-direction:column;font-family:MedievalSharp,cursive;font-family:var(--font-primary);font-size:1.5rem;line-height:1.2;margin-left:1%;text-decoration:none}.brand-glow{color:#c9a227;color:var(--golden);font-size:.8rem}.brand-main{font-size:1.2rem;letter-spacing:1px}.navbar-links{display:flex;gap:2rem;margin-right:1%}.nav-link{color:#e0e0e0;color:var(--text);font-family:MedievalSharp,cursive;font-family:var(--font-primary);position:relative;text-decoration:none;transition:all .3s}.nav-link:hover{color:#c9a227;color:var(--golden)}.nav-link.active{color:#3c4d7a;color:var(--blood-red)}.nav-link.active:after{background:#3c4d7a;background:var(--blood-red);bottom:-5px;content:"";height:2px;left:0;position:absolute;width:100%}.mobile-menu-button{background:#0000;border:none;color:#e0e0e0;color:var(--text);cursor:pointer;display:none;font-size:1.5rem;z-index:1001}.mobile-menu{align-items:center;background:#0d0c0ff2;display:none;flex-direction:column;gap:2rem;height:100vh;justify-content:center;left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition:all .3s;width:100%;z-index:1000}.mobile-menu.open{opacity:1;pointer-events:all}.mobile-nav-link{color:#e0e0e0;color:var(--text);font-family:MedievalSharp,cursive;font-family:var(--font-primary);font-size:1.5rem;text-decoration:none;transition:all .3s}.mobile-nav-link:hover{color:#c9a227;color:var(--golden)}.mobile-nav-link.active{color:#3c4d7a;color:var(--blood-red)}@media (max-width:768px){.navbar-brand{margin-left:4%}.mobile-menu-button{margin-right:4%}.navbar-links{display:none}.mobile-menu-button{display:block}.mobile-menu{display:flex}}:root{--dark-bg:#0d0c0f;--blood-red:#3c4d7a;--golden:#c9a227;--text:#e0e0e0;--ember-orange:#ff6b35;--soul-blue:#4a90e2}.footer{background:#0d0c0ff2;border-top:2px solid #3c4d7a;border-top:2px solid var(--blood-red);overflow:hidden;padding:2rem 1.5rem;position:relative}.footer:before{animation:shimmer 3s infinite;background:linear-gradient(90deg,#0000,#c9a227,#0000);background:linear-gradient(90deg,#0000,var(--golden),#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.footer-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 2fr 1fr;margin:0 auto;max-width:1200px}.bonfire-container,.footer-content{align-items:center;position:relative}.bonfire-container{display:flex;flex-direction:column;gap:.5rem}.bonfire{background:url(https://www.hyperhype.es/wp-content/uploads/2022/04/Dark-Souls-e1650300487870.png) no-repeat 50%/cover;border-radius:50%;cursor:pointer;filter:drop-shadow(0 0 5px rgba(201,162,39,.5));height:80px;position:relative;transition:all .3s;width:80px}.bonfire:before{animation:rotating-border 3s linear infinite;background:#0000;border:2px solid #c9a227;border:2px solid var(--golden);border-radius:50%;bottom:-5px;content:"";left:-5px;opacity:0;position:absolute;right:-5px;top:-5px;transition:opacity .3s}.bonfire:hover:before{opacity:.7}.bonfire.lit{animation:bonfire-glow 2s infinite alternate;background:url(https://raw.githubusercontent.com/TanZng/TanZng/master/assets/bonefire.gif) no-repeat 50%/cover}.bonfire-label{font-size:.8rem;opacity:.8;text-align:center}.bonfire-label,.bonfire-message{color:#c9a227;color:var(--golden);font-family:MedievalSharp,cursive}.bonfire-message{animation:fadeInOut 3s ease-in-out;background:#000000e6;border:1px solid #c9a227;border:1px solid var(--golden);border-radius:4px;font-size:.9rem;left:50%;padding:.5rem 1rem;position:absolute;top:-35px;transform:translateX(-50%);white-space:nowrap}@keyframes fadeInOut{0%{opacity:0;transform:translateX(-50%) translateY(10px)}20%{opacity:1;transform:translateX(-50%) translateY(0)}80%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(-10px)}}@keyframes bonfire-glow{0%{filter:drop-shadow(0 0 10px #c9a227);filter:drop-shadow(0 0 10px var(--golden))}to{filter:drop-shadow(0 0 25px #ff6b35);filter:drop-shadow(0 0 25px var(--ember-orange))}}.dark-souls-message{align-items:center;display:flex;flex-direction:column;position:relative;text-align:center}.message-container{background:linear-gradient(#f4f1e81a,#e8e0d033),url(https://cdn.textures4photoshop.com/tex/thumbs/grunge-stained-old-paper-texture-130.jpg),#f4f1e8;background-blend-mode:multiply,multiply,normal;background-size:cover,200px 200px,cover;border:1px solid #8b735566;border-radius:4px;box-shadow:0 2px 8px #00000026,inset 0 1px 0 #fff3;padding:1rem 1.5rem;position:relative;transform:rotate(-.5deg)}.message-container:before{background:repeating-linear-gradient(0deg,#0000,#0000 2px,#8b73551a 0,#8b73551a 3px);border-radius:4px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}@keyframes rotating-border{0%{border-color:#c9a227;border-color:var(--golden);box-shadow:0 0 10px #c9a227;box-shadow:0 0 10px var(--golden)}50%{border-color:#ff6b35;border-color:var(--ember-orange);box-shadow:0 0 15px #ff6b35;box-shadow:0 0 15px var(--ember-orange)}to{border-color:#c9a227;border-color:var(--golden);box-shadow:0 0 10px #c9a227;box-shadow:0 0 10px var(--golden)}}.message-text{color:#e0e0e0;color:var(--text);font-family:MedievalSharp,cursive;font-size:1.1rem;letter-spacing:1px;margin:0;text-shadow:0 0 10px #ffffffde}.message-subtitle{color:#fff;font-size:.9rem;font-style:italic;margin-top:.5rem;opacity:.8}.soul-info{flex-direction:column;gap:1rem}.soul-info,.soul-rune{align-items:center;display:flex}.soul-rune{animation:soul-pulse 2s infinite;background:url("https://darksouls3.wiki.fextralife.com/file/Dark-Souls-3/(Large)_Soul_of_a_Weary_Warrior_Icon.png") no-repeat 50%/70%,linear-gradient(135deg,#4a90e2,#3c4d7a);background:url("https://darksouls3.wiki.fextralife.com/file/Dark-Souls-3/(Large)_Soul_of_a_Weary_Warrior_Icon.png") no-repeat 50%/70%,linear-gradient(135deg,var(--soul-blue) 0,var(--blood-red) 100%);border:2px solid #c9a227;border:2px solid var(--golden);border-radius:50%;box-shadow:0 0 10px #4a90e2,inset 0 0 20px #ffffff1a;box-shadow:0 0 10px var(--soul-blue),inset 0 0 20px #ffffff1a;cursor:pointer;height:60px;justify-content:center;overflow:hidden;position:relative;transition:all .3s;width:60px}.soul-rune:after{background:radial-gradient(circle,#0000 40%,#4a90e24d 100%);border-radius:50%;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.soul-rune:hover{box-shadow:0 0 20px #4a90e2,0 0 30px #c9a227,inset 0 0 20px #fff3;box-shadow:0 0 20px var(--soul-blue),0 0 30px var(--golden),inset 0 0 20px #fff3;transform:scale(1.1)}@keyframes soul-pulse{0%,to{box-shadow:0 0 10px #4a90e2,inset 0 0 20px #ffffff1a;box-shadow:0 0 10px var(--soul-blue),inset 0 0 20px #ffffff1a;transform:scale(1)}50%{box-shadow:0 0 20px #4a90e2,0 0 15px #c9a227,inset 0 0 20px #fff3;box-shadow:0 0 20px var(--soul-blue),0 0 15px var(--golden),inset 0 0 20px #fff3;transform:scale(1.05)}}.soul-counter{color:#c9a227;color:var(--golden);font-family:MedievalSharp,cursive;font-size:.9rem;text-align:center}.soul-label{color:#e0e0e0;color:var(--text);font-size:.8rem;opacity:.7}.social-links{border-top:1px solid #3c4d7a4d;display:flex;gap:1.5rem;grid-column:1/-1;justify-content:center;margin-top:1rem;padding-top:1rem}.social-icon{color:#e0e0e0;color:var(--text);cursor:pointer;font-size:1.5rem;transition:all .3s}.social-icon:hover{color:#c9a227;color:var(--golden);filter:drop-shadow(0 0 10px #c9a227);filter:drop-shadow(0 0 10px var(--golden));transform:translateY(-3px) scale(1.1)}@media (max-width:768px){.footer-content{gap:1.5rem;grid-template-columns:1fr;text-align:center}.message-container{padding:1rem 1.5rem}.bonfire,.soul-rune{height:60px;width:60px}}.fog-transition{min-height:100vh;position:relative;width:100%}.fog-overlay{left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition:opacity .5s ease-in-out;z-index:9999}.fog-gif,.fog-overlay{height:100%;width:100%}.fog-gif{mix-blend-mode:screen;object-fit:cover}.fog-transition.fadeOut .fog-overlay{opacity:1}.fog-transition.fadeIn .fog-overlay{opacity:0}@media (max-width:768px){.fog-overlay{background:#0d0c0fb3}.fog-gif{opacity:.7}.fog-message{font-size:1.2rem;width:80%}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes glow-red{0%{box-shadow:0 0 5px var(--blood-red)}to{box-shadow:0 0 20px var(--blood-red)}}@keyframes glow-gold{0%{box-shadow:0 0 5px var(--golden)}to{box-shadow:0 0 20px var(--golden)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pulse{animation:pulse 2s infinite}.glow-red{animation:glow-red 1.5s infinite alternate}.glow-gold{animation:glow-gold 1.5s infinite alternate}.fade-in{animation:fadeIn .8s ease forwards}.typewriter{animation:typing 3.5s steps(40),blink-caret .75s step-end infinite;border-right:3px solid var(--golden);letter-spacing:2px;margin:0 auto;overflow:hidden;white-space:nowrap}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:#0000}50%{border-color:var(--golden)}}@media (max-width:768px){body{font-size:14px}.navbar{padding:.8rem 1rem}.navbar-brand{font-size:1.2rem}.title{font-size:2.2rem!important}.subtitle{font-size:1rem!important}.projects-grid{gap:1.5rem!important;grid-template-columns:1fr!important}.skill-item{margin-bottom:1rem!important}.skill-name{font-size:1rem!important}}@media (min-width:769px) and (max-width:1024px){.projects-grid{grid-template-columns:repeat(2,1fr)!important}.navbar-links{gap:1rem!important}}@media (min-width:1025px){.project-card:hover{transform:translateY(-10px)!important}.nav-link:hover:after{width:100%!important}}.container{margin:0 auto;max-width:1200px;padding:0 1.5rem}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.btn{border-radius:var(--border-radius);display:inline-block;font-family:var(--font-primary);padding:.6rem 1.2rem;transition:var(--transition-normal)}.btn-primary{background:var(--blood-red);border:none;color:#fff}.btn-primary:hover{animation:pulse 1.5s infinite;background:var(--blood-red-dark)}.btn-outline{background:#0000;border:2px solid var(--golden);color:var(--golden)}.btn-outline:hover{background:#c9a2271a}.paper-effect{background:url(https://cdn.textures4photoshop.com/tex/thumbs/grunge-stained-old-paper-texture-130.jpg);background-size:cover;border:1px solid var(--golden);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);padding:2rem}
/*# sourceMappingURL=main.60da5b21.css.map*/