    :root{
      --bg:#FAFBFC;
      --surface:#FFFFFF;
      --ink:#0F172A;
      --ink-soft:#64748B;
      --ink-faint:#94A3B8;
      --line:#E2E8F0;
      --line-strong:#CBD5E1;
      --green:#10B981;
      --green-ink:#047857;
      --green-soft:#ECFDF5;
      --blue:#3B82F6;
      --blue-ink:#1E40AF;
      --font-display:'Outfit', sans-serif;
      --font-body:'DM Sans', sans-serif;
      --font-mono:'JetBrains Mono', monospace;
    }

    *{box-sizing:border-box; margin:0; padding:0;}

    body{
      font-family:var(--font-body);
      background:#FAFBFC;
    }
    
    h1,h2,h3,h4{
      font-family:var(--font-display);
      font-weight:700;
    }
    
    header.site{
      border-bottom:2px solid #E2E8F0;
      background:rgba(255,255,255,.95);
      backdrop-filter:blur(12px);
    }
    
    header.site .wrap{
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:18px 24px;
      max-width:1080px;
      margin:0 auto;
    }
    
    header.site .logo{
      font-family:var(--font-display);
      font-weight:800;
      font-size:20px;
      display:flex;
      align-items:center;
      gap:10px;
      text-decoration:none;
      color:#0F172A;
    }
    
    header.site .logo img{
      width:42px;
      height:auto;
    }
    
    header.site nav{
      display:flex;
      gap:28px;
      font-size:14px;
      font-weight:500;
    }
    
    header.site nav a{
      color:#475569;
      text-decoration:none;
      transition:color .2s ease;
    }
    
    header.site nav a:hover{
      color:#0F172A;
    }
    
    main{
      padding:56px 0 80px;
    }
    
    main .wrap{
      max-width:760px;
      margin:0 auto;
      padding:0 24px;
    }
    
    .back-link{
      display:inline-block;
      margin-bottom:28px;
      font-size:14px;
      color:#475569;
      text-decoration:none;
      font-weight:500;
      transition:color .2s ease;
    }
    
    .back-link:hover{
      color:#0F172A;
    }
    
    .article-full h1{
      font-size:clamp(28px,4vw,40px);
      line-height:1.15;
      margin-bottom:14px;
      color:#0F172A;
    }
    
    .article-full .date{
      font-family:var(--font-mono);
      font-size:13px;
      color:#94A3B8;
      margin-bottom:0;
      display:block;
      font-weight:500;
    }

    .article-cover{
      width:100%;
      max-height:420px;
      object-fit:cover;
      border-radius:12px;
      margin:20px 0 8px;
      display:block;
    }

    .article-actions{
      display:flex; align-items:center; gap:10px; margin:20px 0 28px;
      flex-wrap:wrap;
    }
    .action-btn{
      display:flex; align-items:center; gap:7px; height:38px; padding:0 16px;
      border:1.5px solid #E2E8F0; border-radius:20px; background:#fff;
      color:#475569; font-family:var(--font-body); font-weight:600; font-size:13.5px;
      cursor:pointer; transition:border-color .2s ease, background .2s ease, color .2s ease;
    }
    .action-btn svg{width:14px; height:14px;}
    .action-btn:hover{border-color:#CBD5E1;}
    .action-feedback{
      font-size:13px; color:var(--green-ink); display:none;
    }
    .action-feedback.show{display:inline;}

    .article-full p{
      margin-bottom:18px;
      font-size:16.5px;
      color:#0F172A;
      line-height:1.7;
    }
    
    .article-full strong{
      font-weight:600;
      color:#0F172A;
    }
    
    .article-full a{
      color:var(--green-ink);
      text-decoration:underline;
      transition:color .2s ease;
    }
    
    .article-full a:hover{
      color:var(--green);
    }
    
    .article-full h2{
      font-size:24px;
      margin-top:32px;
      margin-bottom:16px;
      color:#0F172A;
    }
    
    .article-full h3{
      font-size:20px;
      margin-top:28px;
      margin-bottom:14px;
      color:#0F172A;
    }
    
    .article-full h4{
      font-size:18px;
      margin-top:24px;
      margin-bottom:12px;
      color:#0F172A;
    }
    
    .article-full ul, .article-full ol{
      margin-bottom:18px;
      padding-left:24px;
    }
    
    .article-full li{
      margin-bottom:8px;
      font-size:16.5px;
      color:#0F172A;
      line-height:1.7;
    }
    
    .article-full blockquote{
      border-left:4px solid var(--green);
      padding:16px 20px;
      margin:24px 0;
      font-style:italic;
      color:#475569;
      background: #F0FDF4;
      border-radius: 0 8px 8px 0;
    }
    
    .article-full code{
      font-family:var(--font-mono);
      background:#F3F4F6;
      padding:2px 6px;
      border-radius:4px;
      font-size:14px;
    }
    
    .article-full pre{
      background:#0F172A;
      color:#E2E8F0;
      padding:16px;
      border-radius:8px;
      overflow-x:auto;
      margin:24px 0;
    }
    
    .article-full pre code{
      background:transparent;
      color:inherit;
      padding:0;
    }
    
    .article-full img{
      max-width:100%;
      height:auto;
      border-radius:8px;
      margin:24px 0;
    }

    .article-full hr{
      border:none;
      border-top:1px solid #E2E8F0;
      margin:32px 0;
    }

    .cta-box {
      margin-top: 48px;
      padding: 32px;
      background: linear-gradient(135deg, #D1FAE5 0%, #DBEAFE 100%);
      border-radius: 12px;
      border-left: 5px solid #10B981;
      box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    }
    .cta-box h3 {
      margin: 0 0 12px 0;
      font-size: 20px;
    }
    .cta-box p {
      color: #475569;
      margin: 0 0 0 0;
      font-size: 15px;
      line-height: 1.6;
    }
    .cta-box p a {
      color: #10B981;
      text-decoration: underline;
      font-weight: 600;
      padding: 2px 6px;
      border-radius: 4px;
      background: rgba(16, 185, 129, 0.1);
      transition: all 0.2s ease;
    }
    .cta-box p a:hover {
      background: rgba(16, 185, 129, 0.2);
      transform: translateY(-1px);
    }
    
    @media (max-width:720px){
      header.site .wrap{
        flex-direction:column;
        gap:16px;
      }
      header.site nav{
        gap:20px;
      }
      .article-full h1{
        font-size:28px;
      }
    }
