/* 記事ページのスタイル。base.css の変数とリセットを前提にする。
   LP(lp.css)は色をハードコードしているが、こちらは変数を使うため
   ライト/ダークの両方に対応する。 */

.blog-header {
    background-color: var(--card);
    border-bottom: 1px solid var(--line);
    padding: 16px 0;
}

.blog-home {
    color: var(--accent);
    font-weight: bold;
    text-decoration: none;
}

.blog-title {
    margin: 32px 0 24px;
    font-size: 28px;
}

.article-list {
    list-style: none;
}

.article-card {
    margin-bottom: 20px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background-color: var(--card);
}

.article-card a {
    display: block;
    padding: 20px;
    color: inherit;
    text-decoration: none;
}

.article-card time {
    font-size: 13px;
    color: var(--ink-soft);
}

.article-card h2 {
    margin: 6px 0 8px;
    font-size: 20px;
    color: var(--accent);
}

.article-card p {
    font-size: 15px;
    color: var(--ink-soft);
}

.breadcrumb {
    margin: 20px 0;
    font-size: 14px;
    color: var(--ink-soft);
}

.breadcrumb a {
    color: var(--accent);
}

.article-body {
    max-width: 720px;
    margin: 0 auto 40px;
    background-color: var(--card);
    padding: 28px;
    border-radius: 10px;
}

.article-body h1 {
    font-size: 26px;
    margin-bottom: 8px;
}

.article-body > time {
    display: block;
    font-size: 13px;
    color: var(--ink-soft);
    margin-bottom: 24px;
}

.article-body h2 {
    margin: 32px 0 12px;
    font-size: 21px;
    border-left: 4px solid var(--accent);
    padding-left: 12px;
}

.article-body h3 {
    margin: 24px 0 10px;
    font-size: 18px;
}

.article-body p {
    margin-bottom: 16px;
}

.article-body ul,
.article-body ol {
    margin: 0 0 16px 24px;
}

.article-body li {
    margin-bottom: 6px;
}

.article-body a {
    color: var(--accent);
}

.article-cta {
    max-width: 720px;
    margin: 0 auto 40px;
    padding: 24px;
    text-align: center;
    background-color: var(--accent-soft);
    border-radius: 10px;
}

.article-cta p {
    margin-bottom: 16px;
}

.app-store-badge {
    display: inline-block;
    line-height: 0;
}

.app-store-badge img {
    height: auto;
    max-width: 100%;
}

.blog-footer {
    padding: 24px 0;
    border-top: 1px solid var(--line);
    font-size: 14px;
}

.blog-footer a {
    color: var(--ink-soft);
    margin-right: 16px;
}

@media (max-width: 600px) {
    .article-body {
        padding: 20px 16px;
    }
}
