
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;height:100%;overflow:hidden;font-family:'Trebuchet MS',system-ui,sans-serif;background:#08000f;touch-action:none}
#app{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
#menu,#game{width:100%;max-width:480px;height:100%;position:relative;overflow:hidden}
#menu{display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:radial-gradient(ellipse at 50% 40%,rgba(160,0,255,.18) 0%,transparent 65%),
  linear-gradient(180deg,#040009 0%,#08000f 40%,#0f0018 70%,#08000f 100%);padding:20px}
.icon-wrap{font-size:clamp(56px,16vw,88px);margin-bottom:12px;filter:drop-shadow(0 0 26px #aa00ff88);animation:dd 1.5s ease-in-out infinite;position:relative;z-index:1}
@keyframes dd{0%,100%{transform:translateX(-6px) rotate(-5deg)}50%{transform:translateX(6px) rotate(5deg)}}
.title{font-size:clamp(28px,9vw,50px);font-weight:900;letter-spacing:4px;text-align:center;
  background:linear-gradient(180deg,#fff 0%,#ddaaff 35%,#aa00ff 65%,#440066 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 3px 12px #aa00ff88);margin-bottom:4px;position:relative;z-index:1}
.sub{font-size:11px;letter-spacing:5px;color:#aa00ffbb;text-transform:uppercase;margin-bottom:28px;position:relative;z-index:1}
.play-btn{padding:16px 52px;border-radius:50px;border:none;cursor:pointer;
  background:linear-gradient(180deg,#dd88ff 0%,#8800cc 50%,#440066 100%);
  color:#08000f;font-size:clamp(14px,4vw,18px);font-weight:900;letter-spacing:4px;text-transform:uppercase;
  box-shadow:0 6px 0 #220033,0 12px 30px rgba(0,0,0,.7),0 0 30px #aa00ff55;
  transition:transform .1s;margin-bottom:16px;animation:sp 2s ease-in-out infinite;position:relative;z-index:1}
@keyframes sp{0%,100%{box-shadow:0 6px 0 #220033,0 0 30px #aa00ff55}50%{box-shadow:0 6px 0 #220033,0 0 65px #dd88ff88}}
.play-btn:active{transform:translateY(5px)}
.best{font-size:13px;color:#aa00ff77;letter-spacing:2px;margin-bottom:20px;position:relative;z-index:1}
.hint{font-size:12px;color:rgba(160,60,255,.6);text-align:center;max-width:280px;line-height:1.6;margin-bottom:18px;position:relative;z-index:1}
.links{display:flex;gap:18px;position:relative;z-index:1}
.links a{font-size:11px;color:#aa00ff55;text-decoration:none;letter-spacing:2px;text-transform:uppercase;border-bottom:1px solid #aa00ff33;padding-bottom:2px}
#game{display:none;background:#040009}
canvas{position:absolute;inset:0;width:100%;height:100%}
.hud{position:absolute;top:env(safe-area-inset-top,10px);left:0;right:0;display:flex;justify-content:space-between;padding:0 12px;gap:8px;pointer-events:none;z-index:10}
.hud-box{flex:1;background:rgba(0,0,0,.7);border:1px solid #aa00ff33;border-radius:10px;padding:6px 8px;text-align:center;backdrop-filter:blur(6px)}
.hud-lbl{font-size:9px;letter-spacing:2px;color:#aa00ff77;text-transform:uppercase;margin-bottom:2px}
.hud-val{font-size:clamp(18px,5vw,24px);font-weight:900;color:#dd88ff;line-height:1;text-shadow:0 0 10px #aa00ff88}
#backBtn{position:absolute;top:calc(env(safe-area-inset-top,10px)+4px);right:14px;font-size:22px;background:none;border:none;color:#aa00ff55;cursor:pointer;z-index:20;padding:6px}
.popup{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;background:rgba(4,0,9,.93);backdrop-filter:blur(14px);z-index:30;padding:30px 20px;text-align:center}
.popup.show{display:flex}
.popup-title{font-size:clamp(26px,8vw,40px);font-weight:900;letter-spacing:4px;background:linear-gradient(180deg,#fff,#ddaaff,#aa00ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px}
.score-big{font-size:clamp(52px,15vw,80px);font-weight:900;color:#dd88ff;text-shadow:0 0 30px #aa00ff88;line-height:1;margin-bottom:4px}
.score-sub{font-size:13px;color:#aa00ff77;letter-spacing:3px;margin-bottom:28px}
.restart-btn{padding:14px 44px;border-radius:40px;border:none;cursor:pointer;background:linear-gradient(180deg,#dd88ff,#8800cc,#440066);color:#08000f;font-size:15px;font-weight:900;letter-spacing:3px;text-transform:uppercase;box-shadow:0 5px 0 #220033}
.restart-btn:active{transform:translateY(4px)}
