/* /css/components/modal.css */

/* ====== MODAL (Agreement / README) ====== */
.modal-overlay{
  position:fixed;
  inset:0;
  z-index:10000;
  background:var(--grad);
  display:none;
}

.modal-overlay.is-open{
  display:block;
}

.modal{
  position:fixed;
  inset:0;
  z-index:10001;
  display:none;
  place-items:center;
}

.modal.is-open{
  display:grid;
}

.modal-card{
  width:min(980px,92vw);
  max-height:86vh;
  background:var(--glass);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--aura);
  overflow:hidden;
  display:grid;
  grid-template-rows:auto 1fr auto;
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  backdrop-filter:blur(14px) saturate(160%);
}

.modal-head{
  padding:14px 18px;
  border-bottom:1px solid var(--border);
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:var(--glass-2);
}

.modal-title{
  margin:0;
  font-weight:800;
  background: linear-gradient(
    130deg,
    var(--ink) 10%,
    var(--brand-600) 60%,
    var(--brand-purp) 95%
  );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.modal-close{
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  background:none;
  border:0;
  color:var(--muted);
  cursor:pointer;
  font-weight:700;
  border-radius:8px;
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.modal-close:hover{
  background:var(--brandsoft);
  border:1px solid var(--brand);
  transform:translateY(-2px);
  color:var(--brandsoft-purp);
  font-weight:800;
}

.modal-body{
  overflow:auto;
  background:var(--grad);
}

/* ===== Markdown content ===== */
.md-view{
  padding:18px 22px;
  color:#dfe7ff;
  font-size:.98rem;
  line-height:1.55;
}

.md-view h1,
.md-view h2,
.md-view h3,
.md-view h4{
  margin:1.1em 0 .5em;
}

.md-view pre{
  background:#0f1626;
  padding:10px 12px;
  border-radius:10px;
  overflow:auto;
}

.md-view code{
  background:#0f1626;
  padding:2px 6px;
  border-radius:6px;
}

/* Tables inside Markdown */
.md-view table{
  width:100%;
  border-collapse:collapse;
  margin:10px 0;
}

.md-view th,
.md-view td{
  padding:8px;
  border:1px solid var(--border);
}

.md-view thead th{
  background:var(--glass);
  color:var(--ink);
  text-align:left;
}

.modal-foot{
  border-top:1px solid var(--border);
  padding:12px 16px;
  background:var(--glass-2);
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}

.ack{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:var(--muted);
  font-size:.95rem;
}

.ack input{
  accent-color:var(--brand-600);
  margin-top:4px;
}

.actions{
  display:flex;
  gap:10px;
}

.primary[disabled]{
  opacity:.6;
  pointer-events:none;
}

@media (max-width: 600px) {
  /* Stack agreement and actions vertically */
  #agreementModal .modal-foot {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }

  /* Let agreement text breathe */
  #agreementModal .ack {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    line-height: 1.35;
  }

  /* Keep buttons together, same row */
  #agreementModal .actions {
    display: flex;
    gap: 10px;
  }

  /* Make buttons equal width */
  #agreementModal .actions > .btn,
  #agreementModal .actions > .cta {
    flex: 1 1 50%;
  }
}