/* ═══════════════════════════════════════════════════════════
   Arctic Hare Studio — legal pages
   Same look as the landing: ink background, snow text, frost
   accent, Space Grotesk headings, the sweep-line footer.
   No JavaScript anywhere in these pages.
   ═══════════════════════════════════════════════════════════ */
:root{
  --ink:#0A0A0B;
  --snow:#F7F8FA;
  --frost:#8FC9B4;
  --muted:#9AA2AB;
  --line:rgba(247,248,250,0.12);
  --panel:#101114;
  --body:rgba(247,248,250,0.86);
  --measure:68ch;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:24px;}
body{
  margin:0;background:var(--ink);color:var(--snow);
  font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:var(--frost);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
a:hover{color:var(--snow);}
::selection{background:var(--frost);color:var(--ink);}
:focus-visible{outline:2px solid var(--frost);outline-offset:3px;border-radius:2px;}
.skip{position:absolute;left:-9999px;top:8px;background:var(--snow);color:var(--ink);padding:8px 12px;border-radius:4px;}
.skip:focus{left:8px;z-index:9;}

/* ── header ── */
.top{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:18px clamp(20px,5vw,64px);border-bottom:1px solid var(--line);
}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--snow);text-decoration:none;font-family:'Space Grotesk',sans-serif;font-weight:600;letter-spacing:-0.01em;}
.brand:hover{color:var(--frost);}
.brand svg{flex:none;}
.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);}
.crumbs a{color:var(--muted);text-decoration:none;}
.crumbs a:hover{color:var(--snow);}

/* ── container ── */
.wrap{max-width:1040px;margin:0 auto;padding:clamp(28px,5vw,56px) clamp(20px,5vw,64px) 72px;}
.wrap--narrow{max-width:720px;}

.apphead{margin-bottom:clamp(24px,4vw,40px);}
.eyebrow{margin:0 0 6px;font-family:'Space Grotesk',sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--frost);}
h1{margin:0 0 10px;font-family:'Space Grotesk',sans-serif;font-weight:600;letter-spacing:-0.025em;line-height:1.05;font-size:clamp(30px,5vw,48px);color:var(--snow);}
.meta{margin:0 0 18px;font-size:14px;color:var(--muted);}
.sub{margin:0 0 28px;color:var(--muted);font-size:17px;}

.tabs{display:flex;flex-wrap:wrap;gap:8px;}
.tabs a{
  text-decoration:none;font-size:13.5px;font-weight:500;padding:7px 14px;border-radius:999px;
  border:1px solid var(--line);color:var(--muted);background:transparent;
}
.tabs a:hover{color:var(--snow);border-color:var(--frost);}
.tabs a[aria-current="page"]{background:var(--snow);color:var(--ink);border-color:var(--snow);}

/* ── two columns: sticky index + document ── */
.cols{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start;}
.toc{position:sticky;top:24px;font-size:13.5px;max-height:calc(100vh - 48px);overflow:auto;}
.toc p{margin:0 0 10px;font-family:'Space Grotesk',sans-serif;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line);}
.toc li{margin:0;}
.toc a{display:block;padding:5px 0 5px 14px;color:var(--muted);text-decoration:none;border-left:2px solid transparent;margin-left:-1px;line-height:1.4;}
.toc a:hover{color:var(--snow);border-left-color:var(--frost);}
/* the root index groups sections per document */
.toc .toc__group > a{font-family:'Space Grotesk',sans-serif;font-weight:600;color:var(--snow);padding-top:10px;}
.toc .toc__group > a:hover{color:var(--frost);}
.toc .toc__group ol{border-left:0;}
.toc .toc__group ol a{font-size:12.8px;padding-left:26px;}

.doc{max-width:var(--measure);}
.doc section{padding:0 0 26px;margin:0 0 26px;border-bottom:1px solid var(--line);scroll-margin-top:24px;}
.doc section:last-child{border-bottom:0;}
.doc h2{margin:0 0 10px;font-family:'Space Grotesk',sans-serif;font-weight:600;letter-spacing:-0.015em;font-size:clamp(18px,2.2vw,22px);line-height:1.25;color:var(--snow);}
.doc h3{margin:0 0 10px;font-family:'Space Grotesk',sans-serif;font-weight:600;letter-spacing:-0.01em;font-size:clamp(16px,1.9vw,19px);line-height:1.3;color:var(--snow);}
.doc p{margin:0 0 12px;color:var(--body);}
.doc p:last-child{margin-bottom:0;}
.doc ul{margin:4px 0 12px;padding-left:22px;color:var(--body);}
.doc li{margin:0 0 8px;}
.doc a{word-break:break-word;}

/* the root page: each document is a block with its own big heading */
.doc--root .docblock{border-bottom:0;padding-bottom:6px;margin-bottom:34px;}
.doc--root .docblock > h2{
  font-size:clamp(24px,3vw,32px);letter-spacing:-0.02em;
  padding-bottom:12px;margin-bottom:22px;border-bottom:1px solid var(--line);
}
.doc--root .docblock section{scroll-margin-top:24px;}
.appnote{color:var(--muted);margin:0 0 14px;}

/* ── app lists (root + per-app indexes) ── */
.applist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);}
.applist li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 18px;padding:18px 0;border-bottom:1px solid var(--line);}
.applist li > a:first-child{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:20px;letter-spacing:-0.02em;color:var(--snow);text-decoration:none;}
.applist li > a:first-child:hover{color:var(--frost);}
.applist span{font-size:14px;color:var(--muted);}
.applist span a{margin-right:2px;}

/* ── footer: same as the landing ── */
.foot{
  position:relative;overflow:hidden;
  background:#060607;color:var(--muted);
  border-top:1px solid var(--line);
  padding:26px clamp(20px,5vw,64px);
  font-size:12.5px;letter-spacing:.03em;
}
.foot__line{
  position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--frost),transparent);
  background-size:200% 100%;opacity:.7;
  animation:footLine 6s linear infinite;
  pointer-events:none;
}
.foot__glow{
  position:absolute;display:block;
  background:radial-gradient(closest-side,var(--frost),transparent 72%);
  pointer-events:none;
}
.foot__glow--l{top:-60%;left:-8%;width:52%;height:220%;opacity:.30;filter:blur(46px);animation:auroraA 15s ease-in-out infinite;}
.foot__glow--r{top:-70%;right:-6%;width:46%;height:220%;opacity:.20;filter:blur(52px);animation:auroraB 19s ease-in-out infinite;}
.foot__inner{
  position:relative;max-width:1040px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  gap:14px 32px;flex-wrap:wrap;text-align:left;
}
.foot__meta{display:flex;flex-direction:column;gap:5px;}
.foot__small{font-size:11px;opacity:.72;}
.foot__link{
  display:inline-flex;align-items:center;
  padding:8px 2px;                     /* touch target ≥24px */
  font-family:'Space Grotesk',sans-serif;
  font-size:11px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;
}
.foot__link:hover{color:var(--frost);}

@keyframes footLine{0%{background-position:0% 0;}100%{background-position:200% 0;}}
@keyframes auroraA{0%,100%{transform:translate(-8%,8%) scale(1);}50%{transform:translate(16%,-6%) scale(1.28);}}
@keyframes auroraB{0%,100%{transform:translate(10%,-4%) scale(1.12);}50%{transform:translate(-16%,10%) scale(0.9);}}

/* ── one column ── */
@media (max-width:820px){
  .cols{grid-template-columns:1fr;gap:20px;}
  .toc{position:static;max-height:none;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:10px;}
  .toc ol{border-left:0;columns:2;column-gap:20px;}
  .toc a{padding:4px 0;border-left:0;margin:0;break-inside:avoid;}
  .toc .toc__group{break-inside:avoid;}
  .toc .toc__group ol{columns:1;}
  .toc .toc__group ol a{padding-left:12px;}
}
@media (max-width:560px){
  .toc ol{columns:1;}
  body{font-size:15.5px;}
  .foot__inner{flex-direction:column;align-items:center;text-align:center;}
}
@media print{
  .top,.toc,.tabs,.foot,.skip{display:none!important;}
  .cols{display:block;}
  .doc{max-width:none;}
  body{background:#fff;color:#000;font-size:11.5pt;}
  h1,.doc h2,.doc h3{color:#000;}
  .doc p,.doc ul{color:#000;}
  a{color:#000;text-decoration:none;}
  .eyebrow{color:#000;}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .foot__line,.foot__glow{animation:none;}
}
