/* Battaglia di corsie — stile vanilla, niente framework. */
:root{
  --bg:#0f1117; --panel:#1a1d27; --panel2:#232733; --ink:#e8eaf0; --muted:#9aa0b0;
  --accent:#6c8cff; --win:#3ecf8e; --lose:#ff5d6c; --draw:#c9a227; --line:#2c3140;
  /* colori MTG */
  --W:#f7f5e6; --U:#3b7bd1; --B:#5a5560; --R:#d4504a; --G:#3fa55a; --C:#9aa0b0;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.2}

.topbar{display:flex;align-items:center;gap:1.5rem;padding:.8rem 1.2rem;background:var(--panel);border-bottom:1px solid var(--line)}
.brand{font-weight:700;font-size:1.1rem}
.topbar nav{display:flex;gap:1rem}

.container{max-width:1000px;margin:0 auto;padding:1.5rem 1rem}

.hero h1{margin:.2rem 0;font-size:2rem}
.hero p{color:var(--muted);max-width:60ch}

.card-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1.2rem;margin:1rem 0}
.rules{margin:.5rem 0;padding-left:1.2rem}
.hint{color:var(--muted);font-size:.9rem}

.badge{background:var(--panel2);border-radius:999px;padding:.1rem .6rem;font-size:.8rem;color:var(--muted)}

/* --- Home: lista mazzi --- */
.deck-list{display:flex;flex-wrap:wrap;gap:.7rem;margin:.8rem 0}
.deck-chip{display:flex;align-items:center;gap:.6rem;background:var(--panel2);border:1px solid var(--line);
  border-radius:10px;padding:.6rem .9rem;color:var(--ink)}
.deck-chip:hover{border-color:var(--accent);text-decoration:none}
.deck-color{width:1.6rem;height:1.6rem;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#111}
.deck-size{color:var(--muted);font-size:.85rem}
.c-W{background:var(--W)} .c-U{background:var(--U)} .c-B{background:var(--B)}
.c-R{background:var(--R)} .c-G{background:var(--G)} .c-C{background:var(--C)}

/* --- Deck editor --- */
.builder-controls{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.8rem}
.builder-controls label{display:flex;flex-direction:column;font-size:.85rem;color:var(--muted);gap:.2rem}
.builder-controls select,.builder-controls input,#deck-name{background:var(--panel2);color:var(--ink);
  border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem;font-size:.95rem}
.builder-grid{display:grid;grid-template-columns:1fr 320px;gap:1rem}
@media(max-width:820px){.builder-grid{grid-template-columns:1fr}}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;margin-top:.6rem;max-height:60vh;overflow:auto}
.card-grid.small{grid-template-columns:1fr}
.deck-panel #deck-name{width:100%;margin:.5rem 0}

.mini-card{background:var(--panel2);border:1px solid var(--line);border-left:5px solid var(--C);border-radius:8px;padding:.5rem;font-size:.85rem}
.mini-card.c-W{border-left-color:var(--W)} .mini-card.c-U{border-left-color:var(--U)}
.mini-card.c-B{border-left-color:var(--B)} .mini-card.c-R{border-left-color:var(--R)}
.mini-card.c-G{border-left-color:var(--G)}
.mc-top{display:flex;justify-content:space-between;gap:.3rem;font-weight:600}
.mc-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-cost{background:var(--bg);border-radius:50%;width:1.4rem;height:1.4rem;display:grid;place-items:center;flex:none}
.mc-pt{color:var(--muted);margin-top:.2rem}
.mc-btn{margin-top:.4rem;width:100%;background:var(--accent);color:#fff;border:0;border-radius:6px;padding:.25rem;cursor:pointer;font-weight:700}

.btn{display:inline-block;background:var(--panel2);color:var(--ink);border:1px solid var(--line);
  border-radius:8px;padding:.5rem .9rem;cursor:pointer;font-size:.95rem}
.btn.primary{background:var(--accent);color:#fff;border-color:transparent}
.btn:hover{filter:brightness(1.1);text-decoration:none}
.msg{min-height:1.2em;font-size:.9rem}
.msg.ok{color:var(--win)} .msg.err{color:var(--lose)}

/* --- Battaglia --- */
.battle-head{display:flex;justify-content:space-between;align-items:center}
.mana-box{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:.4rem .8rem;font-weight:600}
.prompt{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);
  border-radius:8px;padding:.7rem 1rem;margin:1rem 0}

/* Tavolo a due metà speculari + corridoio centrale */
.board{display:flex;flex-direction:column;gap:.5rem;margin-top:.6rem}
.side{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:.6rem}
.side-ai{border-top:3px solid var(--lose)}
.side-player{border-bottom:3px solid var(--win)}
.side-bar{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:.2rem .2rem .5rem}
.side-bar .who{font-weight:700}
.side-bar .life{font-weight:800;font-size:1.25rem}
.side-bar .mana-box{font-weight:700}

.lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.lane-col{border-radius:10px;padding:.25rem;transition:.3s}
.lane-col.win-player{box-shadow:0 0 0 2px var(--win) inset;background:rgba(62,207,142,.06)}
.lane-col.win-ai{box-shadow:0 0 0 2px var(--lose) inset;background:rgba(255,93,108,.06)}
.lane-col.draw{box-shadow:0 0 0 2px var(--draw) inset}
.slot{min-height:150px;border:1px dashed var(--line);border-radius:10px;display:grid;place-items:center;padding:.3rem}
.slot-empty{color:var(--muted);font-size:.8rem}

/* Mano dell'avversario, coperta (carte viste dal retro) */
.oppo-hand{display:flex;gap:3px;margin-left:auto}
.hand-back{width:24px;height:34px;border-radius:4px;border:1px solid #11141c;
  background:repeating-linear-gradient(45deg,#3a2d5a,#3a2d5a 4px,#2a2140 4px,#2a2140 8px)}

/* Corridoio centrale: prompt + scelte */
.corridor{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:.5rem .8rem}
.lane-tags{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:.3rem}
.lane-tag{font-size:.72rem;color:var(--muted);text-align:center}
.corridor .prompt{margin:.3rem 0}
#next-btn{margin-top:.4rem}

.play-card{width:100%;background:var(--panel2);border:1px solid var(--line);border-top:5px solid var(--C);
  border-radius:8px;padding:.5rem;font-size:.85rem;position:relative}
.play-card.c-W{border-top-color:var(--W)} .play-card.c-U{border-top-color:var(--U)}
.play-card.c-B{border-top-color:var(--B)} .play-card.c-R{border-top-color:var(--R)}
.play-card.c-G{border-top-color:var(--G)}
.pc-top{display:flex;justify-content:space-between;gap:.3rem;font-weight:700}
.pc-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-cost{background:var(--bg);border-radius:50%;width:1.4rem;height:1.4rem;display:grid;place-items:center;flex:none}
.pc-pt{font-size:1.1rem;font-weight:700;margin-top:.3rem}
.pc-kw{min-height:1.2em}
.play-card.facedown{display:grid;place-items:center;font-size:2rem;color:var(--muted);min-height:90px;background:repeating-linear-gradient(45deg,var(--panel2),var(--panel2) 8px,var(--panel) 8px,var(--panel) 16px)}
.play-card.dead{opacity:.45;filter:grayscale(1)}
.play-card.dead::after{content:"☠️";position:absolute;top:.3rem;right:.3rem;font-size:1.2rem}

.hand-area{margin-top:1rem}
.hand{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.5rem}
.hand-card{width:140px;cursor:default}
.hand-card.playable{cursor:pointer;outline:2px solid transparent}
.hand-card.playable:hover{outline-color:var(--accent);transform:translateY(-3px);transition:.15s}
.hand-card.unaffordable{opacity:.4}

.battle-actions{display:flex;gap:.6rem;margin-top:1rem}

/* Barra scelta para/subisci */
.choice-bar{display:flex;gap:.6rem;flex-wrap:wrap;margin:.8rem 0;padding:.7rem;
  background:var(--panel2);border:1px dashed var(--accent);border-radius:10px}
.btn.ghost{background:transparent}

/* Badge sulle carte in corsia */
.lane-badge{position:absolute;top:4px;left:4px;font-size:.7rem;font-weight:800;padding:.1rem .4rem;
  border-radius:6px;color:#fff;background:rgba(0,0,0,.7)}
.lane-badge.b-block{background:#3b7bd1}
.lane-badge.b-face{background:#d4504a}
.lane-badge.b-atk{background:#c9a227;color:#111}
.lane-badge.b-dmg{top:auto;bottom:4px;left:4px;right:4px;text-align:center;background:rgba(0,0,0,.78)}

.result{margin-top:1.5rem;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1.2rem}
.result-banner{font-size:1.6rem;font-weight:800;text-align:center;padding:.6rem;border-radius:8px}
.result-banner.win{background:rgba(62,207,142,.15);color:var(--win)}
.result-banner.lose{background:rgba(255,93,108,.15);color:var(--lose)}
.result-banner.draw{background:rgba(201,162,39,.15);color:var(--draw)}
.result-score{text-align:center;color:var(--muted)}
.result-tb{text-align:center;color:var(--draw);font-size:.9rem;margin-top:.3rem}
.result-table{width:100%;border-collapse:collapse;margin-top:.6rem;font-size:.9rem}
.result-table td{padding:.4rem;border-bottom:1px solid var(--line)}
.w-PLAYER{color:var(--win);font-weight:700} .w-AI{color:var(--lose);font-weight:700} .w-DRAW{color:var(--draw)}
.result-actions{display:flex;gap:.6rem;margin-top:1rem;justify-content:center}

/* --- Immagini carte (Scryfall) --- */
/* Deckbuilder: l'immagine È la carta; il testo resta come fallback. */
.mini-card{padding:0;overflow:hidden}
.mc-imgwrap{position:relative;background:var(--panel);line-height:0}
.mc-img{width:100%;display:block;aspect-ratio:488/680;object-fit:cover}
.mc-imgwrap .mc-cost{position:absolute;top:5px;left:5px;background:rgba(0,0,0,.72);color:#fff}
.mc-imgwrap.noimg{min-height:120px;display:grid;place-items:center}
.mc-meta{padding:.4rem .5rem;font-size:.8rem}
.mc-meta .mc-name{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-meta .mc-pt{color:var(--muted)}
.mc-meta em{font-style:normal}
.mini-card .mc-btn{margin:0;border-radius:0}
.copies-tag{position:absolute;bottom:5px;right:5px;background:var(--accent);color:#fff;font-weight:700;
  border-radius:6px;padding:.05rem .4rem;font-size:.85rem}

/* Gemme rarità */
.gem{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;vertical-align:middle;
  border:1px solid rgba(0,0,0,.4)}
.r-common{background:#3a3f4b} .r-uncommon{background:#9fb4c4}
.r-rare{background:#d4af37} .r-mythic{background:#e2622b}
.mc-meta em.r-rare,.mc-meta em.r-mythic{font-weight:700}

/* Badge stato mazzo */
.badge.ok{background:rgba(62,207,142,.2);color:var(--win)}
.badge.warn{background:rgba(201,162,39,.2);color:var(--draw)}
button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.5)}

/* Mano più grande + mana/forza leggibili sovrapposti */
.hand{gap:.7rem}
.hand-card{width:172px}
.hc-cost,.hc-pt,.hc-kw{position:absolute;font-weight:800;z-index:2;text-shadow:0 1px 2px #000}
.hc-cost{top:6px;left:6px;background:#0d1b3a;color:#cfe0ff;border:2px solid #fff;border-radius:50%;
  width:1.9rem;height:1.9rem;display:grid;place-items:center;font-size:1.05rem}
.hc-pt{bottom:8px;right:6px;background:rgba(0,0,0,.82);color:#fff;border-radius:8px;padding:.1rem .5rem;font-size:1.15rem}
.hc-kw{bottom:8px;left:6px;font-size:1.1rem}
.hand-card .pc-fallback{display:none}
.hand-card.noimg .pc-fallback{display:block}

/* Numero grande dei danni sopra la carta */
.dmg-big{position:absolute;top:-16px;left:50%;transform:translateX(-50%);z-index:5;
  font-size:1.9rem;font-weight:900;line-height:1;padding:.1rem .5rem;border-radius:10px;
  border:2px solid #fff;display:flex;align-items:center;gap:.15rem;box-shadow:0 3px 8px rgba(0,0,0,.5);
  animation:pop .35s ease-out}
.dmg-big.to-mage{background:#c4122e;color:#fff}        /* danno al mago */
.dmg-big.to-creature{background:#2b4b8f;color:#fff}    /* danno alla creatura (scontro) */
.dmg-arrow{font-size:1.1rem}
@keyframes pop{from{transform:translateX(-50%) scale(.3);opacity:0}to{transform:translateX(-50%) scale(1);opacity:1}}

/* Stato carta: attacca il mago vs si scontra */
.play-card.attacking{outline:3px solid #ff9f1c;outline-offset:-1px;box-shadow:0 0 14px rgba(255,159,28,.6)}
.play-card.clashing{outline:3px solid #6aa0ff;outline-offset:-1px}

/* Morte ben visibile */
.play-card.dead{opacity:.7;filter:grayscale(.85) brightness(.6)}
.play-card.dead::after{content:"☠ MORTA";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-12deg);
  background:#7a0010;color:#fff;font-weight:900;letter-spacing:1px;padding:.2rem .7rem;border:2px solid #fff;
  border-radius:6px;font-size:1rem;z-index:6;box-shadow:0 2px 8px rgba(0,0,0,.6)}

/* Animazioni / pacing */
@keyframes reveal{from{opacity:0;transform:rotateY(90deg) scale(.9)}to{opacity:1;transform:none}}
.play-card.reveal{animation:reveal .45s ease-out}
.prompt.thinking{border-left-color:var(--draw)}
.prompt.thinking::after{content:" ⏳";animation:pulse 1s infinite}
@keyframes pulse{0%,100%{opacity:.4}50%{opacity:1}}

/* Battaglia: immagine piena, testo fallback se manca. */
.play-card{padding:0;overflow:hidden}
.pc-img{width:100%;display:block;border-radius:7px}
.pc-fallback{display:none;padding:.5rem}
.play-card.noimg .pc-fallback{display:block}
.play-card.noimg{padding:.5rem}
.hand-card{width:120px}

/* --- Footer legale --- */
.legal{max-width:1000px;margin:2rem auto 1rem;padding:1rem;color:var(--muted);font-size:.75rem;border-top:1px solid var(--line)}
.legal-small{font-size:.7rem;opacity:.8}
