*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;background:#0a0a0a;color:#fff;line-height:1.6;overflow-x:hidden;cursor:none;transition:all .5s ease;scroll-behavior:smooth}body.color-mode{background:linear-gradient(135deg,#667eea 0%,#764ba2 50%,#f093fb 100%)}body.color-mode .animated-bg{background:linear-gradient(45deg,#667eea,#764ba2,#f093fb,#f5576c,#4facfe,#00f2fe,#a8edea,#fed6e3);background-size:400% 400%}body.color-mode .bento-card,body.color-mode .special-project-card{background:linear-gradient(135deg,rgba(255,255,255,.25),rgba(255,255,255,.15));border-color:rgba(255,255,255,.4);backdrop-filter:blur(20px)}body.color-mode .skill-tag,body.color-mode .tech-tag{background:linear-gradient(135deg,rgba(255,255,255,.35),rgba(255,255,255,.25));color:rgba(0,0,0,.8);font-weight:600}body.color-mode .card-title,body.color-mode .project-title,body.color-mode .special-project-title{color:rgba(0,0,0,.9);text-shadow:0 1px 3px rgba(255,255,255,.3)}body.color-mode .card-description,body.color-mode .project-description,body.color-mode .special-project-description{color:rgba(0,0,0,.7)}body.color-mode .project-card{background:linear-gradient(135deg,rgba(255,255,255,.25),rgba(255,255,255,.15));border-color:rgba(255,255,255,.4);backdrop-filter:blur(20px)}.color-transition{transition:all .8s cubic-bezier(.4,0,.2,1)!important}.paint-controls{position:fixed;top:2rem;right:2rem;z-index:1000}.paint-btn{width:70px;height:70px;border-radius:50%;border:2px solid rgba(255,255,255,.2);background:linear-gradient(135deg,rgba(26,26,26,.8),rgba(15,15,15,.9));backdrop-filter:blur(10px);color:#fff;transition:all .3s ease;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;cursor:none}.paint-btn:hover{transform:scale(1.1);border-color:rgba(255,255,255,.4);box-shadow:0 10px 30px rgba(0,0,0,.3)}.paint-btn:focus{outline:2px solid #667eea;outline-offset:2px}.paint-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:rgba(255,255,255,.6);box-shadow:0 0 30px rgba(102,126,234,.5)}.paint-brush{position:fixed;width:80px;height:80px;pointer-events:none;z-index:10000;opacity:0;transition:opacity .3s ease;filter:drop-shadow(0 0 20px rgba(102,126,234,.8))}.paint-brush.active{opacity:1;animation:paintStroke 1.2s ease-out}@keyframes paintStroke {
    0% {
        transform: rotate(-45deg) scale(0.3);
        opacity: 0;
    }
    30% {
        transform: rotate(-45deg) scale(1.5);
        opacity: 1;
    }
    70% {
        transform: rotate(-45deg) scale(1.2);
        opacity: 1;
    }
    100% {
        transform: rotate(-45deg) scale(1);
        opacity: 0;
    }
}.paint-bucket{position:fixed;width:80px;height:80px;pointer-events:none;z-index:10000;opacity:0;transition:opacity .3s ease;filter:drop-shadow(0 0 20px rgba(136,136,136,.8))}.paint-bucket.active{opacity:1;animation:bucketPour 1.5s ease-out}@keyframes bucketPour {
    0% {
        transform: rotate(0deg) scale(0.5);
        opacity: 0;
    }
    30% {
        transform: rotate(-30deg) scale(1.3);
        opacity: 1;
    }
    70% {
        transform: rotate(-45deg) scale(1.1);
        opacity: 1;
    }
    100% {
        transform: rotate(-30deg) scale(0.9);
        opacity: 0;
    }
}.focus-ring{position:fixed;width:120px;height:120px;border:3px solid #667eea;border-radius:50%;pointer-events:none;z-index:9999;opacity:0;animation:focusRing 1.2s ease-out}@keyframes focusRing {
    0% {
        opacity: 0;
        transform: scale(0.5);
    }
    50% {
        opacity: 1;
        transform: scale(1.2);
    }
    100% {
        opacity: 0;
        transform: scale(1.5);
    }
}.cursor{position:fixed;width:20px;height:20px;background:rgba(255,255,255,.8);border-radius:50%;pointer-events:none;z-index:9999;transition:transform .1s ease;mix-blend-mode:difference}.cursor-follower{position:fixed;width:40px;height:40px;border:2px solid rgba(255,255,255,.3);border-radius:50%;pointer-events:none;z-index:9998;transition:all .3s ease}.particles-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.particle{position:absolute;background:rgba(255,255,255,.1);border-radius:50%;animation:float 6s ease-in-out infinite}@keyframes float {
    0%, 100% { 
        transform: translateY(0px) rotate(0deg); 
        opacity: 0; 
    }
    50% { 
        transform: translateY(-100px) rotate(180deg); 
        opacity: 1; 
    }
}.animated-bg{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,#0a0a0a,#1a1a1a,#0a0a0a,#2a2a2a);background-size:400% 400%;animation:gradientShift 15s ease infinite;z-index:0;transition:all .5s ease}@keyframes gradientShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}.container{max-width:1400px;margin:0 auto;padding:2rem;position:relative;z-index:2}.header{text-align:center;margin-bottom:4rem;animation:fadeInUp .8s ease-out;position:relative}.header h1{font-size:clamp(3rem,6vw,5rem);font-weight:900;background:linear-gradient(135deg,#fff,#888,#fff);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem;animation:textShimmer 3s ease-in-out infinite}@keyframes textShimmer {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}.typewriter{font-size:1.4rem;color:#888;max-width:800px;margin:0 auto;overflow:hidden;white-space:nowrap;animation:typing 4s steps(60) 1s forwards , blink 1s infinite}@keyframes typing {
    from { width: 0; }
    to { width: 100%; }
}@keyframes blink {
    0%, 50% { border-color: transparent; }
    51%, 100% { border-color: #ffffff; }
}.bento-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem;grid-auto-rows:minmax(200px,auto)}.card-about{grid-column:span 4;grid-row:span 2}.card-skills{grid-column:span 8;grid-row:span 1}.card-projects{grid-column:span 8;grid-row:span 5}.card-minenode{grid-column:span 4;grid-row:span 2}.card-sandgame{grid-column:span 4;grid-row:span 2}.card-contact{grid-column:span 4;grid-row:span 1}.about-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.about-title-container{display:flex;align-items:center;gap:.5rem}.about-icon{width:24px;height:24px;color:#fff;filter:drop-shadow(0 0 10px rgba(255,255,255,.3))}.avatar{width:60px;height:60px;border-radius:16px;border:2px solid rgba(255,255,255,.2);transition:all .3s ease}.avatar:hover{transform:scale(1.1);border-color:rgba(255,255,255,.4);box-shadow:0 10px 25px rgba(0,0,0,.3)}.bento-card{background:linear-gradient(135deg,rgba(26,26,26,.8),rgba(15,15,15,.9));backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:2rem;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.bento-card::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.bento-card:hover::before{left:100%}.bento-card:hover{transform:translateY(-10px) scale(1.02);border-color:rgba(255,255,255,.3);box-shadow:0 25px 50px rgba(0,0,0,.5) , 0 0 0 1px rgba(255,255,255,.1) , inset 0 1px 0 rgba(255,255,255,.1)}.bento-card:focus-within{outline:2px solid #667eea;outline-offset:2px}.card-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.03) 0%,transparent 70%);opacity:0;transition:opacity .3s ease}.bento-card:hover .card-glow{opacity:1}.card-icon{width:48px;height:48px;margin-bottom:1rem;color:#fff;filter:drop-shadow(0 0 10px rgba(255,255,255,.3));animation:iconFloat 3s ease-in-out infinite}@keyframes iconFloat {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-5px); }
}.card-title{font-size:1.6rem;font-weight:800;margin-bottom:.5rem;color:#fff;text-shadow:0 0 20px rgba(255,255,255,.1)}.card-description{color:#aaa;margin-bottom:1rem;line-height:1.7}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-top:1rem}.skill-tag{background:linear-gradient(135deg,#333,#444);padding:.8rem 1rem;border-radius:30px;text-align:center;font-size:.85rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden}.skill-tag::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.skill-tag:hover::before{left:100%}.skill-tag:hover{background:linear-gradient(135deg,#444,#555);transform:scale(1.05) translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.3)}.projects-container{max-height:none;overflow:visible}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.project-card{background:linear-gradient(135deg,rgba(26,26,26,.6),rgba(15,15,15,.8));backdrop-filter:blur(5px);border-radius:16px;padding:1.2rem;border:1px solid rgba(255,255,255,.1);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;height:fit-content}.project-card:focus{outline:2px solid #667eea;outline-offset:2px}.project-card::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.05),transparent);opacity:0;transition:opacity .3s ease}.project-card:hover::after{opacity:1}.project-card:hover{border-color:rgba(255,255,255,.3);transform:translateY(-5px) scale(1.02);box-shadow:0 15px 35px rgba(0,0,0,.4)}.project-image{width:100%;height:120px;object-fit:cover;border-radius:12px;margin-bottom:1rem;transition:all .3s ease;filter:grayscale(20%)}.project-card:hover .project-image{filter:grayscale(0%) brightness(1.1);transform:scale(1.05)}.project-title{font-size:1.1rem;font-weight:700;margin-bottom:.5rem;color:#fff}.project-description{color:#aaa;font-size:.85rem;margin-bottom:1rem;line-height:1.6}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background:linear-gradient(135deg,#333,#444);padding:.3rem .6rem;border-radius:15px;font-size:.75rem;font-weight:500;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.tech-tag:hover{background:linear-gradient(135deg,#444,#555);transform:scale(1.1)}.see-more-btn{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem;padding:1rem 2rem;background:linear-gradient(135deg,#333,#444);border:1px solid rgba(255,255,255,.2);border-radius:25px;color:#fff;text-decoration:none;font-weight:600;font-size:.9rem;transition:all .3s ease}.see-more-btn:hover{background:linear-gradient(135deg,#444,#555);transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.3);border-color:rgba(255,255,255,.4)}.see-more-btn:focus{outline:2px solid #667eea;outline-offset:2px}body.color-mode .see-more-btn{background:linear-gradient(135deg,rgba(255,255,255,.35),rgba(255,255,255,.25));color:rgba(0,0,0,.8);border-color:rgba(255,255,255,.5)}body.color-mode .see-more-btn:hover{background:linear-gradient(135deg,rgba(255,255,255,.45),rgba(255,255,255,.35));transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.1)}.special-project-card{background:linear-gradient(135deg,rgba(26,26,26,.8),rgba(15,15,15,.9));backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:2rem;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;height:100%;display:flex;flex-direction:column}.special-project-card:focus{outline:2px solid #667eea;outline-offset:2px}.special-project-card:hover{transform:translateY(-10px) scale(1.02);border-color:rgba(255,255,255,.3);box-shadow:0 25px 50px rgba(0,0,0,.5) , 0 0 0 1px rgba(255,255,255,.1)}.special-project-image{width:100%;height:120px;object-fit:fill;border-radius:16px;margin-bottom:1.5rem;transition:all .3s ease}.special-project-card:hover .special-project-image{transform:scale(1.05);filter:brightness(1.1)}.special-project-title{font-size:1.3rem;font-weight:800;margin-bottom:.8rem;color:#fff}.special-project-description{color:#aaa;margin-bottom:1.5rem;line-height:1.6;flex-grow:1;font-size:.9rem}.special-project-link{display:inline-flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;font-weight:600;padding:.8rem 1.5rem;background:linear-gradient(135deg,#333,#444);border-radius:25px;transition:all .3s ease;border:1px solid rgba(255,255,255,.1);align-self:flex-start}.special-project-link:focus{outline:2px solid #667eea;outline-offset:2px}.special-project-link:hover{background:linear-gradient(135deg,#444,#555);transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.3)}.contact-links{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.contact-link{display:flex;align-items:center;gap:1rem;color:#aaa;text-decoration:none;padding:1rem;border-radius:12px;background:rgba(255,255,255,.05);transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.1)}body.color-mode .contact-link{color:rgba(0,0,0,.8);background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.1));border-color:rgba(255,255,255,.3)}body.color-mode .contact-link:hover{color:rgba(0,0,0,.9);background:linear-gradient(135deg,rgba(255,255,255,.3),rgba(255,255,255,.2))}.contact-link:focus{outline:2px solid #667eea;outline-offset:2px}.contact-link:hover{color:#fff;background:rgba(255,255,255,.1);transform:translateX(5px);box-shadow:0 5px 15px rgba(0,0,0,.3)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.5rem}.stat-item{text-align:center;padding:1.5rem;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.05));border-radius:16px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease;position:relative;overflow:hidden}.stat-item::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.1),transparent);animation:rotate 4s linear infinite;opacity:0}.stat-item:hover::before{opacity:1}@keyframes rotate {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}.stat-number{font-size:2.5rem;font-weight:900;color:#fff;text-shadow:0 0 20px rgba(255,255,255,.3);animation:countUp 2s ease-out}@keyframes countUp {
    from { 
        opacity: 0; 
        transform: translateY(20px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}.stat-label{color:#aaa;font-size:.9rem;font-weight:500}.loading{display:flex;justify-content:center;align-items:center;height:200px}.spinner{width:50px;height:50px;border:3px solid rgba(255,255,255,.1);border-top:3px solid #fff;border-radius:50%;animation:spin 1s linear infinite;filter:drop-shadow(0 0 10px rgba(255,255,255,.3))}@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}.fade-in{animation:fadeInUp .8s ease-out forwards}@media (max-width:1200px){.bento-grid{grid-template-columns:repeat(8,1fr)}.card-about{grid-column:span 4;grid-row:span 2}.card-skills{grid-column:span 4;grid-row:span 1}.card-projects{grid-column:span 8;grid-row:span 5}.card-minenode{grid-column:span 4;grid-row:span 2}.card-sandgame{grid-column:span 4;grid-row:span 2}.card-contact{grid-column:span 4;grid-row:span 1}.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.container{padding:1rem}.paint-controls{top:1rem;right:1rem}.paint-btn{width:60px;height:60px}.bento-grid{grid-template-columns:1fr;gap:1rem}.card-about,.card-skills,.card-projects,.card-minenode,.card-sandgame,.card-contact{grid-column:span 1;grid-row:span 1}.projects-grid{grid-template-columns:1fr}.skills-grid{grid-template-columns:repeat(2,1fr)}.cursor,.cursor-follower{display:none}.about-header{flex-direction:column;text-align:center}body{cursor:auto}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.typewriter{animation:none;border-right:none;white-space:normal}}*:focus-visible{outline:2px solid #667eea;outline-offset:2px}