.menu-toggle{position:absolute;z-index:42;left:max(18px,env(safe-area-inset-left));top:max(18px,env(safe-area-inset-top));width:44px;height:44px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(44,44,46,.76);display:grid;place-content:center;gap:4px;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 8px 24px rgba(0,0,0,.28)}
.menu-toggle span{display:block;width:17px;height:2px;border-radius:999px;background:#fff}
.menu-toggle:active{transform:scale(.94)}
.site-menu{position:fixed;z-index:100;inset:0;pointer-events:none;visibility:hidden}
.site-menu.open{pointer-events:auto;visibility:visible}
.menu-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.52);opacity:0;transition:opacity .22s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.site-menu.open .menu-backdrop{opacity:1}
.menu-panel{position:absolute;left:0;top:0;bottom:0;width:min(92vw,430px);padding:max(18px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom));overflow:auto;background:rgba(28,28,30,.97);border-right:1px solid rgba(255,255,255,.1);transform:translateX(-104%);transition:transform .24s cubic-bezier(.2,.8,.2,1);box-shadow:24px 0 60px rgba(0,0,0,.45);text-align:left}
.site-menu.open .menu-panel{transform:translateX(0)}
.menu-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.menu-head h2,.menu-copy h2,.menu-links h2,.share-links h2{margin:0;font-size:1rem;line-height:1.2;letter-spacing:-.01em}
.menu-close{width:38px;height:38px;border:0;border-radius:50%;background:var(--surface-2);font-size:1.5rem;line-height:1}
.menu-nav{display:grid;gap:8px;margin-bottom:22px}
.menu-nav a,.menu-links a,.share-links a,.share-links button{display:flex;align-items:center;min-height:48px;padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:var(--surface-2);color:var(--text);text-decoration:none;font-weight:650}
.menu-copy{padding:18px 0;border-top:1px solid var(--separator);border-bottom:1px solid var(--separator)}
.menu-copy p{margin:12px 0 0;color:#c7c7cc;font-size:.92rem;line-height:1.55}
.menu-links,.share-links{display:grid;gap:8px;padding-top:18px}
.menu-links h2,.share-links h2{margin-bottom:4px}
.share-links button{text-align:left;width:100%}
body.menu-open{overflow:hidden}
.hud .score-value{display:block;margin-top:1px;font-size:1.45rem;font-weight:800;letter-spacing:-.03em}
.intro h1 small{display:block;margin-top:16px;color:var(--secondary);font-size:clamp(.78rem,3.2vw,1rem);line-height:1.15;letter-spacing:.08em;font-weight:700;text-transform:uppercase}
.gameover h2{display:flex;align-items:baseline;gap:10px;font-size:clamp(1rem,4vw,1.25rem);letter-spacing:0;line-height:1;font-weight:700;color:var(--secondary)}
.gameover h2 span{font-size:clamp(5rem,24vw,9rem);line-height:.9;letter-spacing:-.07em;font-weight:850;color:var(--text)}
@media(max-width:520px){.hud{left:50%;transform:translateX(-50%);top:max(14px,env(safe-area-inset-top))}.menu-toggle{left:max(12px,env(safe-area-inset-left));top:max(12px,env(safe-area-inset-top))}.icon-button{right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top))}}
@media(prefers-reduced-motion:reduce){.menu-backdrop,.menu-panel{transition:none}}
