:root { --primary:#5936f6; --secondary:#0e0e52; --max-width-content:1100px; --margin-mobile:10px; --margin-tablet:14px; --margin-desktop:18px; --margin-large:20px; --container-x:var(--margin-mobile); }
    * { box-sizing:border-box; }
    body {
      margin:0;
      font-family:Arial,sans-serif;
      color:var(--ink);
      background:linear-gradient(180deg,#f4f7ff 0%,var(--bg) 100%);
      padding-top:92px;
    }
    .wrap { max-width:var(--max-width-content); margin:0 auto; padding:20px var(--container-x) 28px; }
    .card {
      background:var(--card);
      border-radius:18px;
      padding:22px;
      box-shadow:0 10px 24px rgba(14,14,82,.08);
      border:1px solid #e7ebf6;
    }
    .top { display:none; }
    .logo { width:210px; height:58px; object-fit:contain; }
    .nav { display:flex; gap:10px; flex-wrap:wrap; }
    .nav a {
      text-decoration:none;
      color:var(--secondary);
      font-weight:700;
      padding:8px 10px;
      border-radius:10px;
    }
    .nav a:hover { background:#f1f4ff; color:var(--primary); }
    .sr-header { position:fixed; top:0; left:0; right:0; z-index:50; height:88px; background:#fff; border-bottom:1px solid #e5e7eb; box-shadow:0 4px 18px rgba(14,14,82,.08); }
    .sr-header-inner { max-width:var(--max-width-content); height:100%; margin:0 auto; padding:0 var(--container-x); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; box-sizing:border-box; }
    .sr-logo-wrap { display:flex; align-items:center; text-decoration:none; justify-self:start; }
    .sr-logo { width:210px; height:58px; object-fit:contain; }
    .sr-header-center { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; }
    .sr-header-center a { color:#0e0e52; text-decoration:none; font-weight:700; font-size:18px; padding:10px 12px; border-radius:8px; white-space:nowrap; }
    .sr-tool-link { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 12px; border-radius:999px; background:#5936f6; color:#fff; font-size:13px; font-weight:800; }
    .sr-header-center .sr-tool-link { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 12px; border-radius:999px; background:#5936f6; color:#fff; font-size:13px; font-weight:800; }
    .sr-header-center .sr-tool-link:hover { background:#4b2ee0; color:#fff; }
    .sr-header-center a:hover { background:#f3f4f6; color:#5936f6; }
    .sr-header-right { display:flex; align-items:center; justify-content:flex-end; gap:10px; justify-self:end; }
    .cart-link { position:relative; display:inline-flex; align-items:center; justify-content:center; width:62px; height:50px; border-radius:999px; color:#0e0e52; text-decoration:none; }
    .cart-link:hover { background:#f3f4f6; color:#5936f6; }
    .cart-link svg { width:28px; height:28px; }
    .sr-external-link { display:inline-flex; align-items:center; gap:8px; color:#5936f6; text-decoration:none; font-size:16px; }
    .sr-external-link img { width:32px; height:32px; object-fit:contain; }
    h1, h2, h3 { color:var(--secondary); margin:0 0 10px; }
    h1 { font-size:38px; line-height:1.14; }
    h2 { font-size:28px; line-height:1.2; }
    h3 { font-size:20px; line-height:1.25; }
    p, li { line-height:1.6; color:var(--muted); margin:0; }
    .hero {
      border:1px solid #dbe3ff;
      border-radius:16px;
      background:linear-gradient(180deg,#f8faff 0%,#f2f6ff 100%);
      padding:18px;
      margin-bottom:14px;
    }
    .hero p { max-width:900px; margin-top:10px; }
    .kpi-grid {
      margin-top:14px;
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
      gap:10px;
    }
    .kpi {
      background:#fff;
      border:1px solid #dfe5ff;
      border-radius:12px;
      padding:12px;
    }
    .kpi strong {
      display:block;
      color:var(--primary);
      font-size:22px;
      margin-bottom:4px;
    }
    .toc {
      margin-top:14px;
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
      gap:10px;
    }
    .toc a {
      display:block;
      text-decoration:none;
      border:1px solid #dfe5ff;
      background:#fff;
      border-radius:12px;
      padding:10px 12px;
      color:var(--secondary);
      font-weight:700;
    }
    .toc a:hover { border-color:#c8d2ff; background:#f7f9ff; }
    section {
      border-top:1px solid var(--line);
      padding-top:16px;
      margin-top:16px;
      scroll-margin-top:10px;
    }
    .quote {
      margin:10px 0;
      background:#f8faff;
      border:1px solid #dfe5ff;
      border-left:4px solid var(--primary);
      border-radius:10px;
      padding:10px 12px;
      color:#1f2a6b;
      font-weight:700;
    }
    .chips { margin:10px 0 0; display:flex; gap:8px; flex-wrap:wrap; }
    .chip {
      display:inline-block;
      border-radius:999px;
      padding:6px 10px;
      font-size:12px;
      font-weight:700;
      background:#eef2ff;
      color:var(--primary);
    }
    .list { margin:10px 0 0; padding-left:18px; }
    .source-link {
      display:inline-flex;
      margin-top:10px;
      text-decoration:none;
      font-weight:700;
      color:var(--primary);
    }
    .source-link:hover { text-decoration:underline; }
    .note {
      margin-top:16px;
      border-radius:12px;
      border:1px solid #f3e8b8;
      background:#fffbeb;
      padding:12px;
      color:#725a00;
      font-size:14px;
    }
    .footer {
      margin-top:14px;
      border-top:1px solid var(--line);
      padding-top:14px;
      font-size:13px;
      color:#6b7280;
    }
    .sr-footer { margin-top:22px; background:#0e0e52; color:#fff; }
    .sr-footer-inner { max-width:var(--max-width-content); margin:0 auto; padding:24px var(--container-x) 18px; box-sizing:border-box; }
    .sr-footer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-bottom:16px; }
    .sr-footer-col ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
    .sr-footer-col a { color:#fff; text-decoration:none; opacity:.92; font-size:14px; }
    .sr-footer-col a:hover { opacity:1; text-decoration:underline; }
    .sr-footer-bottom { border-top:1px solid rgba(255,255,255,.15); padding-top:14px; display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
    .sr-footer-brand img { width:180px; height:48px; object-fit:contain; }
    .sr-footer-copy { margin:0; text-align:center; font-size:12px; line-height:1.5; color:rgba(255,255,255,.9); }
    .sr-footer-badges { display:flex; align-items:center; gap:8px; }
    .sr-footer-badges img { width:36px; height:36px; object-fit:contain; }
    .sr-footer-social { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:999px; background:rgba(255,255,255,.12); color:#fff; text-decoration:none; }
    @media (min-width:761px) and (max-width:1199px) { :root { --container-x:var(--margin-tablet); } }
    @media (min-width:1200px) and (max-width:1439px) { :root { --container-x:var(--margin-desktop); } }
    @media (min-width:1440px) { :root { --container-x:var(--margin-large); } }
    @media (max-width:760px) { :root { --container-x:var(--margin-mobile); } h1 { font-size:30px; }
      h2 { font-size:24px; }
      .card { padding:16px; border-radius:14px; }
      .logo { width:170px; height:48px; }
      .sr-footer-grid { grid-template-columns:1fr; }
      .sr-footer-bottom { justify-content:center; }
    }
    a:focus-visible { outline:3px solid #f1c40f; outline-offset:2px; }
