:root {
  color-scheme: only light;
  --paper:#f8f3ea;
  --surface:#fffdf8;
  --surface-2:#eee8dc;
  --ink:#2f352d;
  --muted:#63685f;
  --sage:#637761;
  --sage-dark:#405343;
  --border:#d9d1c3;
  --warning:#795936;
  --shadow:0 18px 46px rgba(58,49,37,.12);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{min-width:0;background:var(--paper)}
body{margin:0;min-width:0;color:var(--ink);background:linear-gradient(180deg,#f4ede2,var(--paper) 18rem);line-height:1.65;overflow-wrap:anywhere}
body.dark{color-scheme:dark;--paper:#24251f;--surface:#30322b;--surface-2:#3a3d34;--ink:#f3efe4;--muted:#c5c7ba;--sage:#a8bda4;--sage-dark:#d7e3d1;--border:#505348;--warning:#e4c38e;--shadow:0 20px 54px rgba(0,0,0,.32);background:linear-gradient(180deg,#1f211c,var(--paper) 18rem)}
a{color:var(--sage-dark);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}
button,a{touch-action:manipulation}
.legal-topbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:max(.7rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) .7rem max(1rem,env(safe-area-inset-left));border-bottom:1px solid color-mix(in srgb,var(--border) 80%,transparent);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(18px)}
.legal-brand{display:flex;align-items:center;gap:.65rem;color:var(--ink);font-family:Georgia,serif;font-size:1.18rem;font-weight:800;text-decoration:none}.legal-brand img{width:34px;height:34px;border-radius:9px}
.legal-controls{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.legal-controls button{min-height:44px;padding:.55rem .75rem;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--ink);font:inherit;font-weight:750;cursor:pointer}.legal-controls button[aria-pressed="true"]{border-color:var(--sage);background:color-mix(in srgb,var(--sage) 15%,var(--surface))}.theme-toggle{min-width:44px}
.legal-wrap{width:min(780px,calc(100% - 2rem));margin:0 auto;padding:clamp(2rem,7vw,4.8rem) 0 max(4rem,env(safe-area-inset-bottom))}
.legal-hero{padding:clamp(1.25rem,4vw,2.1rem);border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}
.legal-kicker{margin:0 0 .35rem;color:var(--sage-dark);font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.legal-hero h1{margin:0;font-family:Georgia,serif;font-size:clamp(2rem,8vw,3.4rem);line-height:1.08;letter-spacing:-.025em}.legal-summary{margin:.85rem 0 0;color:var(--muted);font-size:1.03rem}.legal-meta{display:flex;gap:.6rem 1rem;flex-wrap:wrap;margin:1rem 0 0;color:var(--muted);font-size:.88rem}
.legal-toc{margin:1.2rem 0 0;padding:1rem 1.15rem;border:1px solid var(--border);border-radius:17px;background:color-mix(in srgb,var(--surface) 82%,transparent)}.legal-toc summary{cursor:pointer;font-weight:850}.legal-toc ol{margin:.75rem 0 0;padding-left:1.35rem;columns:2;column-gap:2rem}.legal-toc li{break-inside:avoid;margin:.25rem 0}.legal-toc a{text-decoration:none}
.legal-article section{padding:1.55rem 0;border-bottom:1px solid var(--border)}.legal-article h2{margin:0 0 .65rem;font-family:Georgia,serif;font-size:clamp(1.25rem,4.8vw,1.62rem);line-height:1.25}.legal-article p{margin:.55rem 0}.legal-article ul{margin:.65rem 0;padding-left:1.4rem}.legal-article li+li{margin-top:.38rem}.legal-article strong{font-weight:850}
.plain-note,.review-note{margin:1rem 0;padding:.9rem 1rem;border-radius:14px;background:var(--surface-2)}.review-note{border-left:4px solid var(--warning)}
.legal-footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.5rem;color:var(--muted);font-size:.9rem}.legal-footer nav{display:flex;gap:1rem;flex-wrap:wrap}
[hidden]{display:none!important}
@media(max-width:560px){.legal-topbar{align-items:flex-start}.legal-brand span{display:none}.legal-controls{gap:.3rem}.legal-controls button{padding:.5rem .6rem}.legal-wrap{width:min(100% - 1.25rem,780px);padding-top:1.1rem}.legal-hero{border-radius:19px}.legal-toc ol{columns:1}.legal-article section{padding:1.25rem .15rem}.legal-footer{padding-inline:.15rem}}
@media(forced-colors:active){.legal-topbar,.legal-hero,.legal-toc{border:1px solid CanvasText}.review-note{border-left:4px solid Highlight}}
@media print{.legal-topbar,.legal-toc{display:none}.legal-wrap{width:100%;padding:0}.legal-hero{box-shadow:none}.legal-article section{break-inside:avoid}body{background:#fff;color:#000}}
