/* Algoland — shared styles for legal pages (terms.html, privacy.html) */
:root, [data-theme="dark"] {
  --bg:#0C0D0F; --ink:#ECEDEE; --dim:#9BA0A5; --faint:#4A4F55;
  --hair:rgba(236,237,238,.1); --panel:#101215; --nav-bg:rgba(12,13,15,.82);
  --on-orange:#0C0D0F; --orange:#F5821F; --orange-deep:#D95F0E;
}
[data-theme="light"] {
  --bg:#F4F3EF; --ink:#16181A; --dim:#5C5F63; --faint:#9A9C9E;
  --hair:rgba(22,24,26,.12); --panel:#FBFAF6; --nav-bg:rgba(244,243,239,.85);
  --on-orange:#FFFFFF;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { background:var(--bg); scroll-behavior:smooth; }
body {
  background:var(--bg); color:var(--ink);
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased; line-height:1.65;
  transition:background .4s ease, color .4s ease;
}
.mono { font-family:ui-monospace,'SF Mono',Menlo,monospace; }

/* nav */
nav {
  position:sticky; top:0; z-index:80;
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 40px; background:var(--nav-bg); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--hair);
}
.brand { display:flex; align-items:center; gap:7px; text-decoration:none; }
.brand img { width:24px; height:auto; display:block; }
.brand .wm { font-size:16px; font-weight:700; letter-spacing:.34em; color:var(--ink); }
.nav-right { display:flex; align-items:center; gap:24px; }
.nav-right a { font-size:13px; letter-spacing:.08em; color:var(--dim); text-decoration:none; transition:color .25s; }
.nav-right a:hover { color:var(--orange); }
.themebtn { background:none; border:none; color:var(--orange); cursor:pointer; display:flex; padding:0; }
.themebtn svg { width:21px; height:21px; }
[data-theme="dark"] .ico-moon, [data-theme="light"] .ico-sun { display:none; }

/* document */
.doc { max-width:800px; margin:0 auto; padding:72px 40px 100px; }
.doc-kicker { font-family:ui-monospace,Menlo,monospace; font-size:12px; letter-spacing:.24em; color:var(--orange); margin-bottom:18px; }
.doc h1 { font-size:44px; line-height:1.1; letter-spacing:-.02em; font-weight:500; margin-bottom:16px; }
.doc-meta { font-family:ui-monospace,Menlo,monospace; font-size:12.5px; letter-spacing:.05em; color:var(--faint); }
.doc-lede { font-size:17px; color:var(--dim); margin:28px 0 6px; padding-bottom:34px; border-bottom:1px solid var(--hair); }
.doc h2 { font-size:21px; font-weight:600; letter-spacing:-.01em; margin:46px 0 14px; color:var(--ink); scroll-margin-top:96px; }
.doc h2 .n { font-family:ui-monospace,Menlo,monospace; font-size:14px; color:var(--orange); margin-right:12px; }
.doc h3 { font-size:16px; font-weight:600; margin:26px 0 8px; color:var(--ink); }
.doc p { font-size:15.5px; color:var(--dim); margin:12px 0; }
.doc ul { margin:12px 0 12px 22px; }
.doc li { font-size:15.5px; color:var(--dim); margin:7px 0; }
.doc strong, .doc b { color:var(--ink); font-weight:600; }
.doc a { color:var(--orange); border-bottom:1px solid var(--faint); text-decoration:none; transition:border-color .25s; }
.doc a:hover { border-color:var(--orange); }
.doc address { font-style:normal; color:var(--dim); font-size:15.5px; line-height:1.75; }
.doc .caps { text-transform:uppercase; letter-spacing:.02em; font-size:13.5px; }
.toc { margin:30px 0 0; padding:22px 26px; border:1px solid var(--hair); border-radius:6px; background:var(--panel); }
.toc-title { font-family:ui-monospace,Menlo,monospace; font-size:11px; letter-spacing:.2em; color:var(--faint); margin-bottom:12px; }
.toc ol { margin-left:18px; columns:2; column-gap:34px; }
.toc li { font-size:13.5px; margin:5px 0; }
.toc a { color:var(--dim); border:none; }
.toc a:hover { color:var(--orange); }
.note { margin-top:44px; padding:18px 22px; border:1px solid var(--hair); border-left:2px solid var(--orange); border-radius:6px; background:var(--panel); font-size:13.5px; color:var(--faint); line-height:1.65; }

/* footer */
footer { border-top:1px solid var(--hair); padding:38px 40px; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }
footer .mono { font-size:11px; letter-spacing:.18em; color:var(--faint); }
footer a { color:var(--dim); text-decoration:none; transition:color .25s; }
footer a:hover { color:var(--orange); }

@media (max-width:720px) {
  nav { padding:14px 20px; }
  .nav-right { gap:14px; }
  .nav-right .back { display:none; }
  .doc { padding:50px 20px 72px; }
  .doc h1 { font-size:32px; }
  .toc ol { columns:1; }
  footer { flex-direction:column; text-align:center; }
}
