/* Shared styling for the public legal + account-deletion pages.
   Deliberately dependency-free: these pages are reached by Play reviewers and
   by users on poor connections, so they must render with no network beyond the
   HTML itself. No web fonts, no CDN, no JS framework. */

:root {
  --brand: #063281;
  --brand-ink: #0a47b0;
  --ink: #0f172a;
  --muted: #475569;
  --line: #e2e8f0;
  --bg: #f8fafc;
  --card: #ffffff;
  --danger: #b91c1c;
  --ok: #047857;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 16px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "Helvetica Neue", Arial, sans-serif;
  -webkit-text-size-adjust: 100%;
}

header.masthead {
  background: var(--brand);
  color: #fff;
  padding: 28px 20px 24px;
}

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

header.masthead h1 { margin: 0; font-size: 1.5rem; line-height: 1.25; }
header.masthead p { margin: 6px 0 0; opacity: .85; font-size: .95rem; }

main { padding: 24px 20px 56px; }

.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 20px;
  margin-bottom: 18px;
}

h2 { font-size: 1.12rem; margin: 28px 0 8px; line-height: 1.35; }
h2:first-child { margin-top: 0; }
h3 { font-size: 1rem; margin: 20px 0 6px; }
p, li { color: var(--muted); }
p { margin: 0 0 12px; }
ul, ol { margin: 0 0 12px; padding-left: 22px; }
li { margin-bottom: 6px; }
strong { color: var(--ink); }
a { color: var(--brand-ink); }

.meta {
  font-size: .85rem;
  color: var(--muted);
  border-top: 1px solid var(--line);
  margin-top: 28px;
  padding-top: 14px;
}

table { border-collapse: collapse; width: 100%; margin: 0 0 14px; font-size: .92rem; }
th, td { text-align: left; padding: 9px 10px; border: 1px solid var(--line); vertical-align: top; }
th { background: #f1f5f9; color: var(--ink); font-weight: 600; }
.table-scroll { overflow-x: auto; }

label { display: block; font-weight: 600; font-size: .9rem; margin: 0 0 6px; color: var(--ink); }
input, textarea, select {
  width: 100%;
  font: inherit;
  color: var(--ink);
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  padding: 11px 12px;
  margin-bottom: 16px;
}
input:focus, textarea:focus, select:focus { outline: 2px solid var(--brand); outline-offset: 1px; }
textarea { min-height: 96px; resize: vertical; }
.hint { font-size: .82rem; color: var(--muted); margin: -12px 0 16px; }

button {
  font: inherit;
  font-weight: 600;
  color: #fff;
  background: var(--brand);
  border: 0;
  border-radius: 10px;
  padding: 13px 18px;
  width: 100%;
  cursor: pointer;
}
button.danger { background: var(--danger); }
button.secondary { background: #fff; color: var(--ink); border: 1px solid #cbd5e1; }
button[disabled] { opacity: .55; cursor: not-allowed; }

.notice { border-radius: 10px; padding: 12px 14px; margin-bottom: 16px; font-size: .92rem; }
.notice.warn { background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412; }
.notice.err  { background: #fef2f2; border: 1px solid #fecaca; color: var(--danger); }
.notice.ok   { background: #ecfdf5; border: 1px solid #a7f3d0; color: var(--ok); }
.notice:empty { display: none; }

nav.legal-links { font-size: .9rem; margin-top: 8px; }
nav.legal-links a { margin-right: 14px; display: inline-block; }

footer { font-size: .85rem; color: var(--muted); padding: 0 20px 40px; }
footer .wrap { border-top: 1px solid var(--line); padding-top: 16px; }
