*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif; background: #fff; color: #1a1a2e; line-height: 1.75; font-size: 16px; }
a { color: #2563eb; text-decoration: none; }
a:hover { text-decoration: underline; }
.site-header { background: #fff; border-bottom: 1px solid #e5e7eb; padding: 14px 24px; display: flex; align-items: center; gap: 16px; position: sticky; top: 0; z-index: 10; }
.site-header .logo { font-size: 18px; font-weight: 800; color: #0f172a; letter-spacing: -0.5px; }
.site-header nav { margin-left: auto; display: flex; gap: 20px; font-size: 13px; }
.site-header .cta { background: #2563eb; color: #fff !important; padding: 7px 16px; border-radius: 8px; font-weight: 600; }
.site-header .cta:hover { text-decoration: none; background: #1d4ed8; }
.article-wrap { max-width: 740px; margin: 0 auto; padding: 48px 24px 80px; }
.article-wrap h1 { font-size: 28px; font-weight: 800; line-height: 1.3; margin-bottom: 12px; color: #0f172a; }
.article-meta { font-size: 13px; color: #64748b; margin-bottom: 32px; display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
.tag { background: #f1f5f9; color: #475569; padding: 3px 10px; border-radius: 99px; font-size: 12px; font-weight: 600; }
.article-wrap h2 { font-size: 20px; font-weight: 700; margin: 40px 0 12px; color: #0f172a; padding-bottom: 8px; border-bottom: 2px solid #e5e7eb; }
.article-wrap h3 { font-size: 17px; font-weight: 700; margin: 28px 0 8px; color: #1e293b; }
.article-wrap p { margin-bottom: 16px; }
.article-wrap ul, .article-wrap ol { margin: 12px 0 16px 24px; }
.article-wrap li { margin-bottom: 8px; }
.article-wrap strong { font-weight: 700; color: #0f172a; }
.callout { background: #f0f9ff; border-left: 4px solid #2563eb; border-radius: 0 8px 8px 0; padding: 16px 20px; margin: 24px 0; }
.callout-warn { background: #fefce8; border-left-color: #ca8a04; }
.callout-green { background: #f0fdf4; border-left-color: #16a34a; }
.callout p { margin: 0; font-size: 14px; }
table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px; }
th { background: #f8fafc; padding: 10px 14px; text-align: left; font-weight: 600; border-bottom: 2px solid #e2e8f0; }
td { padding: 10px 14px; border-bottom: 1px solid #f1f5f9; }
.cta-box { background: linear-gradient(135deg, #1e40af 0%, #2563eb 100%); color: #fff; border-radius: 16px; padding: 32px; margin: 48px 0 24px; text-align: center; }
.cta-box h3 { font-size: 20px; margin-bottom: 8px; color: #fff; }
.cta-box p { color: #bfdbfe; margin-bottom: 20px; font-size: 14px; }
.cta-box a { display: inline-block; background: #fff; color: #1d4ed8; font-weight: 700; padding: 12px 28px; border-radius: 10px; font-size: 15px; }
.cta-box a:hover { text-decoration: none; background: #f0f9ff; }
.breadcrumb { font-size: 13px; color: #94a3b8; margin-bottom: 24px; }
.breadcrumb a { color: #64748b; }
footer { background: #f8fafc; border-top: 1px solid #e5e7eb; padding: 32px 24px; text-align: center; font-size: 13px; color: #94a3b8; }
@media (max-width: 600px) { .article-wrap h1 { font-size: 22px; } .site-header nav { display: none; } }
