:root{--accent: #9cb7d2;color:#d8e3ea;background:#18181b;font-family:SF Pro Display,Inter,system-ui,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:#18181b}canvas{position:fixed;inset:0}button,input{font:inherit}#hud{position:fixed;top:18px;left:18px;display:grid;pointer-events:none;z-index:10}.brand{display:grid;gap:10px}.title,.menu-wordmark{font-weight:800;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 0 22px rgba(255,255,255,.08)}.title{font-size:clamp(1.35rem,2vw,2rem)}.pill-group{display:flex;justify-content:flex-start;gap:8px}.pill,#leaderboard,.overlay-card{background:#080e14bd;border:1px solid rgba(175,193,205,.12);box-shadow:0 20px 48px #00000038;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.pill{padding:10px 14px;border-radius:999px;font-size:.88rem;color:#e2ebf1d6}#leaderboard{position:fixed;bottom:18px;right:18px;width:min(260px,calc(100vw - 36px));padding:14px 16px;border-radius:18px;z-index:10}.leaderboard-title{margin-bottom:10px;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:#d8e3ea94}.leaderboard-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:.92rem}.leaderboard-name{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-score{flex:0 0 auto;white-space:nowrap}.leaderboard-row:last-child{border-bottom:0}.leaderboard-row .you{color:#f4fbff}#bottom-left-panel{position:fixed;left:18px;bottom:18px;width:min(198px,calc(100vw - 36px));display:grid;gap:6px;z-index:10}#minimap-shell{width:100%}#minimap-canvas{position:static;display:block;width:100%;aspect-ratio:1;border-radius:50%;background:transparent}#instructions{padding:0;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;font-size:.78rem;font-weight:400;line-height:1.35;color:#d8e3ea9e}.control-line strong{font-weight:700;color:#f0f7fceb}.control-line+.control-line{margin-top:0}#app.menu-open .brand{opacity:0;pointer-events:none}.overlay{position:fixed;inset:0;display:grid;place-items:center;padding:24px;z-index:12;background:radial-gradient(circle at center,#0a0f1366,#0a0f13b8);opacity:0;pointer-events:none;transition:opacity .16s ease}.overlay.visible{opacity:1;pointer-events:auto}.overlay-card{width:min(520px,100%);padding:34px 30px 28px;border-radius:30px;text-align:center}.menu-wordmark{margin:0 0 22px;font-size:clamp(2.9rem,9vw,4.9rem);line-height:.92}.menu-form{display:grid;gap:14px}.palette-grid{display:flex;flex-wrap:nowrap;gap:10px;align-items:center;justify-content:space-between}.field-group{display:grid;gap:8px;text-align:left}.field-label{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:#d8e3ea94}.menu-input,.color-input-row{width:100%;min-height:54px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#f1f6f9}.menu-input{padding:0 16px;outline:none;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.menu-input::placeholder{color:#d8e3ea61}.menu-input:focus{border-color:color-mix(in srgb,var(--accent) 56%,white 12%);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 52%,transparent);background:#ffffff0f}.palette-swatch{width:42px;height:42px;flex:0 0 42px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:var(--swatch);cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.palette-swatch:hover{transform:translateY(-1px)}.palette-swatch.is-selected{border-color:#ffffffbd;box-shadow:0 0 0 2px #060b0feb,0 0 0 3px color-mix(in srgb,var(--accent) 68%,white 16%)}.play-button{margin-top:6px;min-height:58px;border:0;border-radius:18px;background:var(--accent);color:#091117;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .12s ease,filter .12s ease,opacity .12s ease}.play-button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06)}.play-button:disabled{cursor:default;opacity:.56}.menu-status,.menu-last-score{margin-top:14px;color:#d8e3ea94;line-height:1.5}.menu-last-score{margin-top:6px;min-height:1.5em;color:#ecf4f8b8}@media(max-width:720px){#leaderboard{width:min(220px,calc(100vw - 36px))}#bottom-left-panel{width:min(188px,calc(100vw - 36px))}.overlay-card{padding:28px 20px 22px}}
