/* Shared styles for Frokenplay legal pages (privacy.html, terms.html) */

:root{
  --paper:      oklch(0.965 0.010 85);
  --paper-2:    oklch(0.935 0.014 85);
  --paper-3:    oklch(0.905 0.018 85);
  --ink:        oklch(0.18 0.018 50);
  --ink-soft:   oklch(0.18 0.018 50 / .78);
  --ink-mute:   oklch(0.18 0.018 50 / .48);
  --line:       oklch(0.18 0.018 50 / .14);
  --line-2:     oklch(0.18 0.018 50 / .28);
  --poppy:      oklch(0.60 0.205 28);
  --poppy-deep: oklch(0.48 0.18  28);

  --sans:    "Cairo", "Helvetica Neue", system-ui, sans-serif;
  --display: "Cairo", "Space Grotesk", "Helvetica Neue", sans-serif;
  --mono:    "JetBrains Mono", ui-monospace, monospace;
  --latin:   "Space Grotesk", "Helvetica Neue", sans-serif;
}

html{scroll-behavior:smooth;scroll-padding-top:24px}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased}
body{
  background:
    radial-gradient(800px 500px at 100% -10%, oklch(from var(--poppy) l c h / .08), transparent 60%),
    radial-gradient(700px 500px at -10% 20%, oklch(from var(--poppy) l c h / .04), transparent 60%),
    var(--paper);
}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.12;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/></svg>")}

.wrap{max-width:1040px;margin:0 auto;padding:0 36px;position:relative;z-index:2}

/* Top bar */
.bar{display:flex;align-items:center;justify-content:space-between;padding:24px 0 16px;border-bottom:1px solid var(--line)}
.brand-link{display:inline-flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}
.brand-link:hover .brand-name{color:var(--poppy)}
.brand-mark{width:36px;height:36px;border-radius:9px;background:var(--poppy);color:var(--paper);
  display:inline-flex;align-items:center;justify-content:center;flex:none;box-shadow:inset 0 -2px 0 oklch(from var(--poppy) l c h / .35)}
.brand-mark svg{display:block}
.brand-name{font-family:var(--latin);font-weight:700;font-size:22px;letter-spacing:-.01em;direction:ltr;transition:color .2s ease}
.brand-name .dot{color:var(--poppy)}
.bar .meta{display:flex;gap:14px;font-family:var(--mono);font-size:11px;color:var(--ink-mute);letter-spacing:.04em}
.bar .meta span+span{padding-inline-start:14px;border-inline-start:1px solid var(--line)}

/* Hero */
.legal-hero{padding:64px 0 32px;border-bottom:1px solid var(--line);margin-bottom:48px}
.legal-hero .eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--poppy);
  background:oklch(from var(--poppy) l c h / .08);padding:8px 14px;border-radius:999px;
  border:1px solid oklch(from var(--poppy) l c h / .25)}
.legal-hero .eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--poppy)}
.legal-hero h1{font-family:var(--display);font-weight:800;font-size:clamp(40px,5.8vw,82px);line-height:1;letter-spacing:-.015em;margin:24px 0 16px;color:var(--ink);text-wrap:balance}
.legal-hero h1 em{font-style:normal;color:var(--poppy);font-weight:800}
.legal-hero .updated{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}
.legal-hero .updated b{color:var(--poppy);font-weight:600}

/* Two-column shell: TOC + content */
.legal-shell{display:grid;grid-template-columns:240px 1fr;gap:64px;padding-bottom:96px}
.legal-toc{position:sticky;top:24px;align-self:start;font-size:13.5px;line-height:1.8}
.legal-toc .toc-h{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--poppy);margin-bottom:12px}
.legal-toc ol{list-style:none;margin:0;padding:0;counter-reset:t;display:flex;flex-direction:column;gap:4px}
.legal-toc ol li{counter-increment:t}
.legal-toc ol li::before{content:"0" counter(t) "  ";color:var(--poppy);font-family:var(--mono);font-size:11px;font-weight:600}
.legal-toc a{color:var(--ink-soft);text-decoration:none;transition:color .2s}
.legal-toc a:hover{color:var(--poppy)}

/* Article content */
.legal-content{font-size:16px;color:var(--ink-soft);text-wrap:pretty;max-width:66ch;counter-reset:s}
.legal-content section{counter-increment:s;padding:36px 0;border-top:1px solid var(--line)}
.legal-content section:first-of-type{border-top:0;padding-top:0}
.legal-content section h2{font-family:var(--display);font-weight:800;font-size:30px;line-height:1.15;letter-spacing:-.015em;color:var(--ink);margin:0 0 18px;display:flex;align-items:baseline;gap:14px;text-wrap:balance}
.legal-content section h2::before{content:"0" counter(s);font-family:var(--mono);font-weight:600;font-size:14px;color:var(--poppy);flex:none;min-width:2.4ch;letter-spacing:.04em;direction:ltr}
.legal-content p{margin:0 0 14px;line-height:1.85}
.legal-content p:last-child{margin-bottom:0}
.legal-content strong{color:var(--ink);font-weight:700}
.legal-content a{color:var(--poppy);text-decoration:none;border-bottom:1px solid oklch(from var(--poppy) l c h / .35);transition:border-color .2s}
.legal-content a:hover{border-bottom-color:var(--poppy)}
.legal-content ul{margin:0 0 14px;padding-inline-start:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.legal-content ul li{position:relative;padding-inline-start:22px}
.legal-content ul li::before{content:"";position:absolute;inset-inline-start:4px;top:.78em;width:10px;height:2px;background:var(--poppy);border-radius:2px}
.legal-content .callout{border:1px solid oklch(from var(--poppy) l c h / .25);background:oklch(from var(--poppy) l c h / .06);
  padding:20px 22px;border-radius:12px;margin:8px 0 18px;font-family:var(--display);font-weight:500;font-size:17px;line-height:1.65;color:var(--ink);
  border-inline-start:3px solid var(--poppy)}

/* Footer */
.foot{border-top:1px solid var(--line);padding:32px 0 56px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;font-family:var(--mono);font-size:11px;color:var(--ink-mute);letter-spacing:.04em}
.foot .links{display:flex;gap:20px}
.foot .links a{color:var(--ink-soft);text-decoration:none;font-family:var(--mono)}
.foot .links a:hover{color:var(--poppy)}

@media (max-width:820px){
  .wrap{padding:0 22px}
  .legal-shell{grid-template-columns:1fr;gap:24px}
  .legal-toc{position:static}
  .legal-hero h1{font-size:42px}
  .legal-content section h2{font-size:24px}
  .bar .meta{display:none}
}
