.bank-editor-trigger {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font: 700 12px/1 "DM Sans", sans-serif;
  letter-spacing: .05em;
  cursor: pointer;
}
.bank-editor-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483010;
  display: none;
  place-items: center;
  padding: 18px;
  overflow: auto;
  background: rgba(7, 6, 12, .86);
  backdrop-filter: blur(8px);
}
.bank-editor-overlay.show { display: grid; }
.bank-editor-open { overflow: hidden; }
.bank-editor-modal {
  position: relative;
  width: min(620px, 100%);
  max-height: 90dvh;
  padding: clamp(22px, 5vw, 34px);
  overflow: auto;
}
.bank-editor-x {
  position: sticky;
  top: 0;
  z-index: 1;
  float: right;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.bank-editor-eyebrow { margin: 0 50px 8px 0 !important; font-size: 11px !important; letter-spacing: .14em; text-transform: uppercase; }
.bank-editor-modal h2 { margin: 0 46px 10px 0; }
.bank-editor-intro { margin: 0 0 22px !important; line-height: 1.5; }
.bank-editor-form { display: grid; gap: 14px; clear: both; }
.bank-editor-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.bank-field { display: grid; gap: 6px; min-width: 0; }
.bank-field > span { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bank-field input,
.bank-field textarea,
.bank-field select {
  width: 100%;
  min-height: 48px;
  padding: 11px 12px;
  border: 1px solid currentColor;
  border-radius: 8px;
  outline: none;
  background: transparent;
  color: inherit;
  font: 600 15px/1.35 "DM Sans", sans-serif;
}
.bank-field textarea { min-height: 74px; resize: vertical; }
.bank-field input:focus,
.bank-field textarea:focus,
.bank-field select:focus { box-shadow: 0 0 0 3px rgba(205, 165, 63, .25); }
.bank-editor-status { min-height: 20px; margin: 0 !important; font-size: 13px !important; }
.bank-editor-status.success { color: #58b96b; }
.bank-editor-status.error { color: #ef6250; }
.bank-editor-save {
  min-height: 52px;
  padding: 12px 18px;
  border: 0;
  border-radius: 10px;
  font-weight: 800;
  cursor: pointer;
}
.bank-editor-save:disabled { opacity: .5; cursor: wait; }

body[data-bank-game="undercover"] .bank-editor-trigger { color: #cda53f; border-color: rgba(205, 165, 63, .7); }
body[data-bank-game="undercover"] .bank-editor-modal { border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: #17151c; color: #efeae3; box-shadow: 0 24px 70px rgba(0,0,0,.7); }
body[data-bank-game="undercover"] .bank-editor-modal h2 { color: #cda53f; font: 700 28px "Oswald", sans-serif; text-transform: uppercase; }
body[data-bank-game="undercover"] .bank-editor-eyebrow,
body[data-bank-game="undercover"] .bank-editor-intro { color: #9d96a5; }
body[data-bank-game="undercover"] .bank-editor-x { background: #211e28; color: #cda53f; }
body[data-bank-game="undercover"] .bank-field input,
body[data-bank-game="undercover"] .bank-field textarea,
body[data-bank-game="undercover"] .bank-field select { border-color: rgba(255,255,255,.14); background: #100f13; color-scheme: dark; }
body[data-bank-game="undercover"] .bank-editor-save { background: #cda53f; color: #1a160b; font-family: "Oswald", sans-serif; text-transform: uppercase; letter-spacing: .08em; }

body[data-bank-game="odd-one"] .bank-editor-trigger { border-radius: 0; color: #111128; background: #d8ff43; box-shadow: 2px 2px 0 #111128; font-family: "DM Mono", monospace; text-transform: uppercase; }
body[data-bank-game="odd-one"] .bank-editor-modal { border: 2px solid #111128; border-radius: 0; background: #f4f0df; color: #111128; box-shadow: 9px 9px 0 #111128; }
body[data-bank-game="odd-one"] .bank-editor-modal h2 { font: 400 clamp(2rem, 8vw, 3.5rem)/.92 "Archivo Black", sans-serif; letter-spacing: -.05em; text-transform: uppercase; }
body[data-bank-game="odd-one"] .bank-editor-eyebrow { font-family: "DM Mono", monospace; }
body[data-bank-game="odd-one"] .bank-editor-x { border: 2px solid #111128; border-radius: 0; background: #ff5c9a; }
body[data-bank-game="odd-one"] .bank-field input,
body[data-bank-game="odd-one"] .bank-field textarea,
body[data-bank-game="odd-one"] .bank-field select { border: 2px solid #111128; border-radius: 0; background: #fffdf5; }
body[data-bank-game="odd-one"] .bank-editor-save { border: 2px solid #111128; border-radius: 0; background: #d8ff43; color: #111128; box-shadow: 4px 4px 0 #111128; }

@media (max-width: 560px) {
  .bank-editor-row { grid-template-columns: 1fr; }
  .bank-editor-trigger { padding: 0 9px; font-size: 10px; }
}
