/* Local improvements over the reference layout: accessibility and real pages. */
[hidden] { display: none !important; }
:root { --text-secondary: #536378; }
:focus-visible { outline: 3px solid #5a67d8; outline-offset: 5px; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 9999; padding: 12px 18px; color: white; background: #4338a0; border-radius: 8px; }
.skip-link:focus { top: 12px; }
.nav-menu { gap: 24px; }
.nav-link, .mobile-link, .footer-column a { display: inline-flex; min-height: 44px; align-items: center; }
.hero-models-tip a, .guide-links a, .section-faq a { text-decoration: underline; text-underline-offset: 4px; }
.section-faq { background: var(--bg-secondary); }
.section-faq details { max-width: 850px; margin: 12px auto; padding: 20px 24px; background: white; border: 1px solid var(--border-color); border-radius: 12px; }
.section-faq summary { min-height: 44px; align-content: center; cursor: pointer; font-weight: 600; }
.section-faq details p { padding: 16px 0 8px; line-height: 1.8; color: var(--text-secondary); }
.guide-links { display: flex; justify-content: center; gap: 24px; flex-wrap: wrap; margin-top: 32px; }
.article-main { padding-top: 140px; padding-bottom: 96px; min-height: 75dvh; }
.article { max-width: 820px; margin: auto; }
.article h1 { font-size: clamp(32px, 5vw, 52px); line-height: 1.3; margin: 24px 0; letter-spacing: -.03em; }
.article .intro { color: var(--text-secondary); font-size: 19px; line-height: 1.8; }
.article section { scroll-margin-top: 100px; margin-top: 48px; }
.article h2 { font-size: 25px; margin-bottom: 16px; }
.article p { line-height: 1.9; margin: 16px 0; }
.article a:not(.btn) { color: #4d42b3; text-decoration: underline; text-underline-offset: 4px; }
.article pre { max-width: 100%; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; background: #172033; color: #e2e8f0; padding: 24px; border-radius: 16px; line-height: 1.8; }
.article code { font-family: ui-monospace, SFMono-Regular, monospace; font-size: 14px; }
.copy-code { min-height: 44px; margin-top: 12px; padding: 8px 18px; border: 1px solid var(--border-color); border-radius: 8px; background: white; color: #4338a0; font: inherit; cursor: pointer; }
.copy-code:hover { background: #f1efff; }
.copy-status { min-height: 28px; color: #536378; font-size: 14px; }
.article-nav { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--border-color); }
.article-footer { background: #f8fafc; padding: 32px 0; text-align: center; color: #536378; }
.article-footer a { text-decoration: underline; }
@media (max-width: 1024px) { .nav-menu { gap: 14px; } .nav-link { font-size: 13px; } }
@media (max-width: 768px) { .article-main { padding-top: 108px; } .article { width: 100%; } .guide-links { flex-direction: column; align-items: center; } .hero-description br { display: none; } .hero-models-tip { overflow-wrap: anywhere; } .mobile-menu { overflow-y: auto; max-height: calc(100dvh - 72px); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
