.qfd-article { max-width: 64rem !important; }
/* News headlines are full sentences; the site-wide h1.major (4.6rem, 18ch) makes them fill an FHD screen. */
.qfd-article h1.major { font-size: clamp(1.9rem, 2.6vw, 2.75rem); line-height: 1.2; margin-bottom: 2rem; max-width: 34ch; }
/* Korean wraps between words, not mid-word; long URLs may still break. */
html[lang="ko"] .qfd-article { overflow-wrap: anywhere; word-break: keep-all; }
.article-kicker { color: var(--qfd-cyan); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.16em; margin-bottom: 1rem; }
.draft-notice { background: rgba(172, 121, 255, 0.12); border: 1px solid rgba(172, 121, 255, 0.35); border-radius: 0.75rem; color: #d7b8ff; margin-bottom: 2rem; padding: 0.8rem 1rem; }
.news-meta { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.5rem; }
.news-meta .tag { background: rgba(101, 214, 232, 0.07); border: 1px solid var(--qfd-line); color: var(--qfd-muted); font-size: 0.75rem; letter-spacing: 0.06em; padding: 0.2rem 0.8rem; }
.news-cover { border: 1px solid var(--qfd-line); border-radius: var(--qfd-radius); box-shadow: var(--qfd-shadow); margin: 2.5rem 0; overflow: hidden; }
.news-cover img { display: block; max-height: 34rem; object-fit: cover; width: 100%; }
.article-body[hidden] { display: none; }
.article-body { color: #c5d5dc; font-size: 1.02rem; line-height: 1.86; }
.article-body > * { max-width: 48rem; }
.article-body h1, .article-body h2, .article-body h3, .article-body h4 { color: var(--qfd-text); margin-top: 2.6em; }
.article-body h1 { font-size: 2rem; }
.article-body h2 { border-bottom: 1px solid var(--qfd-line); font-size: 1.55rem; padding-bottom: 0.55rem; }
.article-body h3 { font-size: 1.2rem; }
.article-body img { border: 1px solid var(--qfd-line); border-radius: 0.9rem; display: block; height: auto; margin: 2rem 0; max-width: min(100%, 60rem); }
.article-body pre { background: #050d13; border: 1px solid var(--qfd-line); border-radius: 0.9rem; max-width: 100%; overflow-x: auto; padding: 1.2rem; }
.article-body code { color: #9be8f1; }
.article-body table { border-collapse: collapse; display: block; max-width: 100%; overflow-x: auto; width: max-content; }
.article-body th, .article-body td { border: 1px solid var(--qfd-line); padding: 0.7rem 0.9rem; }
.article-body th { background: rgba(101, 214, 232, 0.07); color: var(--qfd-text); }
.article-body a { color: var(--qfd-cyan); }
.article-actions { border-top: 1px solid var(--qfd-line); margin-top: 4rem; padding-top: 2rem; }
