:root{
  --text:#111;
  --muted:#666;
  --border:#dcdcdc;
  --bg:#fff;
  --max: 760px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial, Helvetica, sans-serif;color:var(--text);background:var(--bg);line-height:1.55}
a{color:inherit}
.topbar{
  position:sticky; top:0; z-index:50;
  background:#fff;
  border-bottom:1px solid var(--border);
}
.topbar-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 16px;
}
.left-actions{display:flex;align-items:center;gap:10px}
.icon-btn{
  border:0;background:transparent;cursor:pointer;
  width:40px;height:40px;border-radius:8px;
  display:grid;place-items:center;
}
.icon-btn:hover{background:#f3f3f3}
.hamburger{font-size:22px;line-height:1}
.logo{display:flex;align-items:center;justify-content:center;flex:1}
.logo img{height:34px;display:block}
.auth{display:flex;align-items:center;gap:10px}
.auth a{
  text-decoration:none;font-weight:700;font-size:13px;
  padding:8px 10px;border-radius:999px;
}
.auth a:hover{background:#f3f3f3}

.navbar{
  border-bottom:1px solid var(--border);
}
.navbar-inner{
  display:flex;gap:16px;justify-content:center;flex-wrap:wrap;
  padding:10px 10px;
  font-weight:700;
}
.navbar-inner a{
  text-decoration:none;
  padding:4px 6px;
  border-radius:6px;
}
.navbar-inner a:hover{background:#f3f3f3}

.container{max-width:var(--max);margin:28px auto 80px;padding:0 18px}
.article h1{font-size:40px;line-height:1.15;margin:0 0 10px}
.byline{margin:0 0 18px}
.byline .name{font-weight:700}
.byline .role{color:var(--muted);margin-top:2px}
.byline .meta{color:var(--muted);margin-top:8px;font-size:14px}
.article p{margin:14px 0}
.article h2{font-size:28px;line-height:1.2;margin:34px 0 10px}
ul{padding-left:18px}
.article-image{margin:22px 0 30px}
.article-image img{width:100%;height:auto;display:block}
.hr{border:0;border-top:1px solid var(--border);margin:28px 0}
.share{
  display:flex;align-items:center;gap:10px;margin-top:18px
}
.share a{color:#0645ad}
.share button{
  border:1px solid var(--border);background:#fff;cursor:pointer;
  padding:8px 10px;border-radius:10px;font-weight:700;
}
.share button:hover{background:#f3f3f3}

/* side drawer */
.drawer-backdrop{
  position:fixed;inset:0;background:rgba(0,0,0,.35);
  opacity:0;pointer-events:none;transition:opacity .15s ease;
  z-index:80;
}
.drawer{
  position:fixed;top:0;left:0;height:100vh;width:300px;max-width:85vw;
  background:#fff;border-right:1px solid var(--border);
  transform:translateX(-102%);transition:transform .2s ease;
  z-index:90;padding:12px;
  display:flex;flex-direction:column;gap:10px;
}
.drawer header{display:flex;align-items:center;justify-content:space-between;padding:6px 4px}
.drawer header img{height:28px}
.drawer a{padding:10px 10px;border-radius:10px;text-decoration:none;font-weight:700}
.drawer a:hover{background:#f3f3f3}

body.drawer-open .drawer{transform:translateX(0)}
body.drawer-open .drawer-backdrop{opacity:1;pointer-events:auto}