@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(185deg,#0f7fc4,#2aa8f0 28%,#52c8ff 58%,#87deff 85%,#b8ecff);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 80% 40% at 50% 0,#ffffff38 0,#0000 55%),radial-gradient(ellipse 60% 30% at 20% 85%,#00286414 0,#0000 60%);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(12px);-webkit-backdrop-filter:blur(12px);background:#0a0a0ab8;border:2px solid gold;border-radius:14px;box-shadow:inset 0 2px 0 #ffffff1a,inset 0 -2px 0 #0000004d,0 6px 24px #00000080,0 0 0 1px #00000080;color:gold;font-family:Courier New,monospace;font-size:24px;font-weight:900;image-rendering:auto;letter-spacing:3px;padding:8px 20px;position:relative;text-shadow:3px 3px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,0 0 18px #ffd700e6,0 0 36px #ffd70080;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:welcomeAura 4s ease-in-out infinite alternate;backdrop-filter:blur(36px) saturate(1.3);-webkit-backdrop-filter:blur(36px) saturate(1.3);background:linear-gradient(150deg,#05081cf0,#0e062aeb 50%,#040a20f0);border:1.5px solid #ffd7008c;border-radius:22px;box-shadow:0 2px 4px #00000080,0 12px 32px #00000073,0 32px 64px #00000040,0 0 28px #ffc80038,0 0 80px #ff8c001a,inset 0 1px 0 #ffffff24,inset 0 -1px 0 #0000004d;display:block;margin:0 0 15px;padding:30px 48px 26px;position:relative;text-align:center;transition:background .5s ease,border-color .5s ease;white-space:normal}.welcome-tag{background:#ffd7001f;border:1px solid #ffd70059;border-radius:20px;color:gold;display:inline-block;font-family:Outfit,sans-serif;font-size:10px;font-weight:800;letter-spacing:4px;margin-bottom:16px;padding:4px 14px;text-shadow:0 0 12px #ffd70099;text-transform:uppercase}.welcome-name-line{animation:textGlow 3s ease-in-out infinite;color:#ffe555;display:block;font-family:Courier New,monospace;font-size:46px;font-weight:900;letter-spacing:6px;line-height:1.12;margin-bottom:18px;text-shadow:3px 3px 0 #000000f2,-1px -1px 0 #000000f2,1px -1px 0 #000000f2,-1px 1px 0 #000000f2,0 0 24px #ffd700cc,0 0 56px #ffa50066;text-transform:uppercase}.welcome-divider-line{background:linear-gradient(90deg,#0000,#ffd7008c,#0000);height:1px;margin:0 auto 16px;width:50%}.welcome-title-line{color:#fff;font-size:17px;font-weight:700;letter-spacing:2px;margin-bottom:7px;text-shadow:0 1px 8px #000000b3,0 2px 16px #0006;text-transform:uppercase}.welcome-spec-line,.welcome-title-line{display:block;font-family:Outfit,sans-serif}.welcome-spec-line{color:#ffffffe6;font-size:13px;font-weight:600;letter-spacing:.8px;text-shadow:0 1px 6px #0000008c}.mario-game.night-mode .mario-welcome{background:linear-gradient(135deg,#051432bf,#0f082dcc);border-color:#5fb0c580;box-shadow:0 16px 48px #00000073,0 0 36px #5fb0c538,inset 0 1px 0 #5fb0c52e,inset 0 -1px 0 #0003}.mario-game.night-mode .welcome-tag{color:#5fb0c599}.mario-game.night-mode .welcome-name-line{color:#5fb0c5;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 #5fb0c580}.mario-game.night-mode .welcome-divider-line{background:linear-gradient(90deg,#0000,#5fb0c580,#0000)}.mario-game.night-mode .welcome-spec-line{color:#5fb0c5a6}.welcome-text.game-started .mario-welcome{margin:0;padding:20px 28px 18px}.welcome-text.game-started .welcome-name-line{font-size:30px;letter-spacing:3px;margin-bottom:10px}.welcome-text.game-started .welcome-title-line{font-size:13px;letter-spacing:1.5px}.welcome-text.game-started .welcome-spec-line{font-size:11px;letter-spacing:.4px}.mario-subtitle{animation:subtitleBlink 2s ease-in-out infinite;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);background:#ffffff4d;border:1px solid #ffffff80;border-radius:12px;border-top-color:#ffffffb3;color:#1a1a2e;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:0 1px 4px #fff9;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{opacity:1;transform:scale(1)}50%{opacity:1;transform:scale(1.015)}}@keyframes welcomeAura{0%{border-color:#ffd70080;box-shadow:0 2px 4px #00000080,0 12px 32px #00000073,0 32px 64px #00000040,0 0 24px #ffc8002e,0 0 70px #ff8c0014,inset 0 1px 0 #ffffff24,inset 0 -1px 0 #0000004d}to{border-color:#ffd700cc;box-shadow:0 2px 4px #00000080,0 12px 32px #00000073,0 32px 64px #00000040,0 0 44px #ffc80061,0 0 110px #ff8c002e,inset 0 1px 0 #ffffff2e,inset 0 -1px 0 #0000004d}}@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(185deg,#0f7fc4,#2aa8f0 28%,#52c8ff 58%,#87deff 85%,#b8ecff);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{align-items:center;background:linear-gradient(145deg,#2a2a2a,#0a0a0a);border:2px solid gold;border-radius:50%;bottom:auto;box-shadow:inset 0 3px 0 #ffffff1f,inset 0 -3px 0 #0006,0 0 0 1px #0009,0 6px 16px #0000008c,0 0 20px #ffd70040;cursor:pointer;display:flex;font-family:Courier New,monospace;font-size:22px;height:52px;justify-content:center;left:20px;min-height:52px;min-width:52px;overflow:visible;position:fixed;right:auto;top:20px;transition:all .18s ease;width:52px;z-index:1001}.sound-toggle:hover{box-shadow:inset 0 3px 0 #ffffff1f,inset 0 -3px 0 #0006,0 0 0 1px #0009,0 8px 20px #0009,0 0 30px #ffd70080;transform:scale(1.12)}.night-mode-toggle{align-items:center;background:linear-gradient(145deg,#2a2a2a,#0a0a0a);border:2px solid gold;border-radius:50%;bottom:auto;box-shadow:inset 0 3px 0 #ffffff1f,inset 0 -3px 0 #0006,0 0 0 1px #0009,0 6px 16px #0000008c,0 0 20px #ffd70040;cursor:pointer;display:flex;font-family:Courier New,monospace;font-size:22px;height:52px;justify-content:center;left:82px;min-height:52px;min-width:52px;overflow:visible;position:fixed;right:auto;top:20px;transition:all .18s ease;width:52px;z-index:1001}.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(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);background:#ffffff38;border:1.5px solid #ffffff80;border-radius:20px;border-top-color:#ffffffbf;box-shadow:0 8px 32px #0000002e,0 0 0 1px #ffd70033,inset 0 1px 0 #ffffff8c;color:#1a1a2e;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:#1a1a2e;display:flex;font-size:20px;font-weight:900;gap:8px;justify-content:center;letter-spacing:2px;margin-bottom:16px;text-align:center;text-shadow:0 1px 4px #fff9;text-transform:uppercase;transition:color .5s ease,text-shadow .5s ease}.mario-game.night-mode .instructions h3{color:#4a9fb0;text-shadow:0 1px 6px #0009}.instructions p{color:#2a2a40;font-size:13px;font-weight:600;line-height:1.6;margin:10px 0;text-shadow:0 1px 3px #ffffff80;transition:color .3s ease}.instructions p:hover{color:#e65100;text-shadow:0 1px 6px #e651004d}.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{align-items:center;animation:pulse 2s infinite;backdrop-filter:blur(10px) saturate(1.3);-webkit-backdrop-filter:blur(10px) saturate(1.3);background:#ffffff47;border:2px solid #ffd700cc;border-radius:10px;border-top-color:#ffffffa6;box-shadow:inset 0 2px 0 #ffffff59,0 4px 12px #00000038,0 0 14px #ffd70038;color:gold;display:flex;font-size:36px;font-weight:700;height:52px;justify-content:center;text-shadow:2px 2px 0 #000000d9,-1px -1px 0 #000000d9,1px -1px 0 #000000d9,-1px 1px 0 #000000d9,0 0 12px #ffd700b3;transition:color .5s ease,background .5s ease,border-color .5s ease;width:52px}.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:transform .07s ease;will-change:transform;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)}@keyframes marioJumpLift{0%{transform:scaleY(.78) scaleX(1.18)}25%{transform:scaleY(1.12) scaleX(.92)}70%{transform:scaleY(1.04) scaleX(.98)}to{transform:scaleY(1) scaleX(1)}}.mario.jumping .mario-sprite{animation:marioJumpLift .22s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes marioRuntle{0%,to{transform:rotate(0deg)}50%{transform:rotate(2deg)}}.mario.running .mario-sprite{animation:marioRuntle .3s ease-in-out infinite}.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}@keyframes boxLiveGlow{0%,to{filter:brightness(1) drop-shadow(0 0 6px rgba(255,215,0,.55)) drop-shadow(0 0 14px rgba(255,190,0,.3));transform:translateY(0) scale(1)}50%{filter:brightness(1.1) drop-shadow(0 0 14px rgba(255,215,0,.9)) drop-shadow(0 0 28px rgba(255,190,0,.55));transform:translateY(-3px) scale(1.025)}}.mario-box:not(.broken){animation:boxLiveGlow 2.4s ease-in-out infinite}.mario-box-wrapper:first-child .mario-box:not(.broken){animation-delay:0s}.mario-box-wrapper:nth-child(2) .mario-box:not(.broken){animation-delay:.35s}.mario-box-wrapper:nth-child(3) .mario-box:not(.broken){animation-delay:.7s}.mario-box-wrapper:nth-child(4) .mario-box:not(.broken){animation-delay:1.05s}.mario-box-wrapper:nth-child(5) .mario-box:not(.broken){animation-delay:1.4s}.mario-box-wrapper:nth-child(6) .mario-box:not(.broken){animation-delay:1.75s}.mario-box-wrapper:nth-child(7) .mario-box:not(.broken){animation-delay:2.1s}.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 .38s cubic-bezier(.22,1,.36,1);backdrop-filter:blur(40px) saturate(1.8);-webkit-backdrop-filter:blur(40px) saturate(1.8);background:#fffffff5;border:none;border-radius:20px;box-shadow:0 48px 96px #00000052,0 16px 40px #0000002e,0 4px 12px #0000001a,inset 0 1px 0 #fff;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:#122025e6;border-color:#357a8a66;box-shadow:0 32px 64px #0000008c,0 8px 24px #00000059,inset 0 1px 0 #4a9fb040}.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(-32px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.panel-header{align-items:center;background-color:#7a3a10;background-image:url(/static/media/coin.2548921ebb982cd2f779.png);background-repeat:repeat;background-size:56px 56px;border-bottom:3px solid #ffd7008c;box-shadow:0 4px 16px #0006,inset 0 2px 0 #ffffff26,inset 0 -2px 0 #00000040;display:flex;flex-shrink:0;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;justify-content:space-between;padding:18px 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,#ffffff1f,#0000 45%,#0000002e);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(0 3px 6px rgba(0,0,0,.7));font-size:40px;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:22px;font-weight:800;image-rendering:auto;letter-spacing:2px;margin:0;text-shadow:2px 2px 0 #000000d9,-1px -1px 0 #000000d9,1px -1px 0 #000000d9,-1px 1px 0 #000000d9,0 0 16px #ffe66480;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:linear-gradient(135deg,#e52521,#b71c1c);border:2px solid #0000004d;border-radius:50%;box-shadow:inset 0 2px 0 #ff646466,inset 0 -2px 0 #0000004d,0 4px 10px #0006;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-family:Outfit,sans-serif;font-size:16px;font-weight:700;height:34px;image-rendering:auto;justify-content:center;line-height:1;margin-left:auto;overflow:hidden;padding:0;position:relative;transition:all .18s ease;width:34px}.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:linear-gradient(180deg,#f4f7fb,#f9fafb);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:#0f1c22f7;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:linear-gradient(135deg,#fff,#f0f6ff);border:1px solid #0056b324;border-left:5px solid #0056b3;border-radius:14px;box-shadow:0 4px 18px #0056b314,0 1px 4px #0000000f;image-rendering:auto;padding:18px 18px 16px;position:relative;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease,background .5s ease,border-color .5s ease}.portfolio-section.night-mode .education-item{background:#1e3742cc;border-color:#4a9fb04d #4a9fb04d #4a9fb04d #4a9fb0;box-shadow:0 2px 12px #0003}.education-logo{height:48px;object-fit:contain;position:absolute;right:12px;top:12px;width:48px}.education-item:hover{background:linear-gradient(135deg,#fff,#e4efff);box-shadow:0 16px 36px #0056b32e,0 4px 12px #00000014;transform:translateY(-5px)}.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 p{color:#d0d0d0}.education-item ul{color:#555;font-size:14px;font-weight:400;line-height:1.6;margin:4px 0;text-align:left;transition:color .5s ease}.education-item li{margin-bottom:6px;transition:color .5s ease}.portfolio-section.night-mode .education-item li,.portfolio-section.night-mode .education-item ul{color:#d0d0d0}.experience-list{display:flex;flex-direction:column;gap:15px;margin-top:15px}.experience-item{background:linear-gradient(135deg,#fff,#fff6f0);border:1px solid #e6510024;border-left:5px solid #e65100;border-radius:14px;box-shadow:0 4px 18px #e6510014,0 1px 4px #0000000f;image-rendering:auto;padding:18px 18px 16px;position:relative;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease,background .5s ease,border-color .5s ease}.portfolio-section.night-mode .experience-item{background:#1e3742cc;border-color:#4a9fb04d #4a9fb04d #4a9fb04d #4a9fb0;box-shadow:0 2px 12px #0003}.experience-logo{height:48px;object-fit:contain;position:absolute;right:12px;top:12px;width:48px}.experience-item:hover{background:linear-gradient(135deg,#fff,#ffe8d8);box-shadow:0 16px 36px #e651002e,0 4px 12px #00000014;transform:translateY(-5px)}.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:stretch;display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:15px}.project-card{background:linear-gradient(160deg,#fff,#f5f9ff);border:1px solid #00000012;border-radius:16px;border-top:4px solid #0056b3;box-shadow:0 6px 24px #0000001a,0 1px 4px #0000000f;cursor:pointer;display:flex;flex:1 1 300px;flex-direction:column;image-rendering:auto;max-width:420px;min-width:260px;padding:20px 18px 16px;text-align:center;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease,background .5s ease,border-color .5s ease}.project-card:nth-child(2){border-top-color:#e65100}.project-card:nth-child(3){border-top-color:#2e7d32}.project-card:nth-child(4){border-top-color:#7b1fa2}.portfolio-section.night-mode .project-card{background:#1e3742cc;border-color:#4a9fb0 #4a9fb040 #4a9fb040;box-shadow:0 2px 12px #0003}.portfolio-section.night-mode .project-card:nth-child(2){border-top-color:#ff9800}.portfolio-section.night-mode .project-card:nth-child(3){border-top-color:#66bb6a}.portfolio-section.night-mode .project-card:nth-child(4){border-top-color:#ce93d8}.project-logo{height:56px;object-fit:contain;width:56px}.project-card h3,.project-logo{flex-shrink:0;margin-bottom:8px}.project-card:hover{background:linear-gradient(160deg,#fff,#e8f0ff);box-shadow:0 24px 48px #0056b32e,0 6px 16px #0000001a;transform:translateY(-8px)}.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;text-shadow:none;transition:color .5s ease}.portfolio-section.night-mode .project-card h3{color:#4a9fb0}.project-card>p{color:#555;flex-grow:1;font-size:13px;font-weight:400;line-height:1.5;margin:0 0 8px;transition:color .5s ease}.portfolio-section.night-mode .project-card p{color:#d0d0d0}.skills-container{margin-top:20px}.skill-category{background:linear-gradient(135deg,#fff,#fafcff);border:1px solid #00000012;border-radius:16px;box-shadow:0 4px 18px #00000012,0 1px 4px #0000000a;image-rendering:auto;margin-bottom:18px;padding:20px 20px 16px;transition:background .5s ease,border-color .5s ease,box-shadow .22s ease}.skill-category:hover{box-shadow:0 8px 28px #0000001c,0 2px 6px #0000000f}.portfolio-section.night-mode .skill-category{background:#1e3742cc;border-color:#4a9fb040;box-shadow:0 2px 12px #0003}.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,#0d6efd,#0056b3);border:none;border-radius:20px;box-shadow:0 3px 8px #0056b347;color:#fff;font-family:Outfit,sans-serif;font-size:12px;font-weight:700;image-rendering:auto;letter-spacing:.3px;padding:6px 14px;transition:transform .18s ease,box-shadow .18s ease,background .5s ease}.skill-tag:hover{box-shadow:0 6px 14px #0056b361;transform:translateY(-2px) scale(1.04)}.portfolio-section.night-mode .skill-tag{background:linear-gradient(135deg,#1565c0,#1976d2);box-shadow:0 2px 6px #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}.certifications-list{display:flex;flex-direction:column;gap:15px;margin-top:15px}.certification-item{background:linear-gradient(135deg,#fff,#fffbf0);border:1px solid #e651001f;border-left:5px solid #e65100;border-radius:14px;box-shadow:0 4px 18px #e6510012,0 1px 4px #0000000f;image-rendering:auto;padding:18px 18px 16px;position:relative;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease,background .5s ease,border-color .5s ease}.portfolio-section.night-mode .certification-item{background:#1e3742cc;border-color:#4a9fb04d #4a9fb04d #4a9fb04d #4a9fb0;box-shadow:0 2px 12px #0003}.certification-item:hover{background:linear-gradient(135deg,#fff,#fff0d0);box-shadow:0 16px 36px #e6510026,0 4px 12px #00000014;transform:translateY(-5px)}.portfolio-section.night-mode .certification-item:hover{background:#357a8ab3;box-shadow:0 4px 12px #0000004d}.certification-item h3{color:#e65100;font-size:18px;font-weight:600;margin-bottom:8px;text-shadow:none;transition:color .5s ease}.portfolio-section.night-mode .certification-item h3{color:#4a9fb0}.certification-item ul{color:#555;font-size:14px;font-weight:400;line-height:1.8;margin:4px 0;text-align:left;transition:color .5s ease}.portfolio-section.night-mode .certification-item ul{color:#d0d0d0}.certification-item li{margin-bottom:6px;transition:color .5s ease}.portfolio-section.night-mode .certification-item li{color:#d0d0d0}.certification-item a{color:#ff6b6b;text-decoration:underline;transition:color .3s ease}.portfolio-section.night-mode .certification-item a{color:#4a9fb0}.certification-item a:hover{color:#e65100;text-decoration:underline}.portfolio-section.night-mode .certification-item a:hover{color:#6bc5d8}.contact-info{margin-top:30px}.contact-item{align-items:center;background:linear-gradient(135deg,#fff,#f8faff);border:1px solid #0056b31a;border-left:4px solid #0056b3;border-radius:14px;box-shadow:0 3px 14px #0056b312,0 1px 4px #0000000d;display:flex;font-family:Outfit,sans-serif;font-size:15px;font-weight:500;gap:14px;image-rendering:auto;margin:8px 0;padding:15px 20px;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s 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{background:linear-gradient(135deg,#fff,#eaf1ff);box-shadow:0 14px 32px #0056b329,0 4px 10px #00000014;transform:translateY(-5px)}.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,#e52521,#c0171a);border:none;border-radius:28px;box-shadow:inset 0 2px 0 #ff64644d,inset 0 -2px 0 #00000040,0 6px 20px #e5252166,0 2px 8px #0003;color:#fff;cursor:pointer;font-family:Outfit,sans-serif;font-size:14px;font-weight:800;image-rendering:auto;letter-spacing:1.5px;padding:14px 32px;text-decoration:none;text-transform:uppercase;transition:all .22s cubic-bezier(.22,1,.36,1)}.social-button:hover{box-shadow:inset 0 2px 0 #ff64644d,inset 0 -2px 0 #00000040,0 12px 32px #e5252180,0 4px 12px #00000040;filter:brightness(1.06);transform:translateY(-4px) scale(1.02)}.social-button:active{box-shadow:0 2px 8px #e525214d;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}}.stats-grid{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:20px 0 18px}.stat-item{align-items:center;background:linear-gradient(135deg,#fff8f0,#fff);border:1px solid #e6510026;border-bottom:3px solid #e65100;border-radius:16px;box-shadow:0 4px 14px #e651001a,0 1px 4px #0000000d;display:flex;flex-direction:column;min-width:96px;padding:16px 20px;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s ease,background .5s ease}.stat-item:hover{box-shadow:0 12px 28px #e651002e,0 4px 10px #00000014;transform:translateY(-5px)}.portfolio-section.night-mode .stat-item{background:#1e3742d9;border-color:#4a9fb040}.portfolio-section.night-mode .stat-item:hover{background:#284855e6;box-shadow:0 8px 20px #00000059}.stat-number{color:#e65100;font-family:Outfit,sans-serif;font-size:30px;font-weight:900;letter-spacing:-1px;line-height:1}.portfolio-section.night-mode .stat-number{color:#4a9fb0}.stat-label{color:#888;font-size:10px;font-weight:800;letter-spacing:1px;line-height:1.3;margin-top:6px;text-align:center;text-transform:uppercase}.portfolio-section.night-mode .stat-label{color:#8aabb8}.about-tagline{background:linear-gradient(135deg,#e65100,#ff9800);border-radius:20px;box-shadow:0 3px 10px #e651004d;color:#fff;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.8px;margin-bottom:10px;padding:6px 18px;text-transform:uppercase}.portfolio-section.night-mode .about-tagline{background:linear-gradient(135deg,#357a8a,#4a9fb0);box-shadow:0 3px 10px #357a8a66}.about-highlights{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:10px 0 18px}.highlight-tag{background:linear-gradient(135deg,#0056b3,#1976d2);border-radius:14px;box-shadow:0 2px 6px #0056b347;color:#fff;font-size:12px;font-weight:600;letter-spacing:.3px;padding:4px 13px}.portfolio-section.night-mode .highlight-tag{background:linear-gradient(135deg,#357a8a,#4a9fb0);box-shadow:0 2px 6px #357a8a66}.tech-stack{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:10px}.tech-tag{background:#0056b317;border:1px solid #0056b338;border-radius:12px;color:#0056b3;font-size:11px;font-weight:700;letter-spacing:.2px;padding:3px 10px;transition:background .2s ease,color .5s ease,border-color .5s ease}.tech-tag:hover{background:#0056b32e}.portfolio-section.night-mode .tech-tag{background:#4a9fb01f;border-color:#4a9fb04d;color:#5ec5db}.portfolio-section.night-mode .tech-tag:hover{background:#4a9fb038}.date-badge{background:#e6510017;border:1px solid #e6510033;border-radius:12px;color:#e65100;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.2px;margin-top:5px;padding:2px 10px}.portfolio-section.night-mode .date-badge{background:#4a9fb01f;border-color:#4a9fb04d;color:#4a9fb0}.education-date-badge{background:#0056b317;border:1px solid #0056b333;border-radius:12px;color:#0056b3;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.2px;margin-top:5px;padding:2px 10px}.portfolio-section.night-mode .education-date-badge{background:#4a9fb01f;border-color:#4a9fb04d;color:#4a9fb0}.skill-category:first-child{border-left:4px solid #0056b3}.skill-category:nth-child(2){border-left:4px solid #2e7d32}.skill-category:nth-child(3){border-left:4px solid #7b1fa2}.skill-category:nth-child(4){border-left:4px solid #e65100}.skill-category:first-child h3{color:#0056b3}.skill-category:nth-child(2) h3{color:#2e7d32}.skill-category:nth-child(3) h3{color:#7b1fa2}.skill-category:nth-child(4) h3{color:#e65100}.skill-category:first-child .skill-tag{background:linear-gradient(135deg,#0056b3,#1976d2)}.skill-category:nth-child(2) .skill-tag{background:linear-gradient(135deg,#2e7d32,#388e3c)}.skill-category:nth-child(3) .skill-tag{background:linear-gradient(135deg,#7b1fa2,#9c27b0)}.skill-category:nth-child(4) .skill-tag{background:linear-gradient(135deg,#e65100,#ff9800)}.portfolio-section.night-mode .skill-category:first-child{border-left-color:#64b5f6}.portfolio-section.night-mode .skill-category:nth-child(2){border-left-color:#81c784}.portfolio-section.night-mode .skill-category:nth-child(3){border-left-color:#ce93d8}.portfolio-section.night-mode .skill-category:nth-child(4){border-left-color:#ffcc02}.portfolio-section.night-mode .skill-category:first-child h3{color:#64b5f6}.portfolio-section.night-mode .skill-category:nth-child(2) h3{color:#81c784}.portfolio-section.night-mode .skill-category:nth-child(3) h3{color:#ce93d8}.portfolio-section.night-mode .skill-category:nth-child(4) h3{color:#ffcc02}.portfolio-section.night-mode .skill-category:first-child .skill-tag{background:linear-gradient(135deg,#1565c0,#1976d2)}.portfolio-section.night-mode .skill-category:nth-child(2) .skill-tag{background:linear-gradient(135deg,#1b5e20,#2e7d32)}.portfolio-section.night-mode .skill-category:nth-child(3) .skill-tag{background:linear-gradient(135deg,#4a148c,#6a1b9a)}.portfolio-section.night-mode .skill-category:nth-child(4) .skill-tag{background:linear-gradient(135deg,#bf360c,#e64a19)}.contact-available{align-items:center;background:linear-gradient(135deg,#2e7d321a,#388e3c14);border:1px solid #2e7d3240;border-radius:12px;color:#2e7d32;display:flex;font-size:14px;font-weight:600;gap:10px;justify-content:center;margin-bottom:16px;padding:12px 20px}.portfolio-section.night-mode .contact-available{background:#2e7d3226;border-color:#66bb6a4d;color:#66bb6a}.contact-available-dot{animation:pulseGreen 2s ease-in-out infinite;background:#2e7d32;border-radius:50%;box-shadow:0 0 0 3px #2e7d3233;height:10px;width:10px}.portfolio-section.night-mode .contact-available-dot{background:#66bb6a;box-shadow:0 0 0 3px #66bb6a40}@keyframes pulseGreen{0%,to{box-shadow:0 0 0 3px #2e7d3233}50%{box-shadow:0 0 0 6px #2e7d320d}}.award-badge{align-items:center;background:linear-gradient(135deg,gold,#ffc107);border-radius:12px;box-shadow:0 2px 6px #ffc10759;color:#5d4037;display:inline-flex;font-size:11px;font-weight:700;gap:4px;margin-top:6px;padding:3px 10px}.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(20px);-webkit-backdrop-filter:blur(20px);backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#f8fafcf5;border:1px solid #ffffff59;border-radius:24px;box-shadow:0 28px 56px #0000004d,0 8px 24px #00000026,inset 0 1px 0 #fff9;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:#0e1a1ff7;border-color:#357a8a66;box-shadow:0 28px 56px #0009,0 8px 24px #0006,inset 0 1px 0 #4a9fb033}.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:#ffffffe6;border:1px solid #0000000f;border-radius:18px;box-shadow:0 2px 10px #00000014;color:#2a2a2a;contain:layout style;font-size:14px;line-height:1.65;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:linear-gradient(135deg,#c62828,#b71c1c);border:1px solid #b71c1c99;border-bottom-right-radius:4px;color:#fff;text-shadow:none}.message.user .message-text strong{color:#fff;font-weight:700}.message.user .message-text code{background:#0003;color:#fff8e1}.chatbot-window.night-mode .chatbot-messages{background:#0e1a1f66}.chatbot-window.night-mode .message-text{background:#1c323cd9;border-color:#4a9fb040;box-shadow:0 2px 10px #00000040;color:#d8e0e4}.chatbot-window.night-mode .message-text strong{color:#4a9fb0}.chatbot-window.night-mode .message.user .message-text{background:linear-gradient(135deg,#4a9fb0f2,#357a8afa);border-color:#7bc4d68c;color:#fff}.chatbot-window.night-mode .message.user .message-text strong{color:#fff}.chatbot-window.night-mode .message.user .message-text code{background:#00000040;color:#e8f7fa}.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.bed81105.css.map*/