:root{
      --bg:#0c1016; --surface:#121826; --surface-2:#0e1421;
      --bd:rgba(255,255,255,.12); --ink:#e9eef6; --muted:#aab7c8;
      --accent:#2f5aa6; --accent-2:#3b6ad1;
      --ui:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
      --serif:ui-serif,Georgia,"Times New Roman","Noto Serif",serif;
      --maxw:920px; --radius:14px; --shadow:0 8px 24px rgba(0,0,0,.35);
      --sb-track: rgba(255,255,255,.06);
      --sb-thumb: rgba(59,106,209,.45);
      --sb-thumb-hover: rgba(59,106,209,.75);
    }

    html,body{ height:100%; }
    body{ background:var(--bg); color:var(--ink); font-family:var(--ui); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }

    .legal-wrap{ max-width:var(--maxw); margin:28px auto; padding:0 12px; }
    .page-title{ font:800 1.35rem/1.2 var(--ui); letter-spacing:.3px; margin:0 0 8px; text-wrap:balance; }
    .page-sub{ margin:0 0 10px; color:var(--muted); font-size:.95rem; }

    .tabs{ display:flex; gap:6px; margin:10px 0 14px; border-bottom:1px solid var(--bd); }
    .tab{ appearance:none; border:0; background:transparent; cursor:pointer; color:var(--muted); font:600 .92rem var(--ui); padding:10px 12px; border-top-left-radius:8px; border-top-right-radius:8px; position:relative; transition:color .15s ease; }
    .tab:hover{ color:var(--ink); }
    .tab[aria-selected="true"]{ color:var(--ink); background:var(--surface-2); }
    .tab[aria-selected="true"]::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:linear-gradient(90deg,var(--accent),var(--accent-2)); }

    .card{ background:var(--surface); border:1px solid var(--bd); border-radius:var(--radius); box-shadow:var(--shadow); padding:16px; }

    .doc-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 10px; }
    .doc-title{ font:700 .95rem var(--ui); letter-spacing:.2px; }
    .btn{ appearance:none; border:1px solid var(--bd); background:var(--surface-2); color:var(--ink); font:600 .9rem var(--ui); padding:8px 10px; border-radius:10px; cursor:pointer; transition:border-color .12s ease, transform .12s ease; }
    .btn:hover{ border-color:var(--accent-2); transform:translateY(-1px); }
    .tab:focus-visible, .btn:focus-visible{ outline:2px solid var(--accent-2); outline-offset:2px; }

    .scroll-shell{ position:relative; isolation:isolate; }
    .scroll-shell::before, .scroll-shell::after{ content:""; position:absolute; left:0; right:0; height:16px; pointer-events:none; z-index:1; opacity:0; transition:opacity .15s ease; }
    .scroll-shell::before{ top:0; background:linear-gradient(to bottom, rgba(0,0,0,.45), transparent); }
    .scroll-shell::after{ bottom:0; background:linear-gradient(to top, rgba(0,0,0,.45), transparent); }
    .scroll-shell[data-shadow~="top"]::before{ opacity:1; }
    .scroll-shell[data-shadow~="bottom"]::after{ opacity:1; }

    .legal-scroll{
      max-height: clamp(360px, 62vh, 720px);
      overflow:auto;
      padding-right: 8px;
      scroll-behavior:smooth;
      scrollbar-width:thin;
      scrollbar-color: var(--sb-thumb) var(--sb-track);
      border-radius:10px;
    }
    .legal-scroll::-webkit-scrollbar{ width:10px; height:10px; }
    .legal-scroll::-webkit-scrollbar-track{ background:var(--sb-track); border-radius:10px; }
    .legal-scroll::-webkit-scrollbar-thumb{ background:var(--sb-thumb); border-radius:10px; }
    .legal-scroll::-webkit-scrollbar-thumb:hover{ background:var(--sb-thumb-hover); }

    .legal-content{ font-family:var(--serif); color:#d7e1f0; line-height:1.68; max-width:72ch; margin-inline:auto; text-wrap:pretty; }
    .legal-content h1,.legal-content h2,.legal-content h3,.legal-content h4{ font-family:var(--ui); color:var(--ink); margin:1.1rem 0 .5rem; line-height:1.25; text-wrap:balance; }
    .legal-content h1{ font-size:1.28rem; }
    .legal-content h2{ font-size:1.08rem; }
    .legal-content h3{ font-size:1.0rem; color:#dfe6f2; }
    .legal-content p{ margin:.55rem 0; }
    .legal-content ul, .legal-content ol{ margin:.55rem 0 .55rem 1.25rem; }
    .legal-content li{ margin:.3rem 0; }
    .legal-content a{ color:#9bb7f7; text-decoration:underline; text-underline-offset:2px; }
    .legal-content blockquote{ margin:.8rem 0; padding:.6rem .9rem; border-left:3px solid var(--accent); background:rgba(59,106,209,.06); color:#e4ecfb; border-radius:8px; }
    .legal-content hr{ border:0; border-top:1px dashed var(--bd); margin:1rem 0; }
    .legal-content small, .muted{ color:var(--muted); }

    @media print{
      body{ background:#fff; color:#000; }
      .tabs, .doc-actions{ display:none !important; }
      .card{ box-shadow:none; border-color:#000; }
      .scroll-shell::before, .scroll-shell::after{ display:none !important; }
      .legal-scroll{ max-height:none; overflow:visible; padding-right:0; }
      .legal-content{ color:#111; }
      .legal-content a{ color:#000; text-decoration:underline; }
    }