:root{
          --bg:#ffffff;
          --text:#111827;
          --muted:#6b7280;
          --border:#e5e7eb;
          --panel:#f8fafc;
          --link:#0f3d91;
          --linkHover:#0b2f6f;
          --accent:#111827;
          --green:#16a34a;
          --greenHover:#15803d;
          --shadow:0 1px 2px rgba(0,0,0,.06),0 6px 18px rgba(0,0,0,.06);
          --radius:14px;
          --wrap:1120px;
        }
        *{box-sizing:border-box}
        html{color-scheme:light}
        body{
          margin:0;
          font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
          color:var(--text);
          background:var(--bg);
          line-height:1.65;
        }
        a{color:var(--link); text-decoration:none}
        a:hover{color:var(--linkHover); text-decoration:underline}
        .wrap{max-width:var(--wrap); margin:0 auto; padding:0 20px}

        .site-header{
          position:sticky; top:0; z-index:50;
          background:rgba(255,255,255,.92);
          backdrop-filter:saturate(1.2) blur(10px);
          border-bottom:1px solid var(--border);
        }
        .header-inner{display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 0}
        .brand{display:flex; align-items:center; gap:10px; font-weight:700; color:var(--text)}
        .brand:hover{text-decoration:none}
        .brand-logo{display:block}
        .brand-name{letter-spacing:.2px}

        .site-nav{display:flex; align-items:center; gap:12px}
        .nav-toggle{
          display:none;
          border:1px solid var(--border);
          background:#fff;
          padding:10px 12px;
          border-radius:10px;
          font-weight:600;
        }
        .menu{
          display:flex; align-items:center; gap:10px;
          list-style:none; margin:0; padding:0;
          flex-wrap:wrap;
        }
        .menu-item > a{
          display:inline-flex; align-items:center;
          padding:10px 10px;
          border-radius:10px;
          color:var(--text);
          font-weight:600;
        }
        .menu-item > a:hover{background:var(--panel); text-decoration:none}
        .menu-item.cta > a.button{
          background:var(--text);
          color:#fff;
          border:1px solid var(--text);
          padding:10px 12px;
          border-radius:999px;
          box-shadow:var(--shadow);
        }
        .menu-item.cta > a.button:hover{filter:brightness(.95); text-decoration:none}

        .has-children{position:relative}
        .sub-menu{
          position:absolute;
          top:44px; left:0;
          min-width:280px;
          max-height:70vh;
          overflow:auto;
          background:#fff;
          border:1px solid var(--border);
          border-radius:14px;
          box-shadow:var(--shadow);
          padding:8px;
          list-style:none;
          display:none;
          margin:0;
        }
        .has-children:hover > .sub-menu{display:block}
        .sub-menu a{
          display:block;
          padding:10px 10px;
          border-radius:10px;
          color:var(--text);
          font-weight:600;
        }
        .sub-menu a:hover{background:var(--panel); text-decoration:none}
        .sub-menu .subhead{margin-top:6px}
        .sub-menu .subhead a{
          color:var(--muted);
          font-weight:700;
          text-transform:uppercase;
          letter-spacing:.06em;
          font-size:12px;
          padding-top:14px;
        }
        .sub-menu .subhead a:hover{background:transparent}

        .site-main{padding:34px 0 46px}
        .entry{
          background:#fff;
          border:1px solid var(--border);
          border-radius:var(--radius);
          box-shadow:var(--shadow);
          padding:28px;
        }
        .entry-header{margin-bottom:14px}
        .entry-meta{color:var(--muted); font-size:14px}
        .entry-title{
          margin:8px 0 0;
          line-height:1.2;
          font-size:34px;
          letter-spacing:-.02em;
        }
        .entry-content{font-size:17px}
        .entry-content p{margin:12px 0}
        .entry-content section{margin:26px 0}
        .entry-content h2{
          margin:22px 0 10px;
          font-size:22px;
          line-height:1.3;
        }
        .entry-content h3{
          margin:18px 0 8px;
          font-size:18px;
          line-height:1.35;
          color:var(--accent);
        }
        .entry-content ul{padding-left:20px}
        .entry-content li{margin:6px 0}
        .small{font-size:13px; color:var(--muted)}

        .toc{
          border:1px solid var(--border);
          background:var(--panel);
          border-radius:14px;
          padding:14px 14px;
          margin:18px 0 22px;
        }
        .toc-title{font-weight:800; margin-bottom:6px}
        .toc-body a{display:block; padding:6px 6px; border-radius:10px; color:var(--text)}
        .toc-body a:hover{background:#fff; text-decoration:none}
        .toc-body .toc-l3{padding-left:18px; color:var(--muted); font-weight:600}

        .cta-box{
          border:1px solid var(--border);
          background:#fff;
          border-radius:14px;
          padding:16px;
          box-shadow:var(--shadow);
          margin:16px 0;
        }
        .cta-title{font-weight:800; margin-bottom:6px}
        .button{
          display:inline-flex; align-items:center; justify-content:center;
          padding:10px 14px;
          border-radius:999px;
          background:var(--text);
          color:#fff;
          border:1px solid var(--text);
          font-weight:700;
        }
        .button:hover{filter:brightness(.95); text-decoration:none}
        .button--green{
          background:var(--green);
          border-color:var(--green);
          color:#fff;
        }
        .button--green:hover{
          background:var(--greenHover);
          border-color:var(--greenHover);
          filter:none;
        }
        .button--full{
          width:100%;
          border-radius:12px;
          padding:12px 16px;
        }

        .related{
          border-top:1px solid var(--border);
          margin-top:26px;
          padding-top:18px;
        }
        .related-title{font-weight:800; margin-bottom:8px}
        .related-list{margin:0; padding-left:18px}

        .author-box{
          margin-top:26px;
          padding:18px;
          border:1px solid var(--border);
          border-radius:14px;
          background:var(--panel);
        }
        .author-head{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap}
        .author-name{font-weight:900}
        .author-role{color:var(--muted); font-weight:700}
        .author-bio{margin-top:10px; color:var(--text)}
        .author-meta{margin-top:10px; color:var(--muted); font-size:14px}

        .site-footer{
          border-top:1px solid var(--border);
          padding:28px 0;
          background:#fff;
        }
        .footer-cols{
          display:grid;
          grid-template-columns:repeat(3,minmax(0,1fr));
          gap:18px;
        }
        .footer-title{font-weight:900; margin-bottom:8px}
        .footer-links{list-style:none; margin:0; padding:0}
        .footer-links li{margin:8px 0}
        .footer-links a{color:var(--text); font-weight:600}
        .footer-links a:hover{background:var(--panel); padding:6px 8px; border-radius:10px; text-decoration:none}
        .footer-meta{margin-top:18px; color:var(--muted); font-size:14px}
        .footer-disclaimer{margin-top:6px}

        .table-wrap{overflow:auto; border:1px solid var(--border); border-radius:14px; background:#fff}
        table.compare{width:100%; border-collapse:collapse; min-width:720px}
        table.compare th, table.compare td{padding:12px 12px; border-bottom:1px solid var(--border); text-align:left; vertical-align:top}
        table.compare th{background:var(--panel); font-weight:900}
        table.kv{width:100%; border-collapse:collapse; min-width:0}
        table.kv th, table.kv td{padding:10px 12px; border-bottom:1px solid var(--border); text-align:left; vertical-align:top}
        table.kv th{background:var(--panel); font-weight:900; width:34%}

        @media (max-width: 920px){
          .nav-toggle{display:inline-flex}
          .menu{display:none; width:100%}
          .menu.is-open{display:flex; flex-direction:column; align-items:stretch}
          .menu-item{width:100%}
          .menu-item > a{justify-content:space-between}
          .has-children:hover > .sub-menu{display:none}
          .has-children > .sub-menu{
            position:static; display:block; max-height:none; border:none; box-shadow:none; padding:0;
          }
          .sub-menu a{padding-left:18px}
          .header-inner{align-items:flex-start; flex-wrap:wrap}
          .entry{padding:18px}
          .entry-title{font-size:28px}
          .footer-cols{grid-template-columns:1fr}
        }
