/**
 * Shared centered “square card” for austere gate / placeholder hosts
 * (commonscience.co preview, commonscience.foundation).
 * Pair with brand-links.css for green links.
 */
:root {
  --ph-bg: #ffffff;
  --ph-fg: #1f2328;
  --ph-muted: #656d76;
  --ph-border: #d0d7de;
  --ph-surface: #f6f8fa;
  --ph-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  --ph-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  /* Fallbacks if brand-links.css is late */
  --brand-link: oklch(48% 0.11 178);
  --brand-link-hover: oklch(40% 0.12 178);
}

*, *::before, *::after { box-sizing: border-box; }

html, body { margin: 0; min-height: 100%; }

body {
  min-height: 100vh;
  font-family: var(--ph-sans);
  color: var(--ph-fg);
  background: var(--ph-bg);
  display: grid;
  place-items: center;
  padding: 24px;
}

main.ph-card {
  width: min(480px, 100%);
  border: 1px solid var(--ph-border);
  padding: 32px 28px;
}

.ph-mark {
  font-family: var(--ph-mono);
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 8px;
  letter-spacing: -0.02em;
}

.ph-card p {
  margin: 0 0 16px;
  color: var(--ph-muted);
  font-size: 14px;
  line-height: 1.5;
}

.ph-card p:last-child { margin-bottom: 0; }

.ph-block {
  margin-top: 20px;
}

.ph-label {
  display: block;
  font-family: var(--ph-mono);
  font-size: 12px;
  font-weight: 600;
  color: var(--ph-fg);
  margin: 0 0 6px;
}

.ph-block p {
  margin: 0;
  font-size: 14px;
}

.ph-pre {
  font-family: var(--ph-mono);
  font-size: 12px;
  line-height: 1.45;
  background: var(--ph-surface);
  border: 1px solid var(--ph-border);
  padding: 12px;
  margin: 0 0 20px;
  overflow-x: auto;
}

.ph-footer {
  margin-top: 24px;
  font-size: 12px;
  color: var(--ph-muted);
}

.ph-quiet {
  color: var(--ph-muted);
}

a {
  color: var(--brand-link);
  text-decoration: none;
}

a:hover {
  color: var(--brand-link-hover);
  text-decoration: underline;
}

.ph-card label {
  display: block;
  font-family: var(--ph-mono);
  font-size: 12px;
  margin-bottom: 6px;
}

.ph-card input[type="password"] {
  width: 100%;
  font-family: var(--ph-mono);
  font-size: 14px;
  padding: 8px 10px;
  border: 1px solid var(--ph-border);
  border-radius: 2px;
  margin-bottom: 12px;
}

.ph-card button {
  font-family: var(--ph-mono);
  font-size: 13px;
  padding: 8px 14px;
  border: 1px solid var(--ph-border);
  border-radius: 2px;
  background: var(--ph-surface);
  cursor: pointer;
}

.ph-card button:hover {
  background: #eef1f4;
}

.ph-err {
  color: #cf222e;
  font-family: var(--ph-mono);
  font-size: 12px;
  min-height: 1.2em;
  margin-top: 8px;
}
