
    :root{
      --tps-blue:#3598db;
      --ink:#0f172a;
      --muted:#475569;
      --bg:#f6f9fc;
      --card:#ffffff;
      --border:#dbe7f3;
      --radius:14px;
    }
    body{
      margin:0;
      background:var(--bg);
      color:var(--ink);
      font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
      line-height:1.6;
    }
    .wrap{ max-width:1100px; margin:0 auto; padding:18px; }
    a{ color:var(--tps-blue); text-decoration:none; }
    a:hover{ text-decoration:underline; }
    .hero{
      border:1px solid var(--border);
      background:linear-gradient(180deg, rgba(53,152,219,.16), rgba(53,152,219,0));
      border-radius:var(--radius);
      padding:16px;
      box-shadow:0 10px 24px rgba(15,23,42,.06);
    }
    .kicker{
      display:inline-block;
      padding:4px 10px;
      border-radius:999px;
      border:1px solid rgba(53,152,219,.25);
      background:rgba(53,152,219,.10);
      color:var(--muted);
      font-size:.86rem;
      letter-spacing:.02em;
      margin-bottom:10px;
    }
    h1{ margin:0 0 8px 0; font-size:1.8rem; line-height:1.2; }
    h2,h3{ color:var(--tps-blue); font-weight:900; scroll-margin-top:14px; }
    h2{ margin:22px 0 8px 0; font-size:1.25rem; }
    h3{ margin:14px 0 6px 0; font-size:1.05rem; }
    .subtle{ color:var(--muted); margin:8px 0 0 0; }
    .toc{
      margin:14px 0;
      background:var(--card);
      border:1px solid var(--border);
      border-radius:var(--radius);
      padding:12px 14px;
    }
    .toc ol{ margin:8px 0 0 18px; }
    .grid{
      display:grid;
      grid-template-columns:1fr;
      gap:12px;
    }
    @media(min-width:920px){
      .grid{ grid-template-columns:1fr 1fr; }
    }
    .card{
      background:var(--card);
      border:1px solid var(--border);
      border-radius:var(--radius);
      padding:14px;
      box-shadow:0 10px 22px rgba(15,23,42,.06);
    }
    .callout{
      border-left:4px solid var(--tps-blue);
      background:rgba(53,152,219,.08);
      border-radius:12px;
      padding:10px 12px;
      margin:12px 0;
    }
    .btn-row{ display:flex; flex-wrap:wrap; gap:10px; margin:12px 0 2px 0; }
    .btn{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:10px 12px;
      border-radius:12px;
      font-weight:900;
      border:1px solid rgba(0,0,0,.04);
      background:var(--tps-blue);
      color:#fff !important;
      box-shadow:0 12px 24px rgba(53,152,219,.22);
    }
    .btn.secondary{
      background:#fff;
      color:var(--tps-blue) !important;
      border:1px solid rgba(53,152,219,.45);
      box-shadow:none;
    }
    figure{
      margin:12px 0;
      background:var(--card);
      border:1px solid var(--border);
      border-radius:var(--radius);
      padding:10px 10px 6px 10px;
      overflow:hidden;
    }
    figcaption{ color:var(--muted); font-size:.92rem; padding:8px 4px 2px 4px; }
    ul{ margin:10px 0 0 18px; }
    li{ margin:6px 0; }
    table{ width:100%; border-collapse:collapse; margin:10px 0 0 0; overflow:hidden; border-radius:var(--radius); border:1px solid var(--border); background:#fff; }
    th,td{ text-align:left; padding:10px; border-bottom:1px solid var(--border); vertical-align:top; font-size:.95rem; }
    th{ background:rgba(53,152,219,.10); font-weight:900; color:var(--ink); }
    tr:last-child td{ border-bottom:none; }
    .mini{ color:var(--muted); font-size:.93rem; }
    .footer{ margin-top:18px; padding-top:14px; border-top:1px solid var(--border); }
    .sr-only{
      position:absolute; width:1px; height:1px; padding:0; margin:-1px;
      overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
    }
  