:root{
  --bg:#0b0d12;
  --panel:#0f1219;
  --ink:#eef1f7;
  --ink-dim:#aeb6c5;
  --brand:#3aa0ff;
  --brand-2:#8a7dff;
  --acc:#1b2230;
  --muted:#1a1f2a;
  --radius:18px;
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --w:1200px;
  --step: clamp(.9rem, .85rem + .3vw, 1.05rem);
}

*{box-sizing:border-box}
html,body{height:100%}
body.legal-shell{
  margin:0;
  background:
    radial-gradient(1200px 600px at 110% -10%, rgba(58,160,255,.15), transparent 60%),
    radial-gradient(900px 500px at -10% 0%, rgba(138,125,255,.12), transparent 55%),
    linear-gradient(180deg, #0a0c11 0%, #0b0d12 100%);
  color:var(--ink);
  font: 400 var(--step)/1.7 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
}

/* Containers */
.legal-wrap{max-width:var(--w); margin:0 auto; padding:20px 18px}
.legal-header{
  position:relative;
  padding:32px 0 8px;
  background:transparent;
}
.page-title{
  margin:8px 0 2px;
  font-weight:700;
  letter-spacing:.3px;
  font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.4rem);
  background: linear-gradient(90deg,var(--ink) 0%, #d8e3ff 35%, #b0c8ff 70%, var(--ink) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.last-updated{color:var(--ink-dim); margin:6px 0 0}

/* Breadcrumbs */
.breadcrumbs{
  display:flex; gap:.5rem; align-items:center;flex-wrap:wrap;
  color:var(--ink-dim); font-size:.92em
}
.breadcrumbs a{color:var(--ink); text-decoration:none; opacity:.8}
.breadcrumbs a:hover{opacity:1; text-decoration:underline}

/* Layout */
.legal-main{display:grid; gap:24px}
@media (min-width: 980px){
  .legal-main{grid-template-columns: 280px 1fr}
}

.legal-toc{
  background:linear-gradient(180deg,var(--panel),var(--acc));
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:18px 16px;
  position:sticky; top:18px; align-self:start;
}
.legal-toc strong{display:block; margin-bottom:10px; letter-spacing:.3px}
.legal-toc ol{margin:0; padding-left:18px}
.legal-toc a{color:var(--ink); text-decoration:none}
.legal-toc a:hover{color:var(--brand)}

.legal-content{
  background:linear-gradient(180deg, rgba(26,31,42,.55), rgba(15,18,25,.65));
  border:1px solid rgba(255,255,255,.06);
  border-radius:calc(var(--radius) + 4px);
  box-shadow:var(--shadow);
  padding:28px 22px;
}

.block{padding:8px 0 22px; border-bottom:1px dashed rgba(255,255,255,.09)}
.block:last-child{border-bottom:0}
.block h2{
  margin:0 0 6px;
  font-size: clamp(1.2rem, 1.05rem + .6vw, 1.7rem);
}
.block h3{margin:14px 0 6px; font-size: clamp(1.02rem, .95rem + .35vw, 1.25rem); color:#d6e2ff}
.block p{margin:.3rem 0 .75rem}
.block ul{margin:.3rem 0 1rem 1.2rem}
.block li{margin:.25rem 0}

/* Crosslinks */
.legal-crosslinks{
  display:flex; gap:10px; flex-wrap:wrap; margin-top:24px; padding-top:16px;
  border-top:1px dashed rgba(255,255,255,.09)
}
.legal-crosslinks a{
  display:inline-block; padding:8px 12px; border:1px solid rgba(255,255,255,.12);
  border-radius:12px; text-decoration:none; color:var(--ink);
  background:linear-gradient(180deg, rgba(58,160,255,.18), rgba(138,125,255,.18));
}
.legal-crosslinks a:hover{border-color:rgba(255,255,255,.3)}

/* Accessibility */
a:focus-visible, .legal-toc a:focus-visible{
  outline:2px solid var(--brand); outline-offset:2px; border-radius:6px
}

/* Print */
@media print{
  body{background:#fff; color:#000}
  .legal-toc, .breadcrumbs, .legal-crosslinks{display:none}
  .legal-content{box-shadow:none; border:0; background:#fff}
}
.legal-content { word-break: break-word; overflow-wrap: anywhere; }
img, video { max-width: 100%; height: auto; display: block; }