
:root{
  --ink:#23282d;
  --muted:rgba(48,55,62,.73);
  --faint:#9BA1A7;
  --accent:#3857F1;
  --line:rgba(0,0,0,.12);
  --line-soft:rgba(0,0,0,.085);
  --bg:#fff;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  background:var(--bg);color:var(--ink);
  font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
  font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased;
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1200px;margin:0 auto;padding:0 30px}

/* header */
.site-header{border-bottom:1px solid var(--line-soft)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:26px;padding-bottom:26px;flex-wrap:wrap}
.brand a{color:var(--ink);font-size:29px;font-weight:800;letter-spacing:-.02em;display:block}
.brand p{color:var(--muted);font-size:15px;margin-top:2px}
nav ul{list-style:none;display:flex;gap:28px;flex-wrap:wrap}
nav a{color:var(--ink);font-size:15.5px;font-weight:500;padding-bottom:3px}
nav a:hover{color:var(--accent);text-decoration:none}
nav a.active{color:var(--accent);border-bottom:2px solid var(--accent)}

/* breadcrumb */
.crumbs{background:#FAFAFA;border-bottom:1px solid var(--line-soft);font-size:14.5px;color:var(--muted)}
.crumbs .wrap{padding-top:13px;padding-bottom:13px}
.crumbs a{color:var(--muted)}
.crumbs span{margin:0 7px;color:var(--faint)}

/* layout */
.main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:70px;padding:52px 0 70px}
@media(max-width:900px){.main{grid-template-columns:1fr;gap:44px}}
.single{max-width:730px;margin:0 auto;padding:44px 0 80px}

/* post list */
article.card{padding-bottom:42px;margin-bottom:42px;border-bottom:1px solid var(--line-soft)}
article.card:last-child{border-bottom:0}
article.card h2{font-size:31px;line-height:1.25;font-weight:800;letter-spacing:-.02em}
article.card h2 a{color:var(--ink)}
article.card h2 a:hover{color:var(--accent);text-decoration:none}
.date{color:var(--muted);font-size:14.5px;margin-top:9px}
.excerpt{margin-top:15px;color:var(--ink)}
.more{display:inline-block;margin-top:16px;color:var(--ink);font-weight:600;font-size:15.5px;border-bottom:1px solid var(--line)}
.more:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}

/* single post */
.cats{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:20px}
.cats a{border:1px solid var(--accent);border-radius:4px;padding:4px 12px;font-size:14px}
.cats a:hover{background:var(--accent);color:#fff;text-decoration:none}
.single h1{font-size:41px;line-height:1.2;font-weight:800;letter-spacing:-.025em}
.entry{margin-top:30px}
.entry p{margin:0 0 24px}
.entry h2{font-size:27px;font-weight:700;margin:38px 0 14px;letter-spacing:-.015em}
.entry h3{font-size:21px;font-weight:700;margin:30px 0 12px}
.entry ul,.entry ol{margin:0 0 24px;padding-inline-start:26px}
.entry li{margin-bottom:9px}
.entry img{max-width:100%;height:auto;border-radius:3px;margin:8px 0}
.entry figure{margin:26px 0}
.entry figcaption{color:var(--muted);font-size:14.5px;margin-top:8px;text-align:center}
.entry blockquote{border-inline-start:3px solid var(--accent);padding-inline-start:20px;margin:26px 0;color:var(--muted)}
.entry iframe{max-width:100%}

/* sidebar */
.side h3{font-size:16.5px;font-weight:700;margin-bottom:16px}
.side ul{list-style:none}
.side li{margin-bottom:15px;line-height:1.5}
.side li a{font-size:15.5px;color:var(--ink)}
.side li a:hover{color:var(--accent)}

/* footer */
footer.site{border-top:1px solid var(--line-soft);padding:30px 0 50px;color:var(--muted);font-size:14.5px}
footer.site .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
