.virtual-joystick-container{position:fixed;bottom:30px;left:30px;z-index:1000;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.virtual-joystick{width:120px;height:120px;position:relative;opacity:.8;transition:opacity .2s ease}.virtual-joystick.active{opacity:1}.joystick-base{width:100%;height:100%;border-radius:50%;background:radial-gradient(circle,#28283ce6,#14141ee6);border:3px solid rgba(100,100,255,.3);box-shadow:inset 0 0 20px #00000080,0 0 20px #6464ff33;position:relative;display:flex;align-items:center;justify-content:center}.joystick-direction-indicator{position:absolute;color:#6464ff4d;font-size:16px;font-weight:700;pointer-events:none}.joystick-direction-indicator.top{top:10px;left:50%;transform:translate(-50%)}.joystick-direction-indicator.right{right:10px;top:50%;transform:translateY(-50%)}.joystick-direction-indicator.bottom{bottom:10px;left:50%;transform:translate(-50%)}.joystick-direction-indicator.left{left:10px;top:50%;transform:translateY(-50%)}.joystick-knob{width:40px;height:40px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#8080ff,#4040aa);border:2px solid rgba(255,255,255,.3);position:absolute;top:50%;left:50%;margin-left:-20px;margin-top:-20px;box-shadow:0 2px 10px #00000080,0 0 20px #6464ff80;transition:transform .1s ease-out;pointer-events:none}.joystick-action-buttons{position:absolute;right:-60px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px}.action-button{width:40px;height:40px;border-radius:50%;background:#28283ce6;border:2px solid rgba(100,100,255,.3);color:#8080ff;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 10px #0000004d;-webkit-tap-highlight-color:transparent}.action-button:active{background:#6464ff4d;transform:scale(.95);box-shadow:0 0 15px #6464ff80}@media (max-height: 500px) and (orientation: landscape){.virtual-joystick-container{bottom:20px;left:20px}.virtual-joystick{width:100px;height:100px}.joystick-knob{width:35px;height:35px;margin-left:-17.5px;margin-top:-17.5px}.action-button{width:35px;height:35px;font-size:18px}}@media (min-width: 769px) and (pointer: fine){.virtual-joystick-container{display:none}.virtual-joystick-container.show-on-desktop{display:block}}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow:hidden;background:#000;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent}.loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#1a0033,#306,#1a0033);display:flex;align-items:center;justify-content:center;z-index:999999;animation:gradientShift 3s ease-in-out infinite}@keyframes gradientShift{0%,to{background:linear-gradient(135deg,#1a0033,#306,#1a0033)}50%{background:linear-gradient(135deg,#306,#1a0033,#306)}}.loading-content{text-align:center;color:#fff}.casino-loader{animation:fadeInUp 1s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.slot-symbols{display:flex;justify-content:center;gap:20px;margin-bottom:30px;font-size:3rem}.symbol{animation:gentleBounce 3s ease-in-out infinite;animation-delay:var(--delay);will-change:transform}.symbol:nth-child(1){--delay: 0s}.symbol:nth-child(2){--delay: 1s}.symbol:nth-child(3){--delay: 2s}@keyframes gentleBounce{0%,90%,to{transform:translateY(0) scale(1)}45%{transform:translateY(-10px) scale(1.1)}}.loading-title{font-size:3rem;font-weight:700;margin:0 0 15px;background:linear-gradient(45deg,#f0f,#0ff,#f0f);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:neonGlow 2s ease-in-out infinite}@keyframes neonGlow{0%,to{background-position:0% 50%;text-shadow:0 0 20px rgba(255,0,255,.5)}50%{background-position:100% 50%;text-shadow:0 0 30px rgba(0,255,255,.8)}}.loading-text{font-size:1.2rem;color:#ccc;margin:0 0 30px;opacity:.9;transition:all .5s ease}.loading-text.complete{color:#0f0;font-size:1.4rem;text-shadow:0 0 10px rgba(0,255,0,.5)}.loading-bar{width:300px;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin:0 auto}.loading-progress{height:100%;background:linear-gradient(90deg,#f0f,#0ff,#f0f);background-size:200% 100%;border-radius:3px;animation:loadingProgress 2s ease-in-out infinite}@keyframes loadingProgress{0%{width:0%;background-position:0% 50%}50%{width:70%;background-position:100% 50%}to{width:100%;background-position:0% 50%}}.enter-casino-button{background:linear-gradient(45deg,#f0f,#0ff,#f0f);background-size:200% 200%;border:2px solid rgba(255,255,255,.3);border-radius:15px;padding:15px 30px;color:#fff;font-size:1.3rem;font-weight:700;cursor:pointer;transition:all .3s ease;animation:buttonGlow 2s ease-in-out infinite,fadeInScale .5s ease-out;box-shadow:0 5px 20px #ff00ff4d;text-shadow:0 0 5px rgba(255,255,255,.5)}.enter-casino-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #ff00ff80;text-shadow:0 0 15px rgba(255,255,255,.8)}@keyframes buttonGlow{0%,to{background-position:0% 50%;box-shadow:0 5px 20px #ff00ff4d}50%{background-position:100% 50%;box-shadow:0 5px 20px #00ffff4d}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.canvas-container{width:100%;height:100vh;position:relative;z-index:1}.canvas-container canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff}.camera-controls-overlay{position:fixed;top:16px;left:16px;background:#ffffff1a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(0,255,255,.3);border-radius:12px;padding:16px;color:#fff;font-family:Arial,sans-serif;font-size:12px;min-width:200px;box-shadow:0 8px 32px #0000004d;pointer-events:auto;z-index:10000;cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none}.camera-controls-overlay:hover{background:#ffffff26;border-color:#00ffff80}.camera-controls-overlay.minimized{min-width:auto;width:auto}.controls-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.minimize-button{background:#0ff3;border:1px solid rgba(0,255,255,.4);border-radius:6px;color:#0ff;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;font-weight:700;transition:all .2s ease;flex-shrink:0}.minimize-button:hover{background:#00ffff4d;border-color:#0ff9;transform:scale(1.1)}.controls-content{margin-top:12px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:200px;transform:translateY(0)}}.interaction-tip{background:#ffd7001a;border:1px solid rgba(255,215,0,.3);border-radius:8px;padding:8px 12px;margin-bottom:12px;color:gold;font-size:13px;font-weight:700;text-align:center;text-shadow:0 0 5px rgba(255,215,0,.3);animation:subtleGlow 3s ease-in-out infinite}@keyframes subtleGlow{0%,to{box-shadow:0 0 8px #ffd70033}50%{box-shadow:0 0 12px #ffd70066}}.camera-controls-overlay h3{margin:0 0 8px;color:#0ff;font-size:14px;text-align:center;text-shadow:0 0 5px rgba(0,255,255,.5)}.control-item{display:flex;justify-content:space-between;align-items:center;margin:4px 0;padding:2px 0}.control-key{font-weight:700;color:#fa0;text-shadow:0 0 3px rgba(255,170,0,.5);min-width:120px}.control-desc{color:#ccc;text-align:right}.fullscreen-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:999999}.close-button{position:absolute;top:20px;right:30px;background:#f00c;color:#fff;border:2px solid #ff0000;border-radius:50%;width:50px;height:50px;font-size:24px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:1000000}.close-button:hover{background:red;transform:scale(1.1);box-shadow:0 0 20px #ff000080}.fullscreen-iframe-container{width:95vw;height:95vh;border:2px solid #00ffff;border-radius:8px;overflow:hidden;box-shadow:0 0 30px #00ffff80}.fullscreen-iframe{width:100%;height:100%;border:none;background:#fff}.about-me-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;z-index:999999;animation:fadeInBlur .4s ease-out}@keyframes fadeInBlur{0%{opacity:0;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}50%{opacity:.8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}to{opacity:1;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}}.about-me-overlay.low{background:#000c;backdrop-filter:none;-webkit-backdrop-filter:none;animation:fadeInSimple .3s ease-out}@keyframes fadeInSimple{0%{opacity:0}to{opacity:1}}.about-me-overlay.medium{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.about-me-close-button{position:absolute;top:20px;right:30px;background:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:50%;width:50px;height:50px;font-size:24px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:1000000}.about-me-close-button.low{background:#fff3;backdrop-filter:none;-webkit-backdrop-filter:none}.about-me-close-button.medium{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.about-me-close-button:hover{background:#fff3;border-color:#ffffff80;transform:scale(1.1);box-shadow:0 0 20px #ffffff4d}.about-me-glass-container{background:#ffffff1a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:40px;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.about-me-glass-container.low{background:#ffffff26;backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid rgba(255,255,255,.4)}.about-me-glass-container.medium{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.about-me-content{color:#fff;text-align:center}.about-me-content h1{color:#fff;font-size:2.5rem;margin-bottom:20px;text-shadow:0 2px 4px rgba(0,0,0,.5);font-weight:300}.about-me-content p{color:#fff;font-size:1.3rem;line-height:1.6;margin-bottom:15px;text-shadow:0 1px 2px rgba(0,0,0,.3);opacity:.9}.email-link{color:#0ff;text-decoration:underline;text-decoration-color:#00ffff80;transition:all .3s ease;cursor:pointer;text-shadow:0 0 5px rgba(0,255,255,.3)}.email-link:hover{color:#fff;text-decoration-color:#fff;text-shadow:0 0 10px rgba(0,255,255,.8);transform:scale(1.02)}.resume-button-container{display:flex;gap:15px;justify-content:center;margin-top:25px;flex-wrap:wrap}.resume-button{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:15px;padding:12px 24px;color:#fff;text-decoration:none;font-size:1.1rem;font-weight:500;transition:all .3s ease;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:0 4px 15px #0003;text-shadow:0 1px 2px rgba(0,0,0,.3)}.resume-button.low{background:#ffffff26;backdrop-filter:none;-webkit-backdrop-filter:none}.resume-button.medium{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.resume-button:hover{background:#fff3;border-color:#ffffff80;transform:translateY(-2px) scale(1.05);box-shadow:0 6px 20px #0000004d;text-shadow:0 0 10px rgba(255,255,255,.5)}.download-button:hover{background:#0ff3;border-color:#00ffff80;color:#0ff;text-shadow:0 0 10px rgba(0,255,255,.8)}@media (max-width: 768px),(pointer: coarse){.camera-controls-overlay{position:fixed;inset:60px 16px auto;font-size:10px;min-width:180px;max-width:calc(100vw - 32px);padding:12px}.camera-controls-overlay.minimized{min-width:auto}.minimize-button{width:20px;height:20px;font-size:14px}.interaction-tip{font-size:11px;padding:6px 10px;margin-bottom:8px}.camera-controls-overlay h3{font-size:12px;margin:0 0 6px}.control-item{margin:2px 0;font-size:9px}.control-key{min-width:90px;font-size:9px}.loading-title{font-size:2rem}.loading-text{font-size:1rem}.loading-text.complete{font-size:1.1rem}.enter-casino-button{padding:12px 25px;font-size:1.1rem}.about-me-glass-container{padding:20px;max-width:90vw;margin:20px}.about-me-content h1{font-size:2rem;margin-bottom:15px}.about-me-content p{font-size:1.1rem;margin-bottom:12px}.resume-button-container{flex-direction:column;gap:10px}.resume-button{padding:10px 20px;font-size:1rem;width:100%;justify-content:center}.fullscreen-iframe-container{width:98vw;height:90vh}.close-button,.about-me-close-button{width:40px;height:40px;font-size:20px;top:10px;right:10px}}.quality-selector-container{position:fixed;top:16px;right:16px;z-index:10001}.performance-indicator{background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:8px 12px;color:#fff;font-size:11px;font-family:Arial,sans-serif;pointer-events:auto;transition:all .3s ease;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:6px}.performance-indicator:hover{background:#000000d9;transform:scale(1.05);border-color:#fff6}.performance-indicator .click-hint{opacity:.6;font-size:10px;transition:transform .3s ease}.performance-indicator:hover .click-hint{transform:rotate(180deg)}.quality-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#000000e6;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.2);border-radius:8px;overflow:hidden;min-width:200px;animation:dropdownSlide .3s ease-out;box-shadow:0 8px 24px #00000080;z-index:10002}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.quality-option{padding:12px 16px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:4px}.quality-option:last-child{border-bottom:none}.quality-option:hover{background:#ffffff1a}.quality-option.active{background:#ffffff26;border-left:3px solid #00ff00;padding-left:13px}.quality-label{font-weight:700;font-size:12px;color:#fff}.quality-desc{font-size:10px;color:#ffffffb3}.quality-option:nth-child(1) .quality-label{color:#0f0}.quality-option:nth-child(2) .quality-label{color:#ff0}.quality-option:nth-child(3) .quality-label{color:#f44}.quality-notification{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000e6;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:2px solid rgba(255,255,255,.3);border-radius:12px;padding:20px 30px;color:#fff;font-family:Arial,sans-serif;text-align:center;z-index:99999;animation:notificationSlideIn .3s ease-out;box-shadow:0 10px 30px #00000080}.quality-notification-content strong{display:block;font-size:16px;margin-bottom:8px;color:#0ff;text-shadow:0 0 10px rgba(0,255,255,.5)}.quality-notification-content p{font-size:12px;color:#ccc;margin:0;max-width:300px}@keyframes notificationSlideIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.performance-indicator.high{border-color:#00ff0080;color:#0f0}.performance-indicator.medium{border-color:#ffff0080;color:#ff0}.performance-indicator.low{border-color:#ff000080;color:#f44}@media (max-width: 480px){.loading-title{font-size:1.5rem}.loading-text{font-size:.9rem}.camera-controls-overlay{top:50px;font-size:8px;min-width:160px;max-width:calc(100vw - 32px);padding:10px}.about-me-glass-container{padding:15px}.about-me-content h1{font-size:1.7rem}.about-me-content p{font-size:1rem}.quality-selector-container{top:10px;right:10px}.performance-indicator{font-size:9px;padding:6px 8px}.performance-indicator .click-hint{font-size:8px}.quality-dropdown{min-width:160px}.quality-option{padding:10px 12px}.quality-label{font-size:11px}.quality-desc{font-size:9px}.quality-notification{padding:15px 20px;max-width:90vw}.quality-notification-content strong{font-size:14px}.quality-notification-content p{font-size:11px}}
