.page-main{min-height:80vh;padding-top:78px}.page-nav{margin-left:auto;display:flex;gap:24px;font-size:14px;color:var(--muted)}.page-nav a:hover{color:var(--accent)}.page-hero{padding:90px 0 55px;border-bottom:1px solid var(--line)}.page-hero h1{font:800 clamp(48px,7vw,82px)/1 Manrope;margin:18px 0;letter-spacing:-.065em}.page-hero p{max-width:700px;color:var(--muted);font-size:18px}.blog-tools{display:grid;grid-template-columns:1fr auto;gap:15px;margin:42px 0 30px}.search-field,.form-field input,.form-field textarea,.form-field select{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:13px 15px;outline:none}.search-field:focus,.form-field input:focus,.form-field textarea:focus{border-color:var(--accent)}.category-select{background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:0 15px}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:100px}.blog-card{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden;transition:.25s}.blog-card:hover{transform:translateY(-4px);border-color:var(--accent)}.blog-card img{width:100%;height:210px;object-fit:cover}.blog-card-content{padding:24px}.blog-card h2{font:700 22px/1.25 Manrope;margin:10px 0}.blog-card p{color:var(--muted);font-size:14px}.post-meta{font:10px "IBM Plex Mono";color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.empty-state{grid-column:1/-1;padding:70px;text-align:center;border:1px dashed var(--line);color:var(--muted)}.article-shell{width:min(820px,calc(100vw - 40px));margin:auto}.article-header{padding:90px 0 45px}.article-header h1{font:800 clamp(40px,6vw,68px)/1.08 Manrope;letter-spacing:-.055em;margin:18px 0}.article-header .lead{font-size:19px;color:var(--muted)}.article-cover{width:100%;max-height:500px;object-fit:cover;border-radius:18px;margin-bottom:45px}.article-body{font-size:17px;line-height:1.85}.article-body h2,.article-body h3{font-family:Manrope;margin-top:2em;line-height:1.2}.article-body a{color:var(--accent);text-decoration:underline}.article-body pre{position:relative;background:#030806;border:1px solid var(--line);padding:24px;overflow:auto;border-radius:10px;color:#dfffc8}.article-body img{border-radius:10px}.copy-code{float:right;border:1px solid var(--line);background:var(--surface);padding:5px 9px;border-radius:5px;font-size:11px}.comments{margin:70px 0}.comment{border-top:1px solid var(--line);padding:20px 0}.comment p{color:var(--muted)}.form-card{width:min(720px,calc(100vw - 40px));margin:70px auto;padding:35px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.form-card h1,.form-card h2{font:700 34px Manrope}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{display:grid;gap:7px;margin-bottom:17px}.form-field.full{grid-column:1/-1}.form-field label{font-size:13px;font-weight:600}.form-field textarea{min-height:150px;resize:vertical}.honeypot{position:absolute;left:-9999px}.notice{padding:12px 15px;border-radius:7px;margin-bottom:18px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid var(--accent)}.pagination{display:flex;gap:10px;justify-content:center;margin:-60px 0 90px}.pagination a{border:1px solid var(--line);padding:8px 12px;border-radius:5px}.pagination a.active{background:var(--accent);color:var(--dark)}
@media(max-width:850px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.page-nav{gap:13px}.page-hero{padding-top:60px}.blog-tools,.blog-grid,.form-grid{grid-template-columns:1fr}.category-select{height:48px}.form-card{padding:24px}.blog-card img{height:190px}}
.admin-shell{padding:80px 0 120px}.admin-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.admin-head h1{font:800 clamp(40px,6vw,70px) Manrope;margin:0}.admin-head>div:last-child{display:flex;align-items:center;gap:10px}.admin-table{border-top:1px solid var(--line)}.admin-row{display:grid;grid-template-columns:2fr 1fr .6fr .4fr;align-items:center;gap:20px;padding:18px;border-bottom:1px solid var(--line)}.admin-label{font:10px "IBM Plex Mono";color:var(--muted);text-transform:uppercase}.admin-editor{width:min(980px,calc(100vw - 40px))}.code-editor{min-height:460px!important;font:13px/1.6 "IBM Plex Mono"}.moderation-card{border:1px solid var(--line);border-radius:12px;padding:25px;margin:15px 0}.moderation-card p{color:var(--muted)}
.share-link{display:inline-block;margin-top:15px;color:var(--accent);font-weight:700}.privacy-note{color:var(--muted);font-size:12px;margin-top:20px}
