.blog-shell{flex-direction:column;min-height:100svh;display:flex}.blog-header{z-index:50;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:#0e100fb3;position:sticky;top:0}.blog-nav{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:16px clamp(20px,5vw,48px);display:flex}.blog-nav__links{align-items:center;gap:22px;display:flex}.blog-nav__links a{color:var(--muted);font-size:.95rem;transition:color .2s}.blog-nav__links a:hover{color:var(--green)}.blog-nav__logout{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:999px;padding:6px 16px;font-size:.85rem;transition:color .2s,border-color .2s}.blog-nav__logout:hover{color:var(--orange);border-color:var(--orange)}.blog-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:64px clamp(20px,5vw,48px) 96px}.blog-intro{color:var(--muted);max-width:60ch;margin-bottom:32px;font-size:1.05rem}.blog-tags{flex-wrap:wrap;gap:10px;margin-bottom:36px;display:flex}.blog-tag{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:6px 16px;font-size:.88rem;transition:color .2s,border-color .2s}.blog-tag:hover{color:var(--green);border-color:var(--green)}.blog-tag--active{color:var(--bg);background:linear-gradient(100deg, var(--green), var(--green-soft));border-color:#0000;font-weight:700}.blog-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;display:grid}.blog-card{background:var(--card);border:1px solid var(--border);border-radius:20px;flex-direction:column;gap:12px;padding:28px;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex}.blog-card:hover{border-color:var(--accent);box-shadow:0 18px 48px color-mix(in srgb, var(--accent) 18%, transparent);transform:translateY(-6px)}.blog-card__meta{color:var(--muted);gap:8px;font-size:.85rem;display:flex}.blog-card__title{font-family:var(--font-display), sans-serif;font-size:1.45rem;font-weight:800;line-height:1.2}.blog-card__excerpt{color:var(--muted);font-size:.98rem}.blog-card__tags{flex-wrap:wrap;gap:10px;font-size:.85rem;display:flex}.blog-card__tags span,.blog-card__tags a{color:var(--accent,var(--green))}.post-header .blog-card__tags a{color:var(--green)}.blog-card__more{color:var(--accent);margin-top:auto;padding-top:8px;font-size:.9rem;font-weight:700}.blog-empty{border:1px dashed var(--border);text-align:center;color:var(--muted);border-radius:20px;justify-items:center;gap:20px;padding:64px 32px;display:grid}.post{max-width:760px;margin:0 auto}.post-back{color:var(--muted);margin-bottom:28px;font-size:.95rem;transition:color .2s;display:inline-block}.post-back:hover{color:var(--green)}.post-draft-banner{border:1px solid var(--orange);color:var(--orange);background:#ff87091f;border-radius:12px;margin-bottom:24px;padding:10px 18px;font-size:.92rem}.post-draft-banner a{text-decoration:underline}.post-title{font-family:var(--font-display), sans-serif;margin:12px 0 16px;font-size:clamp(2rem,5vw,3.2rem);font-weight:800;line-height:1.1}.post-cover{border:1px solid var(--border);border-radius:16px;width:100%;margin:28px 0}.post-body{color:var(--ink);margin-top:32px;font-size:1.05rem}.post-body h2,.post-body h3{font-family:var(--font-display), sans-serif;margin:1.6em 0 .6em;line-height:1.25}.post-body h2{font-size:1.7rem}.post-body h3{font-size:1.3rem}.post-body p{color:#fffce1db;margin:.9em 0}.post-body a{color:var(--blue);text-underline-offset:3px;text-decoration:underline}.post-body ul,.post-body ol{color:#fffce1db;margin:.9em 0;padding-left:1.4em}.post-body li{margin:.35em 0}.post-body blockquote{border-left:3px solid var(--purple);color:var(--muted);margin:1.2em 0;padding-left:1em;font-style:italic}.post-body code{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:.1em .4em;font-size:.92em}.post-body pre{background:var(--card);border:1px solid var(--border);border-radius:14px;margin:1.2em 0;padding:18px;overflow-x:auto}.post-body pre code{background:0 0;border:none;padding:0}.post-body img{border-radius:12px;margin:1.2em 0}.post-body hr{border:none;border-top:1px solid var(--border);margin:2em 0}.post-body table{border-collapse:collapse;width:100%;margin:1.2em 0}.post-body th,.post-body td{border:1px solid var(--border);text-align:left;padding:8px 12px}.post-admin-hint{color:var(--muted);margin-top:48px}.post-admin-hint a{color:var(--green);text-decoration:underline}.blog-login{max-width:460px;margin:48px auto}.blog-login__form{gap:8px;display:grid}.form-error{color:var(--orange);font-size:.92rem}.editor{flex-direction:column;gap:16px;display:flex}.editor-toolbar{z-index:10;-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);background:#0e100feb;border-radius:16px;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 18px;display:flex;position:sticky;top:64px}.editor-status{font-size:.9rem;font-weight:700}.editor-status--draft{color:var(--yellow)}.editor-status--published{color:var(--green)}.editor-message{color:var(--muted);flex:1;min-width:120px;font-size:.85rem}.editor-actions{align-items:center;gap:10px;display:flex}.editor-actions .btn{padding:9px 22px;font-size:.92rem}.editor-delete{color:var(--muted);text-underline-offset:3px;background:0 0;border:none;font-size:.88rem;text-decoration:underline}.editor-delete:hover{color:#ff5050}.editor-title{color:var(--ink);font-family:var(--font-display), sans-serif;background:0 0;border:none;outline:none;width:100%;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800}.editor-title::placeholder{color:#fffce140}.editor-meta{grid-template-columns:1fr 1fr;gap:12px;display:grid}.editor-meta input,.editor-excerpt{background:var(--card);border:1px solid var(--border);color:var(--ink);border-radius:12px;padding:12px 16px;font-family:inherit;font-size:.95rem}.editor-meta input:focus,.editor-excerpt:focus,.editor-content:focus{border-color:var(--green);outline:none}.editor-excerpt{resize:vertical;width:100%}.editor-tabs{gap:8px;display:flex}.editor-tabs button{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:999px;padding:7px 20px;font-size:.88rem;transition:color .2s,border-color .2s}.editor-tabs button.active{color:var(--bg);background:var(--ink);border-color:#0000;font-weight:700}.editor-panes{gap:20px;min-height:480px;display:grid}.editor-panes--split{grid-template-columns:1fr 1fr}.editor-panes--write .editor-preview,.editor-panes--preview .editor-content{display:none}.editor-content{background:var(--card);border:1px solid var(--border);color:var(--ink);resize:vertical;border-radius:16px;width:100%;min-height:480px;padding:20px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;line-height:1.7}.editor-preview{border:1px dashed var(--border);border-radius:16px;margin-top:0;padding:8px 24px;overflow-y:auto}.manage-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:36px;display:flex}.manage-table{border-collapse:collapse;width:100%}.manage-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:2px;border-bottom:1px solid var(--border);padding:12px 14px;font-size:.82rem}.manage-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:16px 14px;font-size:.95rem}.manage-title{font-weight:700;display:block}.manage-title:hover{color:var(--green)}.manage-tags{color:var(--muted);margin-top:4px;font-size:.82rem;display:block}.manage-status{text-transform:capitalize;border-radius:999px;padding:4px 12px;font-size:.8rem;font-weight:700}.manage-status--published{color:var(--green);background:#0ae44824}.manage-status--draft{color:var(--yellow);background:#fbf3ab1f}.manage-actions{white-space:nowrap;align-items:center;gap:14px;display:flex}.manage-actions a,.manage-actions button{color:var(--muted);text-underline-offset:3px;background:0 0;border:none;font-size:.88rem;text-decoration:underline;transition:color .2s}.manage-actions a:hover,.manage-actions button:hover{color:var(--green)}.manage-actions__delete:hover{color:#ff5050!important}@media (max-width:760px){.editor-meta,.editor-panes--split{grid-template-columns:1fr}.manage-table thead{display:none}.manage-table tr{padding:8px 0;display:block}.manage-table td{border-bottom:none;padding:4px 0;display:block}.manage-table tr+tr{border-top:1px solid var(--border)}}
