:root{--blog-bg:#fff;--blog-fg:#1f2933;--blog-muted:#64748b;--blog-accent:#4f46e5;--blog-accent-hover:#4338ca;--blog-border:#e5e7eb;--blog-card:#f8fafc;--blog-code-bg:#f1f5f9;--blog-maxw:44rem;--blog-font:"Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif}:root[data-theme=dark]{--blog-bg:#0f172a;--blog-fg:#e2e8f0;--blog-muted:#94a3b8;--blog-accent:#818cf8;--blog-accent-hover:#a5b4fc;--blog-border:#1e293b;--blog-card:#131c31;--blog-code-bg:#1e293b}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--blog-bg:#0f172a;--blog-fg:#e2e8f0;--blog-muted:#94a3b8;--blog-accent:#818cf8;--blog-accent-hover:#a5b4fc;--blog-border:#1e293b;--blog-card:#131c31;--blog-code-bg:#1e293b}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--blog-bg);color:var(--blog-fg);font-family:var(--blog-font);flex-direction:column;min-height:100vh;margin:0;font-size:1rem;line-height:1.75;display:flex}a{color:var(--blog-accent);text-decoration:none}a:hover{color:var(--blog-accent-hover);text-decoration:underline}strong{font-weight:700}img{max-width:100%;height:auto}.blog-container{width:100%;max-width:var(--blog-maxw);margin-inline:auto;padding-inline:1.25rem}.blog-header{border-bottom:1px solid var(--blog-border);background:var(--blog-bg)}.blog-header__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;min-height:3.5rem;display:flex}.blog-brand{color:var(--blog-fg);align-items:center;gap:.5rem;font-weight:700;display:inline-flex}.blog-brand:hover{color:var(--blog-accent);text-decoration:none}.blog-brand img{width:1.5rem;height:1.5rem}.blog-nav{align-items:center;gap:1rem;font-size:.9rem;display:inline-flex}.blog-nav a{color:var(--blog-muted)}.blog-nav a:hover{color:var(--blog-accent)}.blog-main{flex:1 0 auto;padding-block:2.5rem 3.5rem}.blog-list__title{margin:0 0 .5rem;font-size:1.9rem;line-height:1.25}.blog-list__lead{color:var(--blog-muted);margin:0 0 1.5rem}.blog-tabs{border-bottom:1px solid var(--blog-border);flex-wrap:wrap;gap:.5rem;margin:0 0 2rem;padding-bottom:.75rem;display:flex}.blog-tab{color:var(--blog-muted);border:1px solid var(--blog-border);border-radius:999px;padding:.3rem .9rem;font-size:.9rem;line-height:1.4}.blog-tab:hover{color:var(--blog-accent);border-color:var(--blog-accent);text-decoration:none}.blog-tab[aria-current=page]{color:#fff;background:var(--blog-accent);border-color:var(--blog-accent);font-weight:700}.blog-tab[aria-current=page]:hover{color:#fff}.blog-list__items{gap:1.75rem;margin:0;padding:0;list-style:none;display:grid}.post-card{grid-template-columns:8.5rem 1fr;align-items:start;gap:1.1rem;display:grid}.post-card--no-thumb{grid-template-columns:1fr}.post-card__thumb{border:1px solid var(--blog-border);aspect-ratio:16/9;object-fit:cover;border-radius:.5rem;width:100%}.post-card__body{min-width:0}.post-card__title{margin:0 0 .35rem;font-size:1.15rem;line-height:1.4}.post-card__title a{color:var(--blog-fg)}.post-card__title a:hover{color:var(--blog-accent)}.post-card__meta{color:var(--blog-muted);margin:0 0 .5rem;font-size:.8rem}.post-card__excerpt{color:var(--blog-muted);margin:0;font-size:.92rem;line-height:1.6}@media (width<=34rem){.post-card{grid-template-columns:1fr}}.tag-list{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.tag-list li{color:var(--blog-muted);border:1px solid var(--blog-border);border-radius:999px;padding:.1rem .6rem;font-size:.75rem}.post-header{margin-bottom:2rem}.post-header__title{margin:0 0 .75rem;font-size:2rem;line-height:1.25}.post-header__meta{color:var(--blog-muted);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.85rem;display:flex}.post-thumb{border:1px solid var(--blog-border);border-radius:.75rem;width:100%;margin-bottom:2rem}.post-body{font-size:1.02rem}.post-body h2{margin:2.5rem 0 .9rem;padding-top:.4rem;font-size:1.45rem;line-height:1.35}.post-body h3{margin:2rem 0 .7rem;font-size:1.2rem}.post-body p{margin:0 0 1.2rem}.post-body ul,.post-body ol{margin:0 0 1.2rem;padding-left:1.4rem}.post-body li{margin-bottom:.4rem}.post-body img{border:1px solid var(--blog-border);border-radius:.5rem;margin:1.75rem auto;display:block}.post-body a{text-decoration:underline}.post-body code{background:var(--blog-code-bg);border-radius:.3rem;padding:.12em .4em;font-size:.9em}.post-body pre{background:var(--blog-code-bg);border-radius:.5rem;padding:1rem;overflow-x:auto}.post-body pre code{background:0 0;padding:0}.post-body hr{border:none;border-top:1px solid var(--blog-border);margin:2.5rem 0}.post-body blockquote{border-left:3px solid var(--blog-border);color:var(--blog-muted);margin:0 0 1.2rem;padding-left:1rem}.changelog{gap:2.5rem;display:grid}.changelog-entry{border-top:1px solid var(--blog-border);padding-top:1.75rem}.changelog-entry:first-child{border-top:none;padding-top:0}.changelog-entry__head{flex-wrap:wrap;align-items:baseline;gap:.75rem;margin-bottom:.4rem;display:flex}.changelog-entry__version{color:var(--blog-accent);border:1px solid var(--blog-border);border-radius:999px;padding:.1rem .6rem;font-size:.85rem;font-weight:700}.changelog-entry__date{color:var(--blog-muted);font-size:.8rem}.changelog-entry__title{margin:0 0 .75rem;font-size:1.35rem;line-height:1.35}.changelog-entry__body h2{margin:1.5rem 0 .6rem;padding-top:0;font-size:1.05rem}.changelog-entry__body h3{margin:1.2rem 0 .5rem;font-size:1rem}.changelog-entry__body>:first-child{margin-top:0}.blog-footer{border-top:1px solid var(--blog-border);color:var(--blog-muted);flex-shrink:0;padding-block:1.5rem 2rem;font-size:.85rem}.blog-footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;display:flex}.blog-footer a{color:var(--blog-muted)}.blog-footer a:hover{color:var(--blog-accent)}.post-nav-back{margin-top:3rem;font-size:.9rem;display:inline-block}
