/* article.css — article.html */
:root{--grape:#6C63FF;--coral:#FF6B6B;--sun:#FFD23F;--ink:#2B2D42;--muted:#8D99AE;--white:#fff;--cloud:#F8F9FF;--border:#E8EAF6}
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    body{font-family:'Nunito',sans-serif;background:var(--cloud);color:var(--ink);min-height:100vh;display:flex;flex-direction:column}

    /* ── CONTENT AREA ── */
    .content{flex:1;width:100%;max-width:960px;margin:0 auto;padding:32px 24px 48px}

    /* ── INLINE HTML body styles ── */
    .inline-body{background:var(--white);border-radius:20px;box-shadow:0 2px 20px rgba(0,0,0,.06);padding:40px 48px;font-family:'Lora',Georgia,serif;font-size:1.05rem;line-height:1.85;color:#3a3c52}
    .inline-body h1,.inline-body h2,.inline-body h3{font-family:'Nunito',sans-serif;font-weight:900;color:var(--ink);line-height:1.3;margin:28px 0 12px}
    .inline-body h1{font-size:1.9rem}
    .inline-body h2{font-size:1.4rem}
    .inline-body h3{font-size:1.15rem}
    .inline-body p{margin-bottom:18px}
    .inline-body a{color:var(--grape);font-weight:700}
    .inline-body ul,.inline-body ol{margin:0 0 18px 24px}
    .inline-body li{margin-bottom:6px}
    .inline-body blockquote{border-left:4px solid var(--grape);margin:24px 0;padding:14px 20px;background:#F5F3FF;border-radius:0 10px 10px 0;font-style:italic;color:var(--grape)}
    .inline-body img{max-width:100%;border-radius:12px;margin:16px 0;box-shadow:0 4px 20px rgba(0,0,0,.1)}
    .inline-body table{width:100%;border-collapse:collapse;margin:20px 0;font-family:'Nunito',sans-serif;font-size:.9rem}
    .inline-body th{background:var(--grape);color:#fff;font-weight:800;padding:10px 14px;text-align:left}
    .inline-body td{padding:10px 14px;border-bottom:1px solid var(--border)}
    .inline-body tr:hover td{background:#F5F3FF}
    .inline-body iframe{width:100%;border:none;border-radius:12px;margin:20px 0;display:block}

    /* ── IFRAME (standalone HTML file) ── */
    .file-iframe{width:100%;border:none;display:block;min-height:80vh}

    /* ── LOADING ── */
    .loading{text-align:center;padding:80px 20px;color:var(--muted)}
    .loading .spinner{width:40px;height:40px;border:4px solid var(--border);border-top-color:var(--grape);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}
    @keyframes spin{to{transform:rotate(360deg)}}

    /* ── FOOTER ── */
    footer{background:#1A1347;color:rgba(255,255,255,.65);font-family:'Nunito',sans-serif}
    .ft-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;max-width:1140px;margin:0 auto;padding:44px 40px 28px}
    .ft-logo{font-family:'Fredoka One',cursive;font-size:1.4rem;color:#fff;text-decoration:none;display:block;margin-bottom:10px}
    .ft-logo .spark{color:var(--coral)}
    .ft-brand p{font-size:.83rem;line-height:1.7;font-weight:700}
    .ft-col h4{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.35);margin-bottom:12px}
    .ft-col ul{list-style:none}
    .ft-col li{margin-bottom:7px}
    .ft-col a{color:rgba(255,255,255,.6);text-decoration:none;font-size:.86rem;font-weight:700;transition:.15s}
    .ft-col a:hover{color:#fff}
    .ft-bottom{border-top:1px solid rgba(255,255,255,.08);max-width:1140px;margin:0 auto;padding:18px 40px;display:flex;align-items:center;justify-content:space-between;font-size:.78rem;font-weight:700;color:rgba(255,255,255,.3);flex-wrap:wrap;gap:8px}

    @media(max-width:700px){
      .content{padding:16px 12px 36px}
      .inline-body{padding:24px 20px}
      .ft-inner{grid-template-columns:1fr 1fr;gap:20px;padding:28px 20px}
      .ft-bottom{padding:14px 20px}
    }
