/* GhostEdit website — graphite + JetBrains Mono. No build step; plain CSS. */
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap');

:root {
  --bg: #1a1b1e;
  --panel: #242528;
  --panel-2: #2c2d31;
  --ink: #e8e8ea;
  --muted: #9a9ba0;
  --line: #36373b;
  --accent: #d8d8dc;
  --ok: #6fcf97;
  --warn: #e2b340;
  --radius: 10px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: radial-gradient(120% 120% at 50% 0%, #202126 0%, var(--bg) 60%);
  color: var(--ink);
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 14px;
  line-height: 1.55;
}

.shell { width: min(420px, 92vw); padding: 24px; }

.brand { text-align: center; margin-bottom: 22px; }
.brand .mark { font-size: 34px; color: var(--accent); }
.brand h1 { margin: 6px 0 2px; font-size: 22px; letter-spacing: 0.06em; font-weight: 700; }
.brand .tag { margin: 0; color: var(--muted); font-size: 12px; }

.card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px;
}
.card h2 { margin: 0 0 16px; font-size: 15px; font-weight: 500; color: var(--muted); text-transform: uppercase; letter-spacing: 0.1em; }

label { display: block; margin-bottom: 12px; font-size: 12px; color: var(--muted); }
input {
  width: 100%;
  margin-top: 5px;
  padding: 10px 12px;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  font-family: inherit;
  font-size: 14px;
}
input:focus { outline: none; border-color: var(--accent); }

button {
  width: 100%;
  padding: 11px 14px;
  border-radius: 8px;
  border: 1px solid var(--line);
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: transform 0.04s ease, background 0.15s ease;
}
button:active { transform: translateY(1px); }
button.primary { background: var(--accent); color: #1a1b1e; border-color: var(--accent); }
button.google { background: var(--panel-2); color: var(--ink); margin-top: 4px; }
button.ghost { background: transparent; color: var(--muted); margin-top: 16px; }

.divider { display: flex; align-items: center; gap: 10px; margin: 16px 0; color: var(--muted); font-size: 11px; }
.divider::before, .divider::after { content: ''; flex: 1; height: 1px; background: var(--line); }

.msg { margin: 14px 0 0; min-height: 18px; font-size: 12px; color: var(--muted); }
.msg.error { color: var(--warn); }
.fine { color: var(--muted); font-size: 11px; }
.ok { color: var(--ok); }
.warn { color: var(--warn); }
