*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:#0d0520;color:#fff}#app{position:fixed;inset:0;width:100vw;height:100dvh}#game-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;display:block}#screens{position:absolute;inset:0;pointer-events:none}.screen{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:flex-start;overflow-y:auto;overflow-x:hidden;background:linear-gradient(180deg,#0d0520,#1a0a2e,#0d1a3a);pointer-events:all;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}@media(min-width:1024px){.screen{align-items:center;background:radial-gradient(ellipse 60% 80% at 50% 40%,#1a0a2e,#0d0520)}.screen>*{max-width:560px;width:100%}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border:none;border-radius:50px;font-size:16px;font-weight:700;cursor:pointer;transition:transform .1s,box-shadow .1s,opacity .2s;outline:none;min-height:52px;letter-spacing:.5px;text-transform:uppercase}.btn:active{transform:scale(.94)}.btn:focus-visible{outline:3px solid #A78BFA;outline-offset:2px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;box-shadow:0 4px 20px #7c3aed80}.btn-primary:hover{box-shadow:0 6px 28px #7c3aedb3;transform:translateY(-1px)}.btn-secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px)}.btn-secondary:hover{background:#ffffff2e}.btn-danger{background:#ef444433;color:#fca5a5;border:1px solid rgba(239,68,68,.4)}.btn-danger:hover{background:#ef444459}.btn-small{padding:10px 16px;font-size:13px;min-height:40px}.btn-xl{padding:18px 48px;font-size:20px;min-height:64px;width:100%;max-width:320px}.btn-icon{background:transparent;color:#ffffffb3;padding:10px 16px;font-size:14px;border-radius:8px;min-height:44px}.btn-icon:hover{background:#ffffff1a}.screen-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:500px;padding:16px 20px 8px;gap:12px;position:sticky;top:0;background:linear-gradient(180deg,rgba(13,5,32,.95) 80%,transparent);z-index:10}.screen-header h2{font-size:22px;font-weight:800;background:linear-gradient(135deg,#a78bfa,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;flex:1;text-align:center}.menu-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:100dvh;padding:32px 24px;gap:24px}.menu-logo{text-align:center}.logo-title{font-size:clamp(36px,10vw,72px);font-weight:900;background:linear-gradient(135deg,#a78bfa,#60a5fa,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-1px;text-shadow:none;animation:logoFloat 3s ease-in-out infinite}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.logo-subtitle{color:#ffffff73;font-size:13px;margin-top:4px;letter-spacing:1px}.menu-stats-bar{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.stats-chip{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:50px;padding:6px 16px;font-size:13px;font-weight:600;color:#fffc}.menu-buttons{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:340px}.menu-buttons .btn-secondary{width:100%;max-width:280px}.menu-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:4px}.menu-version{color:#ffffff40;font-size:11px;position:fixed;bottom:calc(env(safe-area-inset-bottom,8px) + 8px);right:16px}.level-select-wrapper{width:100%;max-width:500px;padding-bottom:32px}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:16px 20px}@media(max-width:360px){.level-grid{grid-template-columns:repeat(4,1fr)}}.level-card{aspect-ratio:1;border-radius:12px;border:1.5px solid rgba(255,255,255,.15);background:#ffffff0f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;color:#fff;padding:4px;transition:transform .1s,background .2s}.level-card:active{transform:scale(.92)}.level-card.unlocked{background:#7c3aed26;border-color:#a78bfa4d}.level-card.completed{background:#34d3991a;border-color:#34d3994d}.level-card.locked{opacity:.5;cursor:not-allowed}.level-num{font-size:16px;font-weight:800;line-height:1}.level-stars{font-size:10px;letter-spacing:-1px}.star{color:#ffffff40}.star.filled{color:#f59e0b}.level-score{font-size:9px;color:#ffffff80;white-space:nowrap}.level-lock{font-size:14px}.overlay-screen{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:#000000b3;backdrop-filter:blur(8px);pointer-events:all;z-index:50}.modal-card{background:linear-gradient(135deg,#1e0f3cfa,#0f1e3cfa);border:1px solid rgba(167,139,250,.3);border-radius:24px;padding:32px 28px;width:min(400px,90vw);max-height:90dvh;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:16px;box-shadow:0 20px 60px #00000080;animation:modalIn .3s ease-out}@keyframes modalIn{0%{transform:scale(.8) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-title{font-size:24px;font-weight:900;background:linear-gradient(135deg,#a78bfa,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center}.modal-buttons{display:flex;flex-direction:column;gap:10px;width:100%}.modal-buttons .btn{width:100%}.result-row{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.result-label{color:#fff9;font-size:14px}.result-value{font-size:20px;font-weight:700;color:#fff}.new-record{color:#f59e0b;font-weight:700;font-size:16px;width:100%;text-align:center}.result-stats{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.stat-chip{background:#ffffff14;border-radius:50px;padding:6px 14px;font-size:13px;font-weight:600}.stars-row{display:flex;gap:8px}.star-large{font-size:36px;color:#ffffff40;transition:color .3s,transform .3s}.star-large.filled{color:#f59e0b;transform:scale(1.15);text-shadow:0 0 16px rgba(245,158,11,.6)}.complete-badge{font-size:48px;animation:pulse .5s ease-out}@keyframes pulse{0%{transform:scale(0)}60%{transform:scale(1.3)}to{transform:scale(1)}}.complete-title{color:#34d399!important;-webkit-text-fill-color:#34D399!important}.gameover-title{color:#ef4444!important;-webkit-text-fill-color:#EF4444!important}.settings-wrapper{width:100%;max-width:500px}.settings-list{padding:8px 20px;display:flex;flex-direction:column;gap:4px}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.07)}.setting-label{font-size:16px;color:#ffffffd9;font-weight:500}.toggle{position:relative;display:inline-block;width:52px;height:28px;cursor:pointer}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:#ffffff26;border-radius:50px;transition:background .3s}.toggle-slider:before{content:"";position:absolute;left:4px;top:4px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .3s;box-shadow:0 1px 4px #0000004d}.toggle input:checked+.toggle-slider{background:#7c3aed}.toggle input:checked+.toggle-slider:before{transform:translate(24px)}.settings-footer{padding:20px;display:flex;flex-direction:column;gap:12px;align-items:center}.setting-hint{color:#fff6;font-size:12px;text-align:center}.achievements-wrapper{width:100%;max-width:500px}.achievements-list{padding:8px 16px 40px;display:flex;flex-direction:column;gap:8px}.achievement-item{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.08);transition:background .2s}.achievement-item.unlocked{background:#7c3aed1f;border-color:#a78bfa40}.ach-icon{font-size:28px;flex-shrink:0}.ach-locked-icon{opacity:.5;filter:grayscale(1)}.ach-info{flex:1}.ach-title{font-size:15px;font-weight:700}.ach-desc{font-size:12px;color:#ffffff80;margin-top:2px}.ach-check{color:#34d399;font-size:20px;font-weight:700}.stats-wrapper{width:100%;max-width:500px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 20px 40px}.stat-item{background:#ffffff0d;border-radius:12px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid rgba(255,255,255,.08)}.stat-item-icon{font-size:24px}.stat-item-label{font-size:11px;color:#ffffff80;text-align:center;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-item-value{font-size:20px;font-weight:800;color:#a78bfa}.howto-wrapper{width:100%;max-width:500px}.howto-steps{padding:8px 20px 40px;display:flex;flex-direction:column;gap:20px}.howto-step{display:flex;gap:16px;align-items:flex-start}.step-num{width:36px;height:36px;flex-shrink:0;background:linear-gradient(135deg,#7c3aed,#4f46e5);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800}.step-content h3{font-size:16px;font-weight:700;margin-bottom:4px;color:#a78bfa}.step-content p{font-size:14px;color:#ffffffb3;line-height:1.5}.howto-tip-section{background:#ffffff0a;border-radius:12px;padding:16px;border:1px solid rgba(255,255,255,.08)}.howto-tip-section h3{font-size:15px;font-weight:700;margin-bottom:12px;color:#60a5fa}.special-grid{display:flex;flex-direction:column;gap:8px}.special-item{display:flex;gap:10px;align-items:center;font-size:14px;color:#ffffffbf}.special-item span:first-child{font-size:20px;width:28px;text-align:center}.keys-grid{display:flex;flex-direction:column;gap:8px}.key-row{display:flex;gap:10px;align-items:center;font-size:13px;color:#ffffffbf}kbd{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:3px 8px;font-size:12px;font-family:monospace}.daily-wrapper{width:100%;max-width:500px}.daily-content{padding:20px;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}.daily-date{font-size:16px;color:#a78bfa;font-weight:600}.daily-desc p{font-size:14px;color:#ffffffb3;margin-bottom:8px;line-height:1.5}.daily-objective{color:#60a5fa;font-weight:600}.daily-played{display:flex;flex-direction:column;align-items:center;gap:12px}.daily-record{font-size:18px;color:#f59e0b;font-weight:700}.daily-done{font-size:13px;color:#ffffff80}.hud-overlay{position:absolute;inset:0;pointer-events:none;z-index:20;display:flex;flex-direction:column;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) 0 env(safe-area-inset-left,0)}.hud-overlay.hidden{display:none!important}.hud-top{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 14px 0;pointer-events:all;gap:8px}.hud-left{display:flex;flex-direction:column;gap:3px;min-width:80px}.hud-level{font-size:12px;font-weight:700;color:#a78bfa;letter-spacing:.5px;text-transform:uppercase}.hud-objective{font-size:11px;color:#ffffff8c;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-objective.objective-done{color:#34d399}.hud-center{display:flex;flex-direction:column;align-items:center;gap:2px}.hud-score{font-size:24px;font-weight:900;color:#fff;text-shadow:0 0 16px rgba(167,139,250,.5);letter-spacing:-1px;min-width:80px;text-align:center}.hud-combo{font-size:14px;font-weight:700;color:#f59e0b;text-shadow:0 0 10px rgba(245,158,11,.5)}.hud-combo.hidden{display:none}.hud-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:60px}.hud-miss{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;max-width:72px}.miss-dot{font-size:10px;color:#ffffff59;transition:color .2s}.miss-dot.miss-used{color:#ef4444}.btn-pause{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:50%;width:40px;height:40px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;pointer-events:all}.btn-pause:hover{background:#fff3}.btn-pause:active{transform:scale(.9)}.hud-debug,.hud-fps{position:absolute;top:60px;left:8px;background:#0009;color:#0f0;font-family:monospace;font-size:11px;padding:4px 8px;border-radius:4px;pointer-events:none}.hud-fps{top:80px}.hidden{display:none!important}#toast-container{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;width:90vw;max-width:340px}.toast{background:#1e0f3cf2;border:1px solid rgba(167,139,250,.3);border-radius:50px;padding:10px 20px;font-size:15px;font-weight:700;color:#fff;text-align:center;opacity:0;transform:translateY(-12px) scale(.9);transition:all .25s ease;pointer-events:none}.toast-visible{opacity:1;transform:translateY(0) scale(1)}.toast-hiding{opacity:0;transform:translateY(-8px) scale(.95)}.toast-success{border-color:#34d39980;background:#0a2819f2}.toast-warning{border-color:#f59e0b80;background:#281e0af2}.toast-achievement{display:flex;align-items:center;gap:10px;background:#1e1432f7;border-color:#f59e0b;box-shadow:0 4px 20px #f59e0b4d}.toast-icon{font-size:20px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#a78bfa4d;border-radius:4px}.high-contrast{filter:contrast(1.5) saturate(0)}@media(orientation:landscape)and (max-height:500px){.menu-wrapper{flex-direction:row;flex-wrap:wrap;gap:16px;padding:16px;justify-content:center}.menu-logo{flex:0 0 auto}.logo-title{font-size:32px}.menu-buttons{flex:0 0 auto;max-width:260px}.btn-xl{padding:14px 32px;font-size:16px;min-height:50px}.hud-top{padding:6px 12px 0}.hud-score{font-size:20px}}
