/* aical サポートサイト共通スタイル
 *
 * 設計方針:
 * - aical アプリのテーマカラー (mintInk / mintSoft / primary) と
 *   揃えて、ブランドの一貫性を担保。
 * - 静的サイトで JS を使わず、CSS のみで快適な閲読体験を提供。
 * - 14-16inch laptop と iPhone Safari 両方でリーダブルなタイポグラフィ。
 */

:root {
    --color-bg: #FAFCFA;
    --color-surface: #FFFFFF;
    --color-mint-soft: #E8F4ED;
    --color-mint-ink: #00875A;
    --color-primary: #0F2A1E;
    --color-text: #1A1A1A;
    --color-mute: #5A6B62;
    --color-hairline: #E0E6E2;
    --max-width: 720px;
    --radius: 14px;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
}

body {
    background: var(--color-bg);
    color: var(--color-text);
    font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic UI", "Segoe UI", system-ui, sans-serif;
    line-height: 1.7;
    font-feature-settings: "palt";
}

.site-header {
    background: var(--color-mint-soft);
    border-bottom: 1px solid var(--color-hairline);
    padding: 24px 20px;
}

.site-header-inner {
    max-width: var(--max-width);
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 12px;
}

.site-logo {
    font-size: 20px;
    font-weight: 800;
    color: var(--color-primary);
    letter-spacing: -0.01em;
}

.site-logo a {
    text-decoration: none;
    color: inherit;
}

.site-nav {
    margin-left: auto;
    display: flex;
    gap: 16px;
}

.site-nav a {
    color: var(--color-mint-ink);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}

.site-nav a:hover {
    text-decoration: underline;
}

main {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 40px 20px 80px;
}

h1 {
    font-size: 32px;
    font-weight: 800;
    color: var(--color-primary);
    line-height: 1.3;
    margin-bottom: 12px;
    letter-spacing: -0.01em;
}

h2 {
    font-size: 22px;
    font-weight: 700;
    color: var(--color-primary);
    margin-top: 40px;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--color-mint-soft);
}

h3 {
    font-size: 17px;
    font-weight: 700;
    color: var(--color-primary);
    margin-top: 24px;
    margin-bottom: 8px;
}

.lede {
    color: var(--color-mute);
    font-size: 15px;
    margin-bottom: 24px;
}

.meta {
    color: var(--color-mute);
    font-size: 13px;
    margin-top: 8px;
}

p {
    margin-bottom: 14px;
}

ul, ol {
    padding-left: 24px;
    margin-bottom: 14px;
}

li {
    margin-bottom: 6px;
}

a {
    color: var(--color-mint-ink);
}

strong {
    font-weight: 700;
    color: var(--color-primary);
}

.card {
    background: var(--color-surface);
    border: 1px solid var(--color-hairline);
    border-radius: var(--radius);
    padding: 20px 24px;
    margin-bottom: 16px;
}

.card h3 {
    margin-top: 0;
}

.contact {
    background: var(--color-mint-soft);
    border-radius: var(--radius);
    padding: 24px;
    margin: 32px 0;
}

.contact-mail {
    font-size: 18px;
    font-weight: 700;
    color: var(--color-mint-ink);
    word-break: break-all;
}

.contact-mail a {
    color: inherit;
    text-decoration: none;
}

.contact-mail a:hover {
    text-decoration: underline;
}

.site-footer {
    border-top: 1px solid var(--color-hairline);
    padding: 32px 20px;
    text-align: center;
    color: var(--color-mute);
    font-size: 13px;
}

.site-footer-inner {
    max-width: var(--max-width);
    margin: 0 auto;
}

.site-footer a {
    color: var(--color-mute);
    margin: 0 8px;
}

@media (max-width: 480px) {
    h1 { font-size: 26px; }
    h2 { font-size: 19px; }
    main { padding: 24px 16px 60px; }
}
