/*! overlay.css — 勝敗オーバーレイ・設定モーダル */
/* ---- オーバーレイ ---- */
.overlay{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,0);border-radius:8px;opacity:0;pointer-events:none;
  transition:opacity .3s ease, background .3s ease;z-index:10;text-align:center;padding:0 12px;
}
.overlay.show{opacity:1;background:rgba(10,2,6,.78);pointer-events:auto;}
.overlay-inner{display:flex;flex-direction:column;align-items:center;gap:10px;}
#overlayText{font-size:2rem;font-weight:900;letter-spacing:.05em;text-shadow:0 4px 20px rgba(0,0,0,.8);line-height:1.25;}
.overlay-sub{font-size:.85rem;opacity:.85;line-height:1.6;}
.overlay #againBtn{display:none;margin-top:4px;padding:10px 20px;}
.overlay.final #againBtn{display:block;}
.overlay.win #overlayText{color:#ffd76e;}
.overlay.lose #overlayText{color:#ff8f8f;}
.overlay.pass #overlayText{color:#ffe9a3;font-size:1.6rem;}

/* ---- 設定 ---- */
.setup-overlay{
  position:fixed;inset:0;background:rgba(8,2,5,.8);backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;padding:16px;z-index:100;
  opacity:1;transition:opacity .22s ease;overflow-y:auto;
}
.setup-overlay.hidden{opacity:0;pointer-events:none;}
.setup-card{
  background:linear-gradient(180deg,#37202c,#231018);
  border:1px solid #5a3040;border-radius:18px;padding:18px;
  width:min(94vw,360px);display:flex;flex-direction:column;gap:12px;
  box-shadow:0 18px 50px rgba(0,0,0,.65);
}
.setup-card h2{margin:0;font-size:1.05rem;letter-spacing:.03em;color:var(--gold);}
.lv-list{display:flex;flex-direction:column;gap:8px;}
.lv{
  display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:12px;
  border:2px solid #4b2836;background:#2a1620;cursor:pointer;text-align:left;width:100%;
}
.lv.sel{border-color:var(--gold);background:#3d2130;box-shadow:0 0 0 3px rgba(230,194,106,.15);}
.lv img{width:46px;height:46px;border-radius:50%;object-fit:cover;background:#fff;flex:0 0 46px;border:2px solid #6b4050;}
.lv.sel img{border-color:var(--gold);}
.lv-txt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.lv-name{font-weight:800;font-size:.92rem;}
.lv-desc{font-size:.7rem;opacity:.7;line-height:1.4;}
.group{display:flex;flex-direction:column;gap:6px;font-size:.8rem;}
.group label{opacity:.7;}
.group select{width:100%;}
.setup-card .primary{padding:11px;font-size:.95rem;}
.rule{margin:0;font-size:.68rem;opacity:.55;line-height:1.7;}
