
  :root { color-scheme: light dark; }
  * { box-sizing: border-box; }
  body { font-family: ui-sans-serif, system-ui, sans-serif; margin: 0; min-height: 100vh;
         display: grid; place-items: center; background: #0f1115; color: #e8eaf0; }
  main { width: min(420px, 92vw); background: #171a21; border: 1px solid #262b36;
         border-radius: 14px; padding: 28px; }
  h1 { font-size: 1.15rem; margin: 0 0 4px; } p.sub { margin: 0 0 18px; color: #9aa3b2; font-size: .85rem; }
  label { display: block; font-size: .8rem; color: #9aa3b2; margin: 12px 0 4px; }
  input { width: 100%; padding: 9px 11px; border-radius: 8px; border: 1px solid #2c3340;
          background: #0f1115; color: inherit; font-size: .95rem; }
  button { margin-top: 14px; width: 100%; padding: 10px; border: 0; border-radius: 8px;
           background: #4f7cff; color: #fff; font-weight: 600; font-size: .95rem; cursor: pointer; }
  button.ghost { background: #232936; color: #cdd5e3; }
  .msg { min-height: 1.2em; margin-top: 12px; font-size: .85rem; color: #ff8f8f; white-space: pre-wrap; }
  .ok { color: #7ddb9a; }
  code, pre { font-family: ui-monospace, monospace; font-size: .72rem; word-break: break-all;
              background: #0f1115; padding: 8px; border-radius: 8px; display: block; }
  .row { display: flex; gap: 8px; } .row > button { margin-top: 14px; }
  section { margin-top: 18px; border-top: 1px solid #262b36; padding-top: 14px; }
  a { color: #7da2ff; }
