:root{
  --brand:#1E7D5B; /* зелёный */
  --accent:#FF7A00; /* морковный */
  --ink:#222;
  --muted:#666;
  --bg:#fff;
  --bg2:#fafafa;
  --maxw: 760px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: "Segoe UI","Roboto","Inter",system-ui,-apple-system,sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.65;
}

/* Курсовая “морковка” только на устройствах с точным указателем (ПК) */
@media (pointer:fine){
  body{ cursor: url('/assets/cursor-carrot.png') 4 2, auto; } /* hot-spot под кончик */
}

.site-header{
  background:var(--bg2); border-bottom:1px solid #eee; position:sticky; top:0; z-index:5;
}
.site-header .wrap{
  max-width:var(--maxw); margin:0 auto; padding:12px 16px;
  display:flex; align-items:center; gap:12px; justify-content:space-between;
}
.brand{
  display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink);
}
.brand img{ width:36px; height:36px; border-radius:8px }
.brand .title{ font-weight:700; letter-spacing:.2px }
.brand .subtitle{ font-size:.85em; color:var(--muted); margin-top:-2px }

.nav{
  display:flex; align-items:center; gap:10px;
}
.btn{
  display:inline-block; padding:10px 14px; border-radius:10px; text-decoration:none; font-weight:600;
}
.btn-primary{ background:var(--accent); color:#fff; }
.btn-primary:hover{ filter:brightness(0.95) }
.btn-ghost{ color:var(--brand); border:1px solid #cfe7dd; background:#fff }
.btn-ghost:hover{ background:#f3fbf7 }

main{ max-width:var(--maxw); margin:28px auto; padding:0 16px; font-size:1.05em }
p{ margin:0 0 1em }

.post-footer{
  margin-top:36px; padding-top:24px; border-top:1px solid #eee; text-align:center;
}
.post-footer a.btn-primary{ padding:12px 18px; }

footer{
  margin-top:40px; padding:20px 16px; text-align:center; color:var(--muted); background:var(--bg2); border-top:1px solid #eee;
  font-size:.95em;
}

/* Лента статей */
.list .card{ padding:18px; border:1px solid #eee; border-radius:14px; margin:12px 0; background:#fff }
.card h2{ margin:0 0 6px; font-size:1.15em }
.card p{ color:#444; margin:0 }
.card a{ color:inherit; text-decoration:none }
.card a:hover h2{ text-decoration:underline }
.card .meta{ color:#777; font-size:.9em; margin-top:6px }


a, .btn, button, [role="button"] { cursor: url('/assets/cursor-spoon.png') 6 2, pointer !important; }

/* Мобильная шапка компактнее, без горизонтальной прокрутки */
html, body { overflow-x: hidden; }

.site-header .wrap { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.site-header .brand { display:flex; align-items:center; gap:10px; text-decoration:none; min-width:0; }
.site-header .brand img { width:36px; height:36px; border-radius:8px; flex:0 0 auto; }
.site-header .brand .title { font-weight:700; font-size:clamp(14px,3.5vw,18px); line-height:1.15; white-space:normal; }
.site-header .brand .subtitle { font-size:clamp(11px,3vw,13px); line-height:1.3; color:#666; white-space:normal; }

.site-header .nav { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.btn { display:inline-flex; align-items:center; justify-content:center; padding:10px 14px; border-radius:12px; line-height:1; text-align:center; }
.btn-primary { background:#28a745; color:#fff; border:0; }
.btn-ghost { background:#fff; color:#222; border:1px solid #e5e5e5; }

@media (max-width: 640px) {
  .site-header .wrap { flex-wrap:wrap; }
  .site-header .nav { width:100%; justify-content:stretch; }
  .site-header .nav .btn { flex:1 1 auto; }
}

