:root{--midnight: #070a22;--indigo: #141a45;--ivory: #f4eeda;--amber: #ffb24d;--amber-deep: #e07c2a;--gold: #ffd479;--jade: #6fd8c4;--jelly: #ff9c8d;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;min-height:100dvh;background:#05061a;color:var(--ivory);font-family:Avenir Next,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,-apple-system,sans-serif;overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%}body{display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}#stage{position:relative;container-type:inline-size;width:100%;height:100vh;height:100dvh;max-width:min(100vw,calc(100dvh * 390 / 844));overflow:hidden;background:var(--midnight);box-shadow:0 0 80px #000c}@media (max-aspect-ratio: 390 / 700){#stage{max-width:100vw;box-shadow:none}}#game-canvas{display:block;width:100%;height:100%;touch-action:none}.layer{--u: 1px;position:absolute;inset:0;z-index:2}@supports (width: 1cqw){.layer{--u: .25641cqw}}.hidden{display:none!important}.screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(18 * var(--u));padding:calc(28 * var(--u) + var(--safe-top)) calc(26 * var(--u)) calc(30 * var(--u) + var(--safe-bottom));text-align:center;background:radial-gradient(ellipse at 50% 22%,#2e3a82c7,#070a22f0 62%,#040616fa);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:fade-in .26s ease-out}.screen.solid{background:#05071af0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.logo-wrap{display:flex;flex-direction:column;align-items:center;gap:calc(10 * var(--u))}.logo{width:min(82%,calc(300 * var(--u)));height:auto;filter:drop-shadow(0 0 34px rgba(255,214,145,.28));animation:float 5.5s ease-in-out infinite}.logo-small{width:min(62%,calc(210 * var(--u)))}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}.tagline{margin:0;font-size:calc(15 * var(--u));letter-spacing:.08em;color:#bcc3ee}.menu-actions{display:flex;flex-direction:column;gap:calc(12 * var(--u));width:100%;max-width:calc(280 * var(--u));margin-top:calc(10 * var(--u))}.menu-best{margin:calc(2 * var(--u)) 0 0;font-size:calc(13 * var(--u));letter-spacing:.1em;color:#9aa3d8;min-height:calc(16 * var(--u))}.build-tag{position:absolute;left:calc(10 * var(--u) + var(--safe-left));bottom:calc(6 * var(--u) + var(--safe-bottom));margin:0;font-size:calc(9 * var(--u));letter-spacing:.08em;color:#c8d0f538;font-variant-numeric:tabular-nums}.credit{position:absolute;bottom:calc(16 * var(--u) + var(--safe-bottom));margin:0;font-size:calc(11 * var(--u));letter-spacing:.22em;color:#c8d0f56b}.btn{appearance:none;-webkit-appearance:none;border:0;border-radius:999px;padding:calc(15 * var(--u)) calc(30 * var(--u));min-height:calc(52 * var(--u));width:100%;font:inherit;font-size:calc(16 * var(--u));font-weight:700;letter-spacing:.14em;cursor:pointer;transition:transform 90ms ease,filter .16s ease;touch-action:manipulation}.btn:active{transform:scale(.965)}.btn-primary{color:#2b1704;background:linear-gradient(180deg,#ffd88b 0%,var(--amber) 55%,var(--amber-deep) 100%);box-shadow:0 8px 26px #ff963c59,inset 0 1px #fff9}.btn-primary.big{font-size:calc(18 * var(--u));min-height:calc(58 * var(--u))}.btn-ghost{color:#cdd3f4;background:#ffffff12;border:1px solid rgba(205,211,244,.28)}.icon-btn{position:absolute;right:calc(12 * var(--u) + var(--safe-right));bottom:calc(14 * var(--u) + var(--safe-bottom));width:calc(44 * var(--u));height:calc(44 * var(--u));border-radius:50%;border:1px solid rgba(205,211,244,.22);background:#0a0e2880;color:#cdd3f4;font-size:calc(18 * var(--u));line-height:1;cursor:pointer;pointer-events:auto}.icon-btn.muted{color:#6a719c;text-decoration:line-through}#hud{pointer-events:none;z-index:3}.hud-row{display:flex;align-items:flex-start;justify-content:space-between;padding:calc(14 * var(--u) + var(--safe-top)) calc(14 * var(--u) + var(--safe-right)) 0 calc(14 * var(--u) + var(--safe-left))}.hud-right{display:flex;flex-direction:column;align-items:flex-end;gap:calc(6 * var(--u))}.hud-chip{display:flex;align-items:center;gap:calc(7 * var(--u));padding:calc(7 * var(--u)) calc(13 * var(--u));border-radius:999px;background:#070a226b;border:1px solid rgba(214,220,255,.14);font-size:calc(15 * var(--u));font-weight:700;letter-spacing:.08em;color:var(--ivory);text-shadow:0 1px 6px rgba(0,0,0,.6)}.hud-chip.guide{font-size:calc(11 * var(--u));color:#5a1d16;background:linear-gradient(180deg,#ffd7cf,var(--jelly));border-color:transparent}.hud-chip.guide.expiring{animation:pulse .7s ease-in-out infinite}.hud-chip.ready{color:#2b1704;background:linear-gradient(180deg,#ffe9a8,var(--gold));border-color:transparent}@keyframes pulse{0%,to{opacity:1}50%{opacity:.62}}.mc-pie{width:calc(20 * var(--u));height:calc(20 * var(--u));flex:0 0 auto;filter:drop-shadow(0 0 5px rgba(255,190,110,.45))}.mc-pie .slot{fill:#fff0cd1f}.mc-pie .filled{fill:url(#mcFill)}.mc-pie .rim{fill:none;stroke:#fff0cd8c;stroke-width:1.1}.mc-cake{width:calc(22 * var(--u));height:calc(22 * var(--u));flex:0 0 auto;filter:drop-shadow(0 0 7px rgba(255,214,121,.9))}.results-card,.lb-card{width:100%;max-width:calc(320 * var(--u));display:flex;flex-direction:column;align-items:center;gap:calc(12 * var(--u));padding:calc(26 * var(--u)) calc(22 * var(--u));border-radius:calc(26 * var(--u));background:linear-gradient(180deg,#1e265cdb,#0c102ee6);border:1px solid rgba(214,220,255,.14);box-shadow:0 20px 60px #00000080}.results-label{margin:0;font-size:calc(12 * var(--u));letter-spacing:.28em;color:#9aa3d8}.results-score{margin:0;font-size:calc(54 * var(--u));font-weight:800;letter-spacing:.02em;line-height:1;color:var(--ivory);text-shadow:0 0 30px rgba(255,214,145,.4)}.results-badge{margin:0;padding:calc(4 * var(--u)) calc(14 * var(--u));border-radius:999px;font-size:calc(12 * var(--u));font-weight:800;letter-spacing:.2em;color:#2b1704;background:linear-gradient(180deg,#ffe9a8,var(--gold))}.results-meta{display:flex;gap:calc(16 * var(--u));font-size:calc(12 * var(--u));letter-spacing:.12em;color:#b6bde8}.results-rank{margin:0;min-height:calc(16 * var(--u));font-size:calc(13 * var(--u));letter-spacing:.14em;color:var(--gold)}.results-card .btn{margin-top:calc(4 * var(--u))}.name-input{width:100%;padding:calc(14 * var(--u)) calc(16 * var(--u));border-radius:calc(14 * var(--u));border:1px solid rgba(214,220,255,.28);background:#06091eb3;color:var(--ivory);font:inherit;font-size:calc(20 * var(--u));font-weight:700;letter-spacing:.2em;text-align:center;text-transform:uppercase}.name-input:focus{outline:2px solid var(--amber)}.name-hint{margin:0;font-size:calc(11 * var(--u));letter-spacing:.12em;color:#8c93c4}.name-hint.error{color:#ff9e8a}.lb-card{max-width:calc(330 * var(--u));gap:calc(14 * var(--u))}.lb-title{margin:0;font-size:calc(18 * var(--u));letter-spacing:.24em;font-weight:700}.lb-body{width:100%;max-height:min(52vh,420px);overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.lb-msg{margin:calc(18 * var(--u)) 0;font-size:calc(13 * var(--u));color:#9aa3d8;letter-spacing:.08em}.lb-row{display:grid;grid-template-columns:calc(34 * var(--u)) 1fr auto;align-items:center;gap:calc(10 * var(--u));padding:calc(9 * var(--u)) calc(8 * var(--u));border-bottom:1px solid rgba(214,220,255,.09);font-size:calc(14 * var(--u))}.lb-row:last-child{border-bottom:0}.lb-row .rank{color:#8c93c4;font-weight:700;font-size:calc(12 * var(--u))}.lb-row .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.06em}.lb-row .score{font-weight:700;color:var(--gold)}.lb-row.top .rank{color:var(--gold)}.lb-row.me{background:#ffbe641f;border-radius:8px}.lb-you{width:100%;padding-top:calc(10 * var(--u));border-top:1px dashed rgba(214,220,255,.2)}.rotate-icon{font-size:calc(46 * var(--u));animation:spin 2.6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.rotate-text{margin:0;font-size:calc(16 * var(--u));letter-spacing:.1em}#screen-paused .btn{max-width:calc(220 * var(--u))}.loader{width:calc(140 * var(--u));height:calc(4 * var(--u));border-radius:4px;background:#ffffff1f;overflow:hidden}.loader i{display:block;height:100%;width:40%;border-radius:4px;background:linear-gradient(90deg,var(--amber),var(--gold));animation:slide 1.1s ease-in-out infinite}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media (prefers-reduced-motion: reduce){.logo-moon,.hud-chip.super,.rotate-icon,.loader i,.screen{animation:none}}
