root{
      --primary:#0078d4;
      --primary-dark:#005fa3;
      --bg:#f5f7fa;
      --white:#fff;
      --text:#1a1a1a;
      --muted:#667085;
      --border:#e4e7ec;
      --radius:12px;
      --shadow:0 8px 24px rgba(16,24,40,.08);
    }
    *,*::before,*::after{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
      background:var(--bg);
      color:var(--text);
      line-height:1.5;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
    }
    img{max-width:100%;height:auto}
    a{color:var(--primary);text-decoration:none}
    .skip-link{
      position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;
    }
    .skip-link:focus{
      left:16px;top:12px;width:auto;height:auto;padding:10px 14px;
      background:#000;color:#fff;border-radius:8px;z-index:2000;
    }

    /* Header */
    .site-header{
      position:fixed;top:0;left:0;right:0;z-index:1000;
      background:rgba(0,120,212,.95);
      backdrop-filter:saturate(180%) blur(10px);
      -webkit-backdrop-filter:saturate(180%) blur(10px);
      border-bottom:1px solid rgba(255,255,255,.12);
    }
    .header-inner{
      max-width:1200px;margin:0 auto;padding:12px 20px;
      display:flex;align-items:center;justify-content:space-between;gap:16px;
    }
    .logo{
      color:#fff;font-weight:700;font-size:1.15rem;letter-spacing:-.01em;
      display:flex;align-items:center;gap:2px;white-space:nowrap;
    }
    .logo span{font-weight:400;opacity:.9}
    .primary-nav ul{
      display:flex;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap;
    }
    .primary-nav a{
      color:#fff;padding:8px 12px;border-radius:8px;font-size:.95rem;
      opacity:.92;transition:all .18s ease;display:block;
    }
    .primary-nav a:hover,.primary-nav a:focus-visible{
      background:rgba(255,255,255,.16);opacity:1;outline:none;
    }
    .primary-nav a[aria-current="page"]{
      background:rgba(255,255,255,.22);font-weight:600;opacity:1;
    }

    /* Main */
    .container{
      max-width:900px;margin:0 auto;padding:100px 20px 60px;
    }
    .welcome{margin-bottom:28px}
    .welcome h1{
      font-size:clamp(1.6rem,3vw,2rem);margin:0 0 6px;letter-spacing:-.02em;
    }
    .subtitle{color:var(--muted);margin:0;font-size:1.02rem}

    .card{
      background:var(--white);border:1px solid var(--border);
      border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;
    }
    .card h2{margin:0 0 18px;font-size:1.25rem;letter-spacing:-.01em}

    .form-grid{
      display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px;
    }
    .form-field.full{grid-column:1/-1}
    label{display:block;font-size:.9rem;font-weight:500;margin-bottom:6px;color:#344054}
    input[type="text"],select,input[type="file"]{
      width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;
      background:#fff;font:inherit;color:var(--text);transition:border .15s,box-shadow .15s;
    }
    input[type="file"]{padding:9px 12px;cursor:pointer}
    input[type="text"]::placeholder{color:#98a2b3}
    input:focus,select:focus{
      outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,120,212,.15);
    }
    select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23667085' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:36px}

    #editor{min-height:220px;background:#fff;font-size:1rem}
    .ql-toolbar.ql-snow{border:1px solid var(--border)!important;border-radius:10px 10px 0 0!important}
    .ql-container.ql-snow{border:1px solid var(--border)!important;border-top:0!important;border-radius:0 0 10px 10px!important;font-family:inherit}

    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:8px;
      padding:12px 20px;border-radius:10px;font-weight:600;font-size:.98rem;
      cursor:pointer;transition:transform .05s ease,background .18s,box-shadow .18s;
      border:1px solid transparent;user-select:none;
    }
    .btn-primary{
      background:var(--primary);color:#fff;box-shadow:0 1px 2px rgba(16,24,40,.05);
    }
    .btn-primary:hover{background:var(--primary-dark)}
    .btn-primary:active{transform:translateY(1px)}
    .btn-primary:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(0,120,212,.3)}

    .posts-section{margin-top:40px}
    .posts-section h2{font-size:1.2rem;margin:0 0 12px}
    .card-muted{
      background:#fcfcfd;border-style:dashed;text-align:center;
      color:var(--muted);padding:36px;
    }

    .site-footer{
      max-width:900px;margin:48px auto 0;padding:0 20px 40px;
      color:var(--muted);font-size:.85rem;text-align:center;
    }

    /* Responsive */
    @media (max-width:768px){
      .header-inner{flex-direction:column;align-items:flex-start;padding:12px 16px 10px}
      .primary-nav{width:100%}
      .primary-nav ul{gap:2px}
      .primary-nav a{padding:8px 10px;font-size:.9rem}
      .container{padding-top:130px;padding-left:16px;padding-right:16px}
      .form-grid{grid-template-columns:1fr;gap:14px}
      .card{padding:18px}
      .welcome h1{font-size:1.5rem}
    }
    @media (max-width:390px){
      .primary-nav ul{width:100%}
      .primary-nav li{flex:1 1 auto}
      .primary-nav a{text-align:center}
    }
    
/* =========================
   FOOTER (Original ZabiTech)
========================= */
footer {
  text-align: center;
  padding: 40px 20px 30px;
  background: #ffffff;
  border-top: 1px solid #eaecf0;
  margin-top: 60px;
  color: #667085;
  font-size: 14px;
}

footer p {
  margin: 0 0 12px;
  line-height: 1.5;
}

.footer-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.footer-links a {
  color: #667085;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}

.footer-links a:hover {
  color: #0078d4;
}
#article-form {
  position: relative;
  padding-bottom: 80px; /* space for button */
}
#submit-btn {
  position: sticky;
  bottom: 20px;
  z-index: 10;
  width: 100%;
  max-width: 200px;
  margin-top: 20px;
  box-shadow: 0 4px 12px rgba(0,120,212,0.3);
}

#editor .ql-editor {
  min-height: 300px;
  max-height: 450px;
  overflow-y: auto;
}