/* The cover page's own stylesheet. Served from /assets/site.css, not from
   under the access path — this is the one page a stranger is meant to read,
   and nothing in it may reference where the real service lives.

   No webfont, no external reference of any kind: the CSP forbids it, and a
   request to a font CDN would tell that CDN who is reading this page.

   The palette is deliberately not the owner's. A cover page wearing a
   recognisable house style is a fingerprint: anyone who has seen the branded
   work can connect this page to the person behind it, which is the one
   inference the cover exists to prevent. Navy on warm cream, and stock system
   faces — no signature typeface, no signature colour. */

:root {
  --ink: #1c1b17;
  --muted: #5e5a50;
  --rule: #e3dcc7;
  --paper: #faf5e6;
  --field: #fffdf5;
  --accent: #1a3860;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0 auto;
  padding: 3rem 1.25rem 4rem;
  max-width: 40rem;
  background: var(--paper);
  color: var(--ink);
  font: 16px/1.65 Georgia, "Times New Roman", serif;
}

header { border-bottom: 1px solid var(--rule); padding-bottom: 1.5rem; }

.eyebrow {
  margin: 0 0 0.5rem;
  font: 600 0.72rem/1 system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
}

h1 {
  margin: 0 0 0.75rem;
  font-size: 1.85rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.standfirst { margin: 0; color: var(--muted); font-size: 1.05rem; }

h2 {
  margin: 2.25rem 0 0.6rem;
  font: 600 0.78rem/1.3 system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}

p { margin: 0 0 1rem; }

ul { margin: 0 0 1rem; padding-left: 1.15rem; }
li { margin-bottom: 0.5rem; }

.search { margin-top: 2.5rem; border-top: 1px solid var(--rule); padding-top: 0.5rem; }

.search form { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }

.search label {
  flex: 1 1 100%;
  font: 0.85rem/1.4 system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  color: var(--muted);
}

.search input[type="search"] {
  flex: 1 1 14rem;
  min-width: 0;
  padding: 0.5rem 0.6rem;
  border: 1px solid var(--rule);
  border-radius: 2px;
  background: var(--field);
  color: inherit;
  font: inherit;
  font-size: 0.95rem;
}

.search input[type="search"]:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

.search button {
  padding: 0.5rem 1rem;
  border: 1px solid var(--accent);
  border-radius: 2px;
  background: var(--accent);
  color: #fff;
  font: 600 0.9rem/1 system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  cursor: pointer;
}

/* The pages reached from the cover — code entry, confirmation, the failure
   page — wear this chrome so the step in from the cover is not the tell. They
   reuse the search field and button styling rather than inventing a second. */

.panel { margin-top: 1.5rem; }

.panel h2 { margin-top: 0; }

.lede { color: var(--muted); }

.panel form { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }

.panel label {
  flex: 1 1 100%;
  font: 0.85rem/1.4 system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  color: var(--muted);
}

.panel input[type="text"],
.panel input[type="file"] {
  flex: 1 1 14rem;
  min-width: 0;
  padding: 0.5rem 0.6rem;
  border: 1px solid var(--rule);
  border-radius: 2px;
  background: var(--field);
  color: inherit;
  font: inherit;
  font-size: 0.95rem;
}

.panel input:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

.panel button {
  padding: 0.5rem 1rem;
  border: 1px solid var(--accent);
  border-radius: 2px;
  background: var(--accent);
  color: #fff;
  font: 600 0.9rem/1 system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  cursor: pointer;
}

.panel dl { margin: 0 0 1.25rem; }
.panel dt {
  font: 600 0.72rem/1.4 system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}
.panel dd { margin: 0 0 0.75rem; }

.notice {
  margin: 0.75rem 0 0;
  font: 0.9rem/1.5 system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  color: var(--muted);
}

footer {
  margin-top: 3rem;
  border-top: 1px solid var(--rule);
  padding-top: 1rem;
  color: var(--muted);
  font-size: 0.85rem;
}

footer p { margin: 0; }

@media (prefers-color-scheme: dark) {
  :root {
    --ink: #ece8dc;
    --muted: #a8a294;
    --rule: #37342b;
    --paper: #1a1814;
    --field: #232019;
    --accent: #8db4e4;
  }
  .search button,
  .panel button { color: #1a1814; }
}
