/* Orbi Play 1.2 · Campo minado (orbi-mines.js). Cores dos tokens --o-* (temas claro e escuro); moldura âmbar como o logo.
   Medidas: --op-board (lado do tabuleiro, calculado pelo fit do orbi-play), --n (casas por lado), --pad e --gap do tabuleiro.
   Bônus e efeitos ficam numa camada por cima do tabuleiro e se posicionam por linha (--r) e coluna (--c). */
.mn{--mn-mana:#3d8bff;display:grid;gap:var(--op-gap);justify-content:center;align-items:start}
.mn[data-layout=row]{grid-template-columns:230px var(--op-board) 260px}
.mn[data-layout=stack]{grid-template-columns:minmax(0,var(--op-board))}
.mn[data-layout=row] .mn-side{max-height:calc(var(--op-board) + 46px);overflow-y:auto}
.mn-side{display:grid;align-content:start;gap:12px;padding:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--o-brand) 6%,var(--o-surface)),var(--o-surface) 60%);border-color:color-mix(in srgb,var(--o-brand) 20%,var(--o-line))}
.mn-label{display:block;color:var(--o-muted);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}

/* placar */
.mn-hud{text-align:center}
.mn-mascot{display:grid;place-items:center;min-height:96px}
.mn-phase strong{display:block;font-size:22px;font-weight:800;color:var(--o-text-strong)}
.mn-pips{display:flex;justify-content:center;gap:5px;margin:6px 0 5px;padding:0;list-style:none}
.mn-pips li{width:22px;height:6px;border-radius:999px;background:var(--o-surface-3)}
.mn-pips li.done{background:var(--o-brand)}
.mn-pips li.cur{background:color-mix(in srgb,var(--o-brand) 40%,var(--o-surface-3));box-shadow:inset 0 0 0 1px var(--o-brand);animation:mn-pip 1.6s ease-in-out infinite}
.mn-phase small{color:var(--o-muted);font-size:12px}
.mn-stat{padding:8px 10px;border-radius:var(--o-radius-sm);background:var(--o-surface-2);border:1px solid var(--o-line)}
.mn-stat strong{display:block;font-size:22px;font-weight:800;line-height:1.25;color:var(--o-text-strong);font-variant-numeric:tabular-nums}
.mn-score strong{font-size:28px;color:var(--o-brand-text)}
.mn-score strong.fx-bump{animation:mn-bump .35s ease-out}

/* tempo */
.mn-center{display:grid;gap:10px;width:var(--op-board);min-width:0}
.mn-time{display:flex;align-items:center;gap:10px;height:36px;padding:0 12px;border-radius:999px;background:var(--o-surface);border:1px solid var(--o-line);color:var(--o-brand-text)}
.mn-time .mn-ico{flex:none;width:18px;height:18px}
.mn-track{position:relative;flex:1;height:10px;overflow:hidden;border-radius:999px;background:var(--o-surface-3)}
.mn-track i{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,var(--o-brand-deep),var(--o-brand));box-shadow:0 0 12px color-mix(in srgb,var(--o-brand) 55%,transparent);transition:width .12s linear}
.mn-time b{min-width:46px;text-align:right;font-size:17px;font-weight:800;color:var(--o-text-strong);font-variant-numeric:tabular-nums}
.mn-time.low{color:var(--o-danger);border-color:color-mix(in srgb,var(--o-danger) 50%,var(--o-line))}
.mn-time.low .mn-track i{background:linear-gradient(90deg,#a3241b,var(--o-danger));box-shadow:0 0 12px color-mix(in srgb,var(--o-danger) 55%,transparent)}
.mn-time.low b{color:var(--o-danger)}
.mn-time.crit{animation:mn-pulse .5s ease-in-out infinite alternate}
.mn-time.fx-gain{animation:mn-gain .8s ease-out}

/* tabuleiro */
.mn-stage{--pad:6px;--gap:3px;--mn-tile:color-mix(in srgb,var(--o-text) 13%,var(--o-surface-2));--mn-tile-hi:color-mix(in srgb,var(--o-text) 22%,var(--o-surface-2));
  --mn-open:color-mix(in srgb,var(--o-bg) 55%,var(--o-surface));--mn-open-line:color-mix(in srgb,var(--o-text) 7%,transparent);--mn-sunk:color-mix(in srgb,var(--o-bg) 55%,var(--mn-tile));
  --mn-n1:#5aa8ff;--mn-n2:#4cc38a;--mn-n3:#ff6b6b;--mn-n4:#c08cff;--mn-n5:#ff9f43;--mn-n6:#2ec4c4;--mn-n7:var(--o-text-strong);--mn-n8:var(--o-muted);
  position:relative;width:var(--op-board);height:var(--op-board);container-type:inline-size}
html[data-theme=light] .mn-stage{--mn-tile:color-mix(in srgb,var(--o-text) 17%,var(--o-surface));--mn-tile-hi:color-mix(in srgb,var(--o-text) 8%,var(--o-surface));
  --mn-open:var(--o-surface);--mn-open-line:color-mix(in srgb,var(--o-text) 11%,transparent);--mn-sunk:color-mix(in srgb,var(--o-text) 25%,var(--o-surface));
  --mn-n1:#1d5fd1;--mn-n2:#17804f;--mn-n3:#c62828;--mn-n4:#7b3fd1;--mn-n5:#b35900;--mn-n6:#0f7c7c}
.mn-board{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));grid-template-rows:repeat(var(--n),minmax(0,1fr));gap:var(--gap);padding:var(--pad);
  border-radius:14px;border:1px solid color-mix(in srgb,var(--o-brand) 42%,var(--o-line-strong));
  background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--o-brand) 9%,var(--o-bg-2)),var(--o-bg) 78%);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--o-brand) 10%,transparent),inset 0 0 0 1px rgba(0,0,0,.3),0 18px 40px -18px rgba(0,0,0,.6);
  user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;transition:filter .25s,box-shadow .25s,border-color .25s}
html[data-theme=light] .mn-board{background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--o-brand) 12%,var(--o-surface-2)),var(--o-surface-2) 78%);box-shadow:0 0 0 3px color-mix(in srgb,var(--o-brand) 14%,transparent),0 14px 30px -18px rgba(0,0,0,.35)}
.mn-c{appearance:none;position:relative;display:grid;place-items:center;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:max(3px,calc(100cqw / var(--n) * .14));
  background:linear-gradient(180deg,var(--mn-tile-hi),var(--mn-tile));box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 -2px 0 rgba(0,0,0,.32),0 1px 0 rgba(0,0,0,.2);
  color:var(--o-text-strong);font-family:inherit;font-size:calc(100cqw / var(--n) * .5);font-weight:850;line-height:1;cursor:pointer;
  transition:transform .08s ease,box-shadow .12s ease,background-color .15s ease}
.orbi-play .mn-c:focus-visible{outline:2px solid var(--o-brand);outline-offset:-2px;z-index:2}
.mn-c .mn-ico{width:62%;height:62%;pointer-events:none}
@media (hover:hover){.mn-board:not(.over) .mn-c:is([data-s="#"],[data-s=F]):hover{background:linear-gradient(180deg,color-mix(in srgb,var(--o-brand) 24%,var(--mn-tile-hi)),color-mix(in srgb,var(--o-brand) 12%,var(--mn-tile)))}}
.mn-c.down,.mn-c.wait{transform:translateY(1px) scale(.93);background:var(--mn-sunk);box-shadow:inset 0 2px 4px rgba(0,0,0,.45)}
.mn-c.wait{transition-duration:.04s}
.mn-c.hold{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--o-brand) 70%,transparent)}
.mn-c:is([data-s="0"],[data-s="1"],[data-s="2"],[data-s="3"],[data-s="4"],[data-s="5"],[data-s="6"],[data-s="7"],[data-s="8"]){background:var(--mn-open);box-shadow:inset 0 0 0 1px var(--mn-open-line)}
.mn-c[data-s="0"]{cursor:default}
.mn-c[data-s="1"]{color:var(--mn-n1)}.mn-c[data-s="2"]{color:var(--mn-n2)}.mn-c[data-s="3"]{color:var(--mn-n3)}.mn-c[data-s="4"]{color:var(--mn-n4)}
.mn-c[data-s="5"]{color:var(--mn-n5)}.mn-c[data-s="6"]{color:var(--mn-n6)}.mn-c[data-s="7"]{color:var(--mn-n7)}.mn-c[data-s="8"]{color:var(--mn-n8)}
.mn-c[data-s=F]{color:var(--o-brand)}
html[data-theme=light] .mn-c[data-s=F]{color:var(--o-brand-deep)}
.mn-c[data-s=W]{color:var(--o-muted);background:var(--mn-open)}
.mn-cross{position:absolute;inset:16%;width:auto!important;height:auto!important;color:var(--o-danger)}
.mn-c[data-s=M]{background:color-mix(in srgb,var(--o-danger) 14%,var(--mn-open));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--o-danger) 25%,transparent);color:color-mix(in srgb,var(--o-text-strong) 80%,var(--o-danger))}
.mn-c[data-s=X]{z-index:2;background:radial-gradient(circle,#ffcf6b 0,#ff6a2b 45%,#c2160f 100%);box-shadow:0 0 0 2px rgba(255,90,40,.6),0 0 18px rgba(255,80,20,.75);color:#2a0805}
.mn-c[data-s=P]{background:color-mix(in srgb,var(--mn-mana) 22%,var(--mn-tile));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mn-mana) 55%,transparent);color:color-mix(in srgb,var(--o-text-strong) 70%,var(--mn-mana))}
.mn-c[data-s=D]{background:color-mix(in srgb,var(--o-success) 22%,var(--mn-open));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--o-success) 55%,transparent);color:color-mix(in srgb,var(--o-text-strong) 60%,var(--o-success))}
.mn-badge{position:absolute;right:4%;bottom:4%;width:44%!important;height:44%!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.6))}
.mn-c[data-s=P] .mn-badge{color:#8ec5ff}
.mn-c[data-s=D] .mn-badge{color:var(--o-success)}
.mn-board.over .mn-c{cursor:default}

/* animações das casas (--d = atraso pela distância até a jogada) */
.mn-c.fx-in{animation:mn-in .4s cubic-bezier(.2,.9,.3,1.25) var(--d,0ms) both}
.mn-c.fx-open{animation:mn-open .3s ease-out var(--d,0ms) both}
.mn-c.fx-mine{animation:mn-mine .42s ease-out var(--d,0ms) both}
.mn-c.fx-mine .mn-ico{animation:mn-mine-ico .42s ease-out var(--d,0ms) both}
.mn-c.fx-flag .mn-ico{animation:mn-flagin .3s cubic-bezier(.3,1.6,.5,1)}
.mn-c.fx-nope{animation:mn-nope .3s}

/* estados do palco */
.mn-stage.shielded .mn-board{border-color:color-mix(in srgb,var(--o-success) 70%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--o-success) 30%,transparent),0 0 26px color-mix(in srgb,var(--o-success) 35%,transparent);animation:mn-glow 1.8s ease-in-out infinite}
.mn-stage.targeting .mn-board{border-color:var(--mn-mana);box-shadow:0 0 0 3px color-mix(in srgb,var(--mn-mana) 30%,transparent)}
.mn-stage.targeting .mn-c:is([data-s="#"],[data-s=F]){cursor:crosshair}
@media (hover:hover){.mn-stage.targeting .mn-c:is([data-s="#"],[data-s=F]):hover{background:color-mix(in srgb,var(--mn-mana) 30%,var(--mn-tile));box-shadow:inset 0 0 0 2px var(--mn-mana)}}
.mn-stage.flagging .mn-board{border-style:dashed;border-color:var(--o-brand)}
.mn-stage.dim .mn-board,.mn-stage.dim .mn-layer{filter:saturate(.6) brightness(.5)}
html[data-theme=light] .mn-stage.dim .mn-board,html[data-theme=light] .mn-stage.dim .mn-layer{filter:saturate(.6) brightness(.82) blur(1px)}
.mn-stage.fx-shake{animation:mn-shake .5s cubic-bezier(.36,.07,.19,.97)}
.mn-stage.fx-timeout .mn-board{border-color:var(--o-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--o-danger) 35%,transparent),0 0 30px color-mix(in srgb,var(--o-danger) 35%,transparent)}
.mn-stage.fx-clear .mn-board{animation:mn-clear 1.1s ease-out}
.mn-stage.fx-shield-up .mn-board{animation:mn-shieldup .9s ease-out}

/* camada de bônus e efeitos */
.mn-layer{position:absolute;inset:1px;z-index:3;pointer-events:none;--cs:calc((100% - 2 * var(--pad) - (var(--n) - 1) * var(--gap)) / var(--n))}
.mn-tok,.mn-float,.mn-fx{position:absolute;left:calc(var(--pad) + var(--c) * (var(--cs) + var(--gap)));top:calc(var(--pad) + var(--r) * (var(--cs) + var(--gap)));width:var(--cs);height:var(--cs)}
.mn-tok{--tok:#5aa8ff;display:grid;place-items:center;transition:left .4s cubic-bezier(.3,1.35,.5,1),top .4s cubic-bezier(.3,1.35,.5,1)}
.mn-tok.clock{--tok:#ffc53d;color:#ffc53d}
html[data-theme=light] .mn-tok.clock{--tok:#d48b00;color:#b97800}
.mn-tok::before{content:"";position:absolute;inset:4%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--tok) 50%,transparent),transparent 70%)}
.mn-tok .mn-ico{position:relative;width:64%;height:64%;filter:drop-shadow(0 2px 3px rgba(0,0,0,.55));animation:mn-bob 1.7s ease-in-out infinite}
.mn-ring{position:absolute;inset:-4%;border-radius:50%;background:conic-gradient(var(--tok) calc(var(--p,1) * 360deg),color-mix(in srgb,var(--tok) 14%,transparent) 0);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px))}
.mn-tok b{position:absolute;right:-12%;bottom:-14%;padding:1px 3px;border-radius:5px;background:rgba(0,0,0,.78);color:#fff;font-size:max(9px,calc(100cqw / var(--n) * .26));font-weight:900;line-height:1.1;white-space:nowrap}
.mn-tok.fx-spawn{animation:mn-spawn .55s cubic-bezier(.3,1.6,.5,1)}
.mn-tok.ending{animation:mn-blink .36s steps(2,jump-none) infinite}
.mn-tok.fx-hop .mn-ico{animation:mn-hop .42s ease-out}
.mn-tok.fx-got{animation:mn-got .55s ease-out forwards}
.mn-tok.fx-gone{animation:mn-gone .5s ease-in forwards}
.mn-float{z-index:5;display:flex;align-items:center;justify-content:center;gap:2px;white-space:nowrap;color:#fff;font-size:max(13px,calc(100cqw / var(--n) * .42));font-weight:900;text-shadow:0 2px 6px rgba(0,0,0,.85);animation:mn-float 1.35s ease-out forwards}
.mn-float.mana{color:#a8d1ff}
.mn-float.clock{color:#ffd66b}
.mn-float .mn-ico{flex:none;width:1.1em;height:1.1em}
.mn-fx{z-index:6;display:grid;place-items:center}
.mn-fx i{position:absolute;border-radius:50%}
.mn-fx .mn-flash{inset:-130%;background:radial-gradient(circle,#fff 0,#ffe08a 16%,#ff8a00 36%,rgba(255,60,0,.5) 54%,transparent 70%);animation:mn-flash .65s ease-out forwards}
.mn-fx .mn-wave{inset:0;border:3px solid #ffb347;animation:mn-wave .75s ease-out forwards}
.mn-fx.scan .mn-wave{border-color:var(--mn-mana)}
.mn-fx.absorb .mn-wave{border:4px solid var(--o-success)}
.mn-fx .mn-bit{left:44%;top:44%;width:12%;height:12%;background:#ffb347;box-shadow:0 0 6px #ff8a00;animation:mn-bit .85s cubic-bezier(.2,.7,.3,1) forwards}
.mn-banner{position:absolute;left:50%;top:50%;z-index:7;display:grid;justify-items:center;gap:4px;padding:14px 26px;border-radius:16px;white-space:nowrap;text-align:center;
  background:color-mix(in srgb,var(--o-bg) 80%,transparent);border:1px solid color-mix(in srgb,var(--o-brand) 50%,transparent);box-shadow:0 10px 40px rgba(0,0,0,.45);backdrop-filter:blur(4px);
  transform:translate(-50%,-50%);animation:mn-banner 1.9s ease forwards}
html[data-theme=light] .mn-banner{background:color-mix(in srgb,var(--o-surface) 90%,transparent)}
.mn-banner strong{font-size:clamp(22px,8cqw,40px);font-weight:900;letter-spacing:-.02em;color:var(--o-brand-text)}
.mn-banner span{color:var(--o-text);font-size:13px;font-weight:650}
.mn-confetti{position:absolute;inset:0;z-index:6;overflow:hidden}
.mn-confetti i{position:absolute;top:-6%;left:var(--x);width:calc(8px * var(--s));height:calc(13px * var(--s));border-radius:2px;background:var(--c);opacity:0;animation:mn-conf 2.6s cubic-bezier(.25,.6,.4,1) var(--t) forwards}

/* fase concluída e fim de jogo */
.mn-overlay{position:absolute;inset:0;z-index:10;display:grid;place-items:center;padding:12px}
.mn-overlay[hidden]{display:none}
.mn-dialog,.mn-clear{display:grid;justify-items:center;gap:8px;width:min(340px,100%);max-height:100%;overflow:auto;padding:20px 22px 18px;text-align:center;border-radius:18px;
  background:var(--o-surface);border:1px solid color-mix(in srgb,var(--o-brand) 45%,var(--o-line-strong));box-shadow:0 24px 60px -12px rgba(0,0,0,.65),0 0 0 4px color-mix(in srgb,var(--o-brand) 10%,transparent);
  animation:mn-dlg .34s cubic-bezier(.2,1.25,.4,1)}
.mn-dialog h2,.mn-clear h2{margin:0;font-size:26px;font-weight:900;letter-spacing:-.02em;color:var(--o-text-strong)}
.mn-dialog.won h2{color:var(--o-brand-text)}
.mn-dialog-art{margin:-8px 0 -6px}
.mn-dialog p{margin:0}
.mn-dialog-score{font-size:15px;color:var(--o-text)}
.mn-dialog-score b{display:block;margin-top:2px;font-size:40px;font-weight:900;letter-spacing:-.02em;color:var(--o-brand-text);font-variant-numeric:tabular-nums}
.mn-dialog-why,.mn-dialog-best{font-size:13px;color:var(--o-muted)}
.mn-record{display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:999px;background:var(--o-brand);color:var(--o-brand-ink);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;animation:mn-pip 1.2s ease-in-out infinite}
.mn-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:6px}
.mn-dialog-actions .op-btn{padding:0 10px;white-space:nowrap}
.mn-clear-sum{display:grid;gap:4px;width:100%;margin:4px 0}
.mn-clear-sum div{display:flex;justify-content:space-between;gap:12px;padding:6px 10px;border-radius:8px;background:var(--o-surface-2);font-size:13px}
.mn-clear-sum dt{color:var(--o-muted)}
.mn-clear-sum dd{margin:0;font-weight:800;color:var(--o-brand-text);font-variant-numeric:tabular-nums}
.mn-clear-next{margin:0;font-size:13px;color:var(--o-text)}
.mn-clear small{font-size:11.5px;line-height:1.4}
.mn-clear .op-btn{min-width:170px}

/* habilidades e mana */
.mn-bar{display:grid;gap:12px}
.mn-abs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mn-ab{appearance:none;position:relative;display:grid;justify-items:center;align-content:center;gap:4px;min-height:68px;padding:16px 4px 7px;border-radius:12px;font-family:inherit;cursor:pointer;
  border:1px solid color-mix(in srgb,var(--o-brand) 28%,var(--o-line-strong));background:linear-gradient(180deg,var(--o-surface-3),var(--o-surface-2));color:var(--o-text-strong);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 2px 0 rgba(0,0,0,.22);transition:transform .08s,border-color .15s,box-shadow .15s,filter .15s,opacity .15s}
.mn-ab .mn-ico{width:26px;height:26px}
.mn-ab[data-mn-ab=probe] .mn-ico{color:#5aa8ff}
.mn-ab[data-mn-ab=shield] .mn-ico{color:var(--o-success)}
.mn-ab[data-mn-ab=flag] .mn-ico{color:var(--o-brand)}
html[data-theme=light] .mn-ab[data-mn-ab=probe] .mn-ico{color:#1d5fd1}
html[data-theme=light] .mn-ab[data-mn-ab=flag] .mn-ico{color:var(--o-brand-deep)}
.mn-ab-key{position:absolute;top:4px;left:6px;color:var(--o-muted);font-size:10px;font-weight:900}
.mn-ab-cost{position:absolute;top:4px;right:5px;padding:0 4px;border-radius:5px;background:color-mix(in srgb,var(--mn-mana) 22%,transparent);color:#8ec5ff;font-size:10px;font-weight:900;line-height:1.5}
html[data-theme=light] .mn-ab-cost{color:#1d4fb8}
.mn-ab-name{color:var(--o-text);font-size:11.5px;font-weight:750}
@media (hover:hover){.mn-ab:hover:not(:disabled){border-color:var(--o-brand);transform:translateY(-1px)}}
.mn-ab:active:not(:disabled){transform:translateY(1px)}
.mn-ab.on{border-color:var(--o-brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--o-brand) 45%,transparent),0 0 18px color-mix(in srgb,var(--o-brand) 30%,transparent)}
.mn-ab[data-mn-ab=probe].on{border-color:var(--mn-mana);box-shadow:0 0 0 2px color-mix(in srgb,var(--mn-mana) 50%,transparent),0 0 18px color-mix(in srgb,var(--mn-mana) 35%,transparent)}
.mn-ab[data-mn-ab=shield].on{border-color:var(--o-success);box-shadow:0 0 0 2px color-mix(in srgb,var(--o-success) 50%,transparent),0 0 18px color-mix(in srgb,var(--o-success) 35%,transparent);opacity:1}
.mn-ab.poor:not(.on) .mn-ico{filter:grayscale(.85);opacity:.55}
.mn-ab.poor .mn-ab-cost{background:color-mix(in srgb,var(--o-danger) 14%,transparent);color:#ff8f89}
html[data-theme=light] .mn-ab.poor .mn-ab-cost{color:#a3201c}
.mn-ab:disabled{cursor:not-allowed}
.mn-ab:disabled:not(.on){opacity:.45}
.mn-manabox{display:grid;gap:5px;min-width:0}
.mn-mana-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--o-muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.mn-mana-head b{color:#8ec5ff;font-size:13px;letter-spacing:0;white-space:nowrap;font-variant-numeric:tabular-nums}
html[data-theme=light] .mn-mana-head b{color:#1d4fb8}
.mn-mana{position:relative;height:14px;overflow:hidden;border-radius:7px;background:linear-gradient(180deg,#0b1730,#10203f);border:1px solid #1f3b70}
html[data-theme=light] .mn-mana{background:linear-gradient(180deg,#dfe9fb,#cfdcf5);border-color:#9fb8e6}
.mn-mana i{position:absolute;inset:0 auto 0 0;background:linear-gradient(180deg,#63a6ff,#2a6ff0 55%,#1b4fc0);box-shadow:inset 0 1px 0 rgba(255,255,255,.35);transition:width .35s ease}
.mn-tick{position:absolute;top:0;bottom:0;left:var(--at);width:2px;background:rgba(255,255,255,.3)}
.mn-tick.ok{background:rgba(255,255,255,.75)}
html[data-theme=light] .mn-tick{background:rgba(20,50,110,.3)}
html[data-theme=light] .mn-tick.ok{background:rgba(255,255,255,.85)}
.mn-mana.fx-gain{animation:mn-gain-mana .8s ease-out}
.mn-mana.fx-nope{animation:mn-nope .35s}
.mn-hint{margin:0;color:var(--o-brand-text);font-size:12.5px;font-weight:650;line-height:1.4}
.mn-hint:empty{display:none}
.mn-legend{display:grid;gap:7px;margin:0;padding:10px 0 0;border-top:1px solid var(--o-line);list-style:none;color:var(--o-text);font-size:12.5px}
.mn-legend li{display:flex;align-items:center;gap:8px}
.mn-legend .mn-ico{flex:none;width:18px;height:18px}
.mn-legend b{color:var(--o-text-strong)}
.mn-legend li.mn-legend-note{display:block;color:var(--o-muted);font-size:12px;line-height:1.45}
.mn-h-clock{color:#e0a000}
.mn-h-probe{color:#5aa8ff}
.mn-h-shield{color:var(--o-success)}
html[data-theme=light] .mn-h-probe{color:#1d5fd1}
.mn-quit{justify-self:stretch}
.mn-quit.armed{border-color:var(--o-danger);background:color-mix(in srgb,var(--o-danger) 16%,var(--o-surface-2));color:var(--o-danger)}

/* celular e larguras pequenas: placar em faixa em cima, habilidades embaixo */
.mn[data-layout=stack] .mn-hud{grid-template-columns:auto repeat(3,minmax(0,1fr));align-items:center;gap:8px;padding:10px;text-align:left}
.mn[data-layout=stack] .mn-mascot{min-height:0}
.mn[data-layout=stack] .mn-mascot .orbi-mascot{--m-size:56px!important;--m-box:56px!important}
.mn[data-layout=stack] .mn-pips{justify-content:flex-start;margin:4px 0 0}
.mn[data-layout=stack] .mn-pips li{width:12px;height:5px}
.mn[data-layout=stack] .mn-phase small,.mn[data-layout=stack] .mn-rec,.mn[data-layout=stack] .mn-long{display:none}
.mn[data-layout=stack] .mn-phase strong{font-size:16px}
.mn[data-layout=stack] .mn-stat{padding:6px 8px}
.mn[data-layout=stack] .mn-stat strong{font-size:17px}
.mn[data-layout=stack] .mn-label{font-size:10px;letter-spacing:.06em}
.mn[data-layout=stack] .mn-panel{display:contents}
.mn[data-layout=stack] .mn-bar{order:2;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;border-radius:var(--o-radius);border:1px solid color-mix(in srgb,var(--o-brand) 20%,var(--o-line));background:linear-gradient(180deg,color-mix(in srgb,var(--o-brand) 6%,var(--o-surface)),var(--o-surface) 60%)}
.mn[data-layout=stack] .mn-hint{order:2;padding:0 4px;min-height:calc(12.5px * 1.4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mn[data-layout=stack] .mn-hint:empty{display:block}
.mn[data-layout=stack] .mn-center{order:3}
.mn[data-layout=stack] .mn-quit{order:4;justify-self:center;min-width:140px}
.mn[data-layout=stack] .mn-abs{grid-template-columns:repeat(3,46px);gap:6px}
.mn[data-layout=stack] .mn-ab{min-height:46px;padding:13px 2px 3px;border-radius:10px}
.mn[data-layout=stack] .mn-ab .mn-ico{width:21px;height:21px}
.mn[data-layout=stack] .mn-ab-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.mn[data-layout=stack] .mn-ab-key{top:2px;left:4px;font-size:9px}
.mn[data-layout=stack] .mn-ab-cost{top:2px;right:2px;font-size:9px;padding:0 2px}
.mn[data-layout=stack] .mn-legend{display:none}
.mn[data-layout=stack] .mn-overlay{position:fixed;z-index:30;padding:16px;background:rgba(0,0,0,.45)}
.mn[data-layout=stack] .mn-dialog-actions{grid-template-columns:1fr}
/* bolinha com o valor cobre o ícone em casas pequenas */
@container (max-width:440px){.mn-stage:is([data-n="13"],[data-n="15"],[data-n="16"]) .mn-tok b{display:none}}


/* tela inicial do campo minado */
.mn-intro-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.3fr);align-items:start;gap:var(--op-gap)}
.mn-side-col{display:grid;gap:var(--op-gap);min-width:0}
.mn-best .op-num.hero{margin-bottom:16px}
.mn-nums{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:14px;border-top:1px solid var(--o-line)}
.mn-cta{min-width:160px}
.mn-howto,.mn-controls{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.mn-howto li{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:12px}
.mn-howto .mn-ico{width:22px;height:22px}
.mn-howto b{display:block;color:var(--o-text-strong);font-size:13.5px}
.mn-howto span{color:var(--o-muted);font-size:12.5px;line-height:1.45}
.mn-key{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;border:1px solid var(--o-line-strong);background:var(--o-surface-2);color:var(--o-text-strong);font-size:12px;font-weight:800}
.mn-key.ghost{border-color:transparent;background:none}
.mn-ctl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.mn-ctl h3{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--o-muted)}
.mn-controls{gap:7px}
.mn-controls li{color:var(--o-text);font-size:13px;line-height:1.4}
.mn-controls b{color:var(--o-text-strong);font-weight:650}
.mn-how{margin-top:14px;padding-top:12px;border-top:1px solid var(--o-line)}
.mn-how summary{font-size:13px;font-weight:600;color:var(--o-text-strong);cursor:pointer}
.mn-how p{margin-top:8px;font-size:12.5px;line-height:1.5;color:var(--o-muted)}
.orbi-play .mn-note{margin-top:12px;font-size:12px}
.orbi-play .mn-lastgame{margin-top:12px;color:var(--o-text);font-size:13px}
@container oplay (max-width:980px){.mn-intro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mn-side-col{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
@container oplay (max-width:700px){.mn-intro-grid,.mn-side-col{grid-template-columns:minmax(0,1fr)}.mn-side-col{grid-column:auto}}
@container oplay (max-width:420px){.mn-ctl{grid-template-columns:minmax(0,1fr)}}
.orbi-play .mn-legacy{margin-top:6px;font-size:12.5px}
.mn-phase-table th,.mn-phase-table td{padding:7px 8px}

@keyframes mn-pip{50%{opacity:.55}}
@keyframes mn-bump{40%{transform:scale(1.14)}}
@keyframes mn-pulse{to{box-shadow:0 0 0 3px color-mix(in srgb,var(--o-danger) 35%,transparent)}}
@keyframes mn-gain{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--o-brand) 70%,transparent)}100%{box-shadow:0 0 0 12px transparent}}
@keyframes mn-gain-mana{0%{box-shadow:0 0 0 0 rgba(90,168,255,.8)}100%{box-shadow:0 0 0 12px rgba(90,168,255,0)}}
@keyframes mn-in{from{opacity:0;transform:scale(.35) translateY(8px)}}
@keyframes mn-open{from{transform:scale(.55);background:var(--mn-tile-hi);color:transparent}}
@keyframes mn-mine{0%{background:var(--mn-tile);color:transparent;box-shadow:none}55%{transform:scale(1.18)}100%{transform:scale(1)}}
@keyframes mn-mine-ico{from{opacity:0}}
@keyframes mn-flagin{from{opacity:0;transform:translateY(-45%) scale(.4)}}
@keyframes mn-nope{20%,60%{transform:translateX(-3px)}40%,80%{transform:translateX(3px)}}
@keyframes mn-shake{10%,90%{transform:translate(-2px,1px)}20%,80%{transform:translate(4px,-2px)}30%,50%,70%{transform:translate(-6px,2px)}40%,60%{transform:translate(6px,-1px)}}
@keyframes mn-glow{50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--o-success) 18%,transparent),0 0 14px color-mix(in srgb,var(--o-success) 25%,transparent)}}
@keyframes mn-clear{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--o-brand) 80%,transparent)}100%{box-shadow:0 0 0 22px transparent}}
@keyframes mn-shieldup{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--o-success) 80%,transparent)}100%{box-shadow:0 0 0 20px transparent}}
@keyframes mn-blink{0%{opacity:1}100%{opacity:.2}}
@keyframes mn-spawn{0%{opacity:0;transform:scale(.2) rotate(-25deg)}100%{opacity:1;transform:none}}
@keyframes mn-hop{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-55%) scale(1.15)}100%{transform:translateY(0) scale(1)}}
@keyframes mn-got{to{opacity:0;transform:translateY(-60%) scale(1.7)}}
@keyframes mn-gone{to{opacity:0;transform:scale(.2)}}
@keyframes mn-bob{50%{transform:translateY(-7%)}}
@keyframes mn-float{0%{opacity:0;transform:translateY(0) scale(.6)}15%{opacity:1;transform:translateY(-30%) scale(1.15)}100%{opacity:0;transform:translateY(-170%) scale(1)}}
@keyframes mn-flash{0%{opacity:1;transform:scale(.15)}45%{opacity:1}100%{opacity:0;transform:scale(1)}}
@keyframes mn-wave{from{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(3.4)}}
@keyframes mn-bit{from{opacity:1;transform:rotate(var(--a)) translateX(0) scale(1.25)}to{opacity:0;transform:rotate(var(--a)) translateX(calc(var(--l) * 100cqw / var(--n) * 2.3)) scale(.3)}}
@keyframes mn-banner{0%{opacity:0;transform:translate(-50%,-40%) scale(.92)}12%{opacity:1;transform:translate(-50%,-50%) scale(1)}78%{opacity:1;transform:translate(-50%,-50%)}100%{opacity:0;transform:translate(-50%,-58%)}}
@keyframes mn-conf{0%{opacity:1;transform:translateY(0) rotate(0)}100%{opacity:0;transform:translateY(105cqw) rotate(calc(var(--r) + 540deg))}}
@keyframes mn-dlg{from{opacity:0;transform:translateY(14px) scale(.94)}}

@media (prefers-reduced-motion:reduce){
  .mn *,.mn{animation:none!important;transition:none!important}
  .mn-tok.ending .mn-ring{background:var(--o-danger)}
}
