/* Screenkeep site — one stylesheet, no external requests, no web fonts, no
   analytics. A privacy policy that phones a CDN home would be its own
   contradiction, and it keeps the pages deployable as plain static files. */
:root {
  --bg: #F7F8FC;
  --surface: #FFFFFF;
  --surface-2: #EFF1F7;
  --stroke: #E1E4ED;
  --text: #12141C;
  --text-2: #454B5E;
  --text-3: #6B7186;
  --brand: #5B7CFA;
  --brand-2: #8E6BF5;
  --brand-3: #B861D8;
  --warn: #F5A524;
  --warn-bg: rgba(245, 165, 36, 0.08);
  --warn-stroke: rgba(245, 165, 36, 0.42);
  --success: #32C87A;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0C0D12;
    --surface: #15171F;
    --surface-2: #1E212C;
    --stroke: #2A2E3C;
    --text: #F4F5F8;
    --text-2: #C3C8D6;
    --text-3: #9BA1B4;
    --brand: #8DA3FF;
    --warn-bg: rgba(245, 165, 36, 0.10);
  }
}

* { box-sizing: border-box; }

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

.wrap { max-width: 720px; margin: 0 auto; padding: 48px 24px 96px; }

header.site {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--stroke);
  margin-bottom: 40px;
}

header.site .mark {
  width: 40px; height: 40px; border-radius: 11px;
  background: linear-gradient(135deg, var(--brand-2) 0%, var(--brand-3) 100%);
  background-image: linear-gradient(135deg, #5B7CFA 0%, #8E6BF5 50%, #B861D8 100%);
  display: grid; place-items: center;
  flex: none;
}
header.site .mark svg { width: 26px; height: 26px; display: block; }

header.site .name { font-weight: 700; letter-spacing: -0.3px; font-size: 17px; }
header.site .tag { color: var(--text-3); font-size: 13px; }

nav.site { margin-left: auto; display: flex; gap: 18px; font-size: 14px; }
nav.site a { color: var(--text-3); text-decoration: none; }
nav.site a:hover { color: var(--brand); }

h1 {
  font-size: 34px; line-height: 1.15; letter-spacing: -1px;
  font-weight: 800; margin: 0 0 8px;
}

.updated { color: var(--text-3); font-size: 14px; margin: 0 0 40px; }

h2 {
  font-size: 19px; letter-spacing: -0.3px; font-weight: 700;
  margin: 40px 0 12px; padding-top: 4px;
}

h3 { font-size: 16px; font-weight: 700; margin: 24px 0 8px; }

p, li { color: var(--text-2); }
li { margin-bottom: 6px; }
strong { color: var(--text); font-weight: 600; }
a { color: var(--brand); }

.lede { font-size: 17px; }

.card {
  background: var(--surface);
  border: 1px solid var(--stroke);
  border-radius: 16px;
  padding: 20px 24px;
  margin: 24px 0;
}
.card h3 { margin-top: 0; }

.card.warn {
  border-color: var(--warn-stroke);
  background: var(--warn-bg);
}
.card.warn h3 { color: var(--warn); }

table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 15px; }
th, td { text-align: left; padding: 12px 10px; border-bottom: 1px solid var(--stroke); vertical-align: top; }
th { color: var(--text-3); font-size: 12px; text-transform: uppercase; letter-spacing: 0.8px; font-weight: 700; }
td { color: var(--text-2); }
td:first-child { color: var(--text); font-weight: 600; }

.wide { overflow-x: auto; }

footer.site {
  margin-top: 64px; padding-top: 24px;
  border-top: 1px solid var(--stroke);
  color: var(--text-3); font-size: 13px;
  display: flex; flex-wrap: wrap; gap: 16px;
}
footer.site a { color: var(--text-3); }

@media (max-width: 560px) {
  .wrap { padding: 32px 18px 64px; }
  h1 { font-size: 27px; }
  header.site { flex-wrap: wrap; }
  nav.site { margin-left: 0; width: 100%; }
}
