*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#030814;color:#e6eef8;font-family:Avenir Next,Segoe UI,Trebuchet MS,sans-serif;touch-action:none}body{position:relative}#game-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;z-index:1}#ui-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none}#ui-layer button,#ui-layer select,#ui-layer a{pointer-events:auto;touch-action:manipulation}.ui-panel{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:radial-gradient(circle at top,rgba(68,103,169,.28),transparent 32%),linear-gradient(180deg,#040a16e0,#040a16f0);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center}.splash-panel,.menu-panel,.pause-panel,.result-panel{animation:panel-in .26s ease-out}.eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;color:#8ebcf5}.ui-panel h1{margin:0;font-size:clamp(2rem,7vw,4.5rem);line-height:.94;letter-spacing:-.05em}.sub{margin:0;max-width:540px;color:#e6eef8d1;font-size:clamp(.98rem,2.5vw,1.1rem)}.menu-stats{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:10px}.single-row{margin-top:0}.stat-card{min-width:140px;padding:16px 18px;border-radius:18px;background:#0a122094;border:1px solid rgba(142,188,245,.18);box-shadow:inset 0 1px #ffffff0f}.stat-card span{display:block;font-size:1.6rem;font-weight:800}.stat-card small{color:#e6eef8b3}.btn-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.wide-row{margin-top:8px}.btn-primary,.btn-secondary,.hud-button,.level-card{border:none;border-radius:16px;cursor:pointer;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,opacity .18s ease}.btn-primary,.btn-secondary{padding:14px 24px;font-weight:800;font-size:1rem}.btn-primary{background:linear-gradient(135deg,#f97316,#ef4444);color:#fff;box-shadow:0 12px 28px #ef444438}.btn-primary:hover,.btn-secondary:hover,.hud-button:hover,.level-card:hover{transform:translateY(-2px)}.btn-secondary{background:#0a1220a6;color:#e6eef8;border:1px solid rgba(142,188,245,.24)}.btn-secondary:disabled{opacity:.45;cursor:default;transform:none}.panel-top{width:min(100%,1080px);display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.small-btn{padding:10px 16px;border-radius:12px}.mode-badge{padding:10px 16px;border-radius:999px;background:#ffd17a1f;color:#ffd17a;font-weight:700}.level-grid{width:min(100%,1080px);display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.level-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:18px;background:#08101cb8;color:#e6eef8;border:1px solid rgba(142,188,245,.14)}.level-id{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#8ebcf5}.assist-pill{margin-top:auto;padding:4px 8px;border-radius:999px;background:#ffd17a29;color:#ffd17a;font-size:.76rem}.stars{font-size:1.12rem}.star{color:#ffffff2e}.star.filled{color:#ffd17a}.hud-top,.hud-bottom{position:absolute;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 max(12px,env(safe-area-inset-left)) 0 max(12px,env(safe-area-inset-right))}.hud-top{top:max(10px,env(safe-area-inset-top))}.hud-bottom{bottom:max(10px,env(safe-area-inset-bottom))}.hud-pill,.hud-stack{background:#08101c8a;border:1px solid rgba(142,188,245,.16);border-radius:16px;padding:10px 14px;min-width:112px}.center-pill,.center-stack{text-align:center}.align-right{text-align:right}.hud-actions{display:flex;gap:8px}.hud-button{padding:10px 14px;background:#0a1220cc;color:#e6eef8;font-weight:700}.hud-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#8ebcf5;margin-bottom:4px}.result-stars{font-size:2rem}@keyframes panel-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.ui-panel h1{font-size:clamp(1.8rem,10vw,2.8rem)}.hud-top,.hud-bottom{gap:8px;align-items:flex-start}.hud-pill,.hud-stack{min-width:92px;padding:8px 10px}.hud-actions{flex-direction:column}}
