:root{--bg:#eef3f0;--ink:#1d2b2a;--mute:#5b6b69;--acc:#e0a526;--link:#1f6f6a;--card:#fff;--line:#cfdad6}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.7 Charter,Georgia,serif}
h1,h2,h3,button,label,.top a,time{font-family:"Avenir Next","Segoe UI",Helvetica,Arial,sans-serif}
a{color:var(--link)}
.wrap{max-width:720px;margin:0 auto;padding:32px 20px 80px}
.top{display:flex;justify-content:space-between;align-items:baseline;border-bottom:4px solid var(--acc);margin-bottom:40px}
.top h1{margin:0;font-size:2.2rem}
.post{margin-bottom:56px}.post h2{font-size:1.9rem;margin:0;line-height:1.2}
time{color:var(--mute);font-size:.9rem}
.body img,.editor img{max-width:100%;height:auto;border-radius:6px}
.body blockquote,.editor blockquote{border-left:4px solid var(--acc);margin-left:0;padding-left:16px;color:var(--mute)}
.empty{color:var(--mute)}
.welcome{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:20px;background:var(--acc)}
.welcome p{font-family:"Avenir Next","Segoe UI",sans-serif;font-weight:600;margin:0}
.dog img{width:min(70vw,380px);aspect-ratio:1;object-fit:cover;border-radius:50%;border:8px solid var(--ink);display:block;transition:transform .2s}
.dog:hover img,.dog:focus-visible img{transform:rotate(-4deg) scale(1.04)}
.admin .card,.admin table{background:var(--card);border:1px solid var(--line);border-radius:8px}
.card{padding:20px;display:grid;gap:14px;max-width:420px}
label{display:grid;gap:4px;font-weight:600;font-size:.95rem}
input[type=text],input[type=password],input[type=url],input[type=file],input:not([type]){font:inherit;padding:9px;border:1px solid var(--line);border-radius:6px;width:100%}
button,.btn{font-size:.95rem;padding:8px 16px;border:0;border-radius:6px;background:var(--ink);color:#fff;cursor:pointer;text-decoration:none;display:inline-block}
button.alt,.btn.alt{background:#e3eae7;color:var(--ink)}button.del{background:#a33}
.err{color:#a33;font-weight:600}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:16px 0}
table{width:100%;border-collapse:collapse}td,th{padding:10px 14px;text-align:left;border-bottom:1px solid var(--line)}
td form{display:inline}
.tools{display:flex;gap:4px;flex-wrap:wrap;margin:10px 0 0}.tools button{padding:6px 10px;background:#e3eae7;color:var(--ink)}
.editor{min-height:340px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:14px;margin-top:6px}
.editor:focus{outline:2px solid var(--link)}
#imgbox{display:none;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;margin-top:8px;gap:10px}
