/* Shared theme + components for all Editable Digital Games */
:root{
  --jeo-blue:#060ce9;
  --jeo-blue-dark:#04067a;
  --jeo-gold:#d69f4c;
  --jeo-gold-light:#ffcc00;
  --ink:#0b1020;
  --paper:#f4f6fb;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:"Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  background:var(--paper);
  color:var(--ink);
}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;}
button{font-family:inherit;cursor:pointer;}
.wrap{max-width:1100px;margin:0 auto;padding:24px;}

/* ---------- Header ---------- */
.topbar{
  background:var(--jeo-blue);
  color:#fff;
  text-align:center;
  padding:22px 16px;
  border-bottom:6px solid var(--jeo-gold);
}
.topbar h1{
  margin:0;
  font-size:clamp(26px,5vw,50px);
  letter-spacing:2px;
  text-shadow:3px 3px 0 var(--jeo-blue-dark);
  color:var(--jeo-gold-light);
}
.topbar p{margin:6px 0 0;opacity:.9;font-size:14px;}
.topbar a.home{color:#cfd4f5;font-size:13px;text-decoration:none;}
.topbar a.home:hover{color:#fff;}

/* ---------- Screens ---------- */
.screen{display:none;}
.screen.active{display:block;}

/* ---------- Cards ---------- */
.card{
  background:#fff;
  border-radius:14px;
  box-shadow:0 6px 24px rgba(6,12,233,.08);
  padding:24px;
  margin-bottom:22px;
}
.card h2{margin-top:0;color:var(--jeo-blue);}
.muted{color:#5a6175;font-size:14px;}

/* ---------- Form controls ---------- */
.controls{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-end;margin-bottom:8px;}
.field{display:flex;flex-direction:column;gap:6px;}
.field label{font-weight:600;font-size:14px;}
select,input[type=text],input[type=number],textarea{
  font-size:15px;padding:9px 11px;border:1.5px solid #c7cde0;border-radius:8px;
  background:#fff;color:var(--ink);width:100%;
}
textarea{resize:vertical;min-height:46px;}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--jeo-blue);}

/* ---------- Buttons ---------- */
.btn{
  border:none;border-radius:10px;padding:12px 22px;font-size:16px;font-weight:700;
  background:var(--jeo-blue);color:#fff;transition:transform .05s,filter .15s;
}
.btn:hover{filter:brightness(1.1);}
.btn:active{transform:translateY(1px);}
.btn:disabled{opacity:.55;cursor:default;}
.btn.gold{background:var(--jeo-gold);color:var(--ink);}
.btn.ghost{background:#eef0f7;color:var(--jeo-blue);}
.btn.sm{padding:7px 13px;font-size:14px;}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;}

/* ---------- AI panel (shared, injected by ai-panel.js) ---------- */
.ai-card{border-top:6px solid var(--jeo-gold);}
.ai-card h2 .opt{font-size:13px;font-weight:400;color:#5a6175;}
#aiStatus,.ai-status{align-self:center;font-size:14px;}

/* ---------- Scoreboard (shared) ---------- */
.scorebar{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:18px 0;}
.team-score{
  background:#fff;border-radius:12px;padding:10px 16px;min-width:130px;text-align:center;
  box-shadow:0 3px 10px rgba(0,0,0,.08);border-top:5px solid var(--c,#888);
}
.team-score.active-team{outline:3px solid var(--jeo-gold);}
.team-score .name{font-weight:700;font-size:15px;}
.team-score .pts{font-size:26px;font-weight:800;color:var(--jeo-blue);}
.team-score .adj{display:flex;gap:4px;justify-content:center;margin-top:6px;}
.team-score .adj button{border:none;border-radius:6px;width:26px;height:26px;font-weight:700;background:#eef0f7;}

/* ---------- Teams setup (shared) ---------- */
.team-list{display:flex;flex-direction:column;gap:10px;margin:14px 0;}
.team-row{display:flex;gap:10px;align-items:center;}
.team-row .swatch{width:26px;height:26px;border-radius:50%;flex:0 0 auto;border:2px solid #fff;box-shadow:0 0 0 1px #ccc;}

/* ---------- Modal / overlay (shared) ---------- */
.overlay{
  display:none;position:fixed;inset:0;background:rgba(4,6,80,.8);
  align-items:center;justify-content:center;padding:20px;z-index:50;
}
.overlay.show{display:flex;}
.modal{
  background:var(--jeo-blue);color:#fff;border:4px solid var(--jeo-gold);border-radius:16px;
  max-width:820px;width:100%;padding:34px 28px;text-align:center;
}

.footnote{text-align:center;color:#8089a3;font-size:13px;padding:20px;}
@media(max-width:640px){.controls{flex-direction:column;align-items:stretch;}}
