/* Blog — v1.18.0 (öffentlich lesbar) */
.blog-main{max-width:760px;margin:0 auto;padding:2rem 1.25rem 4rem}

/* Übersicht */
.blog-header{text-align:center;padding:2rem 0 1.5rem}
.blog-header h1{margin:0 0 0.5rem;font-size:2.25rem;font-weight:800;letter-spacing:-0.02em}
.blog-header p{margin:0;color:var(--text-2);font-size:1rem}
.blog-new{margin-top:1rem}

.blog-tags{display:flex;gap:0.4rem;flex-wrap:wrap;margin-bottom:1.5rem;justify-content:center}
.blog-tag{padding:0.3rem 0.75rem;font-size:0.75rem;background:var(--surface-2);border:1px solid var(--line);border-radius:20px;color:var(--text-2);text-decoration:none;font-weight:600;cursor:pointer}
.blog-tag:hover{border-color:var(--accent);color:var(--text-1)}
.blog-tag.active{background:var(--accent-strong);color:var(--accent-ink);border-color:transparent}

.blog-search-wrap{display:flex;justify-content:center;margin-bottom:1.5rem}
.blog-search{width:100%;max-width:400px;padding:0.6rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--surface-1);color:var(--text-1);outline:none;transition:border-color .15s}
.blog-search:focus{border-color:var(--accent)}
.blog-search::placeholder{color:var(--text-3)}

.blog-post-card{background:var(--surface-1);border:1px solid var(--line);border-radius:14px;padding:1.5rem;margin-bottom:1rem;cursor:pointer;transition:transform .15s,box-shadow .15s;text-decoration:none;color:inherit;display:block}
.blog-post-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-float)}
.blog-post-card h2{margin:0 0 0.35rem;font-size:1.35rem;font-weight:700;color:var(--text-1);letter-spacing:-0.01em;line-height:1.3}
.blog-post-card .subtitle{color:var(--text-2);font-size:0.95rem;margin:0 0 0.75rem;line-height:1.5}
.blog-post-card .meta{display:flex;gap:0.75rem;font-size:0.75rem;color:var(--text-3);align-items:center;flex-wrap:wrap}
.blog-post-card .meta .dot{width:3px;height:3px;background:var(--text-3);border-radius:50%}
.blog-post-card .tags-inline{display:flex;gap:0.3rem;flex-wrap:wrap;margin-top:0.75rem}
.blog-post-card .tags-inline .t{font-size:0.7rem;padding:0.15rem 0.55rem;background:var(--surface-2);color:var(--text-2);border-radius:6px;font-weight:600}

/* Detail */
.blog-back{display:inline-flex;align-items:center;gap:0.4rem;padding:0.4rem 0.75rem;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;color:var(--text-1);text-decoration:none;font-size:0.8125rem;font-weight:600;margin-bottom:1.5rem}
.blog-back:hover{background:var(--surface-1)}
.blog-post{background:var(--surface-1);border:1px solid var(--line);border-radius:16px;padding:2.5rem 2rem;}
.blog-post h1{margin:0 0 0.5rem;font-size:2rem;font-weight:800;line-height:1.2;letter-spacing:-0.02em}
.blog-post .subtitle{color:var(--text-2);font-size:1.1rem;margin:0 0 1.5rem;font-style:italic;line-height:1.5}
.blog-post .meta{display:flex;gap:0.75rem;font-size:0.8125rem;color:var(--text-3);align-items:center;flex-wrap:wrap;padding-bottom:1.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line)}
.blog-post .meta .dot{width:3px;height:3px;background:var(--text-3);border-radius:50%}
.blog-post .content{font-size:1rem;line-height:1.75;color:var(--text-1)}
.blog-post .content h1{font-size:1.5rem;margin:2rem 0 0.75rem}
.blog-post .content h2{font-size:1.3rem;margin:1.75rem 0 0.6rem;font-weight:700}
.blog-post .content h3{font-size:1.15rem;margin:1.5rem 0 0.5rem;font-weight:600}
.blog-post .content p{margin:0.75rem 0}
.blog-post .content ul,.blog-post .content ol{margin:0.75rem 0;padding-left:1.75rem}
.blog-post .content li{margin:0.25rem 0}
.blog-post .content blockquote{border-left:3px solid var(--accent-blue);margin:1.25rem 0;padding:0.5rem 1.25rem;background:var(--surface-2);border-radius:0 8px 8px 0;color:var(--text-2);font-style:italic}
.blog-post .content code{font-family:"SF Mono",Monaco,Consolas,monospace;background:var(--surface-2);padding:0.1em 0.4em;border-radius:4px;font-size:0.9em;color:var(--accent)}
.blog-post .content pre{background:var(--surface-2);padding:1rem 1.25rem;border-radius:10px;overflow-x:auto;margin:1rem 0;border:1px solid var(--line)}
.blog-post .content pre code{background:none;padding:0;color:var(--text-1)}
.blog-post .content a{color:var(--accent-blue);text-decoration:underline;text-underline-offset:2px}
.blog-post .content hr{border:none;border-top:2px dashed var(--line);margin:2rem 0}
.blog-post .content .nz-task{display:flex;align-items:flex-start;gap:0.6rem;margin:0.4rem 0}
.blog-post .content .nz-task-box{width:20px;height:20px;border:2px solid var(--line);border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;color:transparent;flex-shrink:0;margin-top:0.15rem}
.blog-post .content .nz-task[data-done="true"] .nz-task-box{background:var(--accent-blue);border-color:var(--accent-blue);color:var(--accent-ink)}
.blog-post .content .nz-task[data-done="true"] .nz-task-box::before{content:"✓"}
.blog-post .content .nz-task[data-done="true"] .nz-task-txt{text-decoration:line-through;color:var(--text-3)}
.blog-post .cover{width:100%;max-height:340px;object-fit:cover;border-radius:12px;margin-bottom:1.5rem}
.blog-post .tags-inline{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line);display:flex;gap:0.4rem;flex-wrap:wrap}

.blog-empty{padding:3rem 1rem;text-align:center;color:var(--text-2);font-size:0.95rem}

@media(max-width:600px){
    .blog-header h1{font-size:1.75rem}
    .blog-post{padding:1.5rem 1.25rem}
    .blog-post h1{font-size:1.5rem}
}
