:root{
  --bg:#f7f8fa; --panel:#ffffff; --soft:#eef0fb; --line:rgba(17,24,39,.08); --line2:rgba(17,24,39,.06);
  --text:#111827; --sub:#6b7280; --faint:#9ca3af; --accent:#4f46e5; --accent-soft:#eef0fb;
  --green:#059669; --green-bg:#ecfdf5; --red:#dc2626; --amber:#c07d0a;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{background:var(--bg);color:var(--text);
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  min-height:100vh;line-height:1.6;}
a{text-decoration:none;color:inherit;}

/* top nav */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(8px);
  border-bottom:1px solid var(--line);padding:11px 22px;}
.nav-brand{display:flex;align-items:center;gap:10px;flex:none;}
.nav-logo{width:28px;height:28px;border-radius:8px;background:var(--accent);display:grid;place-items:center;flex:none;}
.nav-logo svg{width:16px;height:16px;}
.nav-brand b{font-size:15px;font-weight:600;letter-spacing:.2px;}
.nav-links{display:flex;gap:6px;flex-wrap:wrap;flex:1;justify-content:center;}
.nav-links a{padding:8px 16px;border-radius:8px;font-size:15.5px;font-weight:500;color:#374151;transition:all .15s;white-space:nowrap;letter-spacing:.2px;}
.nav-links a:hover{color:var(--accent);background:var(--line2);}
.nav-links a.active{color:var(--accent);background:var(--accent-soft);font-weight:600;}
.nav-status{flex:none;font-size:12px;color:var(--faint);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.nav-status .dot{width:6px;height:6px;border-radius:50%;background:var(--green);}

.wrap{max-width:1120px;margin:0 auto;padding:30px 22px 60px;}

/* hero / section head */
.hero h1{font-size:24px;font-weight:600;letter-spacing:.2px;}
.hero .sub{font-size:13.5px;color:var(--sub);margin-top:6px;}
.crumb{font-size:12.5px;color:var(--faint);margin-bottom:10px;}
.crumb a:hover{color:var(--accent);}
.sec-head{margin-bottom:22px;}
.sec-head h1{font-size:22px;font-weight:600;}
.sec-head .sub{font-size:13px;color:var(--sub);margin-top:6px;}

/* daily brief */
.brief{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);
  border-radius:0 12px 12px 0;padding:18px 20px;margin:20px 0 30px;}
.brief .kick{font-size:11px;font-weight:700;letter-spacing:1.2px;color:var(--accent);text-transform:uppercase;margin-bottom:8px;}
.brief p{font-size:15px;line-height:1.75;color:#374151;}
.brief b{font-weight:600;color:var(--text);}
.brief .up{color:var(--red);} .brief .ok{color:var(--green);}

/* grid + cards */
.label{font-size:12.5px;font-weight:600;color:var(--faint);letter-spacing:.5px;margin:26px 2px 12px;}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;}
.card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:17px;transition:transform .16s,box-shadow .16s,border-color .16s;}
a.card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(17,24,39,.08);border-color:rgba(79,70,229,.4);}
.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.ic{width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:none;}
.ic svg{width:18px;height:18px;}
.badge{font-size:10.5px;font-weight:600;padding:2px 9px;border-radius:20px;}
.badge.on{color:var(--green);background:var(--green-bg);}
.badge.todo{color:var(--faint);background:#f3f4f6;}
.card h3{font-size:15px;font-weight:600;margin-bottom:5px;}
.card p{font-size:12.2px;color:var(--sub);line-height:1.55;flex:1;}
.card-foot{margin-top:13px;padding-top:11px;border-top:1px solid var(--line2);font-size:12px;
  display:flex;justify-content:space-between;align-items:center;}
.card-foot .go{color:var(--accent);font-weight:500;}
.card-foot .meta{color:var(--faint);}
/* placeholder card */
.card.todo{opacity:.68;}
.card.todo .ic{background:#f3f4f6;color:var(--faint);}
.card.todo h3{color:#374151;}
.card.todo p{color:var(--faint);}
.card.todo .card-foot{color:var(--faint);}

/* section entry cards (homepage) */
.card .count{font-size:11.5px;color:var(--faint);margin-top:2px;}

.foot{margin-top:40px;padding-top:18px;border-top:1px solid var(--line);color:var(--faint);font-size:11.5px;line-height:1.85;}

@media(max-width:560px){
  .wrap{padding:22px 16px 50px;}
  .nav{padding:10px 14px;gap:8px;}
  .nav-links{margin-left:0;}
  .brief p{font-size:14px;}
}
