/* The one Geebi look, shared by the dev console, launch hub, Atlas and map. The dark values are the same ones the emails use. */
:root {
  --g-bg: #0b0e14;
  --g-card: #121822;
  --g-panel: #1a2433;
  --g-line: #1a2433;
  --g-line-strong: #2a3a50;
  --g-ink: #e6edf3;
  --g-body: #a0aab5;
  --g-muted: #8a94a0;
  --g-teal: #13ebd9;
  --g-teal-ink: #0b0e14;
  --g-gold: #f9b02f;
  --g-danger: #f87171;
  --g-warn-bg: #2a2110;
  --g-code: #1a2433;
  --g-mark: #5a4a14;
  --g-font: "Inter", "Segoe UI", Tahoma, Arial, system-ui, sans-serif;
  --g-mono: "JetBrains Mono", Consolas, Menlo, monospace;
  color-scheme: dark;
}

:root.light {
  --g-bg: #f1f5f9;
  --g-card: #ffffff;
  --g-panel: #f8fafc;
  --g-line: #e2e8f0;
  --g-line-strong: #cbd5e1;
  --g-ink: #0f172a;
  --g-body: #334155;
  --g-muted: #64748b;
  --g-teal: #0d9488;
  --g-teal-ink: #ffffff;
  --g-gold: #b45309;
  --g-danger: #dc2626;
  --g-warn-bg: #fef7e6;
  --g-code: #eef2f6;
  --g-mark: #fde68a;
  color-scheme: light;
}

.gp-screen {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  background: var(--g-bg);
  color: var(--g-ink);
  font-family: var(--g-font);
}
.gp-box { width: 100%; max-width: 380px; }
.gp-brand { display: block; width: 88px; height: 88px; object-fit: contain; margin: 0 auto 8px; }
.gp-name { margin: 0; text-align: center; font-size: 22px; font-weight: 700; color: var(--g-ink); }
.gp-sub { margin: 4px 0 20px; text-align: center; font-size: 13px; color: var(--g-muted); }
.gp-card { background: var(--g-card); border: 1px solid var(--g-line); border-radius: 16px; padding: 22px; }
.gp-card h2 { margin: 0 0 6px; text-align: center; font-size: 16px; color: var(--g-ink); }
.gp-note { margin: 0 0 16px; text-align: center; font-size: 13px; line-height: 1.7; color: var(--g-body); }
.gp-label { display: block; margin: 0 0 6px; font-size: 12px; font-weight: 500; color: var(--g-muted); }
.gp-input {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 14px;
  padding: 10px 12px;
  font: inherit;
  font-size: 14px;
  color: var(--g-ink);
  background: var(--g-bg);
  border: 1px solid var(--g-line-strong);
  border-radius: 10px;
  outline: none;
}
.gp-input:focus { border-color: var(--g-teal); }
.gp-input.gp-code { text-align: center; font-family: var(--g-mono); font-size: 20px; letter-spacing: 0.4em; }
.gp-input.gp-ltr { direction: ltr; text-align: left; }
.gp-btn {
  display: block;
  width: 100%;
  padding: 11px;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  color: var(--g-teal-ink);
  background: var(--g-teal);
  border: 0;
  border-radius: 10px;
  cursor: pointer;
}
.gp-btn:hover:not(:disabled) { opacity: 0.9; }
.gp-btn:disabled { opacity: 0.5; cursor: default; }
.gp-link {
  display: block;
  width: 100%;
  margin-top: 12px;
  padding: 4px;
  font: inherit;
  font-size: 13px;
  text-align: center;
  text-decoration: none;
  color: var(--g-muted);
  background: none;
  border: 0;
  cursor: pointer;
}
.gp-link:hover { color: var(--g-teal); }
.gp-error, .gp-ok { margin: 0 0 14px; padding: 10px 12px; font-size: 13px; line-height: 1.6; text-align: center; border-radius: 10px; }
.gp-error { color: var(--g-danger); border: 1px solid var(--g-danger); }
.gp-ok { color: var(--g-teal); border: 1px solid var(--g-teal); }
.gp-foot { margin: 16px 0 0; text-align: center; font-size: 11px; color: var(--g-muted); }

/* Small corner controls on the hub and map */
.gp-controls {
  position: fixed;
  z-index: 9999;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 4px;
  padding: 4px;
  font-family: var(--g-font);
  background: var(--g-card);
  border: 1px solid var(--g-line-strong);
  border-radius: 10px;
}
.gp-controls button {
  padding: 4px 10px;
  font: inherit;
  font-size: 12px;
  color: var(--g-body);
  background: none;
  border: 0;
  border-radius: 7px;
  cursor: pointer;
}
.gp-controls button:hover { color: var(--g-teal); background: var(--g-panel); }
