:root{--bg: #0b1220;--bg-card: #0f1a2a;--fg: #e8f1ff;--fg-muted: #94a3b8;--accent: #0ea5e9;--accent-glow: rgba(14, 165, 233, .3);--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--border: rgba(255, 255, 255, .12);--border-hover: rgba(255, 255, 255, .25)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif;color:var(--fg);background:var(--bg);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.page{max-width:960px;margin:0 auto;padding:14px}.h1{font-size:28px;background:linear-gradient(135deg,var(--accent),#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.row{display:flex;gap:6px;align-items:center}.btn{border:1px solid var(--border);background:#ffffff0d;color:var(--fg);padding:8px 14px;border-radius:10px;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s ease;-webkit-user-select:none;user-select:none}.btn:hover{border-color:var(--accent);background:#0ea5e91a}.btn:active{transform:scale(.97)}.btn.secondary{opacity:.85;background:transparent}.btn.secondary:hover{opacity:1}.pill{background:#ffffff14;border:1px solid var(--border);padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap}.pill.combo-pill{background:linear-gradient(135deg,var(--success),#16a34a);color:#fff;border:none;animation:pulse-combo .5s ease infinite alternate}@keyframes pulse-combo{0%{transform:scale(1)}to{transform:scale(1.05)}}.small{font-size:12px;opacity:.8}.banner{display:flex;gap:8px;align-items:center;padding:10px 14px;border:1px solid rgba(14,165,233,.3);border-radius:12px;margin-bottom:10px;background:#0ea5e914}.banner .spacer{flex:1}.dropdown{position:relative}.dropdown>summary{list-style:none;cursor:pointer}.dropdown[open] .dropdown-menu{display:block;animation:fadeIn .15s ease}.dropdown-menu{display:none;position:absolute;right:0;top:40px;min-width:180px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:10px;z-index:20;box-shadow:0 10px 40px #0006}.dropdown-menu label{display:flex;gap:10px;padding:6px 8px;font-size:13px;align-items:center;cursor:pointer;border-radius:6px;transition:background .1s}.dropdown-menu label:hover{background:#ffffff0d}.gameShell{position:relative;width:100%;max-width:400px;border-radius:16px;overflow:hidden;background:#08101a;border:1px solid var(--border);box-shadow:0 4px 30px #0000004d}.gameShell canvas{display:block;width:100%;border-radius:0 0 14px 14px}.card{background:var(--bg-card);border:1px solid var(--border);padding:18px;border-radius:14px;min-width:260px}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10}.controls{display:flex;gap:8px;flex-wrap:wrap}.tutorial-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;animation:fadeIn .3s ease}.tutorial-card{background:linear-gradient(135deg,#0f1a2a,#162033);border:1px solid var(--border);border-radius:16px;padding:24px;max-width:300px;text-align:center;box-shadow:0 20px 60px #00000080}.tutorial-card h3{margin:0 0 20px;font-size:22px;color:var(--accent)}.tutorial-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;text-align:left}.tutorial-icon{font-size:24px;flex-shrink:0}.tutorial-item p{margin:0;font-size:13px;line-height:1.5;color:var(--fg-muted)}.tutorial-item strong{color:var(--fg)}.tutorial-card .btn{margin-top:10px;padding:10px 24px;background:var(--accent);border-color:var(--accent)}.tutorial-card .btn:hover{background:#0284c7}.achievement-popup{position:absolute;top:50px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#1a2940,#0f1a2a);border:1px solid var(--warning);border-radius:12px;padding:12px 18px;z-index:50;animation:achievementSlide .4s ease,achievementPulse .5s ease .4s;box-shadow:0 8px 30px #f59e0b4d}.achievement-icon{font-size:32px}.achievement-title{font-weight:700;font-size:14px;color:var(--warning)}.achievement-desc{font-size:11px;color:var(--fg-muted);margin-top:2px}@keyframes achievementSlide{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes achievementPulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.05)}}.lb{width:100%;border-collapse:collapse;margin-top:10px}.lb th,.lb td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);font-size:13px}.lb th{font-weight:600;color:var(--fg-muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.lb tr:hover td{background:#ffffff08}.lb code{font-family:SF Mono,Monaco,Courier New,monospace;background:#ffffff0d;padding:2px 6px;border-radius:4px;font-size:11px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.page{padding:10px}.h1{font-size:22px}.gameShell{max-width:100%}.tutorial-card{margin:10px;padding:20px}.lb th,.lb td{padding:8px 4px;font-size:12px}}select.btn{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.btn:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.game-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.stat-item{background:#ffffff0d;padding:8px;border-radius:8px;text-align:center}.stat-value{font-size:20px;font-weight:700;color:var(--accent)}.stat-label{font-size:10px;color:var(--fg-muted);text-transform:uppercase;margin-top:2px}.mode-selector{display:flex;gap:6px;flex-wrap:wrap}.mode-option{padding:6px 12px;border:1px solid var(--border);border-radius:8px;font-size:12px;cursor:pointer;transition:all .15s}.mode-option:hover{border-color:var(--accent)}.mode-option.active{background:var(--accent);border-color:var(--accent)}.difficulty-bar{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-top:8px}.difficulty-fill{height:100%;border-radius:2px;transition:width .3s ease,background .3s ease}.difficulty-fill.easy{background:var(--success)}.difficulty-fill.medium{background:var(--warning)}.difficulty-fill.hard{background:var(--danger)}.high-score{animation:highScorePulse 1s ease infinite}@keyframes highScorePulse{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 20px 5px #f59e0b33}}@media (hover: none){.btn:active{background:#0ea5e933}}
