/* hysocial-legal-v11.css — hySocial Legal v1.1 Design System */
:root{
  --lg-accent:var(--accent,#00ffa3);
  --lg-bg:var(--bg-deep,#0a0a12);
  --lg-surface:var(--bg-surface,rgba(255,255,255,.04));
  --lg-card:var(--bg-card,rgba(255,255,255,.06));
  --lg-border:var(--border,rgba(255,255,255,.12));
  --lg-text:var(--text,#f0f0f5);
  --lg-strong:var(--text-strong,#fff);
  --lg-muted:var(--muted,#9aa0aa);
  --lg-warning:var(--warning,#f5b945);
  --lg-info:var(--info,#3ac9ff);
  --lg-danger:var(--danger,#e5484d);
  --lg-radius:16px;
  --lg-spring:cubic-bezier(.2,.9,.3,1);
  --lg-topbar:calc(54px + env(safe-area-inset-top,0px));
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{min-height:100dvh;background:var(--lg-bg);color:var(--lg-text);
  font-family:var(--font-ios,-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",sans-serif);
  overflow-x:hidden;line-height:1.6}
.lg-topbar{position:fixed;top:0;left:0;right:0;height:var(--lg-topbar);z-index:120;
  display:flex;align-items:center;gap:10px;
  padding:env(safe-area-inset-top,0px) 16px 0;
  background:color-mix(in srgb,var(--lg-bg) 82%,transparent);
  -webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);
  border-bottom:1px solid var(--lg-border)}
.lg-topbar .lg-iconbtn{background:none;border:none;color:var(--lg-text);cursor:pointer;
  width:44px;height:44px;display:none;align-items:center;justify-content:center;
  border-radius:10px;font-size:22px}
.lg-topbar .lg-iconbtn:hover{background:var(--lg-card)}
.lg-topbar .lg-home{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--lg-text)}
.lg-topbar .lg-mark{width:30px;height:30px;border-radius:9px;background:var(--lg-accent);
  color:var(--lg-bg);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.lg-topbar h1{font-size:16px;font-weight:700;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lg-topbar .lg-back{display:inline-flex;align-items:center;gap:6px;text-decoration:none;
  color:var(--lg-text);border:1px solid var(--lg-border);background:var(--lg-card);
  border-radius:20px;padding:8px 14px;font-size:13px;font-weight:600;min-height:40px}
.lg-topbar .lg-back:hover{border-color:var(--lg-accent)}
.lg-shell{display:flex;gap:28px;max-width:1180px;margin:0 auto;
  padding:calc(var(--lg-topbar) + 20px) 24px calc(80px + env(safe-area-inset-bottom)) 24px}
.lg-toc{width:268px;flex-shrink:0;align-self:flex-start;position:sticky;
  top:calc(var(--lg-topbar) + 20px)}
.lg-toc .toc-brand{display:flex;align-items:center;gap:9px;margin-bottom:14px}
.lg-toc .toc-brand .lg-mark{width:34px;height:34px;border-radius:10px;background:var(--lg-accent);
  color:var(--lg-bg);font-weight:800;display:flex;align-items:center;justify-content:center}
.lg-toc .toc-brand b{font-size:16px;font-weight:800}
.draft-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;
  letter-spacing:.02em;text-transform:uppercase;color:var(--lg-warning);
  background:color-mix(in srgb,var(--lg-warning) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--lg-warning) 38%,transparent);
  border-radius:999px;padding:5px 11px;margin-bottom:16px}
.lg-toc nav{display:flex;flex-direction:column;gap:2px}
.lg-toc nav a{display:flex;align-items:center;gap:10px;text-decoration:none;
  color:var(--lg-muted);font-size:14px;font-weight:600;padding:11px 12px;border-radius:11px;
  border:1px solid transparent;transition:background .15s,color .15s,border-color .15s}
.lg-toc nav a iconify-icon{font-size:18px;color:var(--lg-accent);flex-shrink:0}
.lg-toc nav a:hover{background:var(--lg-card);color:var(--lg-text)}
.lg-toc nav a.active{background:color-mix(in srgb,var(--lg-accent) 14%,transparent);
  color:var(--lg-strong);border-color:color-mix(in srgb,var(--lg-accent) 34%,transparent)}
.lg-toc .toc-divider{height:1px;background:var(--lg-border);margin:14px 2px}
.lg-toc .toc-action{display:flex;align-items:center;gap:10px;width:100%;cursor:pointer;
  font-family:inherit;font-size:14px;font-weight:600;color:var(--lg-text);
  background:var(--lg-card);border:1px solid var(--lg-border);border-radius:11px;
  padding:11px 12px;min-height:44px}
.lg-toc .toc-action iconify-icon{font-size:18px;color:var(--lg-accent)}
.lg-toc .toc-action:hover{border-color:var(--lg-accent)}
.lg-toc .toc-auth{display:flex;gap:8px;margin-top:12px}
.lg-toc .toc-auth a{flex:1;text-align:center;text-decoration:none;font-size:13px;font-weight:700;
  padding:10px;border-radius:11px;min-height:42px;display:flex;align-items:center;justify-content:center}
.lg-toc .toc-auth .signin{color:var(--lg-text);border:1px solid var(--lg-border);background:transparent}
.lg-toc .toc-auth .signup{color:var(--lg-bg);background:var(--lg-accent);font-weight:800}
.lg-main{flex:1;min-width:0;max-width:780px}
.lg-intro{background:var(--lg-card);border:1px solid var(--lg-border);border-radius:var(--lg-radius);
  padding:22px 24px;margin-bottom:22px}
.lg-intro h2{font-size:22px;font-weight:800;display:flex;align-items:center;gap:10px;margin-bottom:8px}
.lg-intro h2 iconify-icon{color:var(--lg-accent)}
.lg-intro p{color:var(--lg-muted);font-size:14px}
.lg-intro p + p{margin-top:8px}
.lg-notice{display:flex;gap:10px;align-items:flex-start;margin-top:14px;
  background:color-mix(in srgb,var(--lg-warning) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--lg-warning) 34%,transparent);
  border-radius:12px;padding:12px 14px;font-size:13px;color:var(--lg-text)}
.lg-notice iconify-icon{color:var(--lg-warning);font-size:20px;flex-shrink:0;margin-top:1px}
.legal-doc{background:var(--lg-surface);border:1px solid var(--lg-border);border-radius:var(--lg-radius);
  padding:26px 28px;margin-bottom:22px;scroll-margin-top:calc(var(--lg-topbar) + 16px)}
.legal-doc > .draft-flag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;
  letter-spacing:.03em;text-transform:uppercase;color:var(--lg-warning);
  background:color-mix(in srgb,var(--lg-warning) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--lg-warning) 40%,transparent);
  border-radius:999px;padding:5px 12px;margin-bottom:14px}
.legal-doc h2{font-size:24px;font-weight:800;display:flex;align-items:center;gap:11px;letter-spacing:-.01em}
.legal-doc h2 iconify-icon{color:var(--lg-accent);font-size:26px}
.legal-doc .doc-meta{color:var(--lg-muted);font-size:12.5px;margin:8px 0 18px;
  padding-bottom:14px;border-bottom:1px solid var(--lg-border)}
.legal-doc h3{font-size:16px;font-weight:700;color:var(--lg-strong);margin:22px 0 8px}
.legal-doc h4{font-size:14px;font-weight:700;color:var(--lg-strong);margin:16px 0 6px}
.legal-doc p{font-size:14.5px;color:var(--lg-text);margin:0 0 10px}
.legal-doc ul,.legal-doc ol{margin:0 0 12px 22px}
.legal-doc li{font-size:14.5px;margin:5px 0}
.legal-doc a{color:var(--lg-info);text-decoration:none}
.legal-doc a:hover{text-decoration:underline}
.legal-doc strong{color:var(--lg-strong)}
.legal-doc code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;
  background:var(--lg-card);border:1px solid var(--lg-border);border-radius:6px;padding:1px 6px}
.legal-doc .legalese{font-size:13px;color:var(--lg-muted)}
.legal-doc blockquote{border-left:3px solid color-mix(in srgb,var(--lg-warning) 60%,transparent);
  background:color-mix(in srgb,var(--lg-warning) 8%,transparent);
  border-radius:0 10px 10px 0;padding:10px 14px;margin:12px 0;font-size:13.5px;color:var(--lg-text)}
.legal-doc address{font-style:normal;background:var(--lg-card);border:1px solid var(--lg-border);
  border-radius:10px;padding:12px 14px;margin:10px 0;font-size:14px;line-height:1.7}
.lg-footer{border-top:1px solid var(--lg-border);padding-top:18px;margin-top:8px;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
  color:var(--lg-muted);font-size:12.5px}
.lg-footer .foot-links{display:flex;flex-wrap:wrap;gap:14px}
.lg-footer a{color:var(--lg-muted);text-decoration:none}
.lg-footer a:hover{color:var(--lg-accent)}
.lg-footer .foot-cookie{display:inline-flex;align-items:center;gap:6px;cursor:pointer;
  background:none;border:none;color:var(--lg-muted);font-family:inherit;font-size:12.5px}
.lg-footer .foot-cookie:hover{color:var(--lg-accent)}
.lg-toggle{width:46px;height:28px;border-radius:14px;background:var(--lg-border);position:relative;
  cursor:pointer;flex-shrink:0;transition:background .2s;border:none;padding:0}
.lg-toggle.on{background:var(--lg-accent)}
.lg-toggle::after{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;
  background:#fff;transition:transform .2s var(--lg-spring)}
.lg-toggle.on::after{transform:translateX(18px)}
.lg-toggle[disabled]{opacity:.55;cursor:not-allowed}
.cookie-banner{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));
  transform:translateX(-50%) translateY(140%);width:min(720px,calc(100vw - 24px));z-index:300;
  background:var(--lg-card);border:1px solid var(--lg-border);border-radius:16px;
  box-shadow:0 12px 40px rgba(0,0,0,.4);padding:18px 20px;
  display:flex;gap:16px;align-items:center;flex-wrap:wrap;
  transition:transform .35s var(--lg-spring),opacity .35s;opacity:0;pointer-events:none}
.cookie-banner.show{transform:translateX(-50%) translateY(0);opacity:1;pointer-events:auto}
.cookie-banner .ck-body{flex:1;min-width:240px}
.cookie-banner .ck-body h3{font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px;margin-bottom:4px}
.cookie-banner .ck-body h3 iconify-icon{color:var(--lg-accent)}
.cookie-banner .ck-body p{font-size:13px;color:var(--lg-muted)}
.cookie-banner .ck-body a{color:var(--lg-info);text-decoration:none}
.cookie-banner .ck-actions{display:flex;gap:8px;flex-wrap:wrap}
.lg-btn{border-radius:11px;padding:10px 16px;font-weight:700;font-size:13px;cursor:pointer;
  min-height:44px;font-family:inherit;display:inline-flex;align-items:center;gap:6px;justify-content:center;
  border:1px solid var(--lg-border);background:transparent;color:var(--lg-text);
  transition:transform .12s var(--lg-spring),border-color .15s,background .15s}
.lg-btn:active{transform:scale(.96)}
.lg-btn:hover{border-color:var(--lg-accent)}
.lg-btn.primary{background:var(--lg-accent);color:var(--lg-bg);border-color:var(--lg-accent);font-weight:800}
.ck-modal-back{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:400;display:none;
  align-items:flex-end;justify-content:center}
.ck-modal-back.open{display:flex}
@media(min-width:640px){.ck-modal-back.open{align-items:center}}
.ck-modal{background:var(--lg-bg);border:1px solid var(--lg-border);border-radius:18px 18px 0 0;
  width:100%;max-width:480px;padding:22px;box-shadow:0 -8px 40px rgba(0,0,0,.5)}
@media(min-width:640px){.ck-modal{border-radius:18px}}
.ck-modal h2{font-size:18px;font-weight:800;display:flex;align-items:center;gap:8px;margin-bottom:6px}
.ck-modal h2 iconify-icon{color:var(--lg-accent)}
.ck-modal > p{font-size:13px;color:var(--lg-muted);margin-bottom:14px}
.ck-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
  padding:13px 0;border-bottom:1px solid var(--lg-border)}
.ck-row:last-of-type{border-bottom:none}
.ck-row .ck-label{font-size:14px;font-weight:700}
.ck-row .ck-desc{font-size:12px;color:var(--lg-muted);margin-top:2px}
.ck-row .ck-locked{font-size:11px;font-weight:700;color:var(--lg-accent);text-transform:uppercase;
  letter-spacing:.04em;align-self:center}
.ck-modal .ck-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
.lg-toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));
  transform:translateX(-50%) translateY(20px);background:var(--lg-accent);color:var(--lg-bg);
  padding:10px 22px;border-radius:20px;font-size:13px;font-weight:800;opacity:0;
  transition:all .3s var(--lg-spring);z-index:500;pointer-events:none}
.lg-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:900px){
  .lg-topbar .lg-iconbtn{display:flex}
  .lg-topbar .lg-back{display:none}
  .lg-shell{padding-left:16px;padding-right:16px;gap:0}
  .lg-toc{width:300px;max-width:86vw;position:fixed;top:0;height:100dvh;overflow-y:auto;
    background:var(--lg-bg);border-right:1px solid var(--lg-border);
    padding:calc(var(--lg-topbar) + 16px) 16px calc(24px + env(safe-area-inset-bottom));
    z-index:200}
  .lg-main{max-width:100%}
}
