*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#010409;color:#fff;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#gameCanvas{display:block;width:100vw;height:100vh;background:#010409}#ui-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}#ui-overlay.active{pointer-events:all}.menu-screen{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;background:#050a14f7;padding:3vw 4vw;border-radius:16px;border:1px solid rgba(0,255,136,.3);box-shadow:0 0 40px #00ff881f,inset 0 0 30px #00ff8808;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:320px;max-width:90%;max-height:90vh;overflow-y:auto}.menu-title{font-size:clamp(2rem,8vw,3.5rem);margin-bottom:.5vh;color:#0f8;text-shadow:0 0 30px rgba(0,255,136,.6);font-weight:800;letter-spacing:.15em}.menu-subtitle{font-size:clamp(.9rem,2.5vw,1.2rem);margin-bottom:2vh;color:#00ff8880;font-weight:300;letter-spacing:.3em;text-transform:uppercase}.menu-highscore{font-size:clamp(.85rem,2.2vw,1rem);color:#ffaa00b3;margin-bottom:2vh}.menu-button{display:block;width:100%;padding:1.8vh 2vw;margin:1.2vh auto;font-size:clamp(1rem,3.5vw,1.3rem);background:linear-gradient(135deg,#0f83,#00ff8814);color:#0f8;border:1px solid rgba(0,255,136,.4);border-radius:10px;cursor:pointer;font-weight:600;transition:all .2s ease;box-shadow:0 0 15px #00ff8826;letter-spacing:.05em}.menu-button:hover{background:linear-gradient(135deg,#00ff8859,#00ff8826);box-shadow:0 0 25px #00ff884d;transform:scale(1.02)}.menu-button:active{transform:scale(.98)}.menu-button-secondary{background:linear-gradient(135deg,#ffffff0f,#ffffff05);color:#fff9;border-color:#ffffff26;box-shadow:none}.menu-button-secondary:hover{background:linear-gradient(135deg,#ffffff1f,#ffffff0a);box-shadow:0 0 15px #ffffff1a;color:#fffc}.menu-settings{margin:2vh 0;padding:2vh 2vw;background:#ffffff08;border-radius:10px;border:1px solid rgba(255,255,255,.06);text-align:left}.setting-label{display:flex;align-items:center;gap:10px;margin:1.5vh 0;color:#ffffffb3;font-size:clamp(.85rem,2.2vw,1rem);cursor:pointer}.setting-label input[type=checkbox]{accent-color:#00ff88;width:18px;height:18px}.setting-select{padding:.5vh 1vw;font-size:clamp(.85rem,2.2vw,1rem);background:#ffffff0f;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:6px;cursor:pointer}.setting-select option{background:#0d1117}.setting-input{padding:6px 10px;font-size:clamp(.85rem,2.2vw,1rem);width:80px;background:#ffffff0f;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:6px}.setting-level{flex-direction:column;align-items:flex-start;gap:6px}.stats-grid{display:flex;justify-content:center;gap:3vw;margin:2.5vh 0;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;align-items:center;min-width:70px}.stat-value{font-size:clamp(1.5rem,5vw,2.5rem);font-weight:800;color:#0f8;text-shadow:0 0 15px rgba(0,255,136,.4)}.stat-label{font-size:clamp(.7rem,1.8vw,.85rem);color:#fff6;text-transform:uppercase;letter-spacing:.1em;margin-top:4px}.new-highscore{font-size:clamp(1rem,3.5vw,1.4rem);color:#fa0;font-weight:800;letter-spacing:.15em;text-shadow:0 0 20px rgba(255,170,0,.6);margin-bottom:1vh;animation:highscorePulse .8s ease-in-out infinite alternate}@keyframes highscorePulse{0%{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}.menu-text{text-align:left;margin-bottom:2vh}.instruction-section{margin-bottom:2vh}.instruction-section h3{color:#0f8;font-size:clamp(.9rem,2.5vw,1.1rem);margin-bottom:1vh;text-shadow:0 0 10px rgba(0,255,136,.3)}.menu-list{list-style:none;padding-left:0}.menu-list li{margin:.8vh 0;font-size:clamp(.8rem,2vw,.95rem);color:#fff9;padding-left:1em;position:relative}.menu-list li:before{content:"";position:absolute;left:0;top:50%;width:4px;height:4px;background:#00ff8880;border-radius:50%;transform:translateY(-50%)}.pu-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle;box-shadow:0 0 6px currentColor}.touch-controls{position:fixed;right:2vw;bottom:2vh;z-index:5;pointer-events:all;opacity:.85}.touch-controls.hidden{display:none}.arrow-keys-container{display:flex;flex-direction:column;align-items:center;gap:.5vh}.arrow-keys-row{display:flex;gap:.5vh;align-items:center}.arrow-key{width:clamp(50px,12vw,80px);height:clamp(50px,12vw,80px);border-radius:12px;background:#00ff880f;border:2px solid rgba(0,255,136,.25);box-shadow:0 0 10px #00ff881a,inset 0 0 10px #00ff8808;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:all .1s ease;color:#0f8;padding:0;margin:0}.arrow-key:active{background:#00ff8840;transform:scale(.92);box-shadow:0 0 20px #00ff884d}.arrow-key svg{width:55%;height:55%;stroke:#00ff88b3;filter:drop-shadow(0 0 3px rgba(0,255,136,.5))}.arrow-key:active svg{stroke:#0f8;filter:drop-shadow(0 0 6px rgba(0,255,136,.8))}@media (max-width: 768px){.menu-screen{padding:4vw 5vw;min-width:unset;width:92%}.touch-controls{right:1.5vw;bottom:1.5vh}.arrow-key{width:clamp(45px,11vw,70px);height:clamp(45px,11vw,70px)}.stats-grid{gap:5vw}}@media (orientation: landscape) and (max-height: 500px){.menu-screen{padding:2vw 3vw}.menu-title{font-size:clamp(1.5rem,6vw,2.5rem);margin-bottom:.5vh}.menu-subtitle{font-size:clamp(.8rem,2vw,1rem);margin-bottom:1vh}.menu-button{padding:1.2vh 2vw;margin:.8vh auto}.stats-grid{margin:1.5vh 0}}.menu-screen::-webkit-scrollbar{width:4px}.menu-screen::-webkit-scrollbar-track{background:transparent}.menu-screen::-webkit-scrollbar-thumb{background:#0f83;border-radius:2px}
