:root{
  --bg: #ffffff;
  --panel:#f7fafc;
  --muted:#6b7280;
  --accent:#16a34a;
  --dark:#0f1724;
  --code-bg:#f3f4f6;
  --maxw:1100px;
  --container-padding:18px;
}

*{box-sizing:border-box}
body{
  font-family: Inter, Roboto, system-ui, -apple-system, 'Segoe UI', 'Helvetica Neue', Arial;
  margin:0;
  color:#0b1220;
  background:var(--panel);
  -webkit-font-smoothing:antialiased;
}

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

/* Topbar */
.topbar{background:white;border-bottom:1px solid rgba(15,23,36,0.06);}
.topbar .container{display:flex;align-items:center;gap:18px;height:64px}
.brand{font-weight:700;color:var(--dark);text-decoration:none}
.topnav{margin-left:auto;display:flex;gap:14px}
.topnav a{color:var(--muted);text-decoration:none;padding:8px 10px;border-radius:8px}
.topnav a:hover{background:#eef2ff;color:var(--dark)}

/* Hero */
.hero{padding:64px 18px;text-align:left;background:linear-gradient(180deg,#fff,#fbfdff);border-bottom:1px solid rgba(15,23,36,0.03)}
.hero h1{font-size:34px;margin-bottom:6px}
.hero p{color:var(--muted);margin-bottom:12px}
.btn{display:inline-block;background:var(--accent);color:white;padding:10px 14px;border-radius:8px;text-decoration:none;font-weight:600}

/* Cards row */
.cards{display:flex;gap:18px;padding:28px 18px}
.card{background:white;padding:18px;border-radius:10px;flex:1;box-shadow:0 6px 18px rgba(16,24,40,0.03)}
.card h3{margin:0 0 8px 0}
.card p{color:var(--muted)}

/* Layout with sidebar + content */
.layout{display:flex;gap:20px;margin-top:18px}
.sidebar{width:260px; min-width: 220px;background:white;padding:14px;border-radius:8px;border:1px solid rgba(15,23,36,0.03);height:calc(100vh - 160px);overflow:auto;position:sticky;top:86px}
.sidebar h4{margin:4px 0 12px 0}
.sidebar nav a{display:block;color:var(--muted);text-decoration:none;padding:8px;border-radius:6px;margin-bottom:6px}
.sidebar nav a.active, .sidebar nav a:hover{background:#ecfdf5;color:var(--accent);font-weight:600}

.content{flex:1;background:white;padding:20px;border-radius:10px;border:1px solid rgba(15,23,36,0.03)}
.content h1{margin-top:0}
.code{background:var(--code-bg);padding:12px;border-radius:6px;overflow:auto;border:1px solid rgba(15,23,36,0.03)}
.controls{margin-top:8px}


/* Small helpers */
.intro-box{background:#f0fdf4;border-left:4px solid var(--accent);padding:14px;border-radius:6px;margin:12px 0}
.quick-links{display:flex;gap:8px;margin-top:10px}
.pill{background:#eef2ff;padding:8px 10px;border-radius:999px;text-decoration:none;color:var(--accent);font-weight:600}

/* code styles */
pre.code{font-family: Menlo, Monaco, Consolas, monospace; font-size:14px; color:#0b1220}

/* responsive */
@media (max-width:900px){
  .layout{flex-direction:column}
  .sidebar{width:100%;height:auto;position:relative;top:0}
}


/* Animations and visual polish */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.container{ animation: fadeInUp 0.45s ease both; }

/* Card hover improvements */
.card { transition: transform .22s cubic-bezier(.2,.9,.3,1), box-shadow .22s ease; }
.card:hover { transform: translateY(-8px) scale(1.01); box-shadow: 0 14px 40px rgba(16,24,40,0.08); }

/* Smooth link hover */
.topnav a { transition: background .12s ease, color .12s ease, transform .12s ease; }
.topnav a:hover { transform: translateY(-2px); }

/* Sidebar link active indicator */
.sidebar nav a.active { position: relative; }
.sidebar nav a.active::before {
  content: '';
  position: absolute;
  left: -12px;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 28px;
  background: var(--accent);
  border-radius: 4px;
}

/* Subtle gradient for content */
.content {
  background: linear-gradient(180deg, #ffffff, #fbfdff);
  box-shadow: 0 6px 18px rgba(16,24,40,0.03);
}

/* Smooth code font rendering */
pre.code { line-height:1.45; }

/* Responsive animation on smaller screens */
@media (max-width:900px){
  .container{ animation-duration: .35s; }
}

.github-btn {
  position: relative;
  display: inline-block;
  padding: 12px 24px;
  color: #fff;
  font-family: 'Courier New', monospace;
  font-size: 14px;
  text-decoration: none;
  border: 1px solid #333;
  border-radius: 8px;
  background: #0d1117;
  overflow: hidden;
  transition: all 0.3s ease;
}

/* Градиент подсветка */
.github-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, #00ffcc, #0077ff, #ff00cc);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 0;
}

/* Контент поверх */
.github-btn span {
  position: relative;
  z-index: 1;
}

/* Hover */
.github-btn:hover::before {
  opacity: 0.15;
}

.github-btn:hover {
  border-color: #00ffcc;
  box-shadow: 0 0 10px rgba(0,255,204,0.5),
              0 0 20px rgba(0,119,255,0.3);
  transform: translateY(-2px);
}

/* Нажатие */
.github-btn:active {
  transform: scale(0.96);
  box-shadow: none;
}