/* Notion DESIGN.md — Faithful Implementation */
/* Source: github.com/VoltAgent/awesome-design-md/design-md/notion */

*{margin:0;padding:0;box-sizing:border-box}

:root{
  /* Primary */
  --text-primary:rgba(0,0,0,0.95);
  --bg:#ffffff;
  --notion-blue:#0075de;
  /* Brand Secondary */
  --deep-navy:#213183;
  --active-blue:#005bab;
  /* Warm Neutral Scale */
  --warm-white:#f6f5f4;
  --warm-dark:#31302e;
  --warm-gray-500:#615d59;
  --warm-gray-300:#a39e98;
  /* Semantic */
  --teal:#2a9d99;
  --green:#1aae39;
  --orange:#dd5b00;
  --pink:#ff64c8;
  --purple:#391c57;
  /* Interactive */
  --link-blue:#0075de;
  --focus-blue:#097fe8;
  --badge-blue-bg:#f2f9ff;
  --badge-blue-text:#097fe8;
  /* Borders & Shadows */
  --whisper-border:1px solid rgba(0,0,0,0.1);
  --card-shadow:rgba(0,0,0,0.04) 0 4px 18px, rgba(0,0,0,0.027) 0 2px 8px, rgba(0,0,0,0.02) 0 1px 3px;
  --deep-shadow:rgba(0,0,0,0.01) 0 1px 3px, rgba(0,0,0,0.02) 0 3px 7px, rgba(0,0,0,0.02) 0 7px 15px, rgba(0,0,0,0.04) 0 14px 28px;
  /* Typography */
  --font:Inter,-apple-system,system-ui,'Segoe UI','PingFang SC','Microsoft YaHei',Helvetica,Arial,sans-serif;
  /* Spacing */
  --space-unit:8px;
  --radius:8px;
  --pill:9999px;
}

html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

body{
  font-family:var(--font);
  background:var(--bg);
  min-height:100vh;
  color:var(--text-primary);
  line-height:1.6;
  font-weight:400;
  font-feature-settings:"lnum","locl";
}

a{color:var(--link-blue);text-decoration:none}
a:hover{text-decoration:underline}

.container{max-width:1100px;margin:0 auto;padding:0 calc(var(--space-unit)*3)}

/* === Header === */
.header{
  background:var(--bg);padding:40px 0 24px;text-align:left;
  border-bottom:var(--whisper-border);
}
.header h1{
  font-size:1.5rem;font-weight:700;letter-spacing:-0.5px;
  color:var(--text-primary);
}
.header .subtitle{
  margin-top:4px;color:var(--warm-gray-500);
  font-size:0.95rem;font-weight:400;
}

/* === Nav === */
.nav{
  background:var(--bg);padding:12px 0;
  border-bottom:var(--whisper-border);
  position:sticky;top:0;z-index:100;
}
.nav-list{
  display:flex;gap:4px;flex-wrap:wrap;list-style:none;
}
.nav-item{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 14px;font-size:0.875rem;font-weight:500;
  border-radius:var(--radius);color:var(--warm-gray-500);
  text-decoration:none;transition:all 0.15s;border:none;
  background:transparent;
}
.nav-item:hover{background:var(--warm-white);color:var(--text-primary);text-decoration:none}
.nav-item.active{
  background:var(--notion-blue);color:#fff;
}

/* === Main === */
.main{padding:40px 0}

.section-title{
  font-size:1.125rem;font-weight:600;color:var(--text-primary);
  margin-bottom:16px;letter-spacing:-0.3px;
}

/* === Hero === */
.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-bottom:32px}
.hero-card{
  background:var(--bg);border:var(--whisper-border);
  border-radius:calc(var(--radius)*2);padding:40px;
  box-shadow:var(--card-shadow);
}
.hero-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 14px;border-radius:var(--pill);
  background:var(--badge-blue-bg);color:var(--badge-blue-text);
  font-size:0.8rem;font-weight:600;margin-bottom:20px;
}
.hero-card h2{
  font-size:2.25rem;line-height:1.15;font-weight:700;
  letter-spacing:-1.5px;margin-bottom:12px;color:var(--text-primary);
}
.hero-card p{color:var(--warm-gray-500);font-size:1rem;max-width:640px;line-height:1.65}

.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}

.btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 20px;border-radius:var(--radius);
  background:var(--notion-blue);color:#fff;
  font-size:0.875rem;font-weight:500;text-decoration:none;
  transition:background 0.15s;
}
.btn-primary:hover{background:var(--active-blue);color:#fff;text-decoration:none}

.btn-secondary{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 20px;border-radius:var(--radius);
  background:var(--bg);color:var(--text-primary);
  border:var(--whisper-border);font-size:0.875rem;font-weight:500;
  text-decoration:none;transition:all 0.15s;
}
.btn-secondary:hover{background:var(--warm-white);text-decoration:none}

.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.stat{
  background:var(--warm-white);border:var(--whisper-border);
  border-radius:var(--radius);padding:14px;
}
.stat strong{display:block;font-size:1.25rem;letter-spacing:-0.5px;margin-bottom:2px}
.stat span{color:var(--warm-gray-500);font-size:0.85rem}

.hero-side{display:grid;gap:16px}

/* === Info Card === */
.info-card{
  background:var(--bg);border:var(--whisper-border);
  border-radius:calc(var(--radius)*2);padding:24px;
  box-shadow:var(--card-shadow);
}
.info-card h3{font-size:1rem;font-weight:600;margin-bottom:12px;letter-spacing:-0.3px}
.info-card ul{list-style:none;display:grid;gap:8px}
.info-card li{color:var(--warm-gray-500);padding-left:16px;position:relative;font-size:0.9rem}
.info-card li::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--notion-blue);position:absolute;left:0;top:9px;
}

.mini-link-list{display:grid;gap:8px;margin-top:12px}
.mini-link{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 14px;border-radius:var(--radius);
  background:var(--warm-white);color:var(--text-primary);
  text-decoration:none;border:var(--whisper-border);
  font-size:0.9rem;transition:all 0.15s;
}
.mini-link:hover{box-shadow:var(--card-shadow);text-decoration:none}
.mini-link small{color:var(--warm-gray-300);font-size:0.8rem}

/* === Section Card === */
.section-card{
  background:var(--bg);border:var(--whisper-border);
  border-radius:calc(var(--radius)*2);padding:28px;
  margin-bottom:24px;box-shadow:var(--card-shadow);
}
.section-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}
.section-note{color:var(--warm-gray-500);font-size:0.875rem}

/* === Channel Grid === */
.channel-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
}
.channel-card{
  background:var(--bg);border:var(--whisper-border);
  border-radius:calc(var(--radius)*1.5);padding:24px;
  text-decoration:none;color:inherit;transition:all 0.2s;
}
.channel-card:hover{
  box-shadow:var(--card-shadow);border-color:rgba(0,0,0,0.15);
  text-decoration:none;
}
.channel-card .icon{
  width:48px;height:48px;display:grid;place-items:center;
  border-radius:var(--radius);background:var(--warm-white);
  font-size:1.5rem;margin-bottom:14px;
}
.channel-card h3{font-size:1rem;font-weight:600;margin-bottom:6px;letter-spacing:-0.2px}
.channel-card p{color:var(--warm-gray-500);font-size:0.85rem;line-height:1.55;min-height:42px}

.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.tag{
  display:inline-flex;padding:3px 10px;
  border-radius:var(--pill);background:var(--badge-blue-bg);
  color:var(--badge-blue-text);font-size:0.75rem;font-weight:600;
}

/* === Updates Grid === */
.updates-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:16px}
.update-card{
  padding:22px;border-radius:calc(var(--radius)*1.5);
  background:var(--bg);border:var(--whisper-border);
  text-decoration:none;color:inherit;transition:all 0.15s;
}
.update-card:hover{box-shadow:var(--card-shadow);text-decoration:none}
.update-card strong{display:block;font-size:1.05rem;margin-bottom:8px;letter-spacing:-0.3px}
.update-card p,.update-card li{color:var(--warm-gray-500);font-size:0.875rem}
.update-card ul{padding-left:16px;display:grid;gap:6px}

/* === Footer === */
.footer{
  text-align:center;padding:32px 0;
  color:var(--warm-gray-300);font-size:0.8rem;
  border-top:var(--whisper-border);margin-top:48px;
}

/* === Responsive === */
@media(max-width:960px){
  .hero,.updates-grid,.channel-grid{grid-template-columns:1fr}
  .hero-card h2{font-size:1.75rem}
}
@media(max-width:768px){
  .header{padding-top:24px}
  .hero-card{padding:28px}
  .hero-card h2{font-size:1.5rem;letter-spacing:-0.8px}
  .hero-stats{grid-template-columns:1fr}
  .btn-primary,.btn-secondary{width:100%;justify-content:center}
  .container{padding:0 16px}
}
