/* ── AUTH MODAL ── */
.modal-bg {
  position:fixed; inset:0;
  background:rgba(26,20,16,0.7); backdrop-filter:blur(8px);
  z-index:200; display:none;
  align-items:center; justify-content:center;
}
.modal-bg.open { display:flex; animation:fadeIn 0.2s ease; }

.modal {
  background:var(--cream); border:1px solid var(--border);
  border-radius:3px; width:400px;
  animation:scaleIn 0.25s ease;
}
.modal-head {
  padding:1.5rem 2rem;
  border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
  background:var(--rice);
}
.modal-head-title { font-family:'Noto Serif SC', serif; font-size:1.1rem; color:var(--ink); }
.modal-close {
  background:none; border:none; color:var(--muted);
  font-size:1.1rem; cursor:pointer; transition:color 0.2s; line-height:1;
}
.modal-close:hover { color:var(--ink); }

.modal-tabs { display:flex; border-bottom:1px solid var(--border); }
.m-tab {
  flex:1; padding:0.9rem; background:none; border:none;
  font-family:'IBM Plex Mono', monospace;
  font-size:0.65rem; letter-spacing:0.1em;
  color:var(--muted); cursor:pointer;
  border-bottom:2px solid transparent; transition:all 0.2s;
}
.m-tab.active { color:var(--signal); border-bottom-color:var(--signal); }

.modal-body { padding:2rem; }
.mform-group { margin-bottom:1.2rem; }
.mform-label {
  display:block; font-size:0.6rem; letter-spacing:0.12em;
  color:var(--muted); text-transform:uppercase; margin-bottom:0.4rem;
}
.mform-input {
  width:100%; background:var(--rice); border:1px solid var(--border);
  border-radius:2px; padding:0.7rem 0.9rem;
  font-family:'IBM Plex Mono', monospace;
  font-size:0.8rem; color:var(--ink); transition:border-color 0.15s;
}
.mform-input:focus { outline:none; border-color:var(--signal); }
.modal-error { margin-top:0.8rem; font-size:0.7rem; color:var(--red-muted); display:none; }
