@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@...");:root{--color-red: #F50057;--color-red-orange: #FF3D00;--color-orange: #FF6F00;--color-yellow: #FFEA00;--color-green: #00E676;--color-blue: #00CFFF;--color-pink: #FF77B9;--color-purple: #5D09E4;--color-black: #1A1A2E;--bright-yellow: #ffff2d;--bright-red: #ff3474;--bright-blue: #18d8ff;--bg-color: #1B1524;--second-bg-color: #14142b;--text-color: #9FA5B2;--glow-purple: rgba(160, 32, 240, 0.35);--glow-purple-mid: rgba(160, 32, 240, 0.25);--glow-purple-low: rgba(160, 32, 240, 0.15);--glow-red: rgba(245, 0, 87, 0.25);--glow-red-low: rgba(245, 0, 87, 0.15);--glow-blue: rgba(0, 207, 255, 0.25);--glow-blue-low: rgba(0, 207, 255, 0.15);--glow-yellow: rgba(255, 234, 0, 0.25);--glow-orange: rgba(255, 111, 0, 0.25);--font-display: 'Edit Undo BRK', monospace;--font-pixel: 'Pixel Game', monospace;--font-body: 'IBM Plex Mono', monospace;--text-xs: 0.85rem;--text-sm: 0.95rem;--text-base: 1rem;--text-lg: 1.1rem;--text-xl: 1.3rem;--text-2xl: 2rem;--text-3xl: 2.7rem;--space-xs: 0.5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--space-3xl: 6rem;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 30px;--radius-2xl: 70px;--radius-full: 50%;--transition-fast: 0.2s ease;--transition-base: 0.3s ease;--transition-slow: 0.5s ease;--z-background: 0;--z-content: 1;--z-elevated: 2;--z-modal-overlay: 999;--z-modal: 1000;--shadow-sm: 0 0 15px;--shadow-md: 0 0 25px;--shadow-lg: 0 0 30px;--shadow-xl: 0 0 60px}@keyframes pulseGlow{0%, 100%{opacity:0.6;transform:translate(-50%, -50%) scale(1)}50%{opacity:1;transform:translate(-50%, -50%) scale(1.2)}}@font-face{font-family:'Pixel Game';src:url("../fonts/pixel-game.regular.otf") format("opentype");font-weight:normal;font-style:normal}@font-face{font-family:'Edit Undo BRK';src:url("../fonts/editundo.ttf") format("truetype");font-weight:normal;font-style:normal}body{background-color:var(--bg-color);margin:0;padding:0;overflow-x:hidden;scroll-padding-bottom:0}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-purple)}@keyframes pulseGlow{0%, 100%{opacity:0.6;transform:translate(-50%, -50%) scale(1)}50%{opacity:1;transform:translate(-50%, -50%) scale(1.2)}}.section-wrapper{position:relative;overflow:hidden}.glow-container{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:var(--z-content)}#hero-glow-1{position:absolute;pointer-events:none;z-index:1;filter:blur(300px);animation:pulseGlow 4s ease-in-out infinite;will-change:transform, opacity;contain:strict;top:15%;left:80%;width:clamp(400px, 60vw, 900px);height:clamp(400px, 60vw, 900px);background:radial-gradient(circle, var(--glow-purple) 50%, transparent 70%);filter:blur(300px);animation-duration:5s}@supports (-moz-appearance: none){#hero-glow-1{background:radial-gradient(circle, var(--glow-purple-low) 50%, transparent 70%)}}@media (max-width: 768px){#hero-glow-1{width:150vw;height:150vw;right:-130%;top:5%;background:radial-gradient(circle, var(--glow-purple-mid) 40%, transparent 70%);filter:blur(100px)}}#hero-glow-2{position:absolute;pointer-events:none;z-index:1;filter:blur(300px);animation:pulseGlow 4s ease-in-out infinite;will-change:transform, opacity;contain:strict;top:40%;left:0%;width:clamp(400px, 60vw, 900px);height:clamp(400px, 60vw, 900px);background:radial-gradient(circle, var(--glow-red) 50%, transparent 70%);filter:blur(300px);animation-duration:4s}@media (max-width: 768px){#hero-glow-2{width:180vw;height:180vw;top:35%;left:-30%;background:radial-gradient(circle, var(--glow-red-low) 40%, transparent 80%);filter:blur(90px)}}#about-glow{position:absolute;pointer-events:none;z-index:1;filter:blur(300px);animation:pulseGlow 4s ease-in-out infinite;will-change:transform, opacity;contain:strict;top:50%;left:90%;width:clamp(400px, 60vw, 900px);height:clamp(400px, 60vw, 900px);background:radial-gradient(circle, var(--glow-red) 50%, transparent 70%);filter:blur(300px);animation-duration:2s}@media (max-width: 768px){#about-glow{width:180vw;height:180vw;top:20%;right:-70%;background:radial-gradient(circle, var(--glow-red-low) 40%, transparent 80%);filter:blur(90px)}}#portfolio-glow{position:absolute;pointer-events:none;z-index:1;filter:blur(300px);animation:pulseGlow 4s ease-in-out infinite;will-change:transform, opacity;contain:strict;top:65%;left:40%;width:clamp(400px, 60vw, 900px);height:clamp(400px, 60vw, 900px);background:radial-gradient(circle, var(--glow-blue-low) 50%, transparent 70%);filter:blur(300px);animation-duration:4s}@media (max-width: 768px){#portfolio-glow{top:60%;width:160vw;height:500vw;filter:blur(300px);background:radial-gradient(ellipse, var(--glow-blue-low) 20%, transparent 70%)}}#contact-glow{position:absolute;pointer-events:none;z-index:1;filter:blur(300px);animation:pulseGlow 4s ease-in-out infinite;will-change:transform, opacity;contain:strict;top:95%;left:75%;width:clamp(400px, 60vw, 900px);height:clamp(400px, 60vw, 900px);background:radial-gradient(circle, var(--glow-yellow) 50%, transparent 70%);filter:blur(300px);animation-duration:4s}@media (max-width: 768px){#contact-glow{top:90%;left:50%;width:75vw;height:75vw;filter:blur(150px);background:radial-gradient(ellipse, var(--glow-yellow) 10%, transparent 50%)}}#articles-glow-1{position:absolute;pointer-events:none;z-index:1;filter:blur(300px);animation:pulseGlow 4s ease-in-out infinite;will-change:transform, opacity;contain:strict;top:20%;left:70%;width:clamp(400px, 60vw, 900px);height:clamp(400px, 60vw, 900px);background:radial-gradient(circle, var(--glow-yellow) 50%, transparent 70%);filter:blur(300px);animation-duration:10s}@media (max-width: 768px){#articles-glow-1{background:transparent}}#articles-glow-2{position:absolute;pointer-events:none;z-index:1;filter:blur(300px);animation:pulseGlow 4s ease-in-out infinite;will-change:transform, opacity;contain:strict;top:80%;left:20%;width:clamp(400px, 60vw, 900px);height:clamp(400px, 60vw, 900px);background:radial-gradient(circle, var(--glow-orange) 50%, transparent 70%);filter:blur(300px);animation-duration:5s}@media (max-width: 768px){#articles-glow-2{top:50%;left:50%;width:15vw;height:6000vw;filter:blur(200px);background:radial-gradient(ellipse, var(--glow-yellow) 2%, transparent 50%)}}@keyframes pulseGlow{0%, 100%{opacity:0.6;transform:translate(-50%, -50%) scale(1)}50%{opacity:1;transform:translate(-50%, -50%) scale(1.2)}}.card,.portfolio-card,.article-card{position:relative;overflow:hidden;border:10px solid transparent;border-radius:70px;transition:border-color 0.3s ease, box-shadow 0.3s ease;cursor:pointer;background-color:#111;aspect-ratio:1 / 0.8}.card:hover,.portfolio-card:hover,.article-card:hover{border-color:var(--hover-color);box-shadow:0 0 25px var(--hover-color),0 0 60px var(--hover-color)}.card:hover .card-image img,.portfolio-card:hover .card-image img,.article-card:hover .card-image img{transform:scale(1.1)}.card__image{width:100%;height:100%;overflow:hidden}.card__image img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}.card__overlay{position:absolute;bottom:0;left:0;width:100%;padding:1rem;background:linear-gradient(to top, rgba(12,12,30,0.8));color:white;opacity:0;transition:opacity 0.3s ease;pointer-events:none}.card__overlay h3{font-family:'Edit Undo BRK', monospace;font-size:1.3rem;margin:0}.card:hover .card__overlay,.portfolio-card:hover .card__overlay,.article-card:hover .card__overlay{opacity:1}.card__title{font-family:var(--font-display);font-size:var(--text-xl);margin:0}.card__date{font-family:var(--font-body);font-size:var(--text-xs);color:#bbb}.portfolio-card{border-radius:var(--radius-2xl);border-width:10px}.article-card{cursor:pointer;width:100%;max-width:20rem;aspect-ratio:1 / 1.4;border-radius:var(--radius-lg);border-width:6px;overflow:hidden;position:relative;background-size:cover;background-position:center top;background-repeat:no-repeat;background-color:#0a0a0a;border-color:color-mix(in srgb, var(--hover-color) 30%, #242424)}.article-card::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(10,10,10,0.8) 70%, #0a0a0a 100%);transition:background 0.4s ease, opacity 0.4s ease}.article-card:hover::after{background:rgba(0,0,0,0.85)}.article-card__content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.article-card__meta{padding:var(--space-lg) var(--space-md) var(--space-md);text-align:left}.article-card__title{font-family:var(--font-display);font-size:1.25rem;letter-spacing:0.05em;color:color-mix(in srgb, var(--hover-color), #fff 50%);text-shadow:0 0 10px var(--hover-color);margin-bottom:0.5rem;line-height:1.2;transition:transform 0.4s ease}.article-card__excerpt,.article-card__info{opacity:0;transform:translateY(15px);transition:opacity 0.3s ease,transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);pointer-events:none}.article-card:hover .article-card__excerpt,.article-card:hover .article-card__info{opacity:1;transform:translateY(0);pointer-events:auto}.article-card:hover .article-card__title{transform:translateY(-5px)}.article-card__excerpt{font-size:0.8rem;color:rgba(255,255,255,0.9);line-height:1.4;margin-bottom:1rem}.article-card__info{display:flex;justify-content:space-between;font-size:0.7rem;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.1em}.article-card .card__overlay{display:none}.article-card .card__image{display:none}@keyframes pulseGlow{0%, 100%{opacity:0.6;transform:translate(-50%, -50%) scale(1)}50%{opacity:1;transform:translate(-50%, -50%) scale(1.2)}}.modal-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,0.85);z-index:var(--z-modal-overlay);display:flex;justify-content:center;align-items:center;transition:opacity var(--transition-base);opacity:1}.modal-overlay.hidden{display:none;opacity:0}.modal{background-color:var(--second-bg-color);border:4px solid var(--color-blue);border-radius:var(--radius-xl);padding:2.5rem var(--space-lg);max-width:60vw;width:100%;max-height:80vh;position:relative;box-shadow:var(--shadow-md) var(--color-blue),var(--shadow-xl) var(--color-blue);text-align:center;font-family:var(--font-body);color:var(--text-color);z-index:var(--z-modal)}.modal-content h2.modal-title{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:var(--space-xs);color:color-mix(in srgb, var(--color-blue), #fff 50%);text-shadow:0 0 10px var(--color-blue)}.modal-date-created,.modal-date-modified{font-size:var(--text-sm);color:#ccc;margin-bottom:1.2rem}.modal-description{font-size:var(--text-base);line-height:1.7;margin-bottom:var(--space-lg);max-height:45vh;overflow-y:auto}.modal-cta,.modal-devlog{display:inline-block;padding:0.75rem 1.5rem;border-radius:12px;font-family:'Edit Undo BRK', monospace;font-size:1rem;text-decoration:none;transition:all 0.2s ease;cursor:pointer;border:none;padding:0.75rem var(--space-lg);font-size:var(--text-lg);margin:0 var(--space-xs)}.modal-cta:hover,.modal-devlog:hover{transform:translateY(-2px)}.modal-devlog.hidden{display:none}.modal-close{position:absolute;top:var(--space-sm);right:var(--space-md);background:none;border:none;font-size:var(--text-2xl);cursor:pointer;color:color-mix(in srgb, var(--color-blue), #fff 50%);text-shadow:0 0 10px var(--color-blue);transition:all var(--transition-fast)}.modal-close:hover{color:var(--color-red);text-shadow:0 0 15px var(--color-red)}@keyframes pulseGlow{0%, 100%{opacity:0.6;transform:translate(-50%, -50%) scale(1)}50%{opacity:1;transform:translate(-50%, -50%) scale(1.2)}}.hero-section{height:100vh;position:relative;background:linear-gradient(to top, rgba(255,255,255,0) 0%, var(--second-bg-color) 50%, var(--second-bg-color) 100%);color:#ffffff;padding:6vh var(--space-lg);text-align:center;overflow:hidden}.hero-content{display:flex;justify-content:center;align-items:center;height:100vh}.hero-logo{width:15vw;height:auto;object-fit:cover;border-radius:var(--radius-full);border:8px solid var(--color-purple);box-shadow:0 0 25px var(--color-purple),0 0 50px var(--color-purple);margin-bottom:1.5rem}@media (max-width: 768px){.hero-logo{width:50vw}}.hero-title{font-family:var(--font-display);font-size:var(--text-3xl);text-shadow:0 0 10px var(--color-purple),0 0 20px var(--color-purple);margin:var(--space-sm) 0}.hero-tagline{font-family:var(--font-pixel);font-size:clamp(1rem, 3vw, 2rem);color:color-mix(in srgb, var(--color-purple), #fff 50%);text-shadow:0 0 8px var(--color-purple)}.warning{font-family:var(--font-display);font-size:clamp(1rem, 3vw, 2rem);text-shadow:0 0 10px var(--color-red),0 0 20px var(--color-red);margin:var(--space-sm) 0}.hero-button{display:inline-block;padding:0.75rem 1.5rem;border-radius:12px;font-family:'Edit Undo BRK', monospace;font-size:1rem;text-decoration:none;transition:all 0.2s ease;cursor:pointer;border:none;padding:0.75rem var(--space-lg);font-size:var(--text-lg);margin:0 var(--space-xs);display:inline-block;padding:0.75rem 1.5rem;border-radius:12px;font-family:'Edit Undo BRK', monospace;font-size:1rem;text-decoration:none;transition:all 0.2s ease;cursor:pointer;border:none;background-color:var(--color-purple);color:color-mix(in srgb, var(--color-purple), #fff 50%);box-shadow:0 0 15px var(--color-purple),0 0 30px var(--color-purple)}.hero-button:hover{box-shadow:0 0 25px var(--color-purple),0 0 50px var(--color-purple)}.hero-button:hover{transform:translateY(-2px)}@keyframes pulseGlow{0%, 100%{opacity:0.6;transform:translate(-50%, -50%) scale(1)}50%{opacity:1;transform:translate(-50%, -50%) scale(1.2)}}.about-section{position:relative;color:var(--text-color);padding:var(--space-3xl) var(--space-lg) var(--space-2xl);overflow:hidden}.about-heading-wrapper{text-align:center;margin-bottom:3rem;position:relative;z-index:2}.about-heading{font-size:2.7rem;color:color-mix(in srgb, var(--bright-red), #fff 80%);text-shadow:0 0 1px var(--bright-red),0 0 1px var(--bright-red),0 0 1px var(--bright-red),0 0 20px var(--bright-red),0 0 30px var(--bright-red);font-family:'Edit Undo BRK', monospace;letter-spacing:0.1em}.about-content{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;max-width:1700px;margin:0 auto;z-index:var(--z-elevated);position:relative}.about-text{flex:1 1 500px;padding:var(--space-sm) var(--space-lg);font-family:var(--font-body);font-size:var(--text-lg);line-height:1.8}@media (max-width: 768px){.about-text{font-size:0.8rem;padding:0}}.about-image{flex:1 1 300px;display:flex;justify-content:center;padding:var(--space-lg)}.about-image img{width:clamp(400px, 25vw, 270px);height:clamp(400px, 25vw, 270px);border-radius:var(--radius-full);border:6px solid var(--color-red);box-shadow:0 0 30px var(--color-red);object-fit:cover}@media (max-width: 768px){.about-image img{width:clamp(300px, 25vw, 270px);height:clamp(300px, 25vw, 270px)}}@keyframes pulseGlow{0%, 100%{opacity:0.6;transform:translate(-50%, -50%) scale(1)}50%{opacity:1;transform:translate(-50%, -50%) scale(1.2)}}#portfolio-section{position:relative;background:linear-gradient(to bottom, rgba(255,255,255,0) 0%, var(--second-bg-color) 25%, var(--second-bg-color) 75%, rgba(255,255,255,0) 100%);padding:var(--space-3xl) var(--space-lg) var(--space-2xl);overflow:hidden;z-index:var(--z-background)}@media (max-width: 768px){#portfolio-section{padding:var(--space-3xl) var(--space-2xl) var(--space-2xl)}}.portfolio-heading-wrapper{text-align:center;margin-bottom:3rem;position:relative;z-index:2}.portfolio-heading{font-size:2.7rem;color:color-mix(in srgb, var(--bright-blue), #fff 80%);text-shadow:0 0 1px var(--bright-blue),0 0 1px var(--bright-blue),0 0 1px var(--bright-blue),0 0 20px var(--bright-blue),0 0 30px var(--bright-blue);font-family:'Edit Undo BRK', monospace;letter-spacing:0.1em}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));gap:var(--space-lg);max-width:1200px;margin:0 auto;position:relative;z-index:2}@keyframes pulseGlow{0%, 100%{opacity:0.6;transform:translate(-50%, -50%) scale(1)}50%{opacity:1;transform:translate(-50%, -50%) scale(1.2)}}.contact-section{position:relative;color:var(--text-color);padding:var(--space-3xl) var(--space-lg) var(--space-2xl);overflow:hidden}.contact-heading-wrapper{text-align:center;margin-bottom:3rem;position:relative;z-index:2}.contact-heading{font-size:2.7rem;color:color-mix(in srgb, var(--bright-yellow), #fff 80%);text-shadow:0 0 1px var(--bright-yellow),0 0 1px var(--bright-yellow),0 0 1px var(--bright-yellow),0 0 20px var(--bright-yellow),0 0 30px var(--bright-yellow);font-family:'Edit Undo BRK', monospace;letter-spacing:0.1em}.contact-content{display:flex;flex-direction:column;align-items:center;max-width:900px;margin:0 auto;position:relative;z-index:var(--z-elevated);gap:var(--space-lg)}.contact-text{font-family:var(--font-body);font-size:var(--text-lg);line-height:1.8;text-align:center;max-width:700px;padding:0 var(--space-md)}.contact-icons{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md)}.contact-icons a{display:inline-block;transition:transform var(--transition-fast),box-shadow var(--transition-base)}.contact-icons a img{width:50px;height:50px;filter:drop-shadow(0 0 8px var(--color-yellow));transition:filter var(--transition-base)}.contact-icons a:hover{transform:scale(1.1)}.contact-icons a:hover img{filter:drop-shadow(0 0 14px var(--color-yellow))}.contact-resume{margin-top:var(--space-sm)}.contact-resume .resume-btn{display:inline-block;padding:0.75rem 1.5rem;border-radius:12px;font-family:'Edit Undo BRK', monospace;font-size:1rem;text-decoration:none;transition:all 0.2s ease;cursor:pointer;border:none;background-color:var(--color-yellow);color:var(--bg-color);box-shadow:0 0 15px var(--color-yellow),0 0 30px var(--color-yellow);font-size:var(--text-lg);padding:0.75rem 1.5rem}.contact-resume .resume-btn:hover{box-shadow:0 0 25px var(--color-yellow),0 0 50px var(--color-yellow)}.contact-resume .resume-btn:hover{background-color:#fe3}
