/* Conecte Decola — modal do jogo */
.gm{position:fixed;inset:0;z-index:600;background:#04051a;color:#fff;overscroll-behavior:contain}
.gm-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}

.gm-hud{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:.7rem;padding:max(.9rem,env(safe-area-inset-top)) 1rem .9rem;pointer-events:none}
.gm-stat{display:flex;flex-direction:column;padding:.45rem .9rem;border-radius:.8rem;background:rgba(10,13,36,.7);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);min-width:5rem}
.gm-stat small{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#8f96b8}
.gm-stat b{font-family:var(--display);font-size:1.25rem;line-height:1.1}
.gm-turbo{display:flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border-radius:999px;background:linear-gradient(120deg,#7c3aed,#4f7cf7);font-weight:700;font-size:.85rem;animation:gm-blink .5s ease-in-out infinite alternate}
.gm-turbo .ic{fill:currentColor;stroke:none;width:1rem;height:1rem}
@keyframes gm-blink{to{opacity:.65}}
.gm-btns{display:flex;gap:.5rem;margin-left:auto;pointer-events:auto}
.gm-ib{width:2.75rem;height:2.75rem;border-radius:.8rem;display:grid;place-items:center;background:rgba(10,13,36,.7);border:1px solid rgba(255,255,255,.14);color:#fff}

.gm-screen{position:absolute;inset:0;display:grid;place-items:center;padding:1rem;background:rgba(4,5,26,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);overflow-y:auto}
.gm-panel{width:100%;max-width:27rem;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;padding:1.8rem 1.4rem;border-radius:1.5rem;background:rgba(10,13,36,.88);border:1px solid rgba(255,255,255,.14);box-shadow:0 40px 80px -30px rgba(79,124,247,.55)}
.gm-panel p{color:#b9bfdc;font-size:.94rem}
.gm-tag{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px;background:var(--grad)}
.gm-title{font-family:var(--display);font-weight:800;font-size:2.4rem;line-height:1;letter-spacing:-.03em}
.gm-title.sm{font-size:1.9rem}
.gm-title em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.gm-legend{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;width:100%;text-align:left}
.gm-legend li{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:.7rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.gm-legend li:last-child{grid-column:1/-1}
.gm-legend b{display:block;font-size:.84rem;color:#fff}
.gm-legend span{font-size:.74rem;color:#8f96b8;line-height:1.3}
.lg{flex:none;width:1.7rem;height:1.7rem;border-radius:.45rem}
.lg-mega{border-radius:50%;background:radial-gradient(circle at 35% 35%,#e0fffb,#22d3c5 55%,#0d9c98);box-shadow:0 0 10px #22d3c5}
.lg-turbo{border-radius:50%;background:radial-gradient(circle at 35% 35%,#efe4ff,#9b6cf0 55%,#5b2bb8);box-shadow:0 0 10px #9b6cf0}
.lg-lag{background:linear-gradient(180deg,#ff5d73,#c0264a)}
.lg-low{height:.8rem;background:repeating-linear-gradient(-45deg,#fbbf24 0 5px,#1f2240 5px 10px)}
.lg-high{height:.6rem;align-self:flex-start;margin-top:.3rem;background:linear-gradient(90deg,#f43f5e,#9b6cf0)}
.gm-help{font-size:.8rem!important}
.gm-help .touch{display:none}
@media (pointer:coarse){.gm-help .touch{display:inline}.gm-help .kb{display:none}}
.gm-best{font-size:.88rem}
.gm-best b,.gm-panel b{color:#fff}
.gm-new{font-family:var(--display);font-weight:700;color:#fbbf24!important;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem!important}
.gm-result{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;width:100%}
.gm-result div{padding:.7rem .4rem;border-radius:.8rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.gm-result small{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#8f96b8}
.gm-result b{font-family:var(--display);font-size:1.4rem}
.gm-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}

.gm-touch{position:absolute;left:0;right:0;bottom:max(1rem,env(safe-area-inset-bottom));display:none;justify-content:center;gap:.6rem;pointer-events:none}
.gm.playing .gm-touch{display:flex}
.gm-touch button{pointer-events:auto;width:3.4rem;height:3.4rem;border-radius:1rem;background:rgba(10,13,36,.55);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:1.3rem;font-weight:700;-webkit-tap-highlight-color:transparent}
.gm-touch button:active{background:rgba(79,124,247,.45)}
@media (pointer:fine){.gm.playing .gm-touch{display:none}}
