/* Final theme separation: rich dark, clean light, consistent fades */
:root{
  --text:#f5f5f7; --muted:#b0b3b8;
  --accent:#0a84ff; --accent-press:#0071e3;
  --border-dark: rgba(255,255,255,.08);
  --border-light: rgba(0,0,0,.08);
  --container: 1024px;
}
/* DARK THEME (default) */
html[data-theme="dark"]{
  --bg1:#060708; --bg2:#111216;
  --text:#f5f5f7; --muted:#b0b3b8;
  --header-bg: rgba(0,0,0,.28);
  --header-border: var(--border-dark);
  --border: var(--border-dark);
}
/* LIGHT THEME */
html[data-theme="light"]{
  --bg1:#f7f8fb; --bg2:#eef1f6;
  --text:#1d1d1f; --muted:#6e6e73;
  --header-bg: rgba(255,255,255,.72);
  --header-border: var(--border-light);
  --border: var(--border-light);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text","SF Pro Display", Inter, Roboto, "Segoe UI", Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 600px at 20% -10%, rgba(11,39,71,.30) 0%, rgba(11,39,71,0) 42%),
    linear-gradient(180deg, var(--bg1) 0%, var(--bg2) 100%);
  background-attachment: fixed;
  display:flex; flex-direction:column; min-height:100vh; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
/* Light theme softens the radial and keeps linear clean */
html[data-theme="light"] body{
  background:
    radial-gradient(1100px 520px at 20% -10%, rgba(11,39,71,.08) 0%, rgba(11,39,71,0) 36%),
    linear-gradient(180deg, var(--bg1) 0%, var(--bg2) 100%);
}

.container{max-width:var(--container); margin:0 auto; padding:0 24px}

/* Header */
.site-header{position:sticky; top:0; z-index:10; opacity:0; transform:translateY(-6px); transition:opacity .4s ease, transform .4s ease; background:var(--header-bg); backdrop-filter:blur(12px); border-bottom:1px solid var(--header-border)}
.site-header.show{opacity:1; transform:none}
.nav-container{display:flex; align-items:center; justify-content:space-between; padding:12px 0}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--text); font-weight:700; letter-spacing:.2px; white-space:nowrap}
.logo{width:28px; height:28px}
.main-nav{display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end}
.main-nav a{color:var(--text); text-decoration:none; padding:8px 12px; border-radius:12px; opacity:.9}
html[data-theme="dark"] .main-nav a:hover{background:rgba(255,255,255,.06); opacity:1}
html[data-theme="light"] .main-nav a:hover{background:rgba(0,0,0,.04); opacity:1}
.icon-btn{display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:10px; border:1px solid var(--border); color:var(--text)}
html[data-theme="dark"] .icon-btn:hover{background:rgba(255,255,255,.06)}
html[data-theme="light"] .icon-btn:hover{background:rgba(0,0,0,.04)}
.icon-btn svg{width:18px; height:18px}
.theme-btn{margin-left:4px; padding:8px 10px; border-radius:10px; border:1px solid var(--border); background:transparent; color:var(--text); cursor:pointer}
html[data-theme="dark"] .theme-btn:hover{background:rgba(255,255,255,.06)}
html[data-theme="light"] .theme-btn:hover{background:rgba(0,0,0,.04)}

/* Content */
.site-content{flex:1; padding:56px 0 64px; line-height:1.7}
.markdown-body h1{font-size:48px; line-height:1.1; letter-spacing:-0.02em; margin:.6em 0 .4em; font-weight:800}
.markdown-body h2{font-size:28px; margin:1.4em 0 .6em; font-weight:800}
.markdown-body p{font-size:18px}
.markdown-body strong{font-weight:700}
.markdown-body a{color:var(--accent); text-decoration:none}
.markdown-body a:hover{text-decoration:underline}

/* Hero */
.hero{display:grid; grid-template-columns:1.1fr .9fr; gap:28px; align-items:center; margin:18px 0 6px}
.hero h1{margin:0 0 12px}
.hero p.sub{font-size:20px; color:var(--muted); margin:0 0 22px}
.hero .btns{display:flex; gap:12px; margin-top:8px; flex-wrap:wrap}
.btn{display:inline-block; padding:14px 24px; border-radius:30px; font-weight:800; text-decoration:none; background:var(--accent); color:#fff !important; border:1px solid transparent; letter-spacing:.2px}
.btn:hover{background:var(--accent-press)}
.btn.secondary{background:transparent; color:var(--accent) !important; border:1px solid var(--accent)}
.btn.secondary:hover{background:rgba(10,132,255,.12)}
.hero-ill{width:100%; border-radius:16px; border:1px solid var(--border); box-shadow:0 20px 60px rgba(0,0,0,.15); background:linear-gradient(180deg,#0d1b2a,#162642); display:block; transform:translateY(0); will-change:transform}
html[data-theme="dark"] .hero-ill{box-shadow:0 20px 60px rgba(0,0,0,.35)}

/* Reveal */
.reveal{opacity:0; transform:translateY(18px); will-change:opacity, transform; transition:opacity .6s ease, transform .6s ease}
.reveal.in{opacity:1; transform:none}

/* Footer */
.site-footer{margin-top:auto; border-top:1px solid var(--header-border); padding:18px 0; text-align:center; opacity:.85; font-size:14px}

/* 404 Apple-like */
.notfound{display:flex; align-items:center; justify-content:center; min-height:70vh; text-align:center}
.notfound .box{
  max-width:720px; padding:28px; border-radius:24px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid var(--header-border);
  box-shadow: 0 22px 60px rgba(0,0,0,.25);
}
.notfound h1{font-size:72px; margin:0 0 8px; letter-spacing:-.03em}
.notfound p{color:var(--muted); font-size:18px; margin:0 0 18px}

/* Responsive */
@media (max-width: 920px){
  .container{padding:0 16px}
  .markdown-body h1{font-size:38px}
  .markdown-body h2{font-size:24px}
  .hero{grid-template-columns:1fr; gap:16px}
  .brand-text{display:none;}
}
@media (max-width: 600px){
  .site-content{padding:40px 0 56px}
  .btn{padding:12px 20px}
  .icon-btn{width:34px; height:34px}
  .markdown-body p, .markdown-body li{font-size:17px}
}
