/* ===== Duelo Universe (modo por turnos) ===== */
.duel-screen{position:fixed;inset:0;z-index:40;display:flex;justify-content:center;overflow:auto;color:#f4ecd8;font-family:system-ui,sans-serif;
  background:radial-gradient(90% 60% at 50% 50%,rgba(70,90,200,.25),transparent 70%),linear-gradient(180deg,#0b0d24,#141039 50%,#0b0d24)}
.duel-screen.hidden{display:none}
.duel-screen button{font:inherit;cursor:pointer}
.duel-screen button:disabled{cursor:not-allowed;opacity:.45}

/* Menu de Duelistas */
.duel-menu{width:min(860px,100%);padding:18px 16px 28px;display:flex;flex-direction:column;gap:12px}
.duel-menu-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.duel-eyebrow{font:700 11px/1 system-ui;letter-spacing:.14em;color:#c9a24e;text-transform:uppercase}
.duel-menu-head h2{margin:6px 0 4px;font:700 26px/1.1 "Cinzel",Georgia,serif;color:#f3e2b0}
.duel-menu-head p{margin:0;font-size:13px;color:#c8c3dd}
.duel-close{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid rgba(201,162,78,.6);background:rgba(10,8,28,.7);color:#f3e2b0;font-size:22px;line-height:1}
.duel-close.small{width:32px;height:32px;font-size:15px}
.duel-rules{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:10px;border:1px solid rgba(120,140,255,.3);background:rgba(30,30,80,.45);font-size:12px;color:#d8d4f0}
.duel-rules b{color:#f3e2b0}
.duel-opponents{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.duel-opponent{display:grid;grid-template-columns:56px 1fr;grid-template-rows:1fr auto;gap:8px 12px;padding:12px;border-radius:12px;
  border:2px solid #c9a24e;background:linear-gradient(160deg,#2a2152,#120f28);box-shadow:inset 0 0 14px rgba(0,0,0,.5)}
.duel-opponent.locked{filter:grayscale(.7) brightness(.75);border-color:#5d5670}
.duel-opponent-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;font-size:28px;background:radial-gradient(circle at 40% 32%,#6c58c4,#1d163f);border:2px solid #d8b35a}
.duel-opponent-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.duel-opponent-info strong{font:700 16px/1.1 "Cinzel",Georgia,serif;color:#f3e2b0}
.duel-opponent-info small{font-size:11px;color:#b5aedb}
.duel-opponent-info p{margin:2px 0;font-size:12px;color:#ddd6f3}
.duel-opponent-info em{font-style:normal;font-size:11px;color:#a8e3c0}
.duel-opponent-meta{font-size:11px;color:#f0d38a}
.duel-opponent button{grid-column:1/-1;padding:9px;border-radius:9px;border:1px solid #e2c06a;background:linear-gradient(180deg,#7d4fe0,#4a2a9a);color:#fff;font-weight:800}

/* Partida */
.duel-match{position:relative;width:min(900px,100%);min-height:100%;display:flex;flex-direction:column;gap:6px;padding:8px 10px 10px}
.duel-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:6px 8px;border-radius:12px;background:rgba(8,6,26,.75);border:1px solid rgba(201,162,78,.45)}
.duel-who{display:flex;align-items:center;gap:8px;min-width:0}
.duel-who strong{display:block;font:700 13px/1.1 "Cinzel",Georgia,serif;color:#f3e2b0;white-space:nowrap}
.duel-who small{font-size:10px;color:#b5aedb;white-space:nowrap}
.duel-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-size:18px;background:radial-gradient(circle at 40% 32%,#6c58c4,#1d163f);border:2px solid #d8b35a;flex:none}
.duel-lp{position:relative;height:22px;border-radius:999px;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.18);overflow:hidden;display:flex;align-items:center;justify-content:center;gap:4px}
.duel-lp-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#2fbf71,#9be27a);transition:width .35s ease}
.duel-lp.ai .duel-lp-fill{background:linear-gradient(90deg,#c0396d,#ff7a8a)}
.duel-lp strong,.duel-lp small{position:relative;font-weight:900;text-shadow:0 1px 2px #000}.duel-lp strong{font-size:13px}.duel-lp small{font-size:9px}
.duel-buttons{display:flex;gap:6px}
.duel-buttons button,.duel-panel-actions button{padding:8px 12px;border-radius:9px;border:1px solid #e2c06a;background:linear-gradient(180deg,#7d4fe0,#4a2a9a);color:#fff;font-weight:800;font-size:12px}
.duel-panel-actions button.ghost,.duel-buttons button.ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.25)}
.duel-hand{display:flex;justify-content:center;gap:6px;min-height:20px;overflow-x:auto;padding:4px 2px;scrollbar-width:none}
.duel-hand.ai{min-height:0;padding:0}
.duel-back{width:22px;height:30px;border-radius:4px;border:1.5px solid #c9a24e;background:repeating-linear-gradient(45deg,#3a2a7a 0 4px,#24184f 4px 8px)}
.duel-field{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:8px;border-radius:12px;border:1px solid rgba(110,150,255,.45);
  background:linear-gradient(180deg,rgba(20,30,90,.45),rgba(10,12,40,.45));box-shadow:inset 0 0 18px rgba(80,120,255,.18)}
.duel-field.ai{border-color:rgba(255,110,160,.4);background:linear-gradient(180deg,rgba(80,20,60,.4),rgba(30,10,30,.4))}
.duel-slot{display:grid;place-items:center;aspect-ratio:1/1;max-height:190px;border-radius:10px;border:1px dashed rgba(170,190,255,.35);background:rgba(0,0,0,.18);min-width:0}
.duel-slot-empty{color:rgba(170,190,255,.35);font-size:18px}
.duel-center{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center;padding:4px 0}
.duel-turn{display:flex;gap:8px;align-items:baseline;font-size:12px;color:#d8d4f0}.duel-turn b{font:700 14px "Cinzel",Georgia,serif;color:#f3e2b0}
.duel-rule{font-size:11px;color:#a8e3c0;max-width:640px}
.duel-hint{font-size:12px;font-weight:700;color:#ffe9a6}
.duel-log{display:flex;flex-direction:column;gap:1px;font-size:11px;color:#bfb8de;max-width:640px}

/* Carta do Duelo */
.duel-card{--frame:#3e464e;--frame-hi:#b9c3cc;--art-bg:#232a31;position:relative;display:flex;flex-direction:column;gap:2px;width:100%;max-width:118px;aspect-ratio:5/7;padding:4px;
  border-radius:8px;border:2px solid #c9a24e;color:#f7f2e6;text-align:center;
  background:radial-gradient(120% 70% at 50% 0%,color-mix(in srgb,var(--frame-hi) 30%,transparent),transparent 60%),linear-gradient(160deg,var(--frame),#120f1c 72%,var(--frame));
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.55),0 6px 14px rgba(0,0,0,.5);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.duel-card.hand{flex:none;width:96px}
.duel-card.field{max-height:100%;height:100%;width:auto;margin:auto;justify-self:center}
.duel-card.field.defense{transform:rotate(90deg) scale(.82)}
.duel-card.element-fire{--frame:#6a2a1c;--frame-hi:#e0704a;--art-bg:#4a1a10}.duel-card.element-nature{--frame:#2c4d2c;--frame-hi:#73c27a;--art-bg:#163222}
.duel-card.element-light{--frame:#6b5a2a;--frame-hi:#f0d47a;--art-bg:#4a4020}.duel-card.element-earth{--frame:#56402a;--frame-hi:#c79a68;--art-bg:#35281a}
.duel-card.element-shadow{--frame:#3b2a55;--frame-hi:#a678e8;--art-bg:#241736}.duel-card.element-ice{--frame:#24485a;--frame-hi:#8fdcff;--art-bg:#143040}
.duel-card.element-arcane{--frame:#41305f;--frame-hi:#c58cff;--art-bg:#28193f}.duel-card.element-steel{--frame:#36434d;--frame-hi:#9cc6dc;--art-bg:#1d2a33}
.duel-card.rarity-legendary{border-color:#f0c45d;box-shadow:inset 0 0 0 1px rgba(0,0,0,.55),0 0 12px rgba(240,196,93,.35),0 6px 14px rgba(0,0,0,.5)}
.duel-card.selectable:hover{transform:translateY(-3px);filter:brightness(1.1)}
.duel-card.field.defense.selectable:hover{transform:rotate(90deg) scale(.86)}
.duel-card.selected{box-shadow:0 0 0 3px #fff3c4,0 0 18px rgba(255,220,120,.7);transform:translateY(-6px)}
.duel-card.field.defense.selected{transform:rotate(90deg) scale(.86)}
.duel-card.target{box-shadow:0 0 0 3px #ff6b8a,0 0 16px rgba(255,90,130,.8);animation:duelTarget .7s ease-in-out infinite alternate;cursor:crosshair}
@keyframes duelTarget{to{box-shadow:0 0 0 3px #ffb3c2,0 0 24px rgba(255,90,130,1)}}
.duel-card.faded{filter:grayscale(.45) brightness(.7)}
.duel-card-top{display:flex;justify-content:space-between;align-items:center;min-height:14px}
.duel-card-top .lv{font-style:normal;font-size:8px;letter-spacing:-.5px;color:#ffd35a;text-shadow:0 0 3px rgba(255,150,40,.8);white-space:nowrap;overflow:hidden}
.duel-card-top .el{display:grid;place-items:center;width:14px;height:14px;border-radius:50%;font-style:normal;font-size:8px;background:radial-gradient(circle at 35% 30%,var(--frame-hi),var(--frame) 75%);border:1px solid #d9c38c;flex:none}
.duel-card-art{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;border:1.5px solid #b8964f;border-radius:3px;
  background:radial-gradient(70% 60% at 50% 35%,color-mix(in srgb,var(--frame-hi) 45%,transparent),transparent 72%),linear-gradient(180deg,var(--art-bg),#0b0910)}
.duel-card-art img{position:absolute;left:50%;bottom:0;height:106%;width:auto;transform:translateX(-50%);pointer-events:none}
.duel-card-art em{position:absolute;right:2px;top:2px;font-style:normal;font-size:9px;color:#ffe9a6;text-shadow:0 0 4px #000}
.duel-card-name{margin:-8px 1px 0;position:relative;z-index:1;padding:2px 3px;border-radius:3px;font:700 9px/1.05 "Cinzel",Georgia,serif;font-variant:small-caps;color:#1d1408;
  background:linear-gradient(180deg,#f3e8c8,#dcc898);border:1px solid #6d5a33;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.duel-card-stats{display:flex;justify-content:space-around;font-size:9px;font-weight:800}
.duel-card-stats b{font-weight:900}.duel-card-stats b.mod{color:#ff9a8a}

/* Painéis */
.duel-panel,.duel-result{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:5;width:min(440px,calc(100vw - 24px));
  display:flex;flex-direction:column;gap:5px;padding:12px 14px;border-radius:12px;border:2px solid #c9a24e;background:linear-gradient(180deg,#241a4f,#110c2a);box-shadow:0 14px 40px rgba(0,0,0,.7)}
.duel-panel strong{font:700 16px "Cinzel",Georgia,serif;color:#f3e2b0}.duel-panel small{font-size:12px;color:#c8c3dd}
.duel-panel p{margin:0;font-size:12px;color:#e8e2f8}.duel-panel p.warn{color:#ffb38a}
.duel-panel-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.duel-panel-actions button{flex:1 1 auto}
.duel-result{top:50%;bottom:auto;transform:translate(-50%,-50%);text-align:center;align-items:center}
.duel-result h3{margin:0;font:700 26px "Cinzel",Georgia,serif;color:#f3e2b0}.duel-result.loss h3{color:#ff9aa8}
.duel-result p{margin:0;font-size:13px}.duel-result ul{margin:4px 0;padding:0;list-style:none;font-size:13px;color:#f0d38a}

@media(max-width:560px){
  .duel-match{padding:6px 6px 8px;gap:4px}
  .duel-bar{grid-template-columns:auto 1fr auto;gap:6px;padding:5px 6px}
  .duel-bar.player{grid-template-columns:1fr 1fr}.duel-bar.player .duel-buttons{grid-column:1/-1;justify-content:stretch}.duel-bar.player .duel-buttons button{flex:1}
  .duel-field{gap:6px;padding:6px}
  .duel-card.hand{width:76px}
  .duel-card-name{font-size:8px}
  .duel-log span:nth-child(-n+2){display:none}
}
@media(max-height:520px) and (orientation:landscape){
  .duel-match{width:min(1000px,100%);display:grid;grid-template-columns:1fr 220px;grid-template-areas:"aibar center" "aihand center" "aifield center" "pfield center" "pbar center" "phand phand";gap:4px}
  .duel-bar.ai{grid-area:aibar}.duel-hand.ai{grid-area:aihand}.duel-field.ai{grid-area:aifield}.duel-center{grid-area:center;justify-content:center}
  .duel-field.player{grid-area:pfield}.duel-bar.player{grid-area:pbar}.duel-hand.player{grid-area:phand}
  .duel-slot{max-height:92px}
  .duel-card.hand{width:64px}
}
