@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#090e1b;--panel:#10192b;--panel-hi:#15223a;--line:#293852;--text:#edf5ff;--muted:#91a0b8;--cyan:#56e4d1;--gold:#ffc96b;--pink:#fa7098;--violet:#a995ff;--mono:'DM Mono',monospace;--sans:'Space Grotesk',system-ui,sans-serif}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 52% -20%,#172947 0,transparent 58%),var(--bg);color:var(--text);font-family:var(--sans);overflow-x:hidden}.noise{position:fixed;inset:0;pointer-events:none;z-index:2;opacity:.12;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(183,229,255,.08) 4px);mix-blend-mode:screen}.topbar{height:68px;padding:0 clamp(20px,5vw,72px);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(139,168,206,.13);position:relative;z-index:3;background:rgba(8,13,25,.62);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;color:#dcecff;text-decoration:none;font:500 12px var(--mono);letter-spacing:.14em}.brand b{color:var(--cyan);font-weight:500}.brand-mark{width:19px;height:19px;display:grid;grid-template-columns:repeat(2,7px);grid-template-rows:repeat(2,7px);gap:2px;transform:rotate(-8deg)}.brand-mark i{background:var(--cyan);box-shadow:0 0 8px #56e4d188}.brand-mark i:nth-child(2){opacity:.55}.brand-mark i:nth-child(3){opacity:.75}.top-status{font:10px var(--mono);letter-spacing:.12em;color:#9aacc3;display:flex;align-items:center;gap:9px}.status-dot{width:7px;height:7px;background:#5a6477;border-radius:50%;box-shadow:0 0 0 3px #5a647722}.status-dot.online{background:var(--cyan);box-shadow:0 0 12px #56e4d1aa}.app-shell{max-width:1280px;margin:0 auto;padding:clamp(24px,4vw,56px) clamp(18px,4vw,56px) 60px;position:relative;z-index:1}.eyebrow{font:10px var(--mono);letter-spacing:.18em;color:var(--cyan);text-transform:uppercase;display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';height:1px;width:20px;background:currentColor}.muted{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(40px,7vw,76px);letter-spacing:-.065em;line-height:.95;margin:22px 0 18px;max-width:760px}h1 em{font-style:normal;color:var(--cyan)}h2{font-size:clamp(25px,4vw,38px);letter-spacing:-.045em;line-height:1.05;margin:8px 0 12px}h3{font-size:17px;letter-spacing:-.02em;margin:0 0 8px}.lead{color:#aebbd0;font-size:16px;line-height:1.6;max-width:570px}.landing{display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:5vw;min-height:calc(100vh - 150px)}.hero-copy{padding-bottom:4vh}.hero-copy h1{max-width:640px}.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.btn{border:1px solid var(--line);border-radius:3px;background:#152039;color:var(--text);font:500 13px var(--sans);padding:13px 18px;cursor:pointer;transition:transform .16s,border-color .16s,background .16s;min-height:46px}.btn:hover{transform:translateY(-2px);border-color:#6883a8;background:#1b2a47}.btn:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.btn.primary{background:var(--cyan);color:#07171b;border-color:var(--cyan);font-weight:700;box-shadow:0 0 24px #56e4d11f}.btn.primary:hover{background:#82f3e4}.btn.gold{background:var(--gold);border-color:var(--gold);color:#221706}.btn.small{padding:9px 12px;min-height:38px;font-size:11px}.art-frame{border:1px solid #324562;background:#0d1627;padding:8px;position:relative;box-shadow:0 20px 70px #02071188}.art-frame:before,.art-frame:after{content:'';position:absolute;width:13px;height:13px;border-color:var(--cyan);border-style:solid;z-index:1}.art-frame:before{left:-1px;top:-1px;border-width:1px 0 0 1px}.art-frame:after{right:-1px;bottom:-1px;border-width:0 1px 1px 0}.pixel-canvas{display:block;width:100%;height:auto;image-rendering:pixelated;background:#101c30}.canvas-caption{position:absolute;left:16px;bottom:14px;font:9px var(--mono);letter-spacing:.12em;color:#d7ebff;text-shadow:0 1px 5px #000}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:34px;max-width:720px}.entry-card,.panel{border:1px solid var(--line);background:linear-gradient(145deg,#121e32,#0e1728);padding:22px;position:relative}.entry-card:after{content:'';position:absolute;top:-1px;left:22px;width:34px;height:2px;background:var(--cyan)}.entry-card.join:after{background:var(--gold)}.entry-card p{color:var(--muted);font-size:13px;line-height:1.5;min-height:40px}.entry-card .btn{width:100%}.join-form{display:grid;gap:9px}.input-label{font:10px var(--mono);letter-spacing:.1em;color:#95a9c4;text-transform:uppercase}.field{width:100%;border:1px solid #344660;background:#080f1c;border-radius:2px;color:var(--text);font:14px var(--mono);padding:12px 13px;min-height:46px}.field::placeholder{color:#53627a}.field.code{text-transform:uppercase;letter-spacing:.18em}.meta-line{font:10px var(--mono);letter-spacing:.08em;color:#8294af}.game-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:21px}.game-heading{max-width:730px}.game-heading h1{font-size:clamp(34px,5vw,58px);margin:12px 0}.game-heading .lead{font-size:14px;margin-bottom:0}.screen-top-actions{display:flex;align-items:center;gap:10px}.timer-box,.room-code-box{border:1px solid var(--line);background:#101a2c;padding:10px 14px;min-width:128px}.timer-label,.code-label{font:9px var(--mono);letter-spacing:.14em;color:#8495af;text-transform:uppercase}.timer-value{font:22px var(--mono);color:var(--cyan);letter-spacing:.08em;margin-top:2px}.timer-value.danger{color:var(--pink);animation:tick-warning .8s steps(2,end) infinite}.code-value{font:20px var(--mono);color:var(--gold);letter-spacing:.2em;margin-top:2px}.screen-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(265px,.8fr);gap:15px;align-items:stretch}.scene-wrap{position:relative}.scene-wrap .art-frame{height:100%;min-height:240px;display:flex;flex-direction:column}.scene-wrap .pixel-canvas{flex:1;min-height:225px;height:100%;object-fit:cover}.scene-tag{position:absolute;top:17px;left:18px;background:#08101dd9;border:1px solid #34445e;padding:7px 10px;font:9px var(--mono);letter-spacing:.12em;color:var(--cyan);z-index:1}.panel{padding:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-head h3{margin:0}.count-badge{font:10px var(--mono);color:var(--cyan);border:1px solid #315c60;padding:5px 8px}.player-list{display:grid;gap:8px}.player-row{display:flex;align-items:center;gap:11px;padding:10px 11px;background:#0b1423;border:1px solid #1e2c42;min-height:54px;animation:arrive .28s ease-out both}.player-avatar{height:28px;width:28px;display:grid;place-items:center;background:#1b2e45;color:#94b6d2;font:11px var(--mono);border:1px solid #34506a;image-rendering:pixelated}.player-name{font-size:13px;font-weight:600;flex:1}.player-state{font:9px var(--mono);letter-spacing:.06em;color:#7789a2}.player-state.solved{color:var(--cyan)}.pixel-check{color:var(--cyan);font-size:14px}.empty-players{color:#8190a7;font-size:12px;line-height:1.6;padding:18px 8px;text-align:center;border:1px dashed #2d3c54}.activity-panel{margin-top:15px}.activity-list{display:grid;gap:10px;max-height:180px;overflow:auto}.activity-item{display:grid;grid-template-columns:8px 1fr;gap:9px;color:#a6b4c9;font-size:11px;line-height:1.45}.activity-item:before{content:'';width:5px;height:5px;background:var(--cyan);margin-top:5px;box-shadow:0 0 8px #56e4d177}.activity-item:first-child{color:#e4edf8}.lobby-bar{margin-top:15px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;border:1px solid #344561;background:#111d31}.invite-info strong{display:block;font:15px var(--mono);color:var(--gold);letter-spacing:.08em;margin:3px 0}.invite-info span{font-size:11px;color:#91a1b7}.phase-panel{padding:23px;margin-bottom:16px;border-color:#345169;background:linear-gradient(130deg,#14253a,#10182a);position:relative;overflow:hidden}.phase-panel:after{content:'';position:absolute;right:-45px;top:-52px;width:140px;height:140px;border:1px solid #56e4d123;transform:rotate(45deg);box-shadow:0 0 0 12px #56e4d10a,0 0 0 26px #56e4d108}.phase-panel[data-phase="team"]{border-color:#66569a}.phase-panel[data-phase="team"]:after{border-color:#a995ff44;box-shadow:0 0 0 12px #a995ff0e,0 0 0 25px #a995ff0b}.phase-panel[data-phase="complete"]{border-color:#9b7841}.phase-panel[data-phase="complete"]:after{border-color:#ffc96b44;box-shadow:0 0 0 12px #ffc96b0e,0 0 0 25px #ffc96b0b}.phase-kicker{font:10px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px}.phase-panel[data-phase="team"] .phase-kicker{color:var(--violet)}.phase-panel[data-phase="complete"] .phase-kicker{color:var(--gold)}.phase-panel p{font-size:13px;line-height:1.6;color:#afbdd1;max-width:580px;margin:0}.challenge-card{margin-top:15px;border:1px solid #34445d;background:#0b1322;padding:20px;position:relative}.challenge-card:before{content:'◈';position:absolute;right:17px;top:15px;color:#56e4d188;font-size:19px}.challenge-card h3{color:#f1f6ff;font-size:18px}.challenge-card p{color:#b5c4d8;line-height:1.6;font-size:14px;margin:10px 0 16px;max-width:620px}.answer-form{display:flex;gap:8px;max-width:540px}.answer-form .field{flex:1}.solved-banner{margin-top:14px;color:var(--cyan);font:11px var(--mono);letter-spacing:.08em;padding:10px 12px;border:1px solid #2d6662;background:#10302d66}.player-layout{max-width:900px;margin:0 auto}.player-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.player-name-tag{font:11px var(--mono);color:var(--gold);letter-spacing:.08em}.player-art{margin-bottom:12px;max-height:175px;overflow:hidden}.player-art .pixel-canvas{height:175px;max-height:175px;object-fit:cover}.player-progress{display:flex;gap:6px;margin-top:14px}.progress-pixel{flex:1;height:6px;background:#1c2940;border:1px solid #31415b}.progress-pixel.done{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 10px #56e4d155}.share-code{font:12px var(--mono);letter-spacing:.16em;color:var(--gold)}.toast{position:fixed;z-index:10;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:12px 17px;border:1px solid #426273;background:#101d2c;color:#e9f7ff;font:12px var(--mono);box-shadow:0 8px 30px #0008;transition:opacity .2s,transform .2s;max-width:min(90vw,560px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{border-color:#88465c;color:#ffc0cd}.state-flash{animation:state-flash .7s steps(2,end)}.complete-mark{color:var(--gold)}.footnote{color:#687a95;font:9px var(--mono);letter-spacing:.08em;margin-top:18px}.pixel-divider{height:1px;background:linear-gradient(90deg,var(--cyan),transparent);margin:20px 0}.subtle-link{color:#aebbd0;font-size:12px;text-decoration:none;border-bottom:1px solid #546982;padding-bottom:2px}.subtle-link:hover{color:var(--cyan)}
@keyframes pulse{50%{opacity:.48;box-shadow:0 0 0 6px #56e4d111}}@keyframes arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes tick-warning{to{opacity:.45}}@keyframes state-flash{0%,100%{filter:none}35%{filter:brightness(1.65) saturate(1.3)}}
@media(max-width:850px){.landing{grid-template-columns:1fr;gap:26px;min-height:0}.hero-copy{padding-bottom:0}.landing-art{max-width:700px}.screen-grid{grid-template-columns:1fr}.screen-top-actions{align-items:flex-end}.scene-wrap .art-frame{min-height:220px}.scene-wrap .pixel-canvas{min-height:205px}.game-head{align-items:center}.screen-grid .side-stack{display:grid;grid-template-columns:1fr 1fr;gap:12px}.activity-panel{margin-top:0}.activity-list{max-height:150px}}
@media(max-width:560px){.topbar{height:58px;padding:0 17px}.top-status{font-size:8px}.app-shell{padding:25px 16px 44px}.landing{gap:23px}.hero-copy h1{font-size:46px}.lead{font-size:14px}.entry-grid{grid-template-columns:1fr;margin-top:25px}.entry-card p{min-height:0}.game-head{display:block}.screen-top-actions{margin-top:14px;justify-content:space-between}.timer-box,.room-code-box{min-width:0;flex:1}.timer-value,.code-value{font-size:17px}.screen-grid .side-stack{grid-template-columns:1fr}.activity-panel{margin-top:0}.lobby-bar{align-items:flex-start;flex-direction:column}.lobby-bar .btn{width:100%}.answer-form{flex-direction:column}.answer-form .btn{width:100%}.player-top{align-items:flex-start}.scene-wrap .art-frame{min-height:190px}.scene-wrap .pixel-canvas{min-height:175px}}
.stage-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:10px 13px;border-left:2px solid #fa7098;background:#141728;font:10px var(--mono);letter-spacing:.07em;color:#bfccdf}.stage-strip strong{color:#f5f6ff;font-weight:500}.stage-strip span{white-space:nowrap}.timeline-strip{border-color:#75b6ff}.circuit-strip{border-color:#ffc96b}.signal-groups{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.signal-team{padding:8px 10px;border:1px solid #34445d;background:#101b2d;display:grid;gap:5px;min-width:148px}.signal-team strong{font:10px var(--mono);color:#f3f7ff}.signal-team span{font:9px var(--mono);letter-spacing:.04em;color:#b8c8dc}.color-chip{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%}.color-chip.cyan{background:#56e4d1}.color-chip.violet{background:#b49aff}.color-chip.amber{background:#ffc96b}.color-chip.green{background:#63d29a}.circuit-clues .input-label{color:#ffc96b}.circuit-clue{padding:8px 10px;background:#121f31;border-left:2px solid #ffc96b;color:#d9d6c9;font-size:12px;line-height:1.4}.relay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0}.relay-switch{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;min-height:86px;padding:10px 6px;background:#101b2d;border:1px solid #4b5360;color:#d6deea;cursor:pointer;transition:background .16s,border-color .16s,transform .16s}.relay-switch:hover{transform:translateY(-2px);border-color:#ffc96b}.relay-switch.on{background:#33291a;border-color:#ffc96b;color:#fff0b2;box-shadow:inset 0 0 15px #ffc96b18}.relay-lamp{width:15px;height:15px;border:3px solid #566070;border-radius:50%;background:#263141}.relay-switch.on .relay-lamp{background:#ffc96b;border-color:#fff0b2;box-shadow:0 0 13px #ffc96b99}.relay-switch strong{font:10px var(--mono)}.relay-switch small{font:8px var(--mono);letter-spacing:.08em;color:#8493a8}.relay-switch.on small{color:#ffd889}.player-layout[data-phase="circuit"] .player-art{max-height:100px;margin-bottom:8px}.player-layout[data-phase="circuit"] .player-art .pixel-canvas{height:100px;max-height:100px}.player-layout[data-phase="circuit"] .phase-panel{padding:14px;margin-bottom:10px}.player-layout[data-phase="circuit"] .challenge-card{margin-top:10px;padding:14px}.player-layout[data-phase="circuit"] .signal-clues{gap:4px;margin:8px 0;padding:9px}.player-layout[data-phase="circuit"] .relay-switch{min-height:68px}
.player-layout[data-phase="signals"] .player-art{max-height:100px;margin-bottom:8px}.player-layout[data-phase="signals"] .player-art .pixel-canvas{height:100px;max-height:100px}.player-layout[data-phase="signals"] .phase-panel{padding:14px;margin-bottom:10px}.player-layout[data-phase="signals"] .challenge-card{margin-top:10px;padding:14px}.player-layout[data-phase="signals"] .signal-clues{gap:4px;margin:8px 0;padding:9px}.player-layout[data-phase="signals"] .signal-clue{padding:6px 8px}.player-layout[data-phase="signals"] .signal-pad{min-height:60px}.player-layout[data-phase="timeline"] .player-art{max-height:110px;margin-bottom:10px}.player-layout[data-phase="timeline"] .player-art .pixel-canvas{height:110px;max-height:110px}.player-layout[data-phase="timeline"] .phase-panel{padding:14px;margin-bottom:10px}.player-layout[data-phase="timeline"] .challenge-card{margin-top:10px;padding:14px}.player-layout[data-phase="timeline"] .signal-clues{gap:4px;margin:10px 0;padding:9px}.player-layout[data-phase="timeline"] .timeline-clue{padding:6px 8px}.player-layout[data-phase="timeline"] .timeline-board{gap:6px;margin:10px 0}.player-layout[data-phase="timeline"] .timeline-card{min-height:38px;padding:6px 9px}.stage-board{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:19px 22px;margin-top:15px;border:1px solid #354863;background:linear-gradient(120deg,#111e31,#0b1423)}.stage-board p{margin:0;color:#aebbd0;font-size:13px;line-height:1.55}.signal-board{border-color:#653d58}.signal-meter{display:flex;gap:5px;margin:12px 0 8px}.meter-pixel{height:7px;flex:1;border:1px solid #3b4056;background:#141d2d}.meter-pixel.lit{background:var(--pink);border-color:var(--pink);box-shadow:0 0 10px #fa709988}.pad-preview{display:grid;grid-template-columns:repeat(2,18px);gap:8px;flex:none}.pad-preview i{width:18px;height:18px;border:3px solid #0d1727;animation:pad-blink 1.1s steps(2,end) infinite}.pad-cyan{background:#56e4d1}.pad-amber{background:#ffc96b;animation-delay:.2s!important}.pad-violet{background:#b49aff;animation-delay:.4s!important}.pad-green{background:#63d29a;animation-delay:.6s!important}.signal-clues{display:grid;gap:7px;margin:16px 0;padding:13px;border:1px solid #34445d;background:#0a1321}.signal-clue{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#121f31;border-left:2px solid var(--pink);font:11px var(--mono);color:#aebbd0}.signal-clue strong{color:#fff;font-size:13px}.signal-hud{display:flex;justify-content:space-between;font:10px var(--mono);letter-spacing:.1em;color:#aebbd0;margin:12px 0}.signal-pad-grid{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:9px}.signal-pad{min-height:76px;border:1px solid #33455e;border-radius:2px;background:#132139;cursor:pointer;color:white;font-size:21px;transition:transform .14s,filter .14s,box-shadow .14s}.signal-pad:hover{transform:translateY(-2px);filter:brightness(1.25);box-shadow:0 0 16px #ffffff18}.signal-pad:active{transform:translateY(1px)}.signal-pad small{display:block;margin-top:6px;font:9px var(--mono);letter-spacing:.08em}.signal-pad.cyan{color:#56e4d1;border-color:#32615f}.signal-pad.amber{color:#ffc96b;border-color:#66563a}.signal-pad.violet{color:#b49aff;border-color:#514572}.signal-pad.green{color:#63d29a;border-color:#39634f}.timeline-clue{padding:9px 10px;background:#121f31;border-left:2px solid #75b6ff;color:#c5d6e9;font-size:12px;line-height:1.4}.timeline-board{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.timeline-card{display:flex;align-items:center;gap:10px;min-height:48px;padding:9px 11px;text-align:left;border:1px solid #34445d;background:#101b2d;color:#dce8f6;font:12px var(--sans);line-height:1.35}.timeline-board:not(.readonly) .timeline-card{cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.timeline-board:not(.readonly) .timeline-card:hover{border-color:#75b6ff;transform:translateY(-1px)}.timeline-card.selected{border-color:#75b6ff;background:#18304b;box-shadow:inset 0 0 0 1px #75b6ff55}.timeline-rank{display:grid;place-items:center;width:22px;height:22px;flex:none;border:1px solid #40526c;color:#88a1bf;font:11px var(--mono)}.timeline-card.selected .timeline-rank{border-color:#75b6ff;color:#d9ecff}.timeline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.timeline-actions .meta-line{margin-right:auto}.timeline-actions button:disabled{opacity:.42;cursor:not-allowed;transform:none}@keyframes pad-blink{0%,100%{opacity:.42;filter:brightness(.75)}50%{opacity:1;filter:brightness(1.5);box-shadow:0 0 12px currentColor}}@media(max-width:560px){.stage-strip{align-items:flex-start;flex-direction:column;gap:5px}.stage-strip span{white-space:normal}.stage-board{align-items:flex-start;padding:15px;gap:14px}.pad-preview{margin-top:2px}.signal-pad-grid{grid-template-columns:repeat(2,1fr)}.timeline-board{grid-template-columns:1fr}.timeline-actions{align-items:stretch}.timeline-actions .meta-line{width:100%}.timeline-actions button{flex:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}


/* --- Minijuegos registrados: grillas, medidores y paneles compartidos --- */
.minigame-clue{padding:9px 12px;margin:6px 0;border:1px solid rgba(139,168,206,.2);border-left:3px solid var(--cyan);background:rgba(15,24,40,.72);font:400 13px/1.5 var(--mono);color:#dcecff}
.mg-stage{margin:16px 0 4px}
.mg-panel{padding:16px 18px;border:1px solid rgba(139,168,206,.18);background:rgba(12,20,34,.72)}
.mg-note{margin:12px 0;padding-left:10px;border-left:2px solid rgba(139,168,206,.32);font:400 12px/1.6 var(--mono);color:var(--muted)}
.mg-grid{display:grid;gap:3px;width:max-content;margin:12px 0}
.mg-row{display:flex;gap:3px}
.mg-cell,.mg-mirror-cell{width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid rgba(86,228,209,.22);background:#0b1524;color:var(--muted);font:600 13px var(--mono);cursor:pointer;transition:background .12s,box-shadow .12s,border-color .12s}
.mg-cell:hover,.mg-mirror-cell:hover{border-color:var(--cyan)}
.mg-cell.on,.mg-mirror-cell.on{background:linear-gradient(180deg,var(--cyan),#2b8f84);border-color:var(--cyan);color:#04140f;box-shadow:0 0 8px rgba(86,228,209,.35)}
.mg-cell.blocked{background:#050b15;border-color:rgba(139,168,206,.14);cursor:default}
.mg-cell:disabled{cursor:default;opacity:.6}
.mg-cell.lit{border-color:var(--gold);color:var(--gold);box-shadow:inset 0 0 10px rgba(255,201,107,.35)}
/* Rótulos de referencia. Por defecto se acomodan solos (los usan cuadros con textos largos);
   la variante .numeric mantiene las columnas de 24px para que coincidan con una grilla. */
.mg-col-clues{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;margin:0 0 10px}
.mg-col-clues span{width:auto;min-width:24px;text-align:left;font:500 11px/1.5 var(--mono);color:var(--muted)}
.mg-col-clues span b{display:block;color:var(--cyan);margin-bottom:2px}
.mg-col-clues.numeric{gap:3px}
.mg-col-clues.numeric span{width:24px;min-width:24px;text-align:center;font:500 10px/1.3 var(--mono)}
.mg-col-clues.numeric span b{margin-bottom:0}
.mg-keys{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.mg-keys span{display:flex;gap:4px;align-items:baseline;padding:3px 6px;border:1px solid rgba(139,168,206,.16);font:500 11px var(--mono);color:var(--muted)}
.mg-keys span b{color:var(--cyan)}
.mg-slot{display:flex;align-items:center;gap:12px;padding:8px 12px;margin:5px 0;border:1px solid rgba(139,168,206,.18);background:rgba(11,21,36,.7);font:500 13px var(--mono)}
.mg-slot.done{border-color:rgba(86,228,209,.4);background:rgba(16,40,44,.5)}
.mg-slot-rank{min-width:18px;color:var(--muted)}
.mg-slot-letters{flex:1;letter-spacing:.32em;color:#dcecff}
.mg-slot-state{font-size:11px;color:var(--muted)}
.mg-choices{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.mg-attempts{margin:12px 0 4px}
.mg-attempt{display:flex;justify-content:space-between;gap:12px;padding:6px 10px;margin:4px 0;border-left:2px solid rgba(255,201,107,.45);background:rgba(11,21,36,.7);font:500 12px var(--mono);color:#dcecff}
.mg-attempt small{color:var(--muted)}
.mg-timer{font:600 20px var(--mono);color:var(--gold);letter-spacing:.08em}
.mg-meters{display:flex;gap:18px;align-items:flex-end;margin:14px 0}
.mg-meter{position:relative;display:block;width:34px;height:130px;border:1px solid rgba(139,168,206,.24);background:#070f1c;overflow:hidden}
.mg-meter-bar{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,var(--cyan),#1f6f68)}
.mg-meter-zone{position:absolute;left:0;right:0;bottom:55%;height:30%;border-top:1px dashed rgba(255,201,107,.5);border-bottom:1px dashed rgba(255,201,107,.5);background:rgba(255,201,107,.08)}
.mg-meter.low .mg-meter-bar{background:linear-gradient(180deg,#ff8c76,#8c3220)}
.mg-meter.high .mg-meter-bar{background:linear-gradient(180deg,#fa7098,#7a2547)}
.mg-meter.danger{box-shadow:0 0 12px rgba(250,112,152,.5)}
.mg-meter-label{display:block;text-align:center;font:500 10px var(--mono);color:var(--muted);margin-top:6px}
.mg-scoreboard{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}
.mg-scoreboard span{display:flex;gap:7px;padding:5px 9px;border:1px solid rgba(139,168,206,.18);font:500 11px var(--mono);color:var(--muted)}
.mg-scoreboard span b{color:var(--text)}
.minigame-help{font:400 12px/1.6 var(--mono);color:var(--muted);margin:4px 0 10px}
.hint-panel{margin-top:16px;border-left:3px solid var(--gold)}
.hint-panel .activity-item{border-left-color:rgba(255,201,107,.4)}
.hint-panel .btn.small{margin-top:10px}

/* Índices de fila/columna: las pistas hablan de "fila 3" y "columna 5", así que la grilla
   tiene que numerarse para poder dictar coordenadas en voz alta. */
.mg-index{width:24px;min-width:24px;padding:0;display:flex;align-items:center;justify-content:center;border:none;background:transparent;font:500 10px var(--mono);color:var(--muted)}
