/* Insight Labs - 2026 refresh of the 2016 layout. No web fonts, no external assets. */
:root{
  --bar:#3a3a3a;--bar-tab:#555;--bar-tab-hover:#666;--page:#f4f4f4;--card:#fff;--line:#dcdcdc;--line-soft:#e8e8e8;
  --ink:#222;--ink-2:#444;--muted:#6b6b6b;--accent:#1f6f78;--accent-dark:#175860;--accent-soft:#e3f0f1;
  --serif:Georgia,Cambria,"Times New Roman","Songti SC","SimSun",serif;
  --sans:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  --mono:Consolas,"SFMono-Regular",Menlo,"Liberation Mono",monospace;
  --wrap:1160px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--page);color:var(--ink-2);font:16px/1.6 var(--sans);font-variant-numeric:lining-nums}
a{color:var(--accent)}
a:hover{color:var(--accent-dark)}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:10}
.skip:focus{left:8px}

/* Top bar */
.topbar{background:var(--bar);border-bottom:1px solid #2c2c2c}
.topbar .wrap{display:flex;align-items:center;gap:16px;min-height:54px}
.menu-toggle{display:none;background:none;border:1px solid #666;border-radius:4px;color:#fff;padding:6px 10px;font:inherit;cursor:pointer}
.menu-toggle svg{display:block}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.nav a{display:block;background:var(--bar-tab);color:#fff;text-decoration:none;padding:5px 15px;border-radius:5px;font-size:15px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}
.nav a:hover,.nav a[aria-current=page]{background:var(--bar-tab-hover)}
.top-search{margin-left:auto;display:flex;align-items:center;border:1px solid #777;border-radius:5px;background:#2f2f2f;width:236px}
.top-search input{flex:1;min-width:0;background:transparent;border:0;color:#fff;padding:6px 10px;font:14px var(--sans)}
.top-search input::placeholder{color:#d6d6d6}
.top-search button{background:none;border:0;color:#fff;padding:5px 9px;cursor:pointer}

/* Header */
.masthead{padding-top:26px;padding-bottom:6px}
.brand{display:flex;align-items:center;gap:18px;flex-wrap:wrap;text-decoration:none;color:var(--ink)}
.brand-mark{display:flex;align-items:center;gap:18px}
.brand-mark svg{width:60px;height:66px;flex:none}
.brand-sep{width:2px;height:50px;background:#333}
.wordmark{font:700 50px/1 var(--serif);letter-spacing:-.5px;color:#222;margin:0}
.tagline{font-size:16px;color:#333;margin-left:22px}
.intro{color:#555;font-size:17px;margin:14px 0 0}

/* Section headings */
.sec-h{font:700 32px/1.2 var(--serif);color:#222;margin:34px 0 24px;padding-bottom:8px;border-bottom:1px solid #cfcfcf;position:relative}
.sec-h::after{content:"";position:absolute;left:0;bottom:-2px;width:90px;height:3px;background:var(--accent)}

/* Featured */
.featured{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fcard{background:var(--card);border:1px solid var(--line);border-radius:4px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.05);display:flex;flex-direction:column}
.fcard img{width:100%;aspect-ratio:16/9;object-fit:cover}
.fcard h3{font:700 21px/1.25 var(--serif);margin:0;padding:12px 18px 20px}
.fcard h3 a{color:#222;text-decoration:none}
.fcard h3 a:hover{color:var(--accent)}

/* Columns */
.cols{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:28px;align-items:start;margin-bottom:24px}
.side{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:18px 16px 22px;margin-top:34px}
.cols.article .side{margin-top:0}

/* Post cards */
.pcard{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:12px 16px 12px;margin:0 0 12px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.pcard h3{font:700 21px/1.3 var(--serif);margin:0 0 2px}
.pcard h3 a{color:#1d1d1d;text-decoration:none}
.pcard h3 a:hover{color:var(--accent)}
.meta{font-size:13px;color:var(--muted);margin:0 0 3px}
.meta .dot{margin:0 6px}
.pcard p.sum{margin:0 0 4px;font-size:14px;line-height:1.55;color:#333}
.more{font-size:14px;font-weight:700;text-decoration:none}
.more:hover{text-decoration:underline}
.btn-row{text-align:center;margin:20px 0 6px}
.btn{display:inline-block;border:2px solid var(--accent);color:var(--accent);background:#fff;border-radius:6px;padding:7px 34px;font-weight:700;text-decoration:none}
.btn:hover{background:var(--accent);color:#fff}

/* Sidebar */
.side-search{display:flex;border:1px solid #bbb;border-radius:4px;overflow:hidden}
.side-search input{flex:1;min-width:0;border:0;padding:8px 12px;font:15px var(--sans);color:#222}
.side-search button{background:var(--accent);border:0;color:#fff;padding:0 12px;cursor:pointer}
.side h2{font:700 23px/1.2 var(--serif);color:#222;margin:26px 0 14px;padding-bottom:7px;border-bottom:2px solid var(--accent-soft);position:relative}
.side h2::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:#c9dfe1}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.chips a{display:block;background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:4px 13px;font-size:14px;font-weight:600;text-decoration:none}
.chips a:hover{background:#cfe5e7}
.years{list-style:none;margin:0;padding:0}
.years li{border-bottom:1px solid var(--line-soft)}
.years a{display:flex;align-items:center;gap:12px;padding:6px 8px;color:var(--accent);font-weight:700;text-decoration:none;font-size:15px}
.years a:hover{background:#f6fafa}
.years svg{flex:none}
.about-box p{font-size:15px;color:#333;margin:0 0 10px}

/* Article */
.crumbs{font-size:13px;color:var(--muted);margin:30px 0 8px}
.crumbs a{color:var(--muted)}
.post{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:24px 30px 28px}
.post h1{font:700 34px/1.25 var(--serif);color:#1d1d1d;margin:0 0 6px;overflow-wrap:anywhere}
.post .h1-zh{font:600 20px/1.4 var(--serif);color:#555;margin:0 0 8px}
.post .meta{margin-bottom:18px}
.post .meta a{color:var(--muted)}
.post h2{font:700 24px/1.3 var(--serif);color:#222;margin:28px 0 10px}
.post h3{font:700 19px/1.3 var(--serif);color:#222;margin:22px 0 8px}
.post p,.post li{line-height:1.7;color:#333}
.post blockquote{margin:16px 0;padding:6px 16px;border-left:3px solid var(--accent);background:#f7fafa}
.post pre{background:#2b2b2b;color:#eee;padding:14px 16px;border-radius:4px;overflow:auto;font:13.5px/1.5 var(--mono)}
.post code{font-family:var(--mono);font-size:.92em;background:#f1f1f1;padding:1px 4px;border-radius:3px}
.post pre code{background:none;padding:0;color:inherit}
.post table{border-collapse:collapse;width:100%;margin:14px 0;font-size:15px;display:block;overflow-x:auto}
.post th,.post td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}
.post th{background:#f3f6f6}
.post .hero{margin:0 0 20px;border-radius:4px;overflow:hidden}
.takeaways{background:#f5f9f9;border:1px solid #cfe2e4;border-radius:4px;padding:14px 18px;margin:26px 0 0}
.takeaways h2{margin:0 0 8px;font-size:20px}
.takeaways ul{margin:0;padding-left:20px}
.zh{margin:22px 0 0;padding:14px 18px;border:1px dashed #c8c8c8;border-radius:4px;background:#fafafa}
.zh h2{margin:0 0 6px;font-size:18px}
.note{font-size:13px;color:var(--muted);margin:22px 0 0;border-top:1px solid var(--line-soft);padding-top:12px}
.related{margin-top:22px}
.related h2{font:700 22px/1.2 var(--serif);margin:0 0 12px;color:#222}
.pager{display:flex;justify-content:space-between;gap:16px;margin:16px 0 0;font-size:14px}
.page-intro{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:16px 20px;margin:0 0 16px}
.page-intro h1{font:700 32px/1.2 var(--serif);color:#1d1d1d;margin:0 0 6px}
.page-intro p{margin:0;color:#444}
.year-h{font:700 24px/1.2 var(--serif);color:#222;margin:26px 0 12px}

/* Footer */
.footer{background:var(--bar);color:#eee;margin-top:30px}
.footer .wrap{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;min-height:52px;gap:0;font-size:15px;padding-top:8px;padding-bottom:8px}
.footer a{color:#fff;text-decoration:none;padding:0 16px;border-right:1px solid #9a9a9a}
.footer a:hover{text-decoration:underline}
.footer span{padding:0 16px}

/* Responsive */
@media (max-width:1020px){
  .cols{grid-template-columns:minmax(0,1fr) 280px}
  .top-search{width:190px}
}
@media (max-width:860px){
  .cols{grid-template-columns:1fr}
  .side{margin-top:10px}
  .featured{grid-template-columns:1fr 1fr}
  .wordmark{font-size:42px}
  .tagline{margin-left:0;flex-basis:100%}
}
@media (max-width:760px){
  .menu-toggle{display:inline-flex;align-items:center;gap:8px}
  .topbar .wrap{flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
  .nav{order:3;flex-basis:100%;display:none}
  .nav.open{display:block}
  .nav ul{flex-direction:column;gap:6px;padding:6px 0 4px}
  .nav a{padding:9px 14px}
  .top-search{width:auto;flex:1}
}
@media (max-width:560px){
  .wrap{padding:0 14px}
  .featured{grid-template-columns:1fr}
  .wordmark{font-size:36px}
  .brand-mark svg{width:46px;height:51px}
  .brand-sep{height:40px}
  .sec-h{font-size:27px}
  .post{padding:18px 16px 20px}
  .post h1{font-size:27px}
  .pcard h3{font-size:19px}
  .footer a,.footer span{padding:2px 10px}
}
