/* Shared stylesheet for the document pages (terms, privacy). A subset of the
   hub's inline styles in index.html: same tokens, same nav and footer, plus a
   prose column. Keep the two in step when a token changes. */
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:100 700;font-display:swap;src:url(/fonts/IBMPlexSans-var.woff2) format("woff2")}
@font-face{font-family:"Plex Fallback";src:local("Arial");size-adjust:104%;ascent-override:96%;descent-override:26%;line-gap-override:0%}

:root{
  --bg:#0b0f15; --panel:#10161e; --panel-2:#141c26; --line:#1d2733; --line-2:#293546; --line-3:#34445a;
  --text:#e4eaf2; --muted:#93a1b5; --dim:#7484a0; --white:#fff; --ink:#07101f;
  --blue:#4f8cff; --blue-2:#6ea0ff; --accent:var(--blue);
  --r:14px; --r-sm:10px;
  --ease:cubic-bezier(.22,1,.36,1);
  --shadow:0 12px 32px -16px rgba(0,0,0,.7), 0 1px 0 rgba(255,255,255,.03) inset;
  --tap:44px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;color-scheme:dark;scrollbar-color:var(--line-2) var(--bg);scrollbar-width:thin}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 "IBM Plex Sans","Plex Fallback",system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(900px 520px at 12% -12%, color-mix(in srgb,var(--blue) 10%,transparent), transparent 65%)}
a{color:inherit;text-decoration:none}
.wrap{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:0 24px}
::selection{background:color-mix(in srgb,var(--blue) 32%,transparent);color:var(--text)}
:focus-visible{outline:2px solid var(--blue-2);outline-offset:3px;border-radius:6px}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--line-2);border:3px solid var(--bg);border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:var(--line-3)}
.skip{position:absolute;left:24px;top:-60px;z-index:10;min-height:var(--tap);display:inline-flex;align-items:center;padding:10px 14px;border-radius:var(--r-sm);background:var(--blue);color:var(--ink);font-weight:600;font-size:14px;transition:top .2s var(--ease)}
.skip:focus-visible{top:12px}

/* nav (same as the hub) */
nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;min-height:var(--tap);font-weight:700;letter-spacing:-.02em;font-size:17px}
.brand svg{width:26px;height:26px}
.brand span b{color:var(--accent);font-weight:700}
nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
nav li a{display:inline-flex;align-items:center;min-height:var(--tap);padding:8px 12px;border-radius:999px;color:var(--muted);font-size:14px;font-weight:500;transition:color .2s var(--ease),background .2s var(--ease)}
nav li a:hover{color:var(--text);background:rgba(255,255,255,.04)}
@media (max-width:640px){
  nav{padding:10px 0}
  nav ul{width:100%;justify-content:space-between;gap:0;border-top:1px solid var(--line)}
  nav li{flex:1}
  nav li a{justify-content:center;padding:8px 6px;border-radius:0;font-size:13px}
}

/* document */
.doc{max-width:760px;padding:56px 0 64px}
.doc h1{margin:0 0 10px;font-size:clamp(30px,4.6vw,44px);line-height:1.1;letter-spacing:-.03em;font-weight:700;text-wrap:balance}
.doc .meta{margin:0 0 34px;color:var(--dim);font-size:13px}
.doc h2{margin:40px 0 10px;font-size:21px;letter-spacing:-.02em;line-height:1.3;font-weight:600;text-wrap:balance}
.doc p,.doc li{color:var(--muted);font-size:15px;text-wrap:pretty}
.doc p{margin:0 0 14px}
.doc ul{margin:0 0 14px;padding-left:22px}
.doc li{margin:0 0 6px}
.doc li::marker{color:var(--blue)}
.doc a{color:var(--blue-2)}
.doc a:hover{text-decoration:underline}
.doc b{color:var(--text);font-weight:600}
.doc table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:14px;color:var(--muted)}
.doc th,.doc td{text-align:left;padding:10px 12px 10px 0;border-top:1px solid var(--line);vertical-align:top}
.doc th{color:var(--text);font-weight:600}
.doc td b{font-variant-numeric:tabular-nums}
.doc tr:last-child td{border-bottom:1px solid var(--line)}
/* a decision the owner or a lawyer must make before this goes live */
.owner{color:var(--text);background:var(--panel-2);border:1px solid var(--line-2);border-radius:6px;padding:1px 6px;font-size:13px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.summary{padding:18px 22px;border-radius:var(--r);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);margin:0 0 30px}
.summary p{margin:0 0 8px}
.summary p:last-child{margin:0}

/* footer (same as the hub) */
footer{padding:32px 0 40px;border-top:1px solid var(--line);color:var(--dim);font-size:13px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
footer a{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 4px;transition:color .2s}
footer a:hover{color:var(--text)}
.links{display:flex;gap:12px;flex-wrap:wrap}

@media (prefers-reduced-motion:reduce){
  .skip,nav li a,footer a{transition:none}
  html{scroll-behavior:auto}
}
