.start-screen-container{position:relative;width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.start-bg-circle{position:absolute;top:15%;left:50%;transform:translate(-50%);width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,#e9456033,#e9456000 70%);animation:glow-pulse 4s ease-in-out infinite}.start-bg-glow{position:absolute;bottom:20%;right:10%;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,#00d9ff26,#00d9ff00 70%);animation:glow-pulse 3s ease-in-out infinite;animation-delay:1s}.start-content{position:relative;z-index:2;text-align:center;padding:40px 20px;max-width:400px;width:100%}.start-title{font-size:48px;font-weight:700;margin-bottom:8px;text-shadow:0 2px 8px var(--shadow);animation:float 3s ease-in-out infinite}.pixel-text{font-family:Courier New,monospace;letter-spacing:4px;text-transform:uppercase}.start-subtitle{font-size:16px;color:var(--text-secondary);margin-bottom:60px;letter-spacing:2px}.start-form{display:flex;flex-direction:column;gap:20px}.start-label{font-size:20px;color:var(--text-primary);margin-bottom:8px}.start-input{text-align:center;font-size:20px}.start-button{margin-top:20px;font-size:18px;padding:16px 32px}.start-button:disabled{opacity:.5;cursor:not-allowed}.start-silhouette-left,.start-silhouette-right{position:absolute;bottom:0;width:120px;height:180px;background:linear-gradient(to top,rgba(22,33,62,.6) 0%,transparent 100%);z-index:1}.start-silhouette-left{left:5%;clip-path:polygon(0 100%,30% 60%,50% 70%,70% 50%,100% 100%)}.start-silhouette-right{right:5%;clip-path:polygon(0 100%,20% 55%,40% 65%,60% 45%,90% 60%,100% 100%)}@media (max-width: 768px){.start-title{font-size:36px}.start-label,.start-input{font-size:18px}.start-bg-circle{width:150px;height:150px}.start-bg-glow{width:100px;height:100px}.start-silhouette-left,.start-silhouette-right{width:80px;height:120px}}@media (max-width: 480px){.start-title{font-size:28px}.start-content{padding:30px 15px}}.main-menu-container{position:relative;width:100%;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}.main-menu-header{margin-bottom:40px;text-align:center}.main-menu-greeting{font-size:24px;color:var(--text-primary);text-shadow:0 2px 4px var(--shadow);cursor:pointer;transition:transform .2s ease,opacity .2s ease;display:inline-block}.main-menu-greeting:hover{opacity:.8}.main-menu-greeting:active{transform:scale(.95)}.score-circle-container{position:relative;width:200px;height:200px;margin:0 auto 60px;cursor:pointer;transition:transform .3s ease}.score-circle-container:active{transform:scale(.95)}.score-circle-svg{width:100%;height:100%;filter:drop-shadow(0 4px 12px var(--shadow))}.score-progress{transition:stroke-dashoffset 1s ease}.score-text-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.score-value{font-size:56px;font-weight:700;color:var(--highlight);text-shadow:0 2px 4px var(--shadow);line-height:1}.score-label{font-size:14px;color:var(--text-secondary);margin-top:4px;letter-spacing:1px}.info-icon{position:absolute;bottom:-10px;right:-10px;width:22px;height:22px;background:#ffffff61;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003;pointer-events:none;opacity:1}.info-icon i{font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:14px;color:#c3c3c3;font-weight:600;line-height:1}.main-menu-actions{display:flex;flex-direction:column;gap:20px;width:100%;max-width:320px}.main-menu-btn{width:100%;padding:20px;display:flex;flex-direction:row;align-items:center;gap:12px;font-size:16px;min-height:80px;justify-content:flex-start;position:relative}.btn-icon{width:48px;height:48px;object-fit:contain;flex-shrink:0;image-rendering:pixelated}.btn-content{display:flex;flex-direction:column;align-items:flex-start;flex:1}.btn-text{display:block;line-height:1.3}.giveaway-btn{position:relative}.giveaway-btn .btn-content{align-items:center;flex:1;text-align:center}.btn-counter{position:absolute;top:8px;right:8px;background:#ffffff1a;color:var(--text-secondary);padding:2px 8px;border-radius:3px;font-size:10px;font-weight:400;border:1px solid rgba(255,255,255,.2)}.play-btn{background:var(--highlight);border-color:var(--highlight);color:var(--text-primary);min-height:100px;position:relative}.play-btn:hover{background:var(--glow);border-color:var(--glow);color:var(--primary-bg)}.play-btn .btn-icon{width:56px;height:56px}.play-btn-content{display:flex;align-items:center;justify-content:center;gap:12px;flex:1}.btn-text-main{font-size:32px;display:block;line-height:1;font-weight:700}.btn-coins{display:flex;align-items:center;justify-content:center;gap:4px;font-size:18px;font-weight:700}.coin-icon{display:inline-block;font-size:20px;color:gold;text-shadow:0 0 2px #FFD700,0 0 4px #FFA500,1px 1px 0 #DAA520;image-rendering:pixelated}.play-tagline{text-align:center;font-size:12px;color:var(--text-secondary);margin-top:8px;text-transform:lowercase;letter-spacing:1px}.main-menu-glow{position:absolute;border-radius:50%;pointer-events:none;z-index:0}.main-menu-glow-1{top:10%;left:10%;width:200px;height:200px;background:radial-gradient(circle,rgba(233,69,96,.2) 0%,transparent 70%);animation:glow-pulse 5s ease-in-out infinite}.main-menu-glow-2{bottom:20%;right:10%;width:150px;height:150px;background:radial-gradient(circle,rgba(0,217,255,.2) 0%,transparent 70%);animation:glow-pulse 4s ease-in-out infinite;animation-delay:2s}@media (max-width: 768px){.main-menu-container{padding:30px 16px}.score-circle-container{width:180px;height:180px;margin-bottom:50px}.score-value{font-size:48px}.main-menu-actions{max-width:100%}}@media (max-width: 480px){.main-menu-greeting{font-size:20px}.score-circle-container{width:160px;height:160px}.score-value{font-size:42px}.main-menu-btn{min-height:70px;padding:16px}.play-btn{min-height:90px}}.giveaway-container{width:100%;max-width:500px;margin:0 auto;padding:80px 20px 40px}.giveaway-title{text-align:center;font-size:24px;margin-bottom:40px;color:var(--text-primary)}.avatar-preview-container{position:relative;height:280px;margin-bottom:40px;display:flex;align-items:center;justify-content:center;perspective:1000px}.avatar-3d{position:relative;width:120px;height:200px;transform-style:preserve-3d;animation:rotate-avatar 8s linear infinite}@keyframes rotate-avatar{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.avatar-plane{position:absolute;width:120px;height:200px;display:flex;flex-direction:column;align-items:center;background:linear-gradient(180deg,#16213ecc,#0f3460cc);border:2px solid var(--border);box-shadow:0 8px 16px var(--shadow);backface-visibility:visible}.avatar-plane-vertical{transform:rotateY(0)}.avatar-plane-horizontal{transform:rotateY(90deg)}.avatar-head{width:80px;height:80px;display:flex;align-items:center;justify-content:center;font-size:64px;margin-top:20px;filter:drop-shadow(0 4px 8px var(--shadow))}.avatar-head-image{overflow:hidden;border-radius:50%;background:transparent}.avatar-head-emoji{font-size:64px;line-height:1}.face-image{width:100%;height:100%;object-fit:cover;image-rendering:auto}.avatar-body{width:100px;height:100px;display:flex;align-items:center;justify-content:center;font-size:72px;margin-top:10px;filter:drop-shadow(0 4px 8px var(--shadow))}.avatar-scent-indicator{position:absolute;bottom:20px;display:flex;align-items:center;gap:8px;padding:8px 16px;background:#16213ee6;border:2px solid var(--border);border-radius:20px}.scent-icon{font-size:20px}.scent-text{font-size:14px;color:var(--text-primary);font-family:Courier New,monospace}.slogan-plane{position:absolute;display:flex;align-items:flex-start;justify-content:center;padding-top:10px;backface-visibility:visible}.slogan-plane-vertical{transform:rotateY(0) translate(140px);transform-origin:left center}.slogan-plane-horizontal{transform:rotateY(90deg) translate(140px);transform-origin:left center}.slogan-bubble{background:#fff;color:#000;padding:10px 12px;font-family:Courier New,monospace;font-size:10px;line-height:1.3;border:3px solid #000;box-shadow:3px 0 #000,-3px 0 #000,0 3px #000,0 -3px #000,4px 4px #0006;max-width:150px;position:relative;animation:bubble-pop .3s ease-out}.slogan-bubble:before{content:"";position:absolute;left:-15px;top:15px;width:0;height:0;border-right:12px solid #000;border-top:8px solid transparent;border-bottom:8px solid transparent}.slogan-bubble:after{content:"";position:absolute;left:-9px;top:18px;width:0;height:0;border-right:9px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent}@keyframes bubble-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.slogan-text{position:relative;z-index:2;word-wrap:break-word}.customize-section{margin-bottom:30px}.customize-content{padding:20px;display:flex;flex-direction:column;gap:24px}.customize-group{display:flex;flex-direction:column;gap:12px}.customize-label{font-family:Courier New,monospace;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary)}.customize-options{display:flex;gap:12px;flex-wrap:wrap}.customize-btn{flex:1;min-width:80px;padding:12px 16px;border:2px solid var(--border);background:var(--secondary-bg);color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;transition:all .2s ease;box-shadow:0 2px 4px var(--shadow)}.customize-btn:active{transform:translateY(2px);box-shadow:0 1px 2px var(--shadow)}.customize-btn.active{background:var(--accent);border-color:var(--highlight);box-shadow:0 4px 12px var(--shadow)}.option-icon{font-size:32px}.option-name{font-size:11px;font-family:Courier New,monospace;text-transform:uppercase;letter-spacing:.5px}.face-carousel{position:relative;display:flex;align-items:center;justify-content:center;gap:16px;padding:20px 0;user-select:none;-webkit-user-select:none;touch-action:pan-y}.face-carousel-item{display:flex;justify-content:center;align-items:center;transition:all .3s ease;cursor:pointer;flex-shrink:0}.face-carousel-item.small{opacity:.6;transform:scale(.7)}.face-carousel-item.small:hover{opacity:.8;transform:scale(.75)}.face-carousel-item.small:active{transform:scale(.65)}.face-carousel-item.large{z-index:2}.face-carousel-item.small .carousel-face-image{width:80px;height:80px;border-width:2px}.face-carousel-item.large .carousel-face-image{width:120px;height:120px;border-width:3px}.carousel-face-image{object-fit:cover;border-radius:50%;border:3px solid var(--border);box-shadow:0 4px 12px var(--shadow);image-rendering:auto;background:transparent;transition:all .3s ease}.emoji-face{font-size:120px;line-height:1}.emoji-face.small{font-size:80px}.face-counter{text-align:center;font-family:Courier New,monospace;font-size:12px;color:var(--text-secondary);margin-top:8px}.giveaway-confirm-btn{width:100%;padding:16px;font-size:18px}.giveaway-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.slogan-select-bubble{position:relative;background:#fff;padding:4px;border:3px solid #000;box-shadow:3px 0 #000,-3px 0 #000,0 3px #000,0 -3px #000,5px 5px #0000004d}.select-bubble-tail{position:absolute;left:20px;top:-12px;width:0;height:0}.select-bubble-tail:before{content:"";position:absolute;left:-8px;top:0;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:12px solid #000}.select-bubble-tail:after{content:"";position:absolute;left:-6px;top:3px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:9px solid #fff}.pixel-select{width:100%;padding:12px;font-family:Courier New,monospace;font-size:13px;border:2px solid #000;background:#fff;color:#000;cursor:pointer;transition:all .2s ease}.pixel-select:focus{outline:none;border-color:#000;box-shadow:inset 0 0 0 2px #0003}.pixel-select option{padding:8px;background:#fff;color:#000;font-family:Courier New,monospace}@media (max-width: 768px){.giveaway-container{padding:70px 16px 30px}.avatar-preview-container{height:240px}.avatar-3d,.avatar-plane{width:100px;height:180px}.avatar-head{width:70px;height:70px;font-size:56px}.avatar-body{width:90px;height:90px;font-size:64px}.slogan-plane-vertical{transform:rotateY(0) translate(120px)}.slogan-plane-horizontal{transform:rotateY(90deg) translate(120px)}.slogan-bubble{max-width:120px;font-size:9px;padding:8px 10px}}@media (max-width: 480px){.slogan-plane-vertical{transform:rotateY(0) translate(100px)}.slogan-plane-horizontal{transform:rotateY(90deg) translate(100px)}.slogan-bubble{max-width:100px;font-size:8px;padding:6px 8px}.giveaway-title{font-size:20px}.customize-options{gap:8px}.customize-btn{min-width:70px;padding:10px 12px}.option-icon{font-size:28px}}.delivery-recipient-container{width:100%;max-width:400px;margin:0 auto;padding:80px 20px 40px;text-align:center}.delivery-icon{font-size:80px;margin-bottom:30px;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 4px 12px var(--shadow))}.delivery-title{font-size:24px;margin-bottom:40px;color:var(--text-primary);line-height:1.4}.delivery-form{display:flex;flex-direction:column;gap:24px;margin-bottom:40px}.delivery-input{text-align:center;font-size:18px}.delivery-submit-btn{width:100%;padding:16px;font-size:16px;background:var(--highlight)}.delivery-submit-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--accent)}.delivery-decoration{display:flex;align-items:center;justify-content:center;gap:16px;opacity:.5}.decoration-line{flex:1;height:2px;background:linear-gradient(90deg,transparent,var(--border),transparent)}.decoration-icon{font-size:20px}@media (max-width: 768px){.delivery-recipient-container{padding:70px 16px 30px}.delivery-icon{font-size:64px}.delivery-title{font-size:20px}}@media (max-width: 480px){.delivery-title{font-size:18px}.delivery-input{font-size:16px}}.delivery-confirmation-container{width:100%;max-width:400px;margin:0 auto;padding:40px 20px;text-align:center;position:relative;opacity:0;transform:scale(.9);transition:all .5s ease}.delivery-confirmation-container.visible{opacity:1;transform:scale(1)}.confirmation-close{position:fixed;top:max(20px,env(safe-area-inset-top,20px));right:max(20px,env(safe-area-inset-right,20px));z-index:1000}.confirmation-animation{position:relative;height:150px;margin:40px 0;overflow:hidden}.confirmation-truck{font-size:64px;position:absolute;left:-80px;top:50%;transform:translateY(-50%) scaleX(-1);animation:drive-truck 3s ease-in-out forwards;filter:drop-shadow(0 4px 8px var(--shadow))}@keyframes drive-truck{0%{left:-80px}70%{left:50%;transform:translate(-50%,-50%) scaleX(-1)}to{left:calc(100% + 80px);transform:translateY(-50%) scaleX(-1)}}.confirmation-road{position:absolute;bottom:40px;left:0;right:0;height:4px;background:repeating-linear-gradient(90deg,var(--border) 0px,var(--border) 20px,transparent 20px,transparent 40px);animation:scroll-road 1s linear infinite}@keyframes scroll-road{0%{background-position:0 0}to{background-position:40px 0}}.confirmation-title{font-size:28px;margin-bottom:30px;color:var(--highlight);text-shadow:0 2px 8px var(--shadow);animation:pulse-title 2s ease-in-out infinite}@keyframes pulse-title{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.confirmation-message{margin-bottom:40px;display:flex;flex-direction:column;gap:12px}.confirmation-message p{color:var(--text-secondary);font-size:16px;line-height:1.5}.confirmation-stars{display:flex;justify-content:center;gap:20px}.star{font-size:32px;display:inline-block;animation:twinkle 1.5s ease-in-out infinite;filter:drop-shadow(0 2px 4px var(--shadow))}.star:nth-child(2){animation-delay:.3s}.star:nth-child(3){animation-delay:.6s}@keyframes twinkle{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@media (max-width: 768px){.delivery-confirmation-container{padding:30px 16px}.confirmation-truck{font-size:56px}.confirmation-title{font-size:24px}.confirmation-message p{font-size:14px}}@media (max-width: 480px){.confirmation-title{font-size:20px}.confirmation-truck{font-size:48px}.star{font-size:28px}}.ride-details-content{padding-top:80px;padding-bottom:40px}.ride-details-container{width:100%;max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.ride-details-title{text-align:center;font-size:20px;margin-bottom:8px;color:var(--text-primary)}.ride-details-date{text-align:center;font-size:14px;color:var(--text-secondary);font-family:Courier New,monospace;margin-bottom:12px}.ride-map-container{overflow:hidden;background:var(--secondary-bg)}.ride-map-placeholder{width:100%;height:250px;display:flex;align-items:center;justify-content:center;background:var(--primary-bg);overflow:hidden;position:relative}.ride-map-image{width:100%;height:auto;min-height:100%;object-fit:cover;position:absolute;top:0;left:0}.panning-map{animation:panMap 20s ease-in-out infinite}@keyframes panMap{0%{transform:translateY(0)}25%{transform:translateY(0)}50%{transform:translateY(calc(-100% + 250px))}75%{transform:translateY(calc(-100% + 250px))}to{transform:translateY(0)}}.map-fallback{text-align:center;font-size:48px;color:var(--text-secondary);opacity:.5}.ride-section{margin-bottom:8px}.ride-section-content{padding:16px;display:flex;flex-direction:column;gap:12px}.ride-event-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--secondary-bg);border:2px solid var(--border);transition:all .2s ease;position:relative}.ride-event-item:hover{border-color:var(--accent);transform:translate(2px)}.event-icon{font-size:24px;flex-shrink:0}.event-text{flex:1;font-family:Courier New,monospace;font-size:14px;color:var(--text-primary);line-height:1.4}.event-edit-btn{background:transparent;border:none;font-size:16px;cursor:pointer;padding:4px 8px;opacity:.6;transition:all .2s ease;flex-shrink:0}.event-edit-btn:hover{opacity:1;transform:scale(1.2)}.no-events{text-align:center;padding:20px;color:var(--text-secondary);font-style:italic;font-size:14px}@media (max-width: 768px){.ride-details-content{padding-top:70px}.ride-details-title{font-size:18px}.ride-map-placeholder{height:200px}.ride-section-content{padding:12px}.event-text{font-size:13px}@keyframes panMap{0%{transform:translateY(0)}25%{transform:translateY(0)}50%{transform:translateY(calc(-100% + 200px))}75%{transform:translateY(calc(-100% + 200px))}to{transform:translateY(0)}}}@media (max-width: 480px){.ride-details-container{gap:16px}.ride-details-title{font-size:16px}.ride-details-date{font-size:12px}.ride-map-placeholder{height:180px}.ride-event-item{padding:10px;gap:8px}.event-icon{font-size:20px}.event-text{font-size:12px}.event-edit-btn{font-size:14px}@keyframes panMap{0%{transform:translateY(0)}25%{transform:translateY(0)}50%{transform:translateY(calc(-100% + 180px))}75%{transform:translateY(calc(-100% + 180px))}to{transform:translateY(0)}}}.dashboard-content{padding-top:80px;padding-bottom:40px}.dashboard-container{width:100%;max-width:500px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.dashboard-title{text-align:center;font-size:24px;margin-bottom:20px;color:var(--text-primary)}.score-bars-content{padding:20px;display:flex;flex-direction:column;gap:20px}.score-bar-item{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.score-bar-header{display:flex;align-items:center;gap:12px;font-family:Courier New,monospace;font-size:14px}.score-bar-icon{font-size:20px}.score-bar-name{flex:1;color:var(--text-primary);text-transform:uppercase;letter-spacing:1px}.score-bar-value{color:var(--text-primary);font-weight:700;min-width:40px;text-align:right}.score-bar-prev{color:var(--text-secondary);font-size:12px;margin-left:auto}.score-diff{font-weight:700;margin-left:4px}.score-diff.improved{color:#4ade80}.score-diff.declined{color:#f87171}.score-bar-track{width:100%;height:12px;background:var(--secondary-bg);border:2px solid var(--border);position:relative;overflow:hidden;box-shadow:inset 0 2px 4px var(--shadow)}.score-bar-fill{height:100%;transition:width .8s ease;box-shadow:0 2px 6px #0000004d;position:relative}.score-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s linear infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.score-bar-description{font-size:13px;line-height:1.5;color:var(--text-secondary);padding:8px 0;font-family:Courier New,monospace}.rides-content{padding:20px;max-height:400px;overflow-y:auto}.rides-empty{text-align:center;padding:40px 20px;color:var(--text-secondary)}.rides-empty p{margin-bottom:20px;font-size:14px}.rides-empty-icon{font-size:48px;opacity:.5}.rides-list{display:flex;flex-direction:column;gap:12px}.ride-item{padding:12px;background:var(--secondary-bg);border:2px solid var(--border);display:flex;flex-direction:column;gap:8px;transition:transform .2s ease}.ride-item:hover{transform:translate(4px);border-color:var(--accent)}.ride-route{display:flex;align-items:center;gap:8px;font-family:Courier New,monospace;font-size:14px;color:var(--text-primary)}.ride-location{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ride-arrow{color:var(--highlight);font-weight:700}.ride-meta{display:flex;gap:12px;font-size:12px;color:var(--text-secondary);font-family:Courier New,monospace}.rides-content::-webkit-scrollbar{width:8px}.rides-content::-webkit-scrollbar-track{background:var(--secondary-bg)}.rides-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.rides-content::-webkit-scrollbar-thumb:hover{background:var(--accent)}@media (max-width: 768px){.dashboard-content{padding-top:70px}.dashboard-title{font-size:20px}.score-bars-content{padding:16px}.rides-content{padding:16px;max-height:300px}}@media (max-width: 480px){.dashboard-container{gap:16px}.score-bar-header{font-size:12px}.score-bar-icon{font-size:18px}.ride-item{padding:10px}.ride-route{font-size:13px}.ride-meta{font-size:11px;gap:8px}}.mission-intro-container{width:100%;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.mission-intro-image{width:90%;max-width:600px;height:60vh;max-height:600px;margin-bottom:40px;opacity:0;transform:scale(.95);transition:opacity 1s ease,transform 1s ease}.mission-intro-image.fade-in{opacity:1;transform:scale(1)}.mission-intro-image img{width:100%;height:100%;object-fit:contain;display:block}.mission-text{text-align:center;min-height:80px}.mission-message{font-size:28px;color:var(--text-primary);text-shadow:0 2px 4px rgba(0,0,0,.3);opacity:0;transform:translateY(10px);transition:opacity 1s ease .3s,transform 1s ease .3s}.mission-message.fade-in{opacity:1;transform:translateY(0)}@media (max-width: 768px){.mission-intro-image{height:50vh;max-height:500px}.mission-message{font-size:24px}}@media (max-width: 480px){.mission-intro-image{height:45vh;max-height:400px}.mission-message{font-size:20px}}.puzzle-content{padding-top:80px;padding-bottom:40px}.puzzle-container{width:100%;max-width:500px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.puzzle-title{font-size:32px;margin-bottom:8px;color:var(--text-primary);text-align:center}.puzzle-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:30px;text-align:center}.puzzle-message{padding:12px 24px;background:var(--accent);border:2px solid var(--border);color:var(--text-primary);font-family:Courier New,monospace;margin-bottom:20px;text-align:center;animation:slide-down .3s ease}@keyframes slide-down{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.puzzle-message.success{background:var(--highlight);box-shadow:0 4px 12px var(--shadow)}.puzzle-board{display:flex;flex-direction:column;gap:8px;margin-bottom:40px}.puzzle-row{display:flex;gap:8px}.puzzle-cell{width:60px;height:60px;border:3px solid var(--border);background:var(--secondary-bg);display:flex;align-items:center;justify-content:center;font-family:Courier New,monospace;font-size:32px;font-weight:700;color:var(--text-primary);text-transform:uppercase;transition:all .3s ease;box-shadow:inset 0 2px 4px var(--shadow)}.puzzle-cell.filled{transform:scale(1.05);border-color:var(--accent)}.puzzle-cell.correct{background:#2d8f2d;border-color:#45b545;animation:flip-cell .5s ease;box-shadow:0 2px 8px #0006}.puzzle-cell.present{background:#b59f3b;border-color:#d4af37;animation:flip-cell .5s ease;box-shadow:0 2px 8px #0006}.puzzle-cell.absent{background:var(--accent);border-color:var(--border);opacity:.6;animation:flip-cell .5s ease}@keyframes flip-cell{0%{transform:rotateX(0)}50%{transform:rotateX(90deg)}to{transform:rotateX(0)}}.puzzle-keyboard{width:100%;display:flex;flex-direction:column;gap:8px}.keyboard-row{display:flex;gap:6px;justify-content:center}.keyboard-key{min-width:40px;height:50px;padding:0 8px;border:2px solid var(--border);background:var(--accent);color:var(--text-primary);font-family:Courier New,monospace;font-size:14px;font-weight:700;cursor:pointer;transition:all .1s ease;box-shadow:0 2px 4px var(--shadow);text-transform:uppercase}.keyboard-key:active{transform:translateY(2px);box-shadow:0 1px 2px var(--shadow)}.keyboard-key:disabled{opacity:.5;cursor:not-allowed}.keyboard-key.key-wide{min-width:70px;font-size:12px}.keyboard-key:hover:not(:disabled){background:var(--highlight);border-color:var(--highlight)}@media (max-width: 768px){.puzzle-content{padding-top:70px}.puzzle-title{font-size:28px}.puzzle-cell{width:52px;height:52px;font-size:28px}.keyboard-key{min-width:34px;height:46px;font-size:13px}.keyboard-key.key-wide{min-width:60px}}@media (max-width: 480px){.puzzle-title{font-size:24px}.puzzle-subtitle{font-size:12px}.puzzle-board,.puzzle-row{gap:6px}.puzzle-cell{width:48px;height:48px;font-size:24px;border-width:2px}.keyboard-row{gap:4px}.keyboard-key{min-width:30px;height:42px;padding:0 6px;font-size:12px}.keyboard-key.key-wide{min-width:50px;font-size:10px}}@media (max-width: 380px){.puzzle-cell{width:44px;height:44px;font-size:22px}.keyboard-key{min-width:26px;height:38px;font-size:11px}.keyboard-key.key-wide{min-width:45px}}.app-container{width:100%;height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}.screen{width:100%;height:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(20px + env(safe-area-inset-top,0px)) env(safe-area-inset-right,20px) calc(20px + env(safe-area-inset-bottom,0px)) env(safe-area-inset-left,20px);animation:fade-in .4s ease;position:relative;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.screen-content{width:100%;max-width:500px;margin:0 auto;padding-top:60px}.back-button{position:fixed;top:max(20px,env(safe-area-inset-top,20px));left:max(20px,env(safe-area-inset-left,20px));width:40px;height:40px;background:var(--accent);border:2px solid var(--border);color:var(--text-primary);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1000;box-shadow:0 4px 8px var(--shadow)}.back-button:active{transform:translateY(2px);box-shadow:0 2px 4px var(--shadow)}@media (max-width: 768px){.screen{padding:16px}.screen-content{max-width:100%}}@font-face{font-family:PixelFont;src:url(data:font/woff2;base64,) format("woff2");font-weight:400;font-style:normal}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--primary-bg: #1a1a2e;--secondary-bg: #16213e;--accent: #0f3460;--highlight: #e94560;--text-primary: #f1f1f1;--text-secondary: #a8a8a8;--border: #2d3561;--glow: #00d9ff;--shadow: rgba(0, 0, 0, .5)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,var(--primary-bg) 0%,var(--secondary-bg) 100%);color:var(--text-primary);overflow:hidden;position:fixed;width:100%;height:100vh;height:100dvh;touch-action:manipulation;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#root{width:100%;height:100%;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.pixel-border{border:3px solid var(--border);border-style:solid;box-shadow:inset -2px -2px 0 var(--shadow),inset 2px 2px #ffffff1a,0 4px 8px var(--shadow);image-rendering:pixelated}.pixel-button{font-family:Courier New,monospace;font-weight:700;text-transform:uppercase;letter-spacing:2px;padding:12px 24px;border:3px solid var(--border);background:var(--accent);color:var(--text-primary);cursor:pointer;position:relative;box-shadow:inset -2px -2px 0 var(--shadow),inset 2px 2px #fff3,0 4px 0 var(--shadow);transition:all .1s ease;-webkit-user-select:none;user-select:none;touch-action:manipulation}.pixel-button:active{transform:translateY(2px);box-shadow:inset -1px -1px 0 var(--shadow),inset 1px 1px #fff3,0 2px 0 var(--shadow)}.pixel-button:hover{background:var(--highlight)}.pixel-input{font-family:Courier New,monospace;font-size:18px;padding:12px 16px;border:3px solid var(--border);background:var(--secondary-bg);color:var(--text-primary);box-shadow:inset 2px 2px 4px var(--shadow),0 2px 4px var(--shadow);width:100%;outline:none}.pixel-input:focus{border-color:var(--glow);box-shadow:inset 2px 2px 4px var(--shadow),0 2px 8px var(--shadow)}.window-container{border:3px solid var(--border);background:var(--primary-bg);box-shadow:0 8px 16px var(--shadow);position:relative}.window-title-bar{background:var(--accent);padding:8px 12px;border-bottom:3px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-family:Courier New,monospace;font-weight:700;text-transform:uppercase;letter-spacing:1px}.window-close-btn{width:24px;height:24px;border:2px solid var(--border);background:var(--highlight);color:#fff;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1}.window-close-btn:active{background:var(--accent)}.gradient-soft{background:radial-gradient(circle at 30% 20%,rgba(233,69,96,.15) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(0,217,255,.15) 0%,transparent 50%),linear-gradient(135deg,var(--primary-bg) 0%,var(--secondary-bg) 100%)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow-pulse{0%,to{opacity:.8}50%{opacity:1}}@keyframes slide-up{0%{transform:translateY(100vh);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.pixel-button{padding:14px 28px;font-size:14px}.pixel-input{font-size:16px}}@media (max-width: 768px){input,select,textarea{font-size:16px!important}}
