@import url(https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;700;900&family=Press+Start+2P&display=swap);*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#4facfe;color:#333;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overflow:hidden;transition:background .5s ease}body.night-mode{background:#1a2d33;color:#e0e0e0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:#ffd70099;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffd700cc}.App,.mario-game{height:100vh;overflow:hidden;position:relative;width:100vw}.mario-game{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:linear-gradient(180deg,#4facfe 0,#5c94fc);image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;perspective:1000px;transform:translateZ(0);transition:background .5s ease;-webkit-user-select:none;user-select:none}body.chatbot-open .mario-game{contain:layout style}.mario-game.night-mode{background:linear-gradient(180deg,#1a2d33 0,#0d1a1f);background-attachment:fixed}.mario-game img{-webkit-user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.mario-game:before{animation:skyGlow 8s ease-in-out infinite alternate;background:radial-gradient(ellipse at top,#ffffff1a 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;transition:background .5s ease;z-index:1}.mario-game.night-mode:before{background:radial-gradient(ellipse at top,#357a8a33 0,#0000 50%)}@keyframes skyGlow{0%{opacity:.3;transform:scale(1)}to{opacity:.6;transform:scale(1.1)}}.alternative-link{background:#141414cc;border:1px solid #ffd70080;border-radius:30px;box-shadow:inset -2px -2px 0 #e6c200,inset 2px 2px 0 #ffe44d,0 0 0 2px #000,0 4px 8px #00000080,0 0 15px #ffd70033;color:gold;cursor:pointer;display:inline-block;font-family:Courier New,monospace;font-size:14px;font-weight:900;image-rendering:pixelated;letter-spacing:1.5px;max-width:none;overflow:hidden;padding:12px 24px;pointer-events:auto;position:relative;text-align:center;text-decoration:none;text-transform:uppercase;transition:all .2s ease;white-space:nowrap;width:auto}.alternative-link.desktop-only{bottom:30px;display:inline-block;left:90px;position:fixed;z-index:250}.alternative-link.mobile-only{bottom:auto;display:none;font-size:12px;left:auto;margin-top:5px;padding:8px 16px;position:relative;top:auto;transform:none;z-index:auto}.alternative-link:before{background:linear-gradient(90deg,#0000,#ffd7004d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.alternative-link:hover:before{left:100%}.alternative-link:hover{background:linear-gradient(135deg,#2a2a2a,#1a1a1a);box-shadow:inset -2px -2px 0 #c90,inset 2px 2px 0 #fc0,0 0 0 2px #000,0 8px 16px #000000b3,0 0 25px #ffd70066;text-shadow:0 0 10px #ffd700cc;transform:translateY(-2px)}.alternative-link:active{background:linear-gradient(135deg,#0a0a0a,#000);box-shadow:inset 2px 2px 0 #c90,inset -2px -2px 0 #fc0,0 0 0 2px #000,0 2px 4px #00000080;transform:translateY(0)}.ui-layer-top{align-items:flex-end;display:flex;flex-direction:column;gap:15px;justify-content:center;left:0;padding-right:20px;padding-top:15px;pointer-events:none;position:fixed;top:0;transition:opacity .3s ease;width:100%;z-index:200}.ui-layer-top .welcome-text{align-self:auto!important;margin:0!important;position:fixed!important}.ui-layer-top.hidden{opacity:0;pointer-events:none}.score-display{animation:fadeInDown .8s ease-out;margin-bottom:5px;pointer-events:none;position:relative;text-align:center}.score-text{animation:scorePulse 2s ease-in-out infinite;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#14141499;border:2px solid #ffd70080;border-radius:16px;box-shadow:0 8px 32px 0 #1f26875e;color:gold;font-family:Courier New,monospace;font-size:26px;font-weight:900;image-rendering:auto;letter-spacing:3px;padding:8px 18px;position:relative;text-shadow:4px 4px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,0 0 15px #ffd700cc,0 0 30px #ffd70066;text-transform:uppercase;transition:background .5s ease,border-color .5s ease;white-space:nowrap}.mario-game.night-mode .score-text{background:#0a1419cc;border-color:#357a8a99;color:#357a8a;text-shadow:4px 4px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,0 0 15px #357a8acc,0 0 30px #357a8a66}@keyframes scorePulse{0%,to{box-shadow:inset -3px -3px 0 #e6c200,inset 3px 3px 0 #ffe44d,0 0 0 2px #000,0 6px 12px #0009,0 0 20px #ffd7004d;transform:scale(1)}50%{box-shadow:inset -3px -3px 0 #e6c200,inset 3px 3px 0 #ffe44d,0 0 0 2px #000,0 8px 16px #000000b3,0 0 30px #ffd70080;transform:scale(1.02)}}.welcome-text{left:50%;margin:0!important;max-width:90%;padding:0!important;pointer-events:none;position:fixed;text-align:center;top:35%;transform:translate(-50%,-50%);transition:transform 2s cubic-bezier(.33,0,.2,1),left 2s cubic-bezier(.33,0,.2,1),top 2s cubic-bezier(.33,0,.2,1),opacity .8s ease-out;width:auto;z-index:200}.welcome-text.game-started{left:4%!important;max-width:520px;opacity:.85;position:fixed;text-align:center;top:13%!important;transform:translate(0)!important;width:520px}.mario-welcome{word-wrap:break-word;animation:welcomePulse 3s ease-in-out infinite,textGlow 3s ease-in-out infinite;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);background:linear-gradient(135deg,#ffffff26,#ffffff0d);border:2px solid #ffd70066;border-radius:24px;box-shadow:0 8px 32px 0 #1f268740,0 0 40px #ffd70033,inset 0 1px 0 #ffffff4d;color:gold;display:block;font-family:Courier New,monospace;font-size:48px;font-weight:900;image-rendering:pixelated;letter-spacing:4px;line-height:1.2;margin:0 0 15px;padding:30px 40px;position:relative;text-align:center;text-shadow:4px 4px 0 #000c,-2px -2px 0 #000c,2px -2px 0 #000c,-2px 2px 0 #000c,0 0 20px gold,0 0 40px #ffd70099,0 0 60px #ffd7004d;text-transform:uppercase;transition:background .5s ease,border-color .5s ease,color .5s ease;white-space:normal}.mario-game.night-mode .mario-welcome{background:linear-gradient(135deg,#1a2d33f2,#0a1419f2);border-color:#5fb0c5;border-width:3px;box-shadow:0 8px 32px 0 #000000b3,0 0 50px #5fb0c580,0 0 80px #5fb0c54d,inset 0 2px 0 #5fb0c54d,inset 0 -2px 0 #00000080;color:#5fb0c5;text-shadow:4px 4px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,0 0 25px #5fb0c5,0 0 50px #5fb0c5cc,0 0 75px #5fb0c580,0 0 100px #5fb0c54d}.welcome-text.game-started .mario-welcome{font-size:46px;letter-spacing:3px;line-height:1.15;margin:0;padding:32px 34px;text-align:center}.mario-subtitle{animation:subtitleBlink 2s ease-in-out infinite;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background:#0000004d;border:1px solid #fff3;border-radius:12px;color:#fff;font-family:Courier New,monospace;font-size:18px;font-weight:700;letter-spacing:2px;margin:0;padding:10px 20px;position:relative;text-align:center;text-shadow:2px 2px 0 #000c,0 0 10px #ffffff80;transition:opacity .5s ease,background .5s ease,border-color .5s ease}.mario-game.night-mode .mario-subtitle{background:#0a141980;border-color:#357a8a4d;color:#4a9fb0;text-shadow:2px 2px 0 #000000e6,0 0 10px #357a8a99}.welcome-text.game-started .mario-subtitle{display:none}@keyframes welcomePulse{0%,to{box-shadow:0 8px 32px 0 #1f268740,0 0 40px #ffd70033,inset 0 1px 0 #ffffff4d;opacity:1;transform:scale(1)}50%{box-shadow:0 12px 40px 0 #1f268759,0 0 60px #ffd70066,inset 0 1px 0 #fff6;opacity:1;transform:scale(1.02)}}@keyframes welcomePulseNight{0%,to{box-shadow:0 8px 32px 0 #000000b3,0 0 50px #5fb0c580,0 0 80px #5fb0c54d,inset 0 2px 0 #5fb0c54d,inset 0 -2px 0 #00000080;opacity:1;transform:scale(1)}50%{box-shadow:0 12px 40px 0 #000c,0 0 70px #5fb0c5b3,0 0 100px #5fb0c580,0 0 120px #5fb0c54d,inset 0 2px 0 #5fb0c566,inset 0 -2px 0 #0009;opacity:1;transform:scale(1.03)}}@keyframes textGlow{0%,to{text-shadow:4px 4px 0 #000c,-2px -2px 0 #000c,2px -2px 0 #000c,-2px 2px 0 #000c,0 0 20px gold,0 0 40px #ffd70099,0 0 60px #ffd7004d}50%{text-shadow:4px 4px 0 #000c,-2px -2px 0 #000c,2px -2px 0 #000c,-2px 2px 0 #000c,0 0 30px gold,0 0 60px #ffd700cc,0 0 90px #ffd70080}}.mario-game.night-mode .mario-welcome{animation:welcomePulseNight 3s ease-in-out infinite,textGlowNight 3s ease-in-out infinite}@keyframes textGlowNight{0%,to{text-shadow:4px 4px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,0 0 25px #5fb0c5,0 0 50px #5fb0c5cc,0 0 75px #5fb0c580,0 0 100px #5fb0c54d}50%{text-shadow:4px 4px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,0 0 35px #5fb0c5,0 0 70px #5fb0c5,0 0 100px #5fb0c5b3,0 0 130px #5fb0c580}}@keyframes subtitleBlink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.98)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.sky{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:linear-gradient(180deg,#4facfe 0,#5c94fc);height:100%;left:0;overflow:hidden;position:absolute;top:0;transform:translateZ(0);transition:background .5s ease;width:400vw;will-change:transform;z-index:0}.mario-game.night-mode .sky{background:linear-gradient(180deg,#1a2d33 0,#0d1a1f)}.mario-game.night-mode .cloud{filter:brightness(.4) hue-rotate(180deg);opacity:.3}.cloud{animation:float 25s linear infinite;height:60px;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;opacity:.9;position:absolute;width:120px;will-change:transform}@keyframes float{0%{transform:translateX(-100px)}to{transform:translateX(calc(400vw + 100px))}}.ground{-ms-interpolation-mode:nearest-neighbor;-webkit-backface-visibility:hidden;backface-visibility:hidden;bottom:0;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;left:0;overflow:hidden;position:absolute;transform:translateZ(0);transition:background-color .5s ease;will-change:transform}.mario-game.night-mode .ground{filter:brightness(.5) contrast(1.2) hue-rotate(180deg) saturate(.8)}.pipe-wrapper{position:absolute}.pipe{display:block;height:140px;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;object-fit:contain;width:140px}.grass-wrapper{position:absolute}.grass{display:block;height:100px;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;object-fit:contain;width:260px}.thanks-wrapper{position:absolute}.thanks{display:block;height:120px;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;object-fit:contain;transition:filter .5s ease;width:260px}.thanks.night-mode{filter:hue-rotate(200deg) saturate(1.3) brightness(.85) contrast(1.15) sepia(.3)}.grass2{display:block;height:60px;object-fit:contain;width:156px}.end-wall,.grass2{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.end-wall{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-image:repeating-linear-gradient(90deg,#0000,#0000 7px,#00000026 0,#00000026 8px),repeating-linear-gradient(0deg,#0000,#0000 7px,#0000001a 0,#0000001a 8px);position:absolute;transform:translateZ(0);will-change:transform}.sound-toggle{left:20px}.night-mode-toggle,.sound-toggle{align-items:center;background:linear-gradient(135deg,#1a1a1a,#000);border:2px solid gold;border-radius:50%;bottom:auto;box-shadow:inset -3px -3px 0 #e6c200,inset 3px 3px 0 #ffe44d,0 0 0 2px #000,0 4px 8px #00000080,0 0 15px #ffd70033;cursor:pointer;display:flex;font-family:Courier New,monospace;font-size:24px;height:50px;image-rendering:pixelated;justify-content:center;min-height:50px;min-width:50px;overflow:visible;position:fixed;right:auto;top:20px;transition:all .2s ease;width:50px;z-index:1001}.night-mode-toggle{left:80px}.night-mode-toggle:before{background:#ffd7004d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease;width:0}.night-mode-toggle:hover:before{height:100%;width:100%}.night-mode-toggle:hover{background:linear-gradient(135deg,#2a2a2a,#1a1a1a);box-shadow:inset -3px -3px 0 #c90,inset 3px 3px 0 #fc0,0 0 0 2px #000,0 8px 16px #000000b3,0 0 25px #ffd70066;filter:drop-shadow(0 0 8px rgba(255,215,0,.6));transform:translateY(-2px) scale(1.05)}.night-mode-toggle:active{background:linear-gradient(135deg,#0a0a0a,#000);box-shadow:inset 3px 3px 0 #c90,inset -3px -3px 0 #fc0,0 0 0 2px #000,0 2px 4px #00000080;transform:translateY(0) scale(1)}.sound-toggle:before{background:#ffd7004d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease;width:0}.sound-toggle:hover:before{height:100%;width:100%}.sound-toggle:hover{background:linear-gradient(135deg,#2a2a2a,#1a1a1a);box-shadow:inset -3px -3px 0 #c90,inset 3px 3px 0 #fc0,0 0 0 2px #000,0 8px 16px #000000b3,0 0 25px #ffd70066;filter:drop-shadow(0 0 8px rgba(255,215,0,.6));transform:translateY(-2px) scale(1.05)}.sound-toggle:active{background:linear-gradient(135deg,#0a0a0a,#000);box-shadow:inset 3px 3px 0 #c90,inset -3px -3px 0 #fc0,0 0 0 2px #000,0 2px 4px #00000080;transform:translateY(0) scale(1)}.instructions-overlay{align-items:flex-start;animation:fadeInLeft 1.2s ease-out .3s both;display:flex;justify-content:flex-start;left:20px;max-width:300px;pointer-events:none;position:fixed;top:20.5%;transform:translateY(-50%);z-index:100}.instructions{backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);background:linear-gradient(135deg,#000000d9,#141414d9);border:2px solid #ffd70080;border-radius:20px;box-shadow:0 8px 32px 0 #00000080,0 0 30px #ffd70033,inset 0 1px 0 #ffffff1a;color:gold;font-family:Outfit,sans-serif;font-size:14px;image-rendering:auto;max-width:280px;padding:24px;pointer-events:auto;position:relative;transition:transform .3s ease,box-shadow .3s ease,background .5s ease,border-color .5s ease,color .5s ease}.mario-game.night-mode .instructions{background:linear-gradient(135deg,#0a1419e6,#1a2d33e6);border-color:#357a8a99;box-shadow:0 8px 32px 0 #000000b3,0 0 30px #357a8a4d,inset 0 1px 0 #357a8a33;color:#357a8a}.instructions:hover{box-shadow:0 12px 40px 0 #0009,0 0 40px #ffd7004d,inset 0 1px 0 #fff3;transform:translateY(-2px)}.mario-game.night-mode .instructions:hover{box-shadow:0 12px 40px 0 #000000b3,0 0 40px #357a8a66,inset 0 1px 0 #4a9fb033}.instructions:before{background:linear-gradient(180deg,#ffd7000d,#0000);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;transition:background .5s ease;z-index:0}.mario-game.night-mode .instructions:before{background:linear-gradient(180deg,#357a8a0d,#0000)}.instructions>*{position:relative;z-index:1}.instructions h3{align-items:center;color:gold;display:flex;font-size:20px;font-weight:900;gap:8px;justify-content:center;letter-spacing:2px;margin-bottom:16px;text-align:center;text-shadow:2px 2px 0 #000c,-1px -1px 0 #000c,1px -1px 0 #000c,-1px 1px 0 #000c,0 0 15px #ffd70099;text-transform:uppercase;transition:color .5s ease,text-shadow .5s ease}.mario-game.night-mode .instructions h3{color:#357a8a;text-shadow:2px 2px 0 #000000e6,-1px -1px 0 #000000e6,1px -1px 0 #000000e6,-1px 1px 0 #000000e6,0 0 15px #357a8ab3}.instructions p{color:#fff;font-size:13px;font-weight:600;line-height:1.6;margin:10px 0;text-shadow:1px 1px 2px #000c,0 0 5px #fff3;transition:color .3s ease}.instructions p:hover{color:gold;text-shadow:1px 1px 2px #000c,0 0 10px #ffd70080}.mario-game.night-mode .instructions p:hover{color:#357a8a;text-shadow:1px 1px 2px #000000e6,0 0 10px #357a8a99}.arrow-indicators{pointer-events:auto;position:absolute;z-index:400}.arrow-key{animation:pulse 2s infinite;color:gold;filter:drop-shadow(0 0 5px rgba(255,215,0,.5));font-size:48px;font-weight:700;text-shadow:3px 3px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,0 0 10px #ffd70099,0 0 20px #ffd7004d;transition:color .5s ease,filter .5s ease}.mario-game.night-mode .arrow-key{color:#357a8a;filter:drop-shadow(0 0 5px rgba(53,122,138,.6));text-shadow:3px 3px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,0 0 10px #357a8ab3,0 0 20px #357a8a66}.mobile-jump-arrow{-webkit-tap-highlight-color:transparent;cursor:pointer;pointer-events:auto!important;touch-action:manipulation}.mobile-jump-arrow:active{opacity:.8;transform:scale(.9)}.mario{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute;transform:translateZ(0);transition:none;will-change:transform,bottom;z-index:250}.mario,.mario-sprite{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.mario-sprite{-ms-interpolation-mode:nearest-neighbor;display:block;height:100%;object-fit:contain;width:100%}.mario.facing-left{transform:scaleX(-1)}.mario.facing-left.facing-right{transform:scaleX(1)}.box-label{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:linear-gradient(135deg,#000000f2,#141414f2);border:3px solid gold;border-radius:0;bottom:-25px;box-shadow:inset -2px -2px 0 #e6c200,inset 2px 2px 0 #ffe44d,0 0 0 1px #000,0 4px 8px #0009,0 0 15px #ffd7004d;box-sizing:border-box;-webkit-clip-path:none;clip-path:none;color:#fff;display:block;flex-shrink:0;font-family:Courier New,monospace;font-size:18px;font-weight:900;image-rendering:pixelated;left:50%;letter-spacing:1px;line-height:1.2;margin-top:-8px;min-width:-webkit-max-content;min-width:max-content;overflow:visible;padding:6px 10px;position:absolute;text-align:center;text-overflow:clip;text-shadow:3px 3px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,0 0 8px #ffffff80;text-transform:uppercase;transform:translateX(-50%);transition:background .5s ease,border-color .5s ease;white-space:nowrap;width:auto;z-index:2}.mario-game.night-mode .box-label{background:linear-gradient(135deg,#0a1419f2,#1a2d33f2);border-color:#4a9fb0;box-shadow:inset -2px -2px 0 #357a8a,inset 2px 2px 0 #5fb0c5,0 0 0 1px #000,0 4px 8px #000000b3,0 0 15px #4a9fb080;color:#fff;text-shadow:3px 3px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,0 0 8px #4a9fb099}.mario-box-wrapper{position:absolute;z-index:50}.mario-box,.mario-box-wrapper{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);will-change:transform}.mario-box{aspect-ratio:1/1;background:#0000;border:none;box-shadow:none;box-sizing:border-box;cursor:pointer;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;object-fit:contain;overflow:visible;position:relative}.box-coin-image{transition:filter .5s ease}.mario-game.night-mode .box-coin-image{filter:hue-rotate(200deg) saturate(1.3) brightness(.85) contrast(1.15) sepia(.3)}.mario-box.broken{animation:breakBox .5s ease-out forwards;overflow:hidden;pointer-events:none}@keyframes breakBox{0%{filter:brightness(1) blur(0);opacity:1;transform:scale(1) translateY(0) rotate(0deg)}15%{filter:brightness(2) blur(2px);opacity:1;transform:scale(1.5) translateY(-15px) rotate(-15deg)}30%{filter:brightness(1.8) blur(3px);opacity:.9;transform:scale(1.2) translateY(-5px) rotate(20deg)}50%{filter:brightness(1.2) blur(5px);opacity:.5;transform:scale(.6) translateY(10px) rotate(-30deg)}70%{filter:brightness(.6) blur(8px);opacity:.2;transform:scale(.3) translateY(25px) rotate(45deg)}to{filter:brightness(0) blur(10px);opacity:0;transform:scale(0) translateY(50px) rotate(60deg)}}.mario-box.broken:before{animation:shockwave .5s ease-out forwards;background:radial-gradient(circle,#ffd700cc 0,#ffa50099 30%,#0000 70%);border-radius:50%;content:"";height:0;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:0;z-index:1}@keyframes shockwave{0%{height:0;opacity:1;width:0}50%{height:100%;opacity:.8;width:100%}to{height:100%;opacity:0;width:100%}}.box-particles{height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.box-particles:after,.box-particles:before{animation:particleBlast .8s ease-out forwards;background:gold;border-radius:50%;box-shadow:-15px -10px 0 orange,15px -10px 0 gold,-20px 5px 0 #ff8c00,20px 5px 0 orange,-10px 15px 0 gold,10px 15px 0 #ff8c00,-25px -5px 0 orange,25px -5px 0 gold,-5px -20px 0 #ff8c00,5px -20px 0 orange,-15px 20px 0 gold,15px 20px 0 #ff8c00;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}.box-particles:after{animation-delay:.1s;box-shadow:-12px -8px 0 #ff8c00,12px -8px 0 gold,-18px 8px 0 orange,18px 8px 0 #ff8c00,-8px 18px 0 gold,8px 18px 0 orange,-22px -3px 0 gold,22px -3px 0 #ff8c00,-3px -18px 0 orange,3px -18px 0 gold,-12px 22px 0 #ff8c00,12px 22px 0 orange}@keyframes particleBlast{0%{opacity:1;transform:translate(-50%,-50%) scale(0) rotate(0deg)}20%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(2.5) rotate(2turn)}}.mario-box.broken .box-particles{animation:particlesExplode .8s ease-out forwards;background:radial-gradient(circle at 20% 20%,gold 6px,#0000 0),radial-gradient(circle at 80% 20%,orange 6px,#0000 0),radial-gradient(circle at 20% 80%,gold 6px,#0000 0),radial-gradient(circle at 80% 80%,orange 6px,#0000 0),radial-gradient(circle at 50% 50%,gold 8px,#0000 0),radial-gradient(circle at 10% 50%,#ff8c00 5px,#0000 0),radial-gradient(circle at 90% 50%,gold 5px,#0000 0),radial-gradient(circle at 50% 10%,orange 5px,#0000 0),radial-gradient(circle at 50% 90%,#ff8c00 5px,#0000 0);background-size:100% 100%}@keyframes particlesExplode{0%{filter:brightness(1);opacity:1;transform:scale(0) rotate(0deg)}30%{filter:brightness(1.5);opacity:.9;transform:scale(1.2) rotate(180deg)}60%{filter:brightness(1.2);opacity:.5;transform:scale(1.5) rotate(1turn)}to{filter:brightness(.8);opacity:0;transform:scale(1.8) rotate(540deg)}}.mobile-controls{align-items:center;bottom:20px;display:none;flex-direction:row;gap:15px;position:fixed;right:20px;z-index:200}.mobile-button{-webkit-tap-highlight-color:transparent;align-items:center;background:linear-gradient(135deg,#1a1a1a,#000);border:4px solid gold;border-radius:0;box-shadow:inset -3px -3px 0 #e6c200,inset 3px 3px 0 #ffe44d,0 0 0 2px #000,0 4px 8px #00000080,0 0 15px #ffd70033;color:gold;cursor:pointer;display:flex;font-family:Courier New,monospace;font-size:32px;font-weight:900;height:60px;image-rendering:pixelated;justify-content:center;min-height:60px;min-width:60px;overflow:hidden;position:relative;touch-action:manipulation;transition:all .15s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:60px}.mario-game.night-mode .mobile-button{border-color:#357a8a;box-shadow:inset -3px -3px 0 #2a5f6b,inset 3px 3px 0 #4a9fb0,0 0 0 2px #000,0 4px 8px #0009,0 0 15px #357a8a4d;color:#357a8a}.mobile-button:before{background:#ffd7004d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease;width:0}.mobile-button:active:before{height:100%;width:100%}.mobile-button:active{background:linear-gradient(135deg,#0a0a0a,#000);box-shadow:inset 3px 3px 0 #c90,inset -3px -3px 0 #fc0,0 0 0 2px #000,0 2px 4px #00000080;transform:scale(.92)}.mobile-jump{order:2}.mobile-left{order:1}.mobile-right{order:3}@media (min-width:769px) and (max-width:1024px){.mario{height:90px!important;width:90px!important}.mario-box,.mario-box-wrapper{height:70px!important;width:70px!important}.mario-box{max-height:70px!important;max-width:70px!important;min-height:70px!important;min-width:70px!important}.welcome-text{left:50%!important;max-width:70%!important;right:auto!important;text-align:center!important;top:3%!important;transform:translateX(-50%)!important}.welcome-text.game-started{left:15px!important;max-width:200px!important;text-align:left!important;top:60px!important;transform:translate(0)!important}.mario-welcome{font-size:36px;letter-spacing:3px;line-height:1.2;text-align:center!important}.welcome-text.game-started .mario-welcome{font-size:24px!important;text-align:left!important}.instructions-overlay{align-items:flex-start!important;bottom:auto!important;justify-content:center!important;left:50%!important;margin-top:150px!important;right:auto!important;top:auto!important;transform:translateX(-50%)!important;width:100%!important}.instructions{font-size:14px;left:auto!important;margin:0 auto!important;max-width:320px;padding:18px 22px;position:relative!important;right:auto!important}.alternative-link{bottom:30px!important;font-size:14px;left:100px!important;max-width:none!important;padding:10px 20px;text-align:center!important;top:auto!important;transform:none!important;width:auto}.sound-toggle{left:20px}.night-mode-toggle,.sound-toggle{bottom:auto;font-size:22px;height:50px;min-height:50px;min-width:50px;overflow:visible;right:auto;top:20px;width:50px}.night-mode-toggle{left:80px}.arrow-indicators,.mobile-controls{display:none!important}}@media (max-width:768px){.ui-layer-top .welcome-text,.ui-layer-top .welcome-text.game-started,.welcome-text,.welcome-text.game-started{transition:none!important;-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important}.ui-layer-top .welcome-text.game-started,.welcome-text.game-started{left:50%!important;margin-left:0!important;margin-right:0!important;max-width:90%!important;opacity:1!important;padding-left:0!important;padding-right:0!important;position:fixed!important;right:auto!important;top:70px!important;transform:translateX(-50%)!important;width:calc(100% - 40px)!important}.mario-game{-webkit-overflow-scrolling:touch;font-size:14px;touch-action:pan-y}.mario-game,.mario-game *{-webkit-touch-callout:none!important;-webkit-tap-highlight-color:transparent!important;-webkit-user-select:none!important;user-select:none!important}.mario{height:80px!important;width:80px!important}.platform{border-width:2px}.box-label{bottom:-20px;font-size:10px;padding:4px 6px}.mario-box,.mario-box-wrapper{height:60px!important;width:60px!important}.mario-box{max-height:60px!important;max-width:60px!important;min-height:60px!important;min-width:60px!important}.instructions-overlay{align-items:flex-start!important;bottom:auto!important;justify-content:center!important;left:50%!important;margin-top:0!important;right:auto!important;top:30%!important;transform:translateX(-50%)!important;width:100%!important}.instructions{border-radius:18px;box-shadow:0 8px 32px 0 #0009,0 0 40px #ffd70040,inset 0 1px 0 #ffffff26;font-size:12px;left:auto!important;margin:0 auto!important;max-width:96%;padding:10px 18px;position:relative!important;right:auto!important;width:96%}.instructions h3{color:gold;font-size:16px;font-weight:900;letter-spacing:1.2px;line-height:1.3;margin-bottom:8px;text-shadow:2px 2px 0 #000000e6,-1px -1px 0 #000000e6,1px -1px 0 #000000e6,-1px 1px 0 #000000e6,0 0 15px #ffd700b3,0 0 30px #ffd70066;text-transform:uppercase}.instructions p{color:#fff;font-size:12px;font-weight:600;letter-spacing:.4px;line-height:1.5;margin:6px 0;text-shadow:1px 1px 2px #000000e6,0 0 8px #ffffff4d,0 0 15px #ffd70033;transition:all .3s ease}.instructions p:hover{color:gold;text-shadow:1px 1px 2px #000000e6,0 0 12px #ffd70099,0 0 20px #ffd70066;transform:translateX(2px)}.alternative-link.mobile-only{display:inline-block}.alternative-link.desktop-only{display:none}.score-display{left:50%!important;position:fixed!important;top:10px!important;transform:translateX(-50%)!important;z-index:200}.score-text{font-size:20px;letter-spacing:2px;padding:8px 16px}.welcome-text{max-width:90%;padding-top:4px;width:calc(100% - 40px);z-index:100}.welcome-text,.welcome-text.game-started{left:50%!important;margin-left:0!important;margin-right:0!important;position:fixed!important;right:auto!important;text-align:center!important;top:70px!important;transform:translateX(-50%)!important;transition:none!important}.welcome-text.game-started{max-width:90%!important;min-width:auto!important;opacity:1!important;padding-left:0!important;padding-right:0!important;width:calc(100% - 40px)!important}.mario-welcome{font-size:20px;letter-spacing:1.5px;line-height:1.2;padding:16px 20px;text-align:center!important}.welcome-text.game-started .mario-welcome{font-size:16px!important;text-align:center!important}.sound-toggle{left:10px!important}.night-mode-toggle,.sound-toggle{bottom:auto;font-size:20px;height:45px;min-height:45px;min-width:45px;overflow:visible;right:auto;top:10px!important;width:45px}.night-mode-toggle{left:65px!important}.mobile-controls{align-items:flex-end;bottom:calc(15% - 52px);display:flex;gap:0;justify-content:space-between;left:0;padding:0 15px;position:fixed;right:0;width:100%;z-index:200}.mobile-button{border-width:2px;font-size:22px;height:40px;min-height:40px;min-width:40px;width:40px}.mobile-button.mobile-left{margin-right:auto;order:1}.mobile-button.mobile-jump{left:50%;order:2;position:absolute;transform:translateX(-50%)}.mobile-button.mobile-right{margin-left:auto;order:3}.arrow-indicators{display:none!important}.arrow-key{font-size:36px}.mobile-jump-arrow{pointer-events:auto!important}}@media (max-width:480px){.ui-layer-top .welcome-text,.ui-layer-top .welcome-text.game-started,.welcome-text,.welcome-text.game-started{transition:none!important;-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important}.ui-layer-top .welcome-text.game-started,.welcome-text.game-started{left:50%!important;margin-left:0!important;margin-right:0!important;max-width:90%!important;opacity:1!important;padding-left:0!important;padding-right:0!important;position:fixed!important;right:auto!important;top:60px!important;transform:translateX(-50%)!important;width:calc(100% - 32px)!important}.mario{height:70px!important;width:70px!important}.box-label{bottom:-18px;font-size:9px;padding:3px 5px}.mario-box,.mario-box-wrapper{height:50px!important;width:50px!important}.mario-box{max-height:50px!important;max-width:50px!important;min-height:50px!important;min-width:50px!important}.instructions-overlay{align-items:center!important;bottom:auto!important;justify-content:center!important;left:50%!important;margin-top:0!important;right:auto!important;top:35%!important;transform:translate(-50%,-50%)!important;width:100%!important}.instructions{box-shadow:0 8px 32px 0 #0009,0 0 40px #ffd70040,inset 0 1px 0 #ffffff26;font-size:11px;left:auto!important;margin:0 auto!important;max-width:95%;padding:8px 14px;position:relative!important;right:auto!important;width:100%}.instructions h3{color:gold;font-size:14px;font-weight:900;letter-spacing:1px;line-height:1.3;margin-bottom:6px;text-shadow:2px 2px 0 #000000e6,-1px -1px 0 #000000e6,1px -1px 0 #000000e6,-1px 1px 0 #000000e6,0 0 15px #ffd700b3,0 0 30px #ffd70066;text-transform:uppercase}.instructions p{color:#fff;font-size:11px;font-weight:600;letter-spacing:.3px;line-height:1.4;margin:5px 0;text-shadow:1px 1px 2px #000000e6,0 0 8px #ffffff4d,0 0 15px #ffd70033;transition:all .3s ease}.instructions p:hover{color:gold;text-shadow:1px 1px 2px #000000e6,0 0 12px #ffd70099,0 0 20px #ffd70066;transform:translateX(2px)}.score-display{align-items:center;left:50%!important;position:fixed!important;top:8px!important;transform:translateX(-50%)!important;z-index:200}.score-text{font-size:16px;letter-spacing:1px;padding:6px 12px}.welcome-text{max-width:90%;padding-top:3px;width:calc(100% - 32px);z-index:100}.welcome-text,.welcome-text.game-started{left:50%!important;margin-left:0!important;margin-right:0!important;position:fixed!important;right:auto!important;text-align:center!important;top:60px!important;transform:translateX(-50%)!important;transition:none!important}.welcome-text.game-started{max-width:90%!important;min-width:auto!important;opacity:1!important;padding-left:0!important;padding-right:0!important;width:calc(100% - 32px)!important}.mario-welcome{font-size:16px;letter-spacing:1px;line-height:1.1;text-align:center!important}.welcome-text.game-started .mario-welcome{font-size:14px!important;text-align:center!important}.sound-toggle{left:8px}.night-mode-toggle,.sound-toggle{bottom:auto;font-size:18px;height:40px;min-height:40px;min-width:40px;overflow:visible;right:auto;top:8px!important;width:40px}.night-mode-toggle{left:58px}.mobile-button{font-size:28px;height:50px;min-height:50px;min-width:50px;width:50px}.mobile-controls{align-items:flex-end;bottom:calc(15% - 48px);gap:0;justify-content:space-between;left:0;padding:0 10px;position:fixed;right:0;width:100%;z-index:200}.mobile-button{border-width:2px;font-size:20px;height:36px;min-height:36px;min-width:36px;width:36px}.mobile-button.mobile-left{margin-right:auto;order:1}.mobile-button.mobile-jump{left:50%;order:2;position:absolute;transform:translateX(-50%)}.mobile-button.mobile-right{margin-left:auto;order:3}.arrow-key{font-size:32px}}@media (prefers-reduced-motion:reduce){.cloud,.mario.running .mario-arm-left,.mario.running .mario-arm-right,.mario.running .mario-leg-left,.mario.running .mario-leg-right,.question-mark{animation:none}}@media (prefers-contrast:high){.mario-sprite{border:3px solid #000}.platform{border-width:4px}.mario-box{border-width:5px}}.portfolio-section{align-items:center;animation:fadeIn .3s ease-out;display:flex;height:100%;justify-content:center;left:0;pointer-events:none;position:fixed;top:0;touch-action:none;width:100%;z-index:300}.section-panel{-webkit-overflow-scrolling:touch;animation:slideDown .4s ease-out;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #fff3;border-radius:24px;box-shadow:0 8px 32px 0 #1f26875e;display:flex;flex-direction:column;font-family:Outfit,sans-serif;height:calc(80vh - 100px);image-rendering:auto;margin:0 0 0 auto;max-height:calc(80vh - 100px);max-width:720px;min-height:calc(80vh - 100px);overflow:hidden;pointer-events:auto;position:relative;touch-action:pan-y;transition:background .5s ease,border-color .5s ease;width:720px}.portfolio-section.night-mode .section-panel{background:#1a2d33d9;border-color:#357a8a4d;box-shadow:0 8px 32px 0 #0009}.section-panel:before{background:linear-gradient(180deg,#ffffff1a,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.panel-header{align-items:center;background-color:#8b4513;background-image:url(/static/media/coin.2548921ebb982cd2f779.png);background-repeat:repeat;background-size:60px 60px;border-bottom:2px solid #ffd70066;box-shadow:0 2px 8px #0000004d,inset 0 1px 0 #ffffff1a,inset 0 -1px 0 #0003;display:flex;flex-shrink:0;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;justify-content:space-between;padding:20px 24px;position:relative;text-align:center;transition:background-color .5s ease,border-color .5s ease,filter .5s ease}.portfolio-section.night-mode .panel-header{background-color:#2a4a55;background-image:url(/static/media/coin.2548921ebb982cd2f779.png);background-repeat:repeat;background-size:60px 60px;border-bottom-color:#4a9fb080;box-shadow:0 2px 8px #0006,inset 0 1px 0 #4a9fb01a,inset 0 -1px 0 #0000004d;filter:brightness(.5) contrast(1.2) hue-rotate(180deg) saturate(.8)}.panel-header:before{background:linear-gradient(180deg,#ffffff0d,#0000 50%,#0000001a);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;transition:background .5s ease;z-index:1}.portfolio-section.night-mode .panel-header:before{background:linear-gradient(180deg,#4a9fb01a,#0000 50%,#00000026)}.panel-header>*{position:relative;z-index:2}.mario-header{justify-content:space-between;position:relative;width:100%}.header-content,.mario-header{align-items:center;display:flex}.header-content{flex:1 1;gap:15px;justify-content:center;margin-right:auto}.section-icon{filter:drop-shadow(2px 2px 4px rgba(0,0,0,.8));font-size:36px;transition:filter .5s ease}.portfolio-section.night-mode .section-icon{filter:drop-shadow(2px 2px 4px rgba(0,0,0,.9)) drop-shadow(0 0 8px rgba(74,159,176,.4))}.panel-header h1{color:#fff;font-family:Outfit,sans-serif;font-size:24px;font-weight:700;image-rendering:auto;letter-spacing:1px;margin:0;text-shadow:2px 2px 0 #000c,-1px -1px 0 #000c,1px -1px 0 #000c,-1px 1px 0 #000c,0 0 10px #ffffff4d;text-transform:uppercase;transition:text-shadow .5s ease}.portfolio-section.night-mode .panel-header h1{text-shadow:2px 2px 0 #000000e6,-1px -1px 0 #000000e6,1px -1px 0 #000000e6,-1px 1px 0 #000000e6,0 0 10px #4a9fb066}.close-button{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:50%;box-shadow:0 2px 8px #0000001a;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-family:Outfit,sans-serif;font-size:18px;font-weight:500;height:32px;image-rendering:auto;justify-content:center;line-height:1;margin-left:auto;overflow:hidden;padding:0;position:relative;transition:all .2s ease;width:32px}.close-button:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease;width:0}.close-button:hover:before{height:100%;width:100%}.close-button:hover{background:#ffffff4d;box-shadow:0 4px 12px #0003;transform:scale(1.05)}.close-button:active{background:linear-gradient(135deg,#c00,#900);box-shadow:inset 2px 2px 0 #a00,inset -2px -2px 0 #f33,0 0 0 1px #000,0 1px 2px #0006;transform:scale(.95)}.panel-body{-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff9;flex:1 1;image-rendering:auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:24px;position:relative;touch-action:pan-y;transition:background .5s ease,color .5s ease;-webkit-user-select:text;user-select:text}.portfolio-section.night-mode .panel-body{background:#1a2d33e6;color:#e0e0e0}.section-content{color:#333;font-family:Outfit,sans-serif;transition:color .5s ease}.portfolio-section.night-mode .section-content{color:#e0e0e0}.section-content h2{color:#1a1a1a;font-size:28px;font-weight:700;letter-spacing:-.5px;margin-bottom:20px;text-align:center;text-shadow:none;text-transform:none;transition:color .5s ease}.portfolio-section.night-mode .section-content h2{color:#fff}.section-content p{color:#444;font-size:16px;font-weight:400;line-height:1.6;margin-bottom:16px;text-align:center;transition:color .5s ease}.portfolio-section.night-mode .section-content p{color:#e0e0e0}.education-list{display:flex;flex-direction:column;gap:15px;margin-top:15px}.education-item{background:#ffffffb3;border:1px solid #0000000d;border-radius:12px;box-shadow:0 2px 8px #0000000d;image-rendering:auto;padding:16px;position:relative;transition:transform .2s ease,box-shadow .2s ease,background .5s ease,border-color .5s ease}.portfolio-section.night-mode .education-item{background:#2a4a5599;border-color:#4a9fb04d}.education-logo{height:48px;object-fit:contain;position:absolute;right:12px;top:12px;width:48px}.education-item:hover{background:#ffffffe6;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.portfolio-section.night-mode .education-item:hover{background:#357a8ab3;box-shadow:0 4px 12px #0000004d}.education-item h3{color:#0056b3;font-size:18px;font-weight:600;margin-bottom:8px;text-shadow:none;transition:color .5s ease}.portfolio-section.night-mode .education-item h3{color:#4a9fb0}.education-item p{color:#555;font-size:14px;font-weight:400;line-height:1.5;margin:4px 0;text-align:left;transition:color .5s ease}.portfolio-section.night-mode .education-item li,.portfolio-section.night-mode .education-item p,.portfolio-section.night-mode .education-item ul{color:#d0d0d0}.experience-list{display:flex;flex-direction:column;gap:15px;margin-top:15px}.experience-item{background:#ffffffb3;border:1px solid #0000000d;border-radius:12px;box-shadow:0 2px 8px #0000000d;image-rendering:auto;padding:16px;position:relative;transition:transform .2s ease,box-shadow .2s ease,background .5s ease,border-color .5s ease}.portfolio-section.night-mode .experience-item{background:#2a4a5599;border-color:#4a9fb04d}.experience-logo{height:48px;object-fit:contain;position:absolute;right:12px;top:12px;width:48px}.experience-item:hover{background:#ffffffe6;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.portfolio-section.night-mode .experience-item:hover{background:#357a8ab3;box-shadow:0 4px 12px #0000004d}.experience-item h3{color:#e65100;font-size:18px;font-weight:600;margin-bottom:8px;text-shadow:none;transition:color .5s ease}.portfolio-section.night-mode .experience-item h3{color:#4a9fb0}.experience-item p{color:#555;font-size:14px;font-weight:400;line-height:1.5;margin:4px 0;text-align:left;transition:color .5s ease}.portfolio-section.night-mode .experience-item li,.portfolio-section.night-mode .experience-item p,.portfolio-section.night-mode .experience-item ul{color:#d0d0d0}.project-grid{align-items:flex-start;display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:15px}.project-card{background:#ffffffb3;border:1px solid #0000000d;border-radius:12px;box-shadow:0 2px 8px #0000000d;cursor:pointer;flex:1 1 320px;image-rendering:auto;max-width:420px;padding:16px;text-align:center;transition:transform .2s ease,box-shadow .2s ease,background .5s ease,border-color .5s ease}.portfolio-section.night-mode .project-card{background:#2a4a5599;border-color:#4a9fb04d}.project-logo{height:56px;margin-bottom:8px;object-fit:contain;width:56px}.project-card:hover{background:#ffffffe6;box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.portfolio-section.night-mode .project-card:hover{background:#357a8ab3;box-shadow:0 8px 16px #0000004d}.project-card h3{color:#0056b3;font-size:16px;font-weight:600;margin-bottom:8px;text-shadow:none;transition:color .5s ease}.portfolio-section.night-mode .project-card h3{color:#4a9fb0}.project-card p{color:#555;font-size:13px;font-weight:400;line-height:1.5;margin:0;transition:color .5s ease}.portfolio-section.night-mode .project-card p{color:#d0d0d0}.skills-container{margin-top:20px}.skill-category{background:#ffffffb3;border:1px solid #0000000d;border-radius:12px;box-shadow:0 2px 8px #0000000d;image-rendering:auto;margin-bottom:20px;padding:16px;transition:background .5s ease,border-color .5s ease}.portfolio-section.night-mode .skill-category{background:#2a4a5599;border-color:#4a9fb04d}.skill-category h3{color:#e65100;font-size:18px;font-weight:600;margin-bottom:12px;text-align:center;text-shadow:none;transition:color .5s ease}.portfolio-section.night-mode .skill-category h3{color:#4a9fb0}.skill-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.skill-tag{background:linear-gradient(135deg,#ff9800,#f57c00);border:none;border-radius:20px;box-shadow:0 2px 4px #0000001a;color:#fff;font-family:Outfit,sans-serif;font-size:13px;font-weight:500;image-rendering:auto;padding:6px 14px;transition:transform .2s ease,background .5s ease,box-shadow .5s ease}.portfolio-section.night-mode .skill-tag{background:linear-gradient(135deg,#357a8a,#2a5f6b);box-shadow:0 2px 4px #0000004d;color:#fff}.skill-tag:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.portfolio-section.night-mode .skill-tag:hover{background:linear-gradient(135deg,#4a9fb0,#357a8a);box-shadow:0 4px 8px #0006}.contact-info{margin-top:30px}.contact-item{align-items:center;background:#ffffffb3;border:1px solid #0000000d;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;font-family:Outfit,sans-serif;font-size:15px;font-weight:500;gap:12px;image-rendering:auto;margin:8px 0;padding:16px;transition:transform .2s ease,background .5s ease,border-color .5s ease,color .5s ease}.portfolio-section.night-mode .contact-item{background:#2a4a5599;border-color:#4a9fb04d;color:#e0e0e0}.contact-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.portfolio-section.night-mode .contact-item:hover{background:#357a8ab3;box-shadow:0 4px 12px #0000004d}.contact-item a{color:#000;text-decoration:none;transition:color .5s ease}.portfolio-section.night-mode .contact-item a{color:#4a9fb0}.contact-item a:hover{color:#9c27b0}.portfolio-section.night-mode .contact-item a:hover{color:#5fb0c5}.portfolio-section.night-mode .contact-item span{color:#e0e0e0}.contact-icon{font-size:20px}.social-links{display:flex;gap:15px;justify-content:center;margin-top:20px}.social-button{background:linear-gradient(135deg,#9c27b0,#7b1fa2);border:none;border-radius:24px;box-shadow:0 4px 12px #9c27b04d;color:#fff;cursor:pointer;font-family:Outfit,sans-serif;font-size:14px;font-weight:600;image-rendering:auto;letter-spacing:1px;padding:12px 28px;text-decoration:none;text-transform:uppercase;transition:all .2s ease}.social-button:hover{box-shadow:0 6px 16px #9c27b066;filter:brightness(1.1);transform:translateY(-2px)}.social-button:active{box-shadow:0 2px 8px #9c27b04d;transform:translateY(0)}.panel-body::-webkit-scrollbar{width:10px}.panel-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:5px;-webkit-transition:background .5s ease;transition:background .5s ease}.portfolio-section.night-mode .panel-body::-webkit-scrollbar-track{background:#1a2d33cc}.panel-body::-webkit-scrollbar-thumb{background:#8b4513;border-radius:5px;-webkit-transition:background .5s ease;transition:background .5s ease}.panel-body::-webkit-scrollbar-thumb:hover{background:#654321}.portfolio-section.night-mode .panel-body::-webkit-scrollbar-thumb{background:#357a8a}.portfolio-section.night-mode .panel-body::-webkit-scrollbar-thumb:hover{background:#4a9fb0}.scroll-indicator{bottom:20px;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%);z-index:10}.scroll-arrow{animation:blinkScroll 1.5s ease-in-out infinite;color:#e65100;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));font-size:32px;text-shadow:2px 2px 4px #0000004d,0 0 10px #e6510080;transition:color .5s ease}.portfolio-section.night-mode .scroll-arrow{color:#4a9fb0;text-shadow:2px 2px 4px #00000080,0 0 10px #4a9fb099}@keyframes blinkScroll{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(8px)}}.section-panel{-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform,opacity}.panel-body,.section-panel{transform:translateZ(0)}@media (min-width:1025px){.portfolio-section{align-items:flex-start;justify-content:flex-end;padding-bottom:20vh;padding-right:20px;padding-top:100px}.section-panel{height:calc(80vh - 100px)!important;margin-left:auto!important;margin-right:0!important;max-height:calc(80vh - 100px)!important;max-width:720px!important;min-height:calc(80vh - 100px)!important;width:720px!important}}@media (min-width:769px) and (max-width:1024px){.portfolio-section{align-items:flex-start;justify-content:center;padding:15vh 0 0}.section-panel{height:50vh!important;margin:0 auto!important;max-height:50vh!important;max-width:70%!important;min-height:50vh!important;width:70%!important}.panel-header{padding:14px 18px}.panel-header h1{font-size:24px;letter-spacing:1.5px}.section-icon{font-size:32px}.close-button{font-size:19px;height:34px;width:34px}.panel-body{flex:1 1;font-size:14px;min-height:0;padding:18px}.section-content h2{font-size:20px;margin-bottom:14px}.project-grid{gap:15px;grid-template-columns:repeat(2,1fr)}.skill-tags{gap:10px}.skill-tag{font-size:12px;padding:6px 12px}.education-item,.experience-item,.project-card{padding:12px}.education-item h3,.experience-item h3,.project-card h3{font-size:16px}.education-item p,.experience-item p,.project-card p{font-size:13px}.contact-item{font-size:14px;padding:12px}.social-button{font-size:13px;padding:10px 20px}}@media (max-width:768px){.portfolio-section{align-items:flex-start;justify-content:center;padding:20vh 0 0}.section-panel{height:45vh!important;margin:0 auto;max-height:45vh!important;max-width:85%!important;min-height:45vh!important;width:85%!important}.panel-header{padding:12px 15px}.panel-header h1{font-size:20px;letter-spacing:1px}.section-icon{font-size:28px}.close-button{font-size:18px;height:32px;width:32px}.panel-body{flex:1 1;font-size:13px;min-height:0;padding:15px}.section-content h2{font-size:18px;margin-bottom:12px}.project-grid{gap:12px;grid-template-columns:1fr}.skill-tags{gap:8px}.skill-tag{font-size:11px;padding:5px 10px}.education-item,.experience-item,.project-card{padding:10px}.education-item h3,.experience-item h3,.project-card h3{font-size:14px}.education-item p,.experience-item p,.project-card p{font-size:11px}.contact-item{font-size:12px;padding:10px}.social-button{font-size:12px;padding:8px 16px}}@media (max-width:480px){.portfolio-section{justify-content:center;padding:18vh 0 0}.section-panel{height:45vh!important;margin-left:auto;margin-right:auto;max-height:45vh!important;max-width:90%!important;min-height:45vh!important;width:90%!important}.panel-header{padding:10px 12px}.panel-header h1{font-size:18px;letter-spacing:.5px}.section-icon{font-size:24px}.close-button{font-size:16px;height:30px;width:30px}.panel-body{flex:1 1;font-size:12px;min-height:0;padding:12px}.section-content h2{font-size:16px;margin-bottom:10px}.section-content p{font-size:11px;margin-bottom:12px}.education-item,.experience-item,.project-card{padding:8px}.education-item h3,.experience-item h3,.project-card h3{font-size:13px}.education-item p,.experience-item p,.project-card p{font-size:10px}.skill-category{margin-bottom:15px;padding:12px}.skill-category h3{font-size:16px;margin-bottom:10px}.skill-tag{font-size:10px;padding:4px 8px}.contact-item{font-size:11px;margin:6px 0;padding:8px}.contact-icon{font-size:18px}.social-links{gap:10px;margin-top:15px}.social-button{font-size:11px;padding:8px 14px}}@media (max-width:768px) and (orientation:landscape){.portfolio-section{justify-content:center;padding-left:0;padding-right:0;padding-top:5vh}.section-panel{height:60vh!important;margin-left:auto;margin-right:auto;max-height:60vh!important;max-width:70%!important;min-height:60vh!important;width:70%!important}.panel-body{flex:1 1;min-height:0}}@media (prefers-reduced-motion:reduce){.section-panel{animation:none}.project-card,.social-button{transition:none}}@media (prefers-contrast:high){.section-panel{border-width:6px}.project-card{border-width:4px}.skill-tag{border-width:3px}}.mario-chatbot{backface-visibility:hidden;-webkit-backface-visibility:hidden;bottom:20px;contain:layout style paint;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;isolation:isolate;pointer-events:none;position:fixed;right:20px;transform:translateZ(0);will-change:transform;z-index:1000}.mario-chatbot.open{pointer-events:auto}body.chatbot-open .mario-game{will-change:auto}.chatbot-toggle{align-items:center;background-color:#8b4513;border:4px solid #ffd70099;border-radius:50%;box-shadow:0 8px 24px #00000080,0 0 0 4px #ffd70033,inset 0 2px 0 #fff3;cursor:pointer;display:flex;height:70px;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;justify-content:center;overflow:hidden;pointer-events:auto;position:relative;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);width:70px}.chatbot-toggle,body.night-mode .chatbot-toggle{background-image:url(/static/media/coin.2548921ebb982cd2f779.png);background-repeat:repeat;background-size:60px 60px}body.night-mode .chatbot-toggle{background-color:#2a4a55;border-color:#4a9fb099;box-shadow:0 8px 24px #000000b3,0 0 0 4px #4a9fb033,inset 0 2px 0 #4a9fb033;filter:brightness(.5) contrast(1.2) hue-rotate(180deg) saturate(.8)}.chatbot-toggle:hover{box-shadow:0 12px 32px #0006,0 0 0 6px #ff6b6b4d;transform:scale(1.1)}.chatbot-toggle:active{transform:scale(.95)}.chatbot-toggle-avatar{height:50px;image-rendering:pixelated;object-fit:contain;position:relative;width:50px;z-index:2}.chatbot-pulse{animation:pulse 2s ease-in-out infinite;background:#fff9;border-radius:50%;height:100%;position:absolute;width:100%;z-index:1}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}to{opacity:0;transform:scale(1.4)}}.chatbot-window{animation:slideUp .3s cubic-bezier(.68,-.55,.265,1.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#ffffff1a;border:1px solid #fff3;border-radius:24px;box-shadow:0 8px 32px 0 #1f26875e;contain:layout style paint;display:flex;flex-direction:column;height:600px;isolation:isolate;max-height:calc(100vh - 40px);max-width:calc(100vw - 40px);overflow:hidden;pointer-events:auto;position:relative;transform:translateZ(0);-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);transition:background .5s ease,border-color .5s ease;width:380px;will-change:transform}.chatbot-window.night-mode{background:#1a2d33d9;border-color:#357a8a4d;box-shadow:0 8px 32px 0 #0009}.chatbot-window:before{background:linear-gradient(180deg,#ffffff1a,#0000 50%);border-radius:24px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.chatbot-header{align-items:center;background-color:#8b4513;border-bottom:2px solid #ffd70066;box-shadow:0 2px 8px #0003,inset 0 1px 0 #ffffff1a;color:gold;display:flex;gap:12px;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;padding:16px 20px;position:relative;transition:background-color .5s ease,border-color .5s ease;z-index:2}.chatbot-header,.chatbot-window.night-mode .chatbot-header{background-image:url(/static/media/coin.2548921ebb982cd2f779.png);background-repeat:repeat;background-size:60px 60px}.chatbot-window.night-mode .chatbot-header{background-color:#2a4a55;border-bottom-color:#4a9fb080;box-shadow:0 2px 8px #0006,inset 0 1px 0 #4a9fb01a,inset 0 -1px 0 #0000004d;filter:brightness(.5) contrast(1.2) hue-rotate(180deg) saturate(.8)}.chatbot-window.night-mode .chatbot-header-info h3{color:#5fb0c5!important;filter:brightness(1.2) contrast(1.3);text-shadow:3px 3px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,0 0 20px #5fb0c5e6,0 0 40px #5fb0c599}.chatbot-window.night-mode .chatbot-header-info p{color:#7bc4d6!important;filter:brightness(1.1) contrast(1.2);text-shadow:2px 2px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,0 0 15px #7bc4d6cc}.chatbot-avatar{align-items:center;background:#ffd70033;border:3px solid #ffd70080;border-radius:50%;box-shadow:0 2px 4px #0000004d,inset 0 1px 0 #fff3;display:flex;flex-shrink:0;height:50px;justify-content:center;width:50px}.mario-avatar-img{height:40px;image-rendering:pixelated;object-fit:contain;width:40px}.chatbot-header-info{flex:1 1;min-width:0}.chatbot-header-info h3{color:gold;font-family:Courier New,monospace;font-size:18px;font-weight:700;letter-spacing:1px;line-height:1.2;margin:0;text-shadow:2px 2px 0 #000c,-1px -1px 0 #000c,1px -1px 0 #000c,-1px 1px 0 #000c;text-transform:uppercase}.chatbot-header-info p{color:#ffd700e6;font-size:12px;line-height:1.2;margin:4px 0 0;text-shadow:1px 1px 2px #000c}.chatbot-close{align-items:center;background:#ffd70033;border:2px solid #ffd70080;border-radius:50%;box-shadow:0 2px 4px #0000004d;color:gold;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;height:32px;justify-content:center;line-height:1;text-shadow:1px 1px 2px #000c;transition:all .2s;width:32px}.chatbot-close:hover{background:#ffd70066;border-color:#ffd700cc;box-shadow:0 4px 8px #0006;transform:rotate(90deg)}.chatbot-messages{-webkit-overflow-scrolling:touch;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#ffffff0d;contain:layout style paint;display:flex;flex:1 1;flex-direction:column;gap:16px;isolation:isolate;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:20px;perspective:1000px;-webkit-perspective:1000px;position:relative;transform:translateZ(0);-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);will-change:scroll-position;z-index:1}.chatbot-messages::-webkit-scrollbar{width:6px}.chatbot-messages::-webkit-scrollbar-track{background:#0000}.chatbot-messages::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px;transform:translateZ(0)}.chatbot-messages::-webkit-scrollbar-thumb:hover{background:#bbb}.message{align-items:flex-start;animation:fadeIn .3s ease;backface-visibility:hidden;-webkit-backface-visibility:hidden;contain:layout style;display:flex;flex-shrink:0;gap:10px;min-height:0;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse}.message-avatar{align-items:center;background:#ffd7004d;border:2px solid #ffd70080;border-radius:50%;box-shadow:0 2px 4px #0003;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.message.user .message-avatar{display:none}.message-avatar img{height:28px;image-rendering:pixelated;object-fit:contain;width:28px}.message-content{flex:1 1;min-width:0}.message-text{word-wrap:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#ffffffb3;border:1px solid #fff3;border-radius:18px;box-shadow:0 2px 8px #0000001a;color:#333;contain:layout style;font-size:14px;line-height:1.6;padding:12px 16px;position:relative;transform:translateZ(0);-webkit-transform:translateZ(0);transition:background .2s ease,box-shadow .2s ease}.message-text strong{color:#222;font-weight:700}.message-text em{font-style:italic}.message-text code{background:#f5f5f5;border-radius:4px;color:#d63384;font-family:Courier New,monospace;font-size:13px;padding:2px 6px}.message-text.loading{background:#f0f0f0;padding:12px 16px}.chatbot-window.night-mode .message-text.loading{background:#2a4a5566}.typing-indicator{align-items:center;display:inline-flex;gap:4px}.typing-indicator span{animation:typing 1.4s infinite;background:#999;border-radius:50%;height:8px;width:8px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.7;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.message.user .message-text{background:#ffd7004d;border:1px solid #ffd70080;border-bottom-right-radius:4px;color:gold;text-shadow:1px 1px 2px #0000004d}.message.user .message-text strong{color:#fff;font-weight:700}.message.user .message-text code{background:#fff3;color:#fff}.chatbot-window.night-mode .chatbot-messages{background:#1a2d334d}.chatbot-window.night-mode .message-text{background:#2a4a5599;border-color:#4a9fb04d;color:#d0d0d0}.chatbot-window.night-mode .message-text strong{color:#4a9fb0}.chatbot-window.night-mode .message.user .message-text{background:#357a8a66;border-color:#4a9fb080;color:#4a9fb0}.chatbot-window.night-mode .message-avatar{background:#357a8a66;border-color:#4a9fb099}.chatbot-window.night-mode .chatbot-avatar{background:#5fb0c566;border-color:#5fb0c5cc;box-shadow:0 2px 4px #0006,inset 0 1px 0 #7bc4d64d,0 0 10px #5fb0c580}.chatbot-window.night-mode .chatbot-close{background:#5fb0c566;border-color:#5fb0c5cc;color:#7bc4d6;text-shadow:1px 1px 2px #000,0 0 10px #7bc4d6cc}.chatbot-window.night-mode .chatbot-close:hover{background:#357a8a80;border-color:#4a9fb0e6}.chatbot-window.night-mode .chatbot-input-container{background:#1a2d3380;border-top-color:#357a8a4d}.chatbot-window.night-mode .chatbot-input{background:#2a4a5599;border-color:#4a9fb04d;color:#d0d0d0}.chatbot-window.night-mode .chatbot-input:focus{background:#2a4a55cc;border-color:#4a9fb0cc;box-shadow:0 0 0 3px #4a9fb033}.chatbot-window.night-mode .chatbot-send{background:#357a8a66;border-color:#4a9fb099;color:#4a9fb0}.chatbot-window.night-mode .chatbot-send:hover{background:#357a8a99;border-color:#4a9fb0e6}.message.bot .message-text{border-bottom-left-radius:4px}.chatbot-input-container{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffff1a;border-top:1px solid #fff3;display:flex;gap:10px;padding:16px;position:relative;z-index:2}.chatbot-input{background:#ffffffb3;border:2px solid #ffffff4d;border-radius:24px;color:#333;flex:1 1;font-family:inherit;font-size:14px;outline:none;padding:12px 16px;pointer-events:auto;transition:all .2s;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.chatbot-input:focus{background:#ffffffe6;border-color:#ffd700cc;box-shadow:0 0 0 3px #ffd70033}.chatbot-send{align-items:center;background:#ffd7004d;border:2px solid #ffd70099;border-radius:50%;box-shadow:0 2px 8px #0000004d,inset 0 1px 0 #fff3;color:gold;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:44px;justify-content:center;text-shadow:1px 1px 2px #00000080;transition:all .2s;width:44px}.chatbot-send:hover{background:#ffd70080;border-color:#ffd700e6;box-shadow:0 4px 12px #0006,inset 0 1px 0 #ffffff4d;transform:scale(1.1)}.chatbot-send:active{transform:scale(.95)}.chatbot-send:disabled{cursor:not-allowed;opacity:.5;transform:none}.chatbot-input:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.mario-chatbot{display:none!important}}@media (max-width:480px){.mario-chatbot{display:none!important}}
/*# sourceMappingURL=main.e5a912c8.css.map*/