:root{--text: #4a3a2e;--muted: #8a755e;--accent: #ef835c;--accent-dark: #db6a43;--panel: #fffaf3;--line: #efddc7;--font-display: "Fredoka", "Nunito", system-ui, sans-serif;--font-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:var(--font-body);background:linear-gradient(180deg,#bfe6ff,#e9f8ff 55%,#fff3e0);color:var(--text);overflow:hidden;-webkit-font-smoothing:antialiased}.game{position:fixed;top:0;right:0;bottom:0;left:0}.game canvas{display:block;width:100%;height:100%;touch-action:none}.hud{position:absolute;top:16px;left:16px;right:auto;z-index:5;padding:14px 20px;pointer-events:none;background:#fffaf3db;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid var(--line);border-radius:20px;box-shadow:0 12px 30px #966e462e;max-width:min(86vw,460px)}.hud h1{margin:0;font-size:clamp(1.3rem,3vw,1.9rem);font-family:var(--font-display);color:var(--accent-dark)}.hud p{margin:4px 0 0;color:var(--muted);font-weight:600}.hud__error{color:var(--accent-dark)!important;font-weight:800}.hud__counter{margin:4px 0 0;font-weight:800;font-size:1.15rem;color:var(--text)}.touch-pad{position:absolute;left:20px;bottom:20px;z-index:6;display:flex;flex-direction:column;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.touch-pad__mid{display:flex;gap:8px}.touch-btn{width:64px;height:64px;border-radius:20px;border:2px solid rgba(255,255,255,.7);background:#ef835cd1;color:#fff;font-size:1.7rem;font-weight:800;box-shadow:0 8px 18px #966e4647;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;touch-action:none}.touch-btn:active{background:var(--accent-dark);transform:translateY(2px)}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;border:2px solid var(--line);background:var(--panel);color:var(--text);font:inherit;font-weight:800;text-decoration:none;cursor:pointer;box-shadow:0 6px 16px #966e4624;transition:transform .14s ease,background .14s ease}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-dark)}.btn--big{padding:16px 30px;font-size:1.1rem}.victory{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#4a3a2e73;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.victory__card{background:var(--panel);color:var(--text);border-radius:28px;padding:38px;text-align:center;max-width:440px;border:2px solid var(--line);box-shadow:0 24px 64px #4a3a2e66;animation:pop-in .4s cubic-bezier(.22,1.3,.5,1) both}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.victory__emoji{font-size:3.8rem}.victory__card h2{margin:8px 0;font-family:var(--font-display);color:var(--accent-dark);font-size:1.9rem}.victory__card p{color:var(--muted);margin:0 0 22px;font-weight:600}.victory__actions{display:flex;flex-direction:column;gap:10px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.hud__controls{margin:6px 0 0;color:var(--muted);font-size:.82rem;font-weight:600}.hud__quest{margin:4px 0 0;font-weight:800;color:var(--accent-dark)}.hud__res{margin:4px 0 0;font-weight:700}.hud__music{margin:4px 0 0;color:var(--muted);font-weight:600}.music-float{font-size:1.1rem;background:#fffaf3e6;border:2px solid var(--line);border-radius:999px;padding:1px 6px;pointer-events:none;animation:mfloat 1.6s ease-in-out infinite}@keyframes mfloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.1)}}.near-card{position:absolute;left:50%;bottom:24px;transform:translate(-50%);z-index:6;background:#fffaf3eb;border:2px solid var(--line);border-radius:16px;padding:10px 18px;box-shadow:0 12px 30px #966e4633;max-width:80vw;text-align:center}.near-card strong{color:var(--accent-dark)}.near-card div{color:var(--muted);font-size:.9rem;font-weight:600}.victory__res{font-weight:800;font-size:1.2rem;margin:6px 0}.victory__roles{color:var(--muted);font-weight:600}
