/* Public legal pages (privacy, terms, refunds). Generated markup: scripts/build-legal.mjs */
@font-face { font-family:'Onest'; font-style:normal; font-weight:100 900; font-display:swap; src:url('/fonts/onest-cyrillic-wght-normal.woff2') format('woff2-variations'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Onest'; font-style:normal; font-weight:100 900; font-display:swap; src:url('/fonts/onest-latin-wght-normal.woff2') format('woff2-variations'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
:root { color-scheme:dark; --bg:#0b0b12; --panel:#121220; --panel-2:#181830; --line:#23233a; --text:#f4f3fb; --muted:#9a99ad; --soft:#d2d1e2; --accent:#b9a6ff; --glow:#8052ff; --cta:#f4f3fb; --cta-ink:#0b0b12; --radius:14px; }
*, *::before, *::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:84px; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }
body { margin:0; min-height:100vh; background:radial-gradient(70% 42% at 50% -12%, color-mix(in srgb,var(--glow) 24%, transparent), transparent 72%), radial-gradient(40% 30% at 100% 0%, color-mix(in srgb,var(--glow) 9%, transparent), transparent 70%), var(--bg); color:var(--text); font-family:'Onest', -apple-system, 'Segoe UI', Roboto, sans-serif; font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:6px; }

.legal-top { position:sticky; top:0; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px max(20px, calc((100vw - 1120px) / 2)); background:color-mix(in srgb,var(--bg) 84%, transparent); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border-bottom:1px solid color-mix(in srgb,var(--line) 70%, transparent); }
.legal-brand { display:inline-flex; align-items:center; gap:10px; color:var(--text); font-size:18px; font-weight:650; letter-spacing:-.02em; text-decoration:none; }
.legal-brand .mesh-mark { color:var(--soft); }
.legal-top-actions { display:flex; align-items:center; gap:8px; }
.legal-ghost, .legal-cta { display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:0 14px; border-radius:11px; font-size:14px; font-weight:550; text-decoration:none; transition:background-color .16s ease, border-color .16s ease, filter .16s ease; }
.legal-ghost { color:var(--soft); }
.legal-ghost:hover { background:color-mix(in srgb,var(--text) 7%, transparent); color:var(--text); }
.legal-cta { background:var(--cta); color:var(--cta-ink); font-weight:650; }
.legal-cta:hover { filter:brightness(.93); }
.legal-cta-quiet { background:transparent; border:1px solid var(--line); color:var(--soft); font-weight:550; }
.legal-cta-quiet:hover { background:var(--panel-2); color:var(--text); filter:none; }

.legal-main { width:min(1120px, calc(100% - 40px)); margin:0 auto; padding:44px 0 56px; }
.legal-hero { max-width:760px; }
.legal-switch { display:inline-flex; flex-wrap:nowrap; max-width:100%; overflow-x:auto; scrollbar-width:none; gap:4px; padding:4px; border:1px solid var(--line); border-radius:13px; background:color-mix(in srgb,var(--panel) 80%, transparent); }
.legal-switch a { flex:none; white-space:nowrap; padding:8px 14px; border-radius:10px; color:var(--muted); font-size:14px; font-weight:550; text-decoration:none; transition:color .16s ease, background-color .16s ease; }
.legal-switch a:hover { color:var(--text); }
.legal-switch a[aria-current="page"] { background:var(--panel-2); color:var(--text); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--glow) 55%, var(--line)); }
.legal-hero h1 { margin:26px 0 0; font-size:clamp(32px, 5vw, 46px); line-height:1.08; font-weight:650; letter-spacing:-.03em; text-wrap:balance; }
.legal-intro { max-width:60ch; margin:14px 0 0; color:var(--soft); font-size:18px; line-height:1.55; }
.legal-meta { margin:14px 0 0; color:var(--muted); font-size:14px; }

.legal-layout { display:grid; grid-template-columns:240px minmax(0, 700px); gap:56px; margin-top:44px; align-items:start; }
.legal-toc { position:sticky; top:88px; max-height:calc(100vh - 110px); overflow:auto; padding-right:6px; scrollbar-width:thin; }
.legal-toc summary { margin-bottom:10px; color:var(--text); font-size:14px; font-weight:650; cursor:default; list-style:none; }
.legal-toc summary::-webkit-details-marker { display:none; }
.legal-toc ol { margin:0; padding:0; list-style:none; border-left:1px solid var(--line); }
.legal-toc li a { display:block; padding:6px 0 6px 14px; margin-left:-1px; border-left:2px solid transparent; color:var(--muted); font-size:14px; line-height:1.35; text-decoration:none; transition:color .16s ease, border-color .16s ease; }
.legal-toc li a:hover { color:var(--soft); }
.legal-toc li a[aria-current="true"] { border-left-color:var(--accent); color:var(--text); }

.legal-summary { padding:20px 22px; border:1px solid color-mix(in srgb,var(--glow) 34%, var(--line)); border-radius:var(--radius); background:color-mix(in srgb,var(--glow) 8%, var(--panel)); }
.legal-summary h2 { margin:0 0 12px; font-size:16px; font-weight:650; }
.legal-summary ul { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.legal-summary li { display:flex; gap:10px; align-items:flex-start; color:var(--soft); font-size:15px; line-height:1.5; }
.legal-summary li svg { flex:none; margin-top:3px; color:var(--accent); }
.legal-summary p { margin:14px 0 0; color:var(--muted); font-size:13px; }

.legal-body { margin-top:36px; }
.legal-body section { padding:6px 0 30px; }
.legal-body h2 { margin:0 0 12px; font-size:22px; line-height:1.25; font-weight:650; letter-spacing:-.015em; }
.legal-body .legal-anchor { color:inherit; text-decoration:none; }
.legal-num { display:inline-block; min-width:2ch; margin-right:10px; color:var(--muted); font-weight:500; font-variant-numeric:tabular-nums; }
.legal-anchor:hover .legal-num { color:var(--accent); }
.legal-body p, .legal-body li { color:var(--soft); font-size:16px; line-height:1.72; }
.legal-body p { margin:0 0 14px; max-width:68ch; }
.legal-body p b, .legal-body strong { color:var(--text); font-weight:650; }
.legal-body ul, .legal-body ol { max-width:68ch; margin:0 0 14px; padding-left:22px; }
.legal-body li { margin:6px 0; padding-left:2px; }
.legal-body li::marker { color:var(--muted); }
.legal-body a { color:var(--accent); text-underline-offset:3px; text-decoration-color:color-mix(in srgb,var(--accent) 40%, transparent); }
.legal-body a:hover { text-decoration-color:var(--accent); }
.legal-body code { padding:2px 6px; border-radius:6px; background:var(--panel-2); color:var(--text); font-family:'JetBrains Mono', ui-monospace, Menlo, monospace; font-size:.9em; }

.legal-help { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:12px; padding:22px 24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); }
.legal-help h2 { margin:0; font-size:18px; font-weight:650; }
.legal-help p { margin:4px 0 0; color:var(--muted); font-size:14px; max-width:46ch; }

.legal-footer { width:min(1120px, calc(100% - 40px)); margin:0 auto; padding:40px 0 34px; border-top:1px solid var(--line); }
.legal-footer-grid { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.2fr); gap:48px; }
.legal-footer-brand p { max-width:30ch; margin:12px 0 14px; color:var(--muted); font-size:14px; }
.legal-support { display:inline-flex; align-items:center; gap:8px; color:var(--soft); font-size:14px; text-decoration:none; }
.legal-support:hover { color:var(--text); }
.legal-footer-docs h2 { margin:0 0 10px; color:var(--text); font-size:14px; font-weight:650; }
.legal-footer-docs ul { display:grid; gap:2px; margin:0; padding:0; list-style:none; }
.legal-footer-docs a { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 12px; margin:0 -12px; border-radius:11px; color:var(--soft); text-decoration:none; transition:background-color .16s ease, color .16s ease; }
.legal-footer-docs a:hover { background:var(--panel-2); color:var(--text); }
.legal-footer-docs a[aria-current="page"] { color:var(--text); background:color-mix(in srgb,var(--panel-2) 70%, transparent); }
.legal-footer-docs b { display:block; font-size:15px; font-weight:600; }
.legal-footer-docs small { display:block; margin-top:1px; color:var(--muted); font-size:13px; }
.legal-footer-docs svg { flex:none; color:var(--muted); }
.legal-footer-bottom { margin:30px 0 0; color:var(--muted); font-size:13px; }

@media (max-width:979px) {
  .legal-layout { grid-template-columns:minmax(0, 1fr); gap:24px; margin-top:32px; }
  .legal-toc { position:static; max-height:none; padding:0; }
  .legal-toc details { border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); }
  .legal-toc summary { display:flex; align-items:center; justify-content:space-between; margin:0; padding:14px 16px; cursor:pointer; }
  .legal-toc summary::after { content:'+'; color:var(--muted); font-size:20px; line-height:1; }
  .legal-toc details[open] summary::after { content:'−'; }
  .legal-toc ol { margin:0 16px 14px; }
}
@media (max-width:640px) {
  .legal-main { padding-top:28px; }
  .legal-top-actions .legal-ghost { display:none; }
  .legal-intro { font-size:16.5px; }
  .legal-body h2 { font-size:20px; }
  .legal-help { flex-direction:column; align-items:flex-start; }
  .legal-footer-grid { grid-template-columns:minmax(0, 1fr); gap:28px; }
}
@media print {
  body { background:#fff; color:#111; font-size:12pt; }
  .legal-top, .legal-toc, .legal-switch, .legal-help, .legal-footer { display:none; }
  .legal-layout { display:block; margin-top:20px; }
  .legal-main { width:100%; padding:0; }
  .legal-hero h1 { font-size:24pt; }
  .legal-intro, .legal-meta, .legal-body p, .legal-body li { color:#222; }
  .legal-summary { border-color:#999; background:#f4f4f4; }
  .legal-summary li, .legal-summary p { color:#222; }
  .legal-body a { color:#111; }
}
