:root { color-scheme:light; --ink:#17231f; --muted:#66736d; --paper:#fffefb; --orange:#b94d28; --line:#dfe3df; --soft:#f5f7f4; --canvas-start:#eef3ee; --canvas-mid:#f9f5ef; --canvas-end:#eef2ed; --surface:rgba(255,254,251,.97); --control:rgba(255,255,255,.76); --hover:#e9ece9; --warning:#fff7f3; --warning-border:#f0d2c6; --shadow:0 22px 70px rgba(23,40,34,.13); }
html[data-ui-theme="dark"] { color-scheme:dark; --ink:#f0f4f1; --muted:#aeb9b4; --paper:#18201d; --orange:#ff8b61; --line:#3a4540; --soft:#222c28; --canvas-start:#101714; --canvas-mid:#1b2420; --canvas-end:#111916; --surface:rgba(24,32,29,.97); --control:rgba(28,37,33,.92); --hover:#303b36; --warning:#34251f; --warning-border:#684332; --shadow:0 22px 70px rgba(0,0,0,.38); }
* { box-sizing:border-box; }
html { background:var(--canvas-end); }
body { margin:0; color:var(--ink); background:var(--canvas-end); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.65; transition:color .18s,background .18s; }
a { color:var(--orange); text-underline-offset:3px; }
a:hover { color:var(--ink); }
.legal-shell { width:min(900px,calc(100% - 32px)); margin:0 auto; padding:24px 0 56px; }
.legal-header { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:22px; }
.legal-actions { display:flex; align-items:center; gap:8px; }
.legal-brand { display:flex; align-items:center; gap:10px; color:var(--ink); font-size:17px; font-weight:800; text-decoration:none; }
.legal-brand-mark { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:white; background:#ec6d3f; box-shadow:0 8px 22px rgba(110,54,32,.18); }
.legal-bike { width:23px; height:18px; display:block; background:currentColor; -webkit-mask:url('/bike-icon.svg') center/contain no-repeat; mask:url('/bike-icon.svg') center/contain no-repeat; }
.back-link, .legal-theme-toggle { min-height:40px; padding:8px 13px; border:1px solid var(--line); border-radius:999px; color:var(--ink); background:var(--control); font-size:13px; font-weight:700; text-decoration:none; }
.back-link { display:flex; align-items:center; }
.legal-theme-toggle { display:flex; align-items:center; gap:8px; cursor:pointer; }
.back-link:hover, .back-link:focus-visible, .legal-theme-toggle:hover, .legal-theme-toggle:focus-visible { color:var(--ink); background:var(--hover); outline:3px solid rgba(185,77,40,.18); outline-offset:1px; }
.theme-icon { width:18px; height:18px; display:grid; place-items:center; }
.theme-icon--sun { display:none; }
html[data-ui-theme="dark"] .theme-icon--moon { display:none; }
html[data-ui-theme="dark"] .theme-icon--sun { display:block; }
.theme-switch { position:relative; width:36px; height:21px; display:block; border:1px solid var(--line); border-radius:999px; background:var(--hover); transition:background .18s,border-color .18s; }
.theme-switch span { position:absolute; top:3px; left:3px; width:13px; height:13px; border-radius:50%; background:var(--paper); box-shadow:0 1px 4px rgba(0,0,0,.25); transition:transform .18s ease; }
[data-theme-toggle][aria-checked="true"] .theme-switch { border-color:var(--orange); background:var(--orange); }
[data-theme-toggle][aria-checked="true"] .theme-switch span { background:white; transform:translateX(15px); }
.legal-card { padding:clamp(24px,5vw,52px); border:0; border-radius:0; background:transparent; box-shadow:none; }
.legal-kicker { margin:0 0 6px; color:var(--orange); font-size:12px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
h1 { max-width:720px; margin:0; font-size:clamp(32px,6vw,52px); line-height:1.08; letter-spacing:-1.5px; }
h1:focus { outline:none; }
.legal-lede { max-width:700px; margin:16px 0 0; color:var(--muted); font-size:17px; }
.legal-updated { margin:13px 0 0; color:var(--muted); font-size:13px; }
.legal-nav { margin:28px 0 8px; padding:14px 0; display:flex; flex-wrap:wrap; gap:8px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.legal-nav a { padding:8px 11px; border-radius:999px; color:var(--ink); background:var(--soft); font-size:13px; font-weight:700; text-decoration:none; }
.legal-nav a[aria-current="page"] { color:white; background:var(--orange); }
section { padding-top:22px; }
h2 { margin:0 0 8px; font-size:20px; line-height:1.3; letter-spacing:-.25px; }
p { margin:8px 0 0; }
ul { margin:10px 0 0; padding-left:22px; }
li + li { margin-top:7px; }
.legal-note { margin-top:22px; padding:14px 16px; border:1px solid var(--warning-border); border-radius:16px; background:var(--warning); }
.legal-footer { margin-top:22px; color:var(--muted); font-size:12px; text-align:center; }
@media (max-width:600px) {
  .legal-shell { width:min(100% - 20px,900px); padding-top:12px; }
  .legal-header { align-items:flex-start; margin-bottom:12px; }
  .legal-actions { align-items:stretch; flex-direction:column-reverse; }
  .legal-theme-toggle { justify-content:center; }
  .legal-theme-toggle > span:not(.theme-icon):not(.theme-switch) { display:none; }
  .back-link { padding:8px 10px; }
  .legal-nav { display:grid; }
  .legal-nav a { text-align:center; }
}
@media (prefers-reduced-motion:reduce) {
  body, .theme-switch, .theme-switch span { transition:none; }
}
