/* KØNTACT V0 — foundry black, KØNTACT cyan, signal-only color.
   Color carries semantic information, never decoration. */

:root {
  --bg: #05070c;
  --bg-soft: #0a0e16;
  --bg-card: #0d121d;
  --line: #1b2433;
  --text: #e8edf4;
  --muted: #8b94a7;
  --cyan: #22d3ee;
  --cyan-dim: rgba(34, 211, 238, 0.12);
  --amber: #f5a623;
  --amber-dim: rgba(245, 166, 35, 0.1);
  --green: #34d399;
  --green-dim: rgba(52, 211, 153, 0.08);
  --radius: 10px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

.wrap { max-width: 760px; margin: 0 auto; padding: 0 20px; }

/* Header */
.site-header { border-bottom: 1px solid var(--line); }
.site-header .wrap {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: 14px; padding-bottom: 14px;
}
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--text); }
.brand-name { font-weight: 700; letter-spacing: 0.12em; font-size: 15px; }
.brand-name .cyan { color: var(--cyan); }
.nav a { color: var(--muted); text-decoration: none; margin-left: 18px; font-size: 14px; }
.nav a:hover { color: var(--cyan); }
.nav a.active { color: var(--text); }

/* Hero */
.hero { padding: 64px 0 40px; }
.hero h1 { font-size: 34px; line-height: 1.25; margin: 0 0 12px; font-weight: 700; }
.hero h1 .cyan { color: var(--cyan); }
.hero .sub { color: var(--muted); font-size: 17px; margin: 0 0 28px; max-width: 600px; }

/* Check form */
.check-form { display: flex; gap: 10px; margin-bottom: 10px; }
.check-form input[type="text"] {
  flex: 1; background: var(--bg-card); border: 1px solid var(--line);
  color: var(--text); border-radius: var(--radius);
  padding: 13px 16px; font-size: 16px; outline: none;
}
.check-form input[type="text"]:focus { border-color: var(--cyan); }
.btn {
  background: var(--cyan); color: #04222a; border: none; border-radius: var(--radius);
  padding: 13px 22px; font-size: 15px; font-weight: 700; cursor: pointer; white-space: nowrap;
}
.btn:hover { filter: brightness(1.1); }
.btn:disabled { opacity: 0.55; cursor: wait; }
.btn-ghost {
  background: transparent; color: var(--cyan); border: 1px solid var(--line);
}
.privacy-line { color: var(--muted); font-size: 13px; margin: 14px 0 0; }
.fallback { margin-top: 22px; border: 1px dashed var(--line); border-radius: var(--radius); padding: 14px 16px; }
.fallback summary { cursor: pointer; color: var(--cyan); font-size: 14px; }
.fallback textarea {
  width: 100%; min-height: 110px; margin-top: 12px; background: var(--bg-soft);
  border: 1px solid var(--line); border-radius: 8px; color: var(--text);
  font-family: ui-monospace, monospace; font-size: 13px; padding: 10px;
}
.fallback .btn { margin-top: 10px; padding: 10px 18px; font-size: 14px; }

/* Results */
.results { margin: 34px 0 10px; }
.results-lead { margin-bottom: 18px; }
.lead-attention { font-size: 26px; font-weight: 800; color: var(--amber); }
.lead-monitoring { font-size: 20px; font-weight: 700; color: var(--cyan); margin-top: 6px; }
.lead-quiet { color: var(--muted); font-size: 15px; margin-top: 8px; }
.lead-num { font-variant-numeric: tabular-nums; }
.findings { display: grid; gap: 12px; }
.finding {
  background: var(--bg-card); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 16px 18px; position: relative;
}
.finding h3 { margin: 4px 0 6px; font-size: 16px; }
.finding p { margin: 0; color: var(--muted); font-size: 14px; }
.finding-state {
  font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
}
.finding-cat {
  position: absolute; top: 16px; right: 18px; font-size: 11px; color: var(--muted);
  letter-spacing: 0.08em;
}
.finding-attention { border-left: 3px solid var(--amber); background: linear-gradient(to right, var(--amber-dim), var(--bg-card) 45%); }
.finding-attention .finding-state { color: var(--amber); }
.finding-monitoring { border-left: 3px solid var(--cyan); background: linear-gradient(to right, var(--cyan-dim), var(--bg-card) 45%); }
.finding-monitoring .finding-state { color: var(--cyan); }
.finding-protected .finding-state, .finding-healthy .finding-state { color: var(--green); }
.finding-info .finding-state { color: var(--muted); }
.finding-protected, .finding-healthy { opacity: 0.85; }
.status-line { color: var(--muted); font-size: 14px; }
.error-line { color: var(--amber); font-size: 14px; }

/* Tiers */
.tiers { padding: 40px 0 20px; }
.tiers h2 { font-size: 20px; margin-bottom  : 4px; }
.tiers .tiers-sub { color: var(--muted); font-size: 14px; margin-bottom: 18px; }
.tier-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.tier-card {
  border: 1px solid var(--line); border-radius: var(--radius);
  padding: 16px; text-decoration: none; color: var(--text); background: var(--bg-soft);
}
.tier-card:hover { border-color: var(--cyan); }
.tier-card.live { border-color: var(--cyan); }
.tier-card h3 { margin: 0 0 4px; font-size: 15px; }
.tier-card h3 .cyan { color: var(--cyan); }
.tier-card p { margin: 0; color: var(--muted); font-size: 13px; }
.tier-tag { font-size: 11px; color: var(--cyan); letter-spacing: 0.08em; text-transform: uppercase; }

/* Shell pages */
.shell-hero { padding: 56px 0 24px; }
.shell-hero h1 { font-size: 30px; margin: 0 0 10px; }
.shell-hero p { color: var(--muted); font-size: 16px; max-width: 620px; }
.shell-card {
  background: var(--bg-card); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 20px; margin: 14px 0;
}
.shell-card h3 { margin: 0 0 8px; font-size: 16px; }
.shell-card p, .shell-card li { color: var(--muted); font-size: 14px; }
.shell-card ul { margin: 8px 0; padding-left: 20px; }
.coming { display: inline-block; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--cyan); border: 1px solid var(--line); border-radius: 20px; padding: 4px 12px; margin-bottom: 10px; }
.digest-example {
  font-family: ui-monospace, monospace; font-size: 14px; color: var(--text);
  background: var(--bg-soft); border-radius: 8px; padding: 12px 16px; margin-top: 10px;
}

/* Footer */
.site-footer { border-top: 1px solid var(--line); margin-top: 56px; }
.site-footer .wrap { padding-top: 20px; padding-bottom: 28px; }
.site-footer p { color: var(--muted); font-size: 13px; margin: 4px 0; }

/* Ø mark (legacy — superseded by the KØNTACT emblem, kept for reference) */
.o-mark {
  width: 30px; height: 30px; border: 2px solid var(--cyan); border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 15px; color: var(--cyan); flex: none;
}

/* KØNTACT product emblem (header mark) */
.brand-emblem {
  width: 30px; height: 30px; flex: none; border-radius: 50%;
}

/* Language toggle in nav */
.lang-toggle {
  border: 1px solid var(--line); border-radius: 6px;
  padding: 3px 10px; font-size: 13px; color: var(--muted);
  background: none; cursor: pointer; font-family: inherit;
  text-decoration: none; line-height: 1.4;
}
a.lang-toggle:hover, button.lang-toggle:hover { color: var(--text); border-color: var(--cyan); }

/* Accessibility */
.visually-hidden {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip-link {
  position: absolute; left: 12px; top: -48px; z-index: 100;
  background: var(--cyan); color: #04222a; padding: 10px 16px;
  border-radius: 8px; font-weight: 700; text-decoration: none;
  transition: top 0.15s ease;
}
.skip-link:focus { top: 12px; }
a:focus-visible, button:focus-visible, input:focus-visible,
summary:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--cyan); outline-offset: 2px;
}

/* Check options */
.check-options { margin: 10px 0 4px; }
.check-options-label { font-size: 13px; color: var(--text); display: block; margin-bottom: 6px; }
.check-options-label .muted { color: var(--muted); }
.dkim-input {
  background: var(--bg-card); border: 1px solid var(--line); color: var(--text);
  border-radius: 8px; padding: 9px 12px; font-size: 14px; width: 240px; max-width: 100%;
}
.dkim-input:focus { border-color: var(--cyan); outline: none; }

/* Evidence expander */
.evidence { margin-top: 12px; border-top: 1px dashed var(--line); padding-top: 8px; }
.evidence summary { cursor: pointer; color: var(--cyan); font-size: 13px; }
.ev-row { display: flex; gap: 12px; font-size: 13px; margin-top: 6px; }
.ev-key { color: var(--muted); min-width: 140px; flex: none; }
.ev-val { color: var(--text); word-break: break-all; }
.ev-record {
  background: var(--bg-soft); border: 1px solid var(--line); border-radius: 8px;
  padding: 10px 12px; font-size: 12px; color: var(--text);
  white-space: pre-wrap; word-break: break-all; margin: 4px 0 0;
  font-family: ui-monospace, SFMono-Regular, monospace;
}

/* Limitations */
.limitations { margin: 40px 0 10px; border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 20px; background: var(--bg-soft); }
.limitations h2 { font-size: 16px; margin: 0 0 8px; }
.limitations p { color: var(--muted); font-size: 14px; margin: 0; }

/* Results actions */
.results-actions { margin-top: 18px; }

/* Print: the client-side report */
@media print {
  .site-header, .site-footer, .hero .check-form, .check-options,
  .fallback, .tiers, .results-actions, .skip-link { display: none; }
  body { background: #fff; color: #000; }
  .finding { border: 1px solid #999; background: #fff; break-inside: avoid; }
  .finding h3, .finding p, .ev-key, .ev-val, .ev-record { color: #000; }
  .evidence { display: block; }
}
