
    :root{
      --tps-blue:#3598db;
      --ink:#0b1220;
      --muted:#4b5563;
      --bg:#ffffff;
      --card:#f7fbff;
      --border:#dbeafe;
      --focus:#0a66c2;
      --radius:16px;
    }
    .tps-article{
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
      color:var(--ink);
      background:var(--bg);
      line-height:1.6;
      max-width: 980px;
      margin: 0 auto;
      padding: 20px 16px 48px;
    }
    .kicker{
      color:var(--muted);
      font-size:0.95rem;
      margin:0 0 10px 0;
    }
    h1,h2,h3{
      line-height:1.25;
      margin: 0 0 10px 0;
    }
    h1{
      font-size:2rem;
      letter-spacing:-0.02em;
    }
    h2{
      font-size:1.45rem;
      margin-top: 26px;
      padding-top: 6px;
      border-top: 1px solid var(--border);
      color: var(--tps-blue);
      font-weight: 800;
    }
    h3{
      font-size:1.15rem;
      margin-top:16px;
      color: var(--tps-blue);
      font-weight: 800;
    }
    a{
      color: var(--tps-blue);
      text-decoration: underline;
      text-underline-offset: 2px;
    }
    a:focus{
      outline: 3px solid var(--focus);
      outline-offset: 2px;
      border-radius: 8px;
    }
    .hero{
      display:grid;
      grid-template-columns: 1.2fr 0.8fr;
      gap: 14px;
      align-items:start;
      margin: 14px 0 12px;
    }
    @media (max-width: 860px){
      .hero{ grid-template-columns: 1fr; }
    }
    .card{
      background: var(--card);
      border:1px solid var(--border);
      border-radius: var(--radius);
      padding: 14px 14px;
      box-shadow: 0 1px 0 rgba(2,6,23,0.04);
    }
    .highlights ul, .toc ul, .bullets{
      margin: 10px 0 0 18px;
      padding: 0;
    }
    .toc{
      position: sticky;
      top: 10px;
    }
    .toc h2{
      border-top:none;
      margin-top:0;
      padding-top:0;
      font-size:1.15rem;
    }
    .toc a{
      text-decoration:none;
    }
    .toc a:hover{
      text-decoration:underline;
    }
    .callout{
      border-left: 6px solid var(--tps-blue);
      padding: 10px 12px;
      background: #ffffff;
      border-radius: 12px;
      margin: 12px 0 0;
    }
    .cta-row{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:12px;
    }
    .btn{
      display:inline-block;
      padding: 10px 12px;
      border-radius: 999px;
      font-weight: 700;
      text-decoration:none;
      border: 1px solid var(--tps-blue);
      background: var(--tps-blue);
      color: white;
    }
    .btn.secondary{
      background: transparent;
      color: var(--tps-blue);
    }
    figure{
      margin: 16px 0;
      padding: 0;
    }
    figcaption{
      color: var(--muted);
      font-size: 0.95rem;
      margin-top: 8px;
    }
    .sr-only{
      position:absolute!important;
      width:1px;height:1px;
      padding:0;margin:-1px;
      overflow:hidden;clip:rect(0,0,0,0);
      white-space:nowrap;border:0;
    }
    .divider{
      height:1px;
      background: var(--border);
      margin: 18px 0;
    }
    .faq details{
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 14px;
      padding: 10px 12px;
      margin: 10px 0;
    }
    .faq summary{
      cursor:pointer;
      font-weight:800;
      color: var(--ink);
    }
    .note{
      margin-top: 18px;
      background: #fff7ed;
      border: 1px solid #fed7aa;
      border-radius: 14px;
      padding: 12px 12px;
    }
    .note strong{
      color:#9a3412;
    }
  