:root{--bg: #0b1020;--ink: #f7efe2;--muted: rgba(247, 239, 226, .62);--card: rgba(18, 22, 38, .82);--line: rgba(255, 220, 180, .18);--coral: #ff6b57;--amber: #ffcf5c}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{width:100%;height:100%;overflow:hidden}body{font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased}canvas{display:block}::selection{background:var(--coral);color:#1a1020}.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 80% at 50% 18%,#1c2952,#0b1020 62%);z-index:20;padding:20px}.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:30px 30px 26px;width:min(420px,92vw);text-align:center;backdrop-filter:blur(10px);box-shadow:0 30px 80px -30px #000000b3;animation:rise .5s cubic-bezier(.16,1,.3,1) both}.card h1{font-size:clamp(28px,7vw,36px);font-weight:800;letter-spacing:-.02em}.card .lead{color:var(--ink);font-size:15px;margin-top:6px;font-weight:600;line-height:1.5;text-wrap:balance}.card .lead b{color:var(--amber)}.controles{display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:center;margin:16px 0 20px}.ctrl{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}.key{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:7px;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-bottom-width:2px;font-size:11.5px;font-weight:700;color:var(--ink)}.card input{width:100%;padding:13px 15px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#00000047;color:#fff;font-size:16px;outline:none;transition:border-color .15s,box-shadow .15s}.card input:focus{border-color:var(--coral);box-shadow:0 0 0 4px #ff6b5733}.cores{display:flex;gap:12px;justify-content:center;margin:16px 0 20px}.cores button{width:36px;height:36px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:transform .12s}.cores button:hover{transform:scale(1.1)}.cores button.sel{border-color:#fff;box-shadow:0 0 0 3px #ffffff2e;transform:scale(1.1)}.btn{width:100%;padding:15px;border:none;border-radius:14px;background:linear-gradient(100deg,var(--coral),var(--amber));color:#231409;font-size:16px;font-weight:800;letter-spacing:.01em;cursor:pointer;box-shadow:0 10px 24px -10px #ff6b57b3;transition:transform .12s,box-shadow .12s}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.hud{position:fixed;inset:0;pointer-events:none;z-index:10}.hud .top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;padding:14px 16px}.chip{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;background:#0c12209e;border:1px solid rgba(255,255,255,.14);padding:8px 13px;border-radius:999px;backdrop-filter:blur(6px)}.chip.estrela{color:var(--amber)}.chip.pop{animation:pop .4s cubic-bezier(.2,1.4,.4,1)}.prompt{position:absolute;left:50%;bottom:132px;transform:translate(-50%);display:none;align-items:center;gap:8px;background:#141a2ce6;border:1px solid var(--line);padding:11px 16px;border-radius:14px;font-weight:700;font-size:14.5px;box-shadow:0 12px 30px -14px #0009;animation:promptIn .22s ease both}.prompt .key{background:var(--coral);color:#231409;border-color:transparent}.acao{position:absolute;right:22px;bottom:92px;pointer-events:auto;display:none;width:80px;height:80px;border-radius:50%;font-size:14px;font-weight:800;color:#231409;border:none;background:linear-gradient(135deg,var(--coral),var(--amber));cursor:pointer;box-shadow:0 12px 26px -10px #ff6b57b3}.acao.ativa{animation:aparecerBtn .3s cubic-bezier(.2,1.4,.4,1) both,pulse 1.4s ease-in-out .3s infinite}.emojis{position:absolute;bottom:22px;left:50%;transform:translate(-50%);display:flex;gap:8px;pointer-events:auto}.emojis button{width:46px;height:46px;border-radius:14px;font-size:22px;border:1px solid rgba(255,255,255,.16);background:#0c12208c;cursor:pointer;opacity:.7;transition:transform .12s,background .12s,opacity .12s}.emojis button:hover,.emojis button:active{opacity:1}.emojis button:hover{transform:translateY(-3px);background:#ffffff24}.emojis button:active{transform:scale(.9)}.toast{position:absolute;top:60px;left:50%;transform:translate(-50%) translateY(-8px);background:#141a2cf0;border:1px solid var(--line);padding:11px 18px;border-radius:14px;font-weight:600;font-size:14px;opacity:0;transition:opacity .25s,transform .25s;max-width:82vw;text-align:center;box-shadow:0 14px 34px -16px #0009}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.joystick{position:fixed;display:none;width:120px;height:120px;border-radius:50%;background:#ffffff0f;border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 0 24px #ffffff0d;z-index:12;touch-action:none;pointer-events:none}.joystick-haste{position:absolute;left:35px;top:35px;width:50px;height:50px;border-radius:50%;background:#ffffff6b;box-shadow:0 4px 12px #00000059}@media(hover:hover)and (pointer:fine){.acao{display:none}}#boot{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(120% 80% at 50% 18%,#1c2952,#0b1020 62%);transition:opacity .5s ease}#boot.sai{opacity:0;pointer-events:none}#boot .selo{font-size:60px;animation:flutua 2.4s ease-in-out infinite}#boot .nome{font-weight:800;font-size:22px;letter-spacing:-.01em}#boot .barra{width:160px;height:6px;border-radius:999px;overflow:hidden;background:#ffffff1f}#boot .barra i{display:block;height:100%;width:40%;border-radius:999px;background:linear-gradient(90deg,#ff6b57,#ffcf5c);animation:carrega 1.1s ease-in-out infinite}.festa{position:fixed;left:50%;top:46%;transform:translate(-50%,-50%);font-weight:800;font-size:34px;color:#ffcf5c;z-index:14;pointer-events:none;text-shadow:0 4px 20px rgba(0,0,0,.5);animation:sobe 1.1s cubic-bezier(.16,1,.3,1) forwards}.brilho{position:fixed;inset:0;z-index:13;pointer-events:none;box-shadow:inset 0 0 120px 20px #ffcf5c59;opacity:0;animation:flash .7s ease forwards}@keyframes flutua{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes carrega{0%{margin-left:-45%}to{margin-left:105%}}@keyframes sobe{0%{opacity:0;transform:translate(-50%,-30%) scale(.7)}25%{opacity:1;transform:translate(-50%,-55%) scale(1.15)}to{opacity:0;transform:translate(-50%,-110%) scale(1)}}@keyframes flash{0%{opacity:0}30%{opacity:1}to{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes promptIn{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes aparecerBtn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{box-shadow:0 12px 26px -10px #ff6b57b3,0 0 #ffcf5c80}50%{box-shadow:0 12px 26px -10px #ff6b57e6,0 0 0 12px #ffcf5c00}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}
