/* Arena em tela larga: cenário inteiro, HUD fixo e controles acessíveis. */
.app-shell{width:min(1900px,99%)}
.main-grid{max-width:none;grid-template-columns:minmax(0,1fr);gap:12px}
.game-panel{min-width:0}
.game-view{display:block;position:relative;background:#286e72}
.fps-indicator{position:absolute;left:14px;top:14px;z-index:15;padding:6px 10px;border:1px solid #91ffd5a0;border-radius:14px;background:#0d2937bb;color:#a7ffb5;font:800 12px system-ui;letter-spacing:.3px;pointer-events:none;box-shadow:0 2px 11px #07151b80}
.fps-indicator.fps-warn{color:#ffe0a3;border-color:#ffb67c9c}
.game-view canvas{display:block;width:100%;height:auto;max-height:none;aspect-ratio:5/3;object-fit:contain;border:0;box-shadow:none}
.fullscreen-btn{position:absolute;top:13px;right:14px;z-index:9;padding:9px 13px;border:1px solid #c7fff4ac;border-radius:13px;color:#fff;font:800 13px system-ui;background:#103d5be9;box-shadow:0 3px 17px #072335a3;cursor:pointer}
.fullscreen-btn:hover{background:#197a83}
.game-view:fullscreen,.game-view.simulated-fullscreen{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#153e49;overflow:hidden}
.game-view:fullscreen canvas,.game-view.simulated-fullscreen canvas{width:100%;height:100%;object-fit:contain}
.game-view.simulated-fullscreen{position:fixed;inset:0;z-index:2000;border-radius:0}
.game-view>.overlay{z-index:25}
.viewport-label{z-index:4;justify-content:center;flex-wrap:wrap;gap:8px}
.viewport-label span{font-size:12px;box-shadow:0 5px 15px #03252a88}
.viewport-label #quizPill{background:#4d3969eb;border-color:#efc7ff99}
.action-pad{left:255px;bottom:18px;z-index:6}
.control-pad{right:16px;bottom:18px;z-index:6}
.combat-hud{position:absolute;bottom:16px;left:16px;z-index:7;width:223px;padding:10px 12px 12px;border-radius:15px;border:2px solid #d6fae5ae;background:linear-gradient(155deg,#0d3345f2,#102c43f4);box-shadow:0 8px 23px #041925ad;color:#fff;pointer-events:none;backdrop-filter:blur(4px)}
.combat-hud-top{display:flex;justify-content:space-between;align-items:center;gap:7px;font-size:12px;font-weight:900;color:#ffe6a1;margin-bottom:8px}
.combat-hud-top b{color:#fff;font-size:14px}
.combat-meter-label{display:flex;justify-content:space-between;font-size:11px;font-weight:900;margin:6px 1px 4px;color:#effffd}
.combat-meter-label b{font-variant-numeric:tabular-nums}
.combat-meter{height:12px;background:#071e2c;border:1px solid #ffffff57;border-radius:50px;overflow:hidden}
.combat-meter span{display:block;width:100%;height:100%;border-radius:50px;transition:width .18s}
.combat-meter.life span{background:linear-gradient(90deg,#e9365e,#ffbc88)}
.combat-meter.experience span{background:linear-gradient(90deg,#4879ff,#94eeff)}
.combat-hud-bottom{font-size:10px;font-weight:800;margin-top:9px;color:#f3f8d3}
.level-modal{overflow-y:auto}
.ability-panel{margin:12px 0;padding:12px;border:1px solid #b9f9de72;background:#0c304a9c;border-radius:16px;text-align:center}
.ability-panel h3{font-size:21px;margin:2px 0 5px}
.ability-panel p{margin:4px 0 10px}
.ability-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.ability-choice{appearance:none;display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:7px;border:2px solid #9aeec5;border-radius:14px;background:linear-gradient(150deg,#197875,#234e80);padding:15px 8px;min-height:166px;color:white;cursor:pointer;box-shadow:0 7px 20px #061c345b;transition:transform .15s,background .15s}
.ability-choice:hover:not(:disabled){transform:translateY(-4px);background:linear-gradient(150deg,#28a284,#3a6caa)}
.ability-choice:disabled{opacity:.65;cursor:default}
.ability-choice strong{font-size:16px;line-height:1.25}.ability-choice span{font-size:12px;line-height:1.35;color:#dffbed}.ability-choice small{font-weight:900;color:#fff3aa;font-size:11px}
.ability-choice.fusion-choice{border:2px solid #ffe69b;background:linear-gradient(140deg,#44216d,#85446f 45%,#265e86 85%,#44216d);background-size:280% 280%;animation:fusion-card-shimmer 4s ease-in-out infinite;box-shadow:0 0 25px #e49fff77,inset 0 0 15px #ffe2b322}
.ability-choice.fusion-choice:hover:not(:disabled){background:linear-gradient(135deg,#7239a1,#c56782,#4585ba);box-shadow:0 0 31px #ffe6a177}
.ability-choice.fusion-choice strong{font-size:19px;color:#fff4c0;text-shadow:0 0 9px #ffc97988}
.ability-choice.fusion-choice small{color:#c7fafa}
.ability-choice.weapon-choice{border-color:#ffdb82;background:linear-gradient(145deg,#815420,#356e7b 80%);box-shadow:0 6px 20px #ffd76a33,inset 0 0 10px #ffc05c30}
.ability-choice.weapon-choice:hover:not(:disabled){background:linear-gradient(145deg,#a16a26,#408ca1)}
.ability-choice.weapon-choice strong{color:#fff0bb;font-size:18px}
.ability-choice.weapon-choice small{color:#fff0a6}
@keyframes fusion-card-shimmer{0%,100%{background-position:0 40%}50%{background-position:100% 60%}}
@media(prefers-reduced-motion:reduce){.ability-choice.fusion-choice{animation:none}}
.inventory-ability-list{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0;padding:9px;border-radius:10px;background:#092e4380}
.inventory-ability-list span{font-size:13px;font-weight:800;background:#2c6d7b;border-radius:9px;padding:8px 10px;color:#f3fff8}
.side-panel{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px;align-items:start;padding:15px}
.side-panel .quest-header{grid-column:1;grid-row:1}
.side-panel .story-progress{grid-column:1;grid-row:2}
.side-panel .chapter-list{grid-column:1;grid-row:3 / 6}
.side-panel .rules-card{grid-column:2 / 4;grid-row:1 / 4;margin:0}
.side-panel .reset-btn{grid-column:3;grid-row:1}
@media(max-width:850px){
  .app-shell{width:100%}
  .game-view canvas{height:auto;aspect-ratio:5/3}
  .side-panel{display:block;margin:8px}
  .combat-hud{width:190px;padding:9px;left:9px;bottom:9px}
  .action-pad{left:207px;bottom:10px;flex-direction:column;gap:5px}
  .action-btn{min-width:84px;height:42px;font-size:19px;flex-direction:row;gap:4px}
  .action-btn span{font-size:9px}.action-btn small{display:none}
  .control-pad{bottom:9px;right:9px}
}
@media(max-width:600px){
  .fullscreen-btn{top:43px;right:7px;padding:6px 8px;font-size:10px}
  .ability-choices{grid-template-columns:1fr}.ability-choice{min-height:88px;padding:10px}.ability-choice span{font-size:11px}
  .game-view canvas{height:auto;aspect-ratio:5/3}
  .viewport-label{top:6px;left:3px;right:3px;gap:3px}
  .viewport-label span{font-size:9px;padding:5px 6px}
  .combat-hud{width:145px;bottom:7px;left:7px;padding:7px;border-width:1px}
  .combat-hud-top{font-size:9px;margin-bottom:5px}.combat-hud-top b{font-size:10px}
  .combat-meter-label{font-size:9px;margin:3px 0}.combat-meter{height:8px}
  .action-pad{left:auto;right:8px;bottom:103px;flex-direction:row;gap:3px}
  .action-btn{width:55px;min-width:55px;height:40px;font-size:17px;flex-direction:column;border-radius:9px}
  .action-btn span{font-size:8px;line-height:1.05}
  .control-pad{bottom:7px;right:7px}
  .control-pad button{width:37px;height:39px}.control-pad .vertical-pad button{width:40px;height:25px}
}
