/* ===== Line Clamp ===== */
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}

/* ===== Scrollbar ===== */
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:#faf8f5;}
::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px;}
::-webkit-scrollbar-thumb:hover{background:#94a3b8;}

/* ===== Selection ===== */
::selection{background:#ccfbf1;color:#0f766e;}

/* ===== Article Body ===== */
.article-body{font-family:'Lora',Georgia,serif;font-size:18px;line-height:1.85;color:#334155;}
.article-body h2{font-family:'Lora',Georgia,serif;font-size:1.6rem;font-weight:700;color:#0f172a;margin:2.5rem 0 1rem;line-height:1.3;}
.article-body h3{font-family:'Lora',Georgia,serif;font-size:1.3rem;font-weight:600;color:#1e293b;margin:2rem 0 .75rem;}
.article-body p{margin-bottom:1.4rem;text-align:justify;}
.article-body strong{color:#0f172a;font-weight:700;}
.article-body a{color:#0d9488;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.article-body a:hover{color:#0f766e;}
.article-body blockquote{margin:2rem 0;padding:1.25rem 2rem;border-left:4px solid #0d9488;background:#f0fdfa;font-style:italic;color:#0f766e;font-size:1.05rem;border-radius:0 .5rem .5rem 0;}
.article-body ul,.article-body ol{margin:1.2rem 0;padding-left:1.8rem;}
.article-body li{margin-bottom:.5rem;}
.article-body li::marker{color:#0d9488;}
.article-body img{max-width:100%;height:auto;border-radius:.5rem;margin:2rem 0;}
.article-body figcaption{text-align:center;font-size:.85rem;color:#94a3b8;font-style:italic;margin-top:.5rem;}
.article-body pre{background:#1e293b;color:#e2e8f0;padding:1.25rem;border-radius:.5rem;overflow-x:auto;margin:1.5rem 0;font-size:.85rem;}
.article-body code{font-family:'JetBrains Mono',monospace;font-size:.85em;background:#e2e8f0;padding:.15em .4em;border-radius:.25em;color:#0f766e;}
.article-body pre code{background:none;padding:0;color:inherit;}
.article-body table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem;}
.article-body th{background:#f1f5f9;padding:.75rem 1rem;text-align:left;font-weight:600;color:#0f172a;border-bottom:2px solid #0d9488;}
.article-body td{padding:.75rem 1rem;border-bottom:1px solid #e2e8f0;}
.article-body hr{border:none;border-top:1px solid #e2e8f0;margin:2.5rem 0;}
.article-body .intro::first-letter{float:left;font-family:'Lora',Georgia,serif;font-size:4.5rem;line-height:.7;margin-right:.6rem;margin-top:.35rem;color:#0d9488;font-weight:700;}

/* ===== Market Indicators ===== */
.market-up{color:#059669;}.market-down{color:#dc2626;}

/* ===== Print ===== */
@media print{
    header,footer,.no-print{display:none!important}
    body{background:#fff;color:#000}
    .article-body{font-size:12pt;color:#000}
}

*:focus-visible{outline:2px solid #0d9488;outline-offset:2px;border-radius:4px;}
