.blog-body{background:var(--paper);color:var(--ink)}
.blog-header,.blog-footer{max-width:1240px;width:calc(100% - 48px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}
.blog-brand{font-size:26px;font-weight:700;display:flex;align-items:center;gap:16px}.blog-brand span{font-size:14px;font-weight:500}.blog-header nav{display:flex;gap:24px;font-size:14px}.blog-header [aria-current]{color:var(--blue)}
.blog-footer{border-bottom:0;border-top:1px solid var(--line);font-size:14px;margin-top:80px}.blog-footer a,.back-link{color:var(--blue)}
.blog-index,.editor-wrap{width:calc(100% - 48px);max-width:1240px;margin:64px auto}.blog-body h1{font-size:clamp(40px,6vw,72px);line-height:1.1;letter-spacing:-.04em;margin:12px 0 24px;overflow-wrap:anywhere}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--muted)}.blog-intro{font-size:20px;max-width:650px;color:var(--muted)}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:52px}.post-card{border-top:1px solid var(--line);padding-top:22px}.post-card img{aspect-ratio:4/3;object-fit:cover;margin-bottom:24px}.post-card h2{font-size:25px;line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere}.post-card p{color:var(--muted)}.post-card span{display:block;margin-top:24px;color:var(--blue)}.post-card time{font-size:14px;color:var(--muted)}.post-card:hover h2{text-decoration:underline;text-underline-offset:5px}.blog-empty{border-top:1px solid var(--line);padding:36px 0;margin-top:48px}.blog-empty h2{font-size:24px}
.article{max-width:820px;width:calc(100% - 48px);margin:48px auto}.article header{margin:52px 0 36px}.article h1{font-size:clamp(36px,5vw,60px)}.article-intro{font-size:22px;color:var(--muted)}.article-cover{max-height:600px;object-fit:cover;margin:32px 0}.article-content{font-size:18px;line-height:1.85;overflow-wrap:anywhere}.article-content p{margin:1.4em 0}.article-content h2,.article-content h3,.article-content h4{line-height:1.3;margin-top:1.8em;letter-spacing:-.02em}.article-content h2{font-size:30px}.article-content h3{font-size:25px}.article-content a{text-decoration:underline;color:var(--blue)}.article-content figure{margin:32px 0}.article-contact{border-top:1px solid var(--line);margin-top:60px;padding-top:24px}.article-contact a{color:var(--blue)}
.editor-heading{display:flex;align-items:center;justify-content:space-between}.editor-heading h1{font-size:42px}.editor-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;margin-top:28px}.blog-body button{font:inherit;cursor:pointer;border:1px solid var(--line);background:transparent;border-radius:4px;padding:10px 16px;min-height:44px}.blog-body button:hover{border-color:var(--ink)}.blog-body button:disabled{opacity:.55;cursor:wait}.blog-body .primary{background:var(--ink);color:white;border-color:var(--ink)}.blog-body .quiet{border:0}.blog-body .danger{color:#a12727}.blog-body [hidden]{display:none!important}.blog-body :focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.article-sidebar>.primary{width:100%;margin-bottom:18px}.article-select{display:block;width:100%;text-align:start;margin:10px 0}.article-select strong{display:block;overflow-wrap:anywhere}.article-select small{display:block;margin-top:5px}.article-select.selected{border-color:var(--blue);box-shadow:inset 3px 0 var(--blue)}.field{margin-bottom:22px}.field label,.login-panel label{display:block;font-weight:600;margin-bottom:7px;font-size:14px}.field input,.field textarea,.login-panel input{width:100%;border:1px solid var(--line);border-radius:4px;background:white;padding:12px 14px;color:var(--ink);font:inherit}.field textarea{resize:vertical}.field small{display:block;color:var(--muted);font-size:14px;margin-top:6px}.field input[readonly]{background:#eaeae8}.slug-field{display:flex;align-items:center;gap:10px}.slug-field span{color:var(--muted);font-size:14px}.cover-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.format-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.format-toolbar button{font-size:14px;padding:6px 12px}.editor-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.editor-actions a{color:var(--blue);padding:10px}#save-state{font-size:14px;color:var(--muted)}#notice:not(:empty){padding:12px 16px;border-left:3px solid var(--blue);background:#e8edfa}#notice.error{border-color:#a12727;background:#f8e9e9}#body{font-size:18px;line-height:1.75}
.login-panel{max-width:440px;width:calc(100% - 48px);margin:90px auto}.login-panel h1{font-size:44px}.login-panel button{margin-top:18px;width:100%}.login-panel p{font-size:16px}dialog{width:min(980px,calc(100% - 24px));height:90vh;border:1px solid var(--line);padding:0;background:var(--paper)}dialog::backdrop{background:rgba(0,0,0,.55)}.preview-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--line)}#preview-frame{width:100%;height:calc(100% - 70px);border:0}
@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-grid{grid-template-columns:1fr;gap:24px}.article-sidebar{border-bottom:1px solid var(--line);padding-bottom:16px}#posts{display:flex;gap:10px;overflow:auto;max-height:190px}.article-select{min-width:190px;width:190px;flex-shrink:0}.article-sidebar>.primary{width:auto}}
@media(max-width:600px){.blog-brand span{display:none}.blog-header,.blog-footer,.blog-index,.editor-wrap,.article{width:calc(100% - 32px)}.blog-header nav{gap:18px}.blog-index,.editor-wrap{margin-top:38px}.blog-grid,.cover-fields{grid-template-columns:1fr}.blog-grid{gap:32px}.blog-footer{align-items:flex-start;flex-direction:column;gap:8px}.article header{margin-top:32px}.article-intro{font-size:19px}.editor-actions button{flex-grow:1}.blog-body h1{letter-spacing:-.03em}}
