:root{
  --bg:#071326; --panel:#10182b; --panel2:#1a2235; --cyan:#48e7ff; --cyan2:#2f98b7;
  --green:#57f0aa; --blue:#6ea7ff; --pink:#ff5b9b; --yellow:#ffe85b; --gold:#ffd43b; --silver:#dbe7ee; --bronze:#c77a33;
  --shadow:0 28px 90px rgba(0,0,0,.52); --radius:22px; --card-w:164px; --card-h:142px;
}
*{box-sizing:border-box} html,body{height:100%;margin:0;overflow:hidden;background:#071326;color:#f4f7ff;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif}
body{background:linear-gradient(90deg,rgba(210,49,214,.14),rgba(38,210,255,.14)),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),#08162a;background-size:auto,64px 64px,64px 64px,auto}.hidden{display:none!important}.app-shell{height:100%;display:flex;flex-direction:column}
.topbar{height:104px;display:flex;align-items:center;justify-content:center;gap:52px;background:linear-gradient(90deg,#14051d,#061d31);border-bottom:1px solid rgba(255,255,255,.09);position:relative;z-index:1000}.brand{width:330px;height:88px;display:flex;align-items:center;justify-content:center}.brand img{max-width:320px;max-height:78px;object-fit:contain}.brand img:not([src]),.brand img[src=""]{display:none}.brand-fallback{display:none;font-weight:900;font-size:25px;letter-spacing:.04em}.brand img[src=""]+.brand-fallback{display:block}.main-nav{display:flex;align-items:center;gap:12px}.nav-btn,.round-btn,.restart-btn,.handle-btn{border:0;cursor:pointer;font-weight:900;color:#071421;transition:.16s;box-shadow:inset 0 -2px 0 rgba(0,0,0,.25),0 1px 0 rgba(255,255,255,.18)}.nav-btn{border-radius:18px;padding:14px 22px;font-size:16px}.nav-btn.small{padding:10px 14px;border-radius:14px;font-size:14px}.warm{background:linear-gradient(135deg,#ffd15e,#ff8b52)}.aqua{background:linear-gradient(135deg,#45e5ff,#59eda4)}.blue{background:linear-gradient(135deg,#58caff,#806dff)}.dark{background:linear-gradient(135deg,#303848,#1e2635);color:#f4f7ff;border:1px solid rgba(255,255,255,.12)}.nav-btn:hover,.round-btn:hover,.restart-btn:hover,.handle-btn:hover{filter:brightness(1.13);box-shadow:0 0 22px rgba(72,231,255,.28),inset 0 -2px 0 rgba(0,0,0,.25)}.round-btn{height:58px;width:58px;border-radius:20px;background:linear-gradient(135deg,#323b4e,#1f2636);color:#f7f9ff;border:1px solid rgba(255,255,255,.14);font-size:21px}.mobile-only{display:none}.stage{position:relative;flex:1;min-height:0;overflow:hidden}.mode-layer{position:absolute;inset:0}.feedback-layer{position:fixed;inset:0;display:grid;place-items:center;z-index:9990;pointer-events:none}.feedback{font-size:clamp(44px,7vw,96px);font-weight:1000;text-align:center;opacity:0;transform:scale(.92);animation:popFeedback .82s ease forwards;text-shadow:0 0 24px currentColor,0 14px 35px rgba(0,0,0,.65)}.feedback small{display:block;margin-top:4px;font-size:.28em;letter-spacing:.08em}.feedback.ok{color:#54ffad}.feedback.err{color:#ff5178}.feedback.time{color:#ffe85b}@keyframes popFeedback{0%{opacity:0;transform:scale(.86)}18%{opacity:1;transform:scale(1.02)}70%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.98)}}
/* cards */
.game-card{position:absolute;width:var(--card-w);height:var(--card-h);transform-origin:center;cursor:pointer;user-select:none;touch-action:none;filter:drop-shadow(0 8px 10px rgba(0,0,0,.35));transition:transform .24s cubic-bezier(.25,.8,.25,1),filter .16s}.game-card img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.game-card.selected{filter:drop-shadow(0 0 16px rgba(72,231,255,.9)) drop-shadow(0 8px 10px rgba(0,0,0,.35));z-index:70!important}.game-card.mini{width:94px;height:82px}.active-card-slot{position:relative;width:min(36vw,430px);height:min(31vw,374px);display:flex;align-items:center;justify-content:center}.active-card-slot .game-card{position:relative!important;left:auto!important;top:auto!important;width:100%;height:100%;}.active-card-slot .game-card img{filter:drop-shadow(0 14px 20px rgba(0,0,0,.55))}.single-card-zone{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;z-index:200}.battle-card-zone{top:52%}.single-card-handle{position:absolute;left:calc(100% + 24px);top:50%;transform:translateY(-50%);display:flex;gap:8px;padding:7px;border-radius:22px;background:rgba(18,25,39,.88);border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 28px rgba(0,0,0,.42);white-space:nowrap;z-index:800}.handle-btn{background:linear-gradient(135deg,#31394a,#202838);border:1px solid rgba(255,255,255,.13);color:#fff;padding:11px 16px;border-radius:16px;font-size:15px}.handle-btn.active{background:linear-gradient(135deg,#1f8b68,#1b5f53);box-shadow:0 0 18px rgba(87,240,170,.35)}
/* exploration */
.explore-layer{overflow:auto}.explore-board{position:relative;min-height:100%;padding:40px}.explore-frame{position:absolute;inset:28px 28px auto 28px;min-height:82%;border:1px solid rgba(72,231,255,.78);box-shadow:0 0 24px rgba(72,231,255,.22),inset 0 0 60px rgba(72,231,255,.06);border-radius:14px;pointer-events:none}.explore-handle{position:absolute;z-index:900;display:flex;gap:8px;padding:7px;border-radius:22px;background:rgba(18,25,39,.92);border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 28px rgba(0,0,0,.42)}.explore-handle .handle-menu{display:flex;gap:8px}.explore-handle .sub{background:#11192a;border-radius:17px;padding:6px;display:flex;gap:6px}.explore-handle .sub .handle-btn{font-size:13px;padding:9px 12px}.help-floating{position:absolute;right:28px;bottom:24px;width:70px;height:70px;border:0;border-radius:50%;font-size:29px;cursor:pointer;background:linear-gradient(135deg,#53e8ff,#e75be9);box-shadow:0 0 30px rgba(72,231,255,.38);z-index:1200}
/* solo */
.solo-scorebar{position:absolute;top:18px;left:50%;transform:translateX(-50%);display:flex;gap:28px;align-items:center;padding:12px 24px;border-radius:20px;background:rgba(8,15,30,.82);border:1px solid rgba(255,255,255,.1);z-index:500;box-shadow:0 10px 30px rgba(0,0,0,.24)}.score-item{text-align:center;min-width:58px}.score-item span{display:block;font-size:12px;font-weight:1000;letter-spacing:.04em;color:var(--cyan)}.score-item b{font-family:Georgia,serif;font-size:28px;line-height:1}.score-item.time span,.score-item.time b{color:#ffe85b}.score-item.hit span{color:#57f0aa}.score-item.miss span{color:#ff4b78}.score-item.gold span{color:#ffd73e}.score-item.silver span{color:#dbe7ee}.score-item.bronze span{color:#c77a33}
.answer-hud{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);background:linear-gradient(135deg,rgba(15,21,36,.94),rgba(7,16,31,.9));border:1px solid rgba(255,255,255,.14);border-radius:26px;padding:16px 20px;box-shadow:0 26px 70px rgba(0,0,0,.44),0 0 35px rgba(72,231,255,.08);z-index:650}.hud-row{display:flex;align-items:center;gap:12px;margin:0 0 12px}.hud-row:last-child{margin-bottom:0}.coin-svg{width:54px;height:54px;margin-right:10px;flex:0 0 auto}.answer-btn{width:54px;height:38px;border:2px solid;border-radius:10px;background:#f3fbff;color:#081421;font-family:Georgia,serif;font-size:26px;font-weight:1000;cursor:pointer;box-shadow:0 0 13px rgba(255,255,255,.2);transition:.12s}.answer-btn:hover,.answer-btn:focus-visible{filter:brightness(1.15);transform:translateY(-1px)}.answer-btn.gap{margin-right:28px}.hud-row.gold .answer-btn{border-color:#ff536a;box-shadow:0 0 13px rgba(255,83,106,.7)}.hud-row.silver .answer-btn{border-color:#2dff96;box-shadow:0 0 13px rgba(45,255,150,.65)}.hud-row.bronze .answer-btn{border-color:#5b85ff;box-shadow:0 0 13px rgba(91,133,255,.65)}
/* battle */
.battle-layout{position:absolute;inset:0;display:grid;grid-template-columns:minmax(280px,30vw) 1fr minmax(280px,30vw);gap:24px;padding:18px 34px}.battle-center{position:relative}.restart-btn{position:absolute;left:50%;top:16px;transform:translateX(-50%);height:54px;padding:0 34px;border-radius:20px;background:linear-gradient(135deg,#68738e,#343c52);color:white;border:1px solid rgba(255,255,255,.14);font-size:16px;z-index:800}.player-panel{height:220px;border-radius:22px;border:1px solid rgba(255,255,255,.12);background:rgba(10,18,34,.3);padding:16px;align-self:start;transition:.18s}.player-panel.active{border-color:var(--cyan);box-shadow:0 0 0 1px rgba(72,231,255,.75),0 0 35px rgba(72,231,255,.45),inset 0 0 22px rgba(72,231,255,.08)}.player-panel.right{text-align:right}.player-title{font-family:Georgia,serif;font-size:27px;font-weight:900;margin-bottom:8px;display:flex;align-items:center;gap:10px}.player-panel.right .player-title{justify-content:flex-end}.avatar-badge{width:34px;height:34px}.turn-time{font-family:Georgia,serif;font-size:24px;color:#ffe85b;margin-left:8px}.player-score{display:flex;gap:22px}.player-panel.right .player-score{justify-content:flex-end}.player-score div{display:flex;flex-direction:column;align-items:center;font-weight:900}.player-score .coin-svg{width:42px;height:42px;margin:0}.player-score span{font-size:12px;color:#cfd8e8}.player-score b{font-family:Georgia,serif;font-size:24px}.player-hand{height:112px;border-top:1px dashed rgba(255,255,255,.13);margin-top:8px;position:relative;overflow:visible}.battle-summary{display:grid;gap:12px}.winner-banner{text-align:center;font-size:28px;font-weight:1000}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.summary-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px}
/* modals */
dialog{border:0;padding:0;background:transparent;color:inherit}dialog::backdrop{background:rgba(0,0,0,.62);backdrop-filter:blur(2px)}.modal{width:min(720px,calc(100vw - 28px));max-height:min(82vh,820px);overflow:auto;border-radius:26px;background:linear-gradient(135deg,rgba(14,20,37,.98),rgba(7,14,30,.98));border:1px solid rgba(120,150,220,.28);box-shadow:var(--shadow);padding:18px}.settings-modal{width:min(610px,calc(100vw - 28px))}.ranking-modal,.result-modal{width:min(820px,calc(100vw - 28px))}.modal-head{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:12px}.modal-head h2{margin:0;font-size:28px}.close-btn{background:#303748;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:17px;padding:12px 16px;font-weight:900;cursor:pointer}.tip-card,.settings-section,.rank-row,.result-box{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:17px;padding:14px;margin:10px 0}.tip-card b,.settings-section h3{display:block;color:var(--cyan);margin:0 0 8px}.tip-card span{color:#cbd3e4;line-height:1.35}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-section label{font-weight:900;color:#cbd3e4;display:block;margin:8px 0}.settings-section input,.settings-section select,.result-box input{width:100%;margin-top:6px;background:#121829;border:1px solid rgba(255,255,255,.12);border-radius:15px;color:white;padding:13px;font-size:16px}.full{width:100%;margin-top:12px}.rank-row{display:grid;grid-template-columns:54px 1fr 130px;align-items:center;gap:12px}.rank-medal{font-size:28px}.rank-score{text-align:right;font-weight:1000}.result-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.result-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
@media(max-width:900px){html,body{overflow:auto}.topbar{height:auto;min-height:84px;flex-wrap:wrap;gap:6px;padding:8px 54px 8px 8px}.brand{width:100%;height:48px}.brand img{max-height:48px}.mobile-only{display:block;position:absolute;right:10px;top:12px;border:0;border-radius:12px;background:#293244;color:#fff;font-size:22px;padding:9px 12px}.main-nav{display:none;flex-wrap:wrap;justify-content:center;width:100%;padding:8px 0}.main-nav.open{display:flex}.nav-btn{font-size:14px;padding:10px 13px}.round-btn{width:44px;height:44px;border-radius:15px}.stage{min-height:calc(100vh - 112px);overflow:auto}.explore-board{min-height:1300px;padding:18px}.explore-frame{display:none}.battle-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;padding:10px}.player-panel{height:160px}.player-panel.right{grid-row:3}.battle-center{min-height:760px}.solo-scorebar{gap:10px;top:8px;padding:8px 10px}.score-item{min-width:42px}.score-item b{font-size:21px}.score-item span{font-size:10px}.single-card-zone{top:42%}.active-card-slot{width:min(72vw,330px);height:min(62vw,286px)}.single-card-handle{left:50%;top:calc(100% + 10px);transform:translateX(-50%)}.answer-hud{position:fixed;width:calc(100vw - 16px);bottom:8px;padding:9px;border-radius:18px}.hud-row{gap:6px;margin-bottom:8px}.coin-svg{width:34px;height:34px;margin-right:4px}.answer-btn{width:34px;height:30px;font-size:18px}.answer-btn.gap{margin-right:12px}.settings-grid,.summary-grid,.result-stat-grid{grid-template-columns:1fr}.modal-head h2{font-size:22px}}

/* =========================================================
   HYPERCUBE v1.1 — direção de arte, responsividade e HUDs
   ========================================================= */
:root{
  --bg:#090909;
  --panel:#11131a;
  --panel2:#191d27;
  --cyan:#5ddcf6;
  --cyan2:#1f7f99;
  --gold:#ffd43b;
  --silver:#dbe7ee;
  --bronze:#c77a33;
  --shadow:0 28px 90px rgba(0,0,0,.55);
  --radius:22px;
  --card-w:clamp(124px,10.35vw,164px);
  --card-h:clamp(109px,9.05vw,142px);
  --grid-size:26px;
  --grid-line:rgba(255,255,255,.055);
  --theme-glow:rgba(93,220,246,.14);
}

html,body{height:100%;margin:0;overflow:hidden;background:#050505;color:#f4f7ff;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;}
body{
  background:
    radial-gradient(circle at 50% -10%,var(--theme-glow),transparent 34%),
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.05),transparent 20%),
    linear-gradient(var(--grid-line) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),
    linear-gradient(180deg,#202124 0%,#101113 46%,#050505 100%);
  background-size:auto,auto,var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size),auto;
}
body[data-theme="arcane"]{--theme-glow:rgba(124,85,255,.18);--grid-line:rgba(130,160,255,.06);background:
    radial-gradient(circle at 50% -10%,var(--theme-glow),transparent 34%),
    radial-gradient(circle at 14% 18%,rgba(86,206,255,.10),transparent 22%),
    radial-gradient(circle at 86% 28%,rgba(184,71,255,.11),transparent 24%),
    linear-gradient(var(--grid-line) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),
    linear-gradient(180deg,#151428 0%,#0b0d18 50%,#040509 100%);
  background-size:auto,auto,auto,var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size),auto;}
body[data-theme="explorer"]{--theme-glow:rgba(255,160,70,.16);--grid-line:rgba(255,202,130,.055);background:
    radial-gradient(circle at 50% -10%,var(--theme-glow),transparent 34%),
    radial-gradient(circle at 10% 24%,rgba(255,186,83,.08),transparent 24%),
    linear-gradient(var(--grid-line) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),
    linear-gradient(180deg,#211b15 0%,#11100e 48%,#050403 100%);
  background-size:auto,auto,var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size),auto;}
body[data-theme="tech"]{--theme-glow:rgba(49,224,204,.16);--grid-line:rgba(93,255,232,.055);background:
    radial-gradient(circle at 50% -10%,var(--theme-glow),transparent 34%),
    radial-gradient(circle at 85% 20%,rgba(56,144,255,.09),transparent 23%),
    linear-gradient(var(--grid-line) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),
    linear-gradient(180deg,#0f2021 0%,#091315 48%,#030606 100%);
  background-size:auto,auto,var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size),auto;}

.app-shell{height:100%;display:flex;flex-direction:column;}
.topbar{
  height:100px;
  background:linear-gradient(180deg,rgba(18,20,25,.92),rgba(8,9,12,.92));
  border-bottom:1px solid rgba(255,255,255,.1);
  box-shadow:0 14px 40px rgba(0,0,0,.28);
  gap:42px;
  backdrop-filter:blur(8px);
}
.brand{width:min(340px,34vw);height:92px;}
.brand img{max-width:100%;max-height:88px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.5));}
.nav-btn,.round-btn,.restart-btn,.handle-btn{letter-spacing:.01em;}
.nav-btn{border-radius:16px;padding:12px 20px;font-size:15px;}
.round-btn{height:52px;width:52px;border-radius:17px;}
.dark{background:linear-gradient(135deg,#2a2d35,#171a21);}
.stage{position:relative;flex:1;min-height:0;overflow:hidden;}
.mode-layer{position:absolute;inset:0;}

/* Cartas */
.game-card{width:var(--card-w);height:var(--card-h);filter:drop-shadow(0 12px 15px rgba(0,0,0,.38));will-change:transform,left,top;}
.game-card.selected{filter:drop-shadow(0 0 18px rgba(93,220,246,.94)) drop-shadow(0 12px 15px rgba(0,0,0,.42));}
.game-card.mini{width:54px;height:47px;filter:drop-shadow(0 5px 7px rgba(0,0,0,.45));}
.active-card-slot{width:min(34vw,410px);height:min(30vw,360px);}
.single-card-handle{border-radius:18px;background:rgba(13,15,20,.88);backdrop-filter:blur(8px);}
.handle-btn{background:linear-gradient(135deg,#313743,#1b202a);border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:10px 14px;font-size:14px;white-space:nowrap;}
.handle-btn.active{background:linear-gradient(135deg,#1d9169,#164b44);}

/* Exploração */
.explore-layer{overflow:auto;overscroll-behavior:contain;}
.explore-board{position:relative;min-height:100%;padding:0;overflow:visible;}
.explore-frame{position:absolute;inset:28px 28px auto 28px;border:1px solid rgba(93,220,246,.58);box-shadow:0 0 20px rgba(93,220,246,.16),inset 0 0 80px rgba(93,220,246,.035);border-radius:18px;pointer-events:none;}
.explore-section-label{position:absolute;z-index:2;padding:6px 12px;border-radius:999px;background:rgba(7,9,13,.72);border:1px solid rgba(255,255,255,.10);box-shadow:0 8px 24px rgba(0,0,0,.24);font-size:12px;font-weight:1000;letter-spacing:.16em;color:#edf4ff;}
.explore-section-label.ouro,.explore-section-label.gold{color:#ffd35b;}
.explore-section-label.prata,.explore-section-label.silver{color:#e8f4ff;}
.explore-section-label.bronze{color:#d68c4d;}
.explore-handle{z-index:900;display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:min(680px,calc(100vw - 24px));padding:8px;border-radius:20px;background:rgba(10,12,17,.92);border:1px solid rgba(255,255,255,.13);box-shadow:0 16px 36px rgba(0,0,0,.44),0 0 24px rgba(93,220,246,.08);backdrop-filter:blur(8px);}
.explore-handle .handle-main{display:flex;gap:8px;flex-wrap:wrap;}
.explore-handle .sub{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:6px;}
.explore-handle .sub .handle-btn{font-size:12px;padding:8px 10px;}
.selection-count{font-size:11px;font-weight:900;color:#9befff;padding:0 5px;white-space:nowrap;}
.help-floating{right:24px;bottom:22px;width:62px;height:62px;border-radius:22px;background:linear-gradient(135deg,#262b36,#11141b);color:#fff;border:1px solid rgba(255,255,255,.13);box-shadow:0 12px 30px rgba(0,0,0,.34),0 0 24px rgba(93,220,246,.16);}

/* Examinador */
.card-examiner{position:fixed;inset:0;z-index:9995;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.68);backdrop-filter:blur(5px);}
.examiner-card{position:relative;width:min(620px,calc(100vw - 28px));border-radius:26px;background:linear-gradient(180deg,rgba(21,24,31,.96),rgba(8,10,14,.96));border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 90px rgba(0,0,0,.6),0 0 35px rgba(93,220,246,.11);padding:18px;text-align:center;}
.examiner-close{position:absolute;right:14px;top:12px;border:0;border-radius:14px;background:#303643;color:#fff;font-size:24px;font-weight:900;line-height:1;width:42px;height:42px;cursor:pointer;}
.examiner-media{height:min(62vh,520px);display:grid;place-items:center;margin:8px 0 12px;overflow:hidden;}
.examiner-media img{max-width:90%;max-height:90%;object-fit:contain;filter:drop-shadow(0 20px 28px rgba(0,0,0,.55));transition:transform .18s ease;}
.examiner-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:8px 0;}
.examiner-card p{margin:10px 0 0;color:#bfc7d7;font-size:13px;}

/* HUD de resposta */
.answer-hud{background:linear-gradient(135deg,rgba(18,21,28,.94),rgba(7,9,13,.92));border:1px solid rgba(255,255,255,.13);box-shadow:0 26px 70px rgba(0,0,0,.46),0 0 32px rgba(93,220,246,.08);}
.coin-svg{width:54px;height:54px;margin-right:8px;object-fit:contain;filter:drop-shadow(0 4px 7px rgba(0,0,0,.35));}
.player-score .coin-svg{width:42px;height:42px;margin:0;}
.answer-btn{font-family:Georgia,serif;border-width:1px;background:linear-gradient(180deg,#ffffff,#dbe3ea);}

/* Painel moderno dos jogadores */
.battle-layout{grid-template-columns:minmax(320px,31vw) minmax(360px,1fr) minmax(320px,31vw);gap:22px;padding:18px 24px;}
.player-panel{position:relative;height:252px;align-self:start;padding:0;border-radius:24px;border:1px solid color-mix(in srgb,var(--player-accent,#5ddcf6) 46%,transparent);background:linear-gradient(135deg,rgba(18,21,28,.74),rgba(6,7,10,.76));box-shadow:0 22px 46px rgba(0,0,0,.28),inset 0 0 32px rgba(255,255,255,.025);overflow:hidden;}
.player-panel::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 12%,color-mix(in srgb,var(--player-accent,#5ddcf6) 16%,transparent) 12% 13%,transparent 13% 72%,color-mix(in srgb,var(--player-accent,#5ddcf6) 20%,transparent) 72% 73%,transparent 73%);opacity:.82;pointer-events:none;}
.player-panel::after{content:"";position:absolute;inset:10px;border-radius:18px;border:1px solid rgba(255,255,255,.075);pointer-events:none;}
.player-panel.active{border-color:var(--player-accent,#5ddcf6);box-shadow:0 0 0 1px color-mix(in srgb,var(--player-accent,#5ddcf6) 72%,transparent),0 0 36px var(--player-glow,rgba(93,220,246,.42)),0 22px 46px rgba(0,0,0,.32);}
.player-panel-inner{position:relative;z-index:1;height:100%;display:grid;grid-template-columns:1fr 118px;gap:8px;padding:16px;}
.player-panel.right .player-panel-inner{grid-template-columns:118px 1fr;}
.player-panel.right .player-main{grid-column:2;grid-row:1;text-align:right;}
.player-panel.right .player-avatar-hero{grid-column:1;grid-row:1;}
.player-main{min-width:0;display:flex;flex-direction:column;position:relative;z-index:2;}
.player-title{font-family:Inter,system-ui,sans-serif;font-size:clamp(20px,2.2vw,28px);font-weight:1000;margin:0 0 10px;display:flex;align-items:center;gap:10px;letter-spacing:.035em;text-transform:uppercase;}
.player-panel.right .player-title{justify-content:flex-end;}
.player-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 16px var(--player-glow,rgba(93,220,246,.3));}
.avatar-badge{width:42px;height:42px;object-fit:contain;border-radius:12px;filter:drop-shadow(0 0 10px var(--player-glow,rgba(93,220,246,.32)));}
.turn-time{display:inline-grid;place-items:center;min-width:42px;height:36px;padding:0 10px;margin-left:4px;border-radius:12px;background:rgba(0,0,0,.34);border:1px solid color-mix(in srgb,var(--player-accent,#5ddcf6) 50%,transparent);color:#fff;font-family:Inter,system-ui,sans-serif;font-size:20px;box-shadow:0 0 20px var(--player-glow,rgba(93,220,246,.28));}
.player-avatar-hero{width:126px;height:126px;align-self:center;justify-self:center;object-fit:contain;filter:drop-shadow(0 0 24px var(--player-glow,rgba(93,220,246,.4))) drop-shadow(0 16px 22px rgba(0,0,0,.48));}
.player-score{display:flex;gap:14px;justify-content:flex-start;}
.player-panel.right .player-score{justify-content:flex-end;}
.player-score div{min-width:58px;padding:6px 8px;border-radius:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;align-items:center;font-weight:900;}
.player-score span{font-size:11px;color:#cfd8e8;text-transform:uppercase;letter-spacing:.06em;}
.player-score b{font-family:Inter,system-ui,sans-serif;font-size:24px;line-height:1.05;color:#fff;}
.player-hand{height:74px;margin-top:auto;border-top:1px dashed rgba(255,255,255,.12);position:relative;overflow:hidden;}
.battle-criteria{margin:0 auto 8px;text-align:center;color:#cbd3df;max-width:650px;line-height:1.4;}
.summary-card .avatar-badge{vertical-align:middle;margin-right:6px;}

/* Modal refinado */
.modal{background:linear-gradient(135deg,rgba(20,23,31,.98),rgba(7,9,13,.98));border:1px solid rgba(255,255,255,.13);}
.tip-card,.settings-section,.rank-row,.result-box,.summary-card{background:rgba(255,255,255,.062);border:1px solid rgba(255,255,255,.095);}
.tip-card b,.settings-section h3{color:#84eaff;}
.settings-section input,.settings-section select,.result-box input{background:#0f1219;border:1px solid rgba(255,255,255,.12);}

@media(max-width:1180px){
  :root{--card-w:clamp(128px,18vw,152px);--card-h:clamp(112px,15.75vw,133px);}
  .topbar{gap:16px;}
  .brand{width:270px;}
  .nav-btn{padding:10px 14px;font-size:14px;}
  .battle-layout{grid-template-columns:minmax(260px,28vw) 1fr minmax(260px,28vw);padding:14px;}
  .player-panel{height:236px;}
  .player-panel-inner{grid-template-columns:1fr 94px;}
  .player-panel.right .player-panel-inner{grid-template-columns:94px 1fr;}
  .player-avatar-hero{width:104px;height:104px;}
  .player-score{gap:8px;}
  .player-score div{min-width:50px;padding:5px;}
}

@media(max-width:900px){
  :root{--card-w:min(42vw,148px);--card-h:min(36.8vw,130px);--grid-size:24px;}
  html,body{height:100%;overflow:hidden;}
  .app-shell{height:100dvh;}
  .topbar{height:auto;min-height:78px;padding:7px 54px 7px 8px;gap:4px;background:linear-gradient(180deg,rgba(14,16,21,.96),rgba(7,8,11,.96));}
  .brand{width:100%;height:48px;justify-content:flex-start;padding-left:6px;}
  .brand img{max-height:48px;max-width:min(300px,calc(100vw - 78px));}
  .mobile-only{display:block;position:absolute;right:10px;top:12px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#202632;color:#fff;font-size:22px;padding:8px 11px;}
  .main-nav{display:none;flex-wrap:wrap;justify-content:center;width:100%;padding:8px 0 4px;gap:8px;}
  .main-nav.open{display:flex;}
  .nav-btn{font-size:13px;padding:9px 12px;border-radius:13px;}
  .round-btn{width:42px;height:42px;border-radius:14px;}
  .stage{min-height:0;overflow:hidden;}
  .explore-layer{overflow:auto;padding-bottom:96px;}
  .explore-frame{display:block;inset:14px 10px auto 10px;border-color:rgba(93,220,246,.28);box-shadow:inset 0 0 42px rgba(93,220,246,.025);}
  .explore-handle{max-width:calc(100vw - 20px);gap:6px;padding:6px;border-radius:16px;}
  .explore-handle .handle-main,.explore-handle .sub{gap:5px;}
  .explore-handle .sub{padding:5px;}
  .handle-btn{padding:8px 10px;border-radius:11px;font-size:12px;}
  .explore-handle .sub .handle-btn{font-size:11px;padding:7px 8px;}
  .selection-count{display:none;}
  .help-floating{right:14px;bottom:14px;width:54px;height:54px;border-radius:18px;font-size:24px;}
  .single-card-zone{top:38%;}
  .active-card-slot{width:min(76vw,320px);height:min(66.5vw,280px);}
  .single-card-handle{left:50%;top:calc(100% + 10px);transform:translateX(-50%);max-width:calc(100vw - 18px);flex-wrap:wrap;justify-content:center;}
  .solo-scorebar{top:8px;gap:7px;padding:7px 8px;border-radius:16px;max-width:calc(100vw - 12px);overflow:auto;}
  .score-item{min-width:42px;}
  .score-item b{font-size:20px;}
  .score-item span{font-size:9px;}
  .answer-hud{position:fixed;width:calc(100vw - 12px);left:6px;right:6px;bottom:6px;transform:none;padding:8px;border-radius:18px;}
  .hud-row{gap:5px;margin-bottom:7px;justify-content:center;}
  .coin-svg{width:32px;height:32px;margin-right:2px;}
  .answer-btn{width:34px;height:30px;font-size:17px;border-radius:9px;}
  .answer-btn.gap{margin-right:10px;}
  .battle-layout{position:absolute;inset:0;display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(540px,1fr) auto;gap:8px;padding:8px 8px 92px;overflow:auto;}
  .battle-center{min-height:540px;}
  .restart-btn{top:10px;height:44px;padding:0 20px;border-radius:16px;}
  .battle-card-zone{top:44%;}
  .player-panel{height:178px;border-radius:20px;}
  .player-panel.right{grid-row:3;}
  .player-panel-inner{grid-template-columns:1fr 78px;padding:12px;}
  .player-panel.right .player-panel-inner{grid-template-columns:78px 1fr;}
  .player-title{font-size:18px;margin-bottom:7px;gap:7px;}
  .avatar-badge{width:32px;height:32px;}
  .player-avatar-hero{width:86px;height:86px;}
  .turn-time{height:30px;min-width:34px;font-size:16px;padding:0 8px;}
  .player-score{gap:6px;}
  .player-score div{min-width:48px;padding:4px 5px;border-radius:13px;}
  .player-score .coin-svg{width:31px;height:31px;}
  .player-score span{font-size:9px;}
  .player-score b{font-size:18px;}
  .player-hand{height:48px;}
  .game-card.mini{width:38px;height:33px;}
  .settings-grid,.summary-grid,.result-stat-grid{grid-template-columns:1fr;}
  .modal-head h2{font-size:21px;}
  .modal{max-height:min(86dvh,820px);}
  .card-examiner{padding:12px;}
  .examiner-card{border-radius:20px;padding:12px;}
  .examiner-media{height:min(57vh,430px);}
}

@media(max-width:430px){
  :root{--card-w:min(43vw,144px);--card-h:min(37.6vw,126px);}
  .answer-btn{width:31px;height:28px;font-size:16px;}
  .answer-btn.gap{margin-right:6px;}
  .coin-svg{width:30px;height:30px;}
  .nav-btn{font-size:12px;padding:8px 10px;}
}


/* === v1.2 ajustes finos de aprovação === */
.solo-layer .single-card-zone{top:41%;}
.battle-layer .battle-card-zone{top:43%;}

.explore-handle{
  max-width:min(360px,calc(100vw - 28px));
  padding:8px;
  border-radius:18px;
  background:rgba(9,12,18,.86);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 14px 30px rgba(0,0,0,.42),0 0 18px rgba(93,220,246,.08);
  backdrop-filter:blur(8px);
}
.explore-handle .handle-cluster{position:relative;display:flex;align-items:center;gap:8px;}
.explore-handle .handle-group{
  display:flex;
  flex-wrap:nowrap;
  gap:6px;
  padding:6px;
  border-radius:14px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
}
.explore-handle .handle-icon{
  width:40px;
  height:40px;
  padding:0;
  border-radius:12px;
  display:grid;
  place-items:center;
  font-size:18px;
  line-height:1;
  background:linear-gradient(180deg,rgba(55,63,81,.96),rgba(30,36,49,.96));
  color:#f7fbff;
}
.explore-handle .handle-icon.active{
  background:linear-gradient(180deg,#216b58,#173f38);
  box-shadow:0 0 18px rgba(87,240,170,.28);
}
.explore-handle .selection-pill{
  min-width:28px;
  height:28px;
  padding:0 8px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(93,220,246,.16);
  color:#ecfbff;
  border:1px solid rgba(93,220,246,.34);
  font-family:Inter,system-ui,sans-serif;
  font-size:12px;
  font-weight:900;
}

.player-panel{height:264px;}
.player-panel-inner{grid-template-columns:1fr 144px;padding:16px 18px;}
.player-panel.right .player-panel-inner{grid-template-columns:144px 1fr;}
.player-avatar-hero{width:152px;height:152px;object-position:center center;}
.player-panel .player-avatar-hero{justify-self:end;align-self:center;}
.player-panel.right .player-avatar-hero{justify-self:start;}

@media(max-width:1180px){
  .player-panel-inner{grid-template-columns:1fr 114px;}
  .player-panel.right .player-panel-inner{grid-template-columns:114px 1fr;}
  .player-avatar-hero{width:124px;height:124px;}
}

@media(max-width:900px){
  .solo-layer .single-card-zone{top:36%;}
  .battle-layer .battle-card-zone{top:39%;}
  .explore-handle{max-width:calc(100vw - 16px);padding:7px;border-radius:16px;}
  .explore-handle .handle-cluster{gap:6px;flex-wrap:wrap;justify-content:center;}
  .explore-handle .handle-group{gap:5px;padding:5px;}
  .explore-handle .handle-icon{width:36px;height:36px;border-radius:11px;font-size:17px;}
  .explore-handle .selection-pill{height:24px;min-width:24px;font-size:11px;}
  .player-panel{height:188px;}
  .player-panel-inner{grid-template-columns:1fr 94px;padding:12px 14px;}
  .player-panel.right .player-panel-inner{grid-template-columns:94px 1fr;}
  .player-avatar-hero{width:104px;height:104px;}
}


/* === v1.3 ajustes finais === */
#soloHud{bottom:26px;}
#battleHud{bottom:14px;}
.solo-layer .single-card-zone{top:38.6%;}
.battle-layer .battle-card-zone{top:39.2%;}

.explore-handle{max-width:min(260px,calc(100vw - 28px));padding:8px 10px;}
.explore-handle .handle-cluster{display:grid;grid-template-columns:1fr;gap:6px;justify-items:center;}
.explore-handle .handle-row{display:grid;grid-template-columns:repeat(4,40px);gap:6px;padding:0;}
.explore-handle .handle-icon{width:40px;height:40px;}
.explore-handle .selection-pill{justify-self:end;margin-top:-2px;}

@media(max-width:900px){
  #soloHud{bottom:10px;}
  #battleHud{bottom:6px;}
  .solo-layer .single-card-zone{top:35.2%;}
  .battle-layer .battle-card-zone{top:36.5%;}
  .explore-handle{max-width:calc(100vw - 20px);padding:8px;}
  .explore-handle .handle-row{grid-template-columns:repeat(4,36px);gap:5px;}
  .explore-handle .handle-icon{width:36px;height:36px;}
}
