:root{--fg: #111827;--fg-muted: #6b7280;--bg: #ffffff;--bg-subtle: #f7f8fa;--card-bg: #ffffff;--accent: #2563eb;--accent-soft: #eff4ff;--border: #e5e7eb;--shadow: 0 1px 2px rgba(16, 24, 40, .04);--shadow-hover: 0 8px 24px rgba(16, 24, 40, .08);--maxw: 880px;--radius: 14px}@media(prefers-color-scheme:dark){:root{--fg: #e8eaed;--fg-muted: #9aa0a6;--bg: #0f1115;--bg-subtle: #15181e;--card-bg: #171a21;--accent: #6ea8fe;--accent-soft: #1b2536;--border: #262a33;--shadow: 0 1px 2px rgba(0, 0, 0, .4);--shadow-hover: 0 8px 24px rgba(0, 0, 0, .5)}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;color:var(--fg);background:var(--bg);line-height:1.8;font-size:16px;-webkit-font-smoothing:antialiased}img{max-width:100%}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.site-header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border)}.site-header__inner{max-width:var(--maxw);margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:12px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:1rem;color:var(--fg)}.brand:hover{text-decoration:none}.brand__mark{width:28px;height:28px;border-radius:8px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700}.container{max-width:var(--maxw);margin:0 auto;padding:40px 20px 96px}.hero{padding:56px 20px 40px;text-align:center;background:radial-gradient(120% 120% at 50% -20%,var(--accent-soft) 0%,transparent 60%)}.hero h1{font-size:2rem;margin:0 0 12px;letter-spacing:.01em}.hero p{color:var(--fg-muted);margin:0 auto;max-width:34em;font-size:1.02rem}.card-grid{max-width:var(--maxw);margin:8px auto 0;padding:0 20px 80px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.card{display:flex;flex-direction:column;gap:8px;padding:22px 22px 20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);box-shadow:var(--shadow);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.card:hover{text-decoration:none;transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:var(--shadow-hover)}.card__icon{width:40px;height:40px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;margin-bottom:4px}.card__icon svg{width:22px;height:22px}.card__title{font-size:1.08rem;font-weight:700;color:var(--fg);display:flex;align-items:center;gap:6px}.card__arrow{color:var(--fg-muted);transition:transform .15s ease}.card:hover .card__arrow{transform:translate(3px);color:var(--accent)}.card__desc{color:var(--fg-muted);font-size:.92rem;line-height:1.7}.back-link{display:inline-flex;align-items:center;gap:4px;margin-bottom:24px;font-size:.9rem;color:var(--fg-muted)}.back-link:hover{color:var(--accent);text-decoration:none}.page-header{margin-bottom:36px;border-bottom:1px solid var(--border);padding-bottom:24px}h1{font-size:1.8rem;margin:0 0 8px;line-height:1.35}.updated{color:var(--fg-muted);font-size:.9rem;margin:0}.prose h2{font-size:1.25rem;margin:40px 0 12px;scroll-margin-top:80px}.prose h3{font-size:1.05rem;margin:24px 0 8px}.prose p,.prose li{color:var(--fg)}.prose ul{padding-left:1.3em}.prose a{color:var(--accent);word-break:break-word}.site-footer{border-top:1px solid var(--border);background:var(--bg-subtle)}.site-footer__inner{max-width:var(--maxw);margin:0 auto;padding:32px 20px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;color:var(--fg-muted);font-size:.88rem}.site-footer__links{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;margin:0;padding:0}.site-footer__links a{color:var(--fg-muted)}.site-footer__links a:hover{color:var(--accent)}@media(max-width:600px){body{font-size:15px}.hero{padding:40px 20px 28px}.hero h1{font-size:1.6rem}.card-grid{grid-template-columns:1fr}h1{font-size:1.5rem}.container{padding:28px 18px 72px}.site-footer__inner{flex-direction:column;align-items:flex-start}}
