
        :root {
            --bg: #ffffff;
            --fg: #1a1a1a;
            --muted: #666666;
            --accent: #087770;
            --button-fg: #ffffff;
            --card: #f5f5f7;
            --border: #e5e5e7;
        }
        @media (prefers-color-scheme: dark) {
            :root {
                --bg: #121419;
                --fg: #f5f5f7;
                --muted: #9a9a9a;
                --accent: #2ee0d6;
                --button-fg: #081d1b;
                --card: #1c1f25;
                --border: #2a2d34;
            }
        }
        * { box-sizing: border-box; }
        html { -webkit-text-size-adjust: 100%; }
        body {
            margin: 0;
            font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
            background: var(--bg);
            color: var(--fg);
            line-height: 1.6;
            -webkit-font-smoothing: antialiased;
        }
        .container {
            max-width: 720px;
            margin: 0 auto;
            padding: 48px 24px 96px;
        }
        .back {
            display: inline-block;
            color: var(--muted);
            text-decoration: none;
            font-size: 0.9rem;
            margin-bottom: 32px;
        }
        .back:hover { color: var(--accent); }
        h1 {
            font-size: 2.2rem;
            margin: 0 0 8px;
            letter-spacing: -0.02em;
        }
        .subtitle {
            color: var(--muted);
            margin: 0 0 40px;
        }
        h2 {
            font-size: 1.3rem;
            margin: 40px 0 12px;
            letter-spacing: -0.01em;
        }
        h3 {
            font-size: 1rem;
            margin: 24px 0 6px;
            font-weight: 600;
        }
        p, li { color: var(--fg); }
        .muted { color: var(--muted); }
        ul { padding-left: 22px; }
        li { margin-bottom: 6px; }
        .plan-table { overflow-x: auto; margin: 20px 0; }
        .plan-table:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
        table { width: 100%; min-width: 600px; border-collapse: collapse; font-size: 0.9rem; }
        caption { text-align: left; font-weight: 600; margin-bottom: 10px; }
        th, td { text-align: left; vertical-align: top; padding: 12px 10px; border-bottom: 1px solid var(--border); }
        thead th { color: var(--accent); }
        tbody th { font-weight: 500; }
        a { color: var(--accent); }
        .pill {
            display: inline-block;
            background: var(--card);
            border: 1px solid var(--border);
            padding: 3px 10px;
            border-radius: 999px;
            font-size: 0.8rem;
            color: var(--muted);
        }
        .callout {
            background: var(--card);
            border: 1px solid var(--border);
            border-left: 3px solid var(--accent);
            padding: 16px 20px;
            border-radius: 8px;
            margin: 24px 0;
        }
        .callout h2 { margin: 0 0 12px; }
        .callout p { margin: 0; }
        .callout p + p { margin-top: 12px; }
        .actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
        .button { display: inline-block; padding: 12px 18px; border: 1px solid var(--accent); border-radius: 10px; font-weight: 600; text-decoration: none; }
        .button.primary { background: var(--accent); color: var(--button-fg); }
        .cards { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit,minmax(min(100%,190px),1fr)); }
        .card { background: var(--card); padding: 18px; border: 1px solid var(--border); border-radius: 12px; }
        .card h3 { margin-top: 0; }
        a:focus-visible, summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
        details { margin-top: 24px; padding: 16px; border: 1px solid var(--border); border-radius: 10px; }
        summary { cursor: pointer; font-weight: 600; }
        footer {
            margin-top: 64px;
            padding-top: 24px;
            border-top: 1px solid var(--border);
            color: var(--muted);
            font-size: 0.85rem;
        }

.guide-nav { display:flex; flex-wrap:wrap; gap:12px 20px; margin:24px 0; }
img {max-width:100%;height:auto;}
