/* Reset */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

/* Variables */
:root{
  --bg:#0a0a0a;
  --surface:#111;
  --accent:#00ff41;
  --accent-dim:rgba(0,255,65,0.15);
  --text:#e0e0e0;
  --muted:#666;
  --code-bg:#1a1a2e;
  --font-mono:'JetBrains Mono','Fira Code',monospace;
  --font-body:system-ui,-apple-system,sans-serif
}

/* Base */
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  min-height:100vh;
  position:relative
}

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

.sr-only{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

/* CRT Scanline Overlay */
body::after{
  content:'';
  position:fixed;
  inset:0;
  background:repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0,0,0,0.05) 2px,
    rgba(0,0,0,0.05) 4px
  );
  pointer-events:none;
  z-index:1000
}

/* Scrollbar */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:var(--surface)}
::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}

/* Section Base */
section{
  max-width:900px;
  margin:0 auto;
  padding:4rem 2rem;
  position:relative;
  z-index:1
}

/* Hero */
.hero{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  background:
    linear-gradient(rgba(10,10,10,0.97),rgba(10,10,10,0.97)),
    linear-gradient(90deg,rgba(0,255,65,0.03) 1px,transparent 1px),
    linear-gradient(rgba(0,255,65,0.03) 1px,transparent 1px);
  background-size:100% 100%,40px 40px,40px 40px;
  position:relative
}

.hero pre{
  font-family:var(--font-mono);
  font-size:0.7rem;
  line-height:1.2;
  color:var(--accent);
  text-shadow:
    0 0 5px rgba(0,255,65,0.5),
    0 0 10px rgba(0,255,65,0.3),
    0 0 20px rgba(0,255,65,0.2);
  margin-bottom:2rem;
  white-space:pre;
  overflow-x:auto;
  max-width:100%
}

.hero .tagline{
  font-size:1.25rem;
  color:var(--text);
  margin-bottom:2rem
}

.hero .cta{
  display:inline-block;
  padding:1rem 2rem;
  border:2px solid var(--accent);
  background:transparent;
  color:var(--accent);
  font-family:var(--font-mono);
  font-size:1rem;
  border-radius:8px;
  cursor:pointer;
  transition:all 0.2s ease
}

.hero .cta:hover{
  background:var(--accent-dim);
  text-decoration:none
}

/* Features */
.features{padding-top:2rem}

.features h2{
  font-family:var(--font-mono);
  color:var(--accent);
  margin-bottom:2rem;
  font-size:1.5rem
}

.features-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem
}

.feature-card{
  background:var(--surface);
  border-left:3px solid var(--accent);
  padding:1.5rem;
  border-radius:0 8px 8px 0;
  transition:all 0.2s ease
}

.feature-card:hover{
  transform:translateY(-2px);
  box-shadow:0 4px 20px rgba(0,255,65,0.15)
}

.feature-card .icon{
  font-size:2rem;
  margin-bottom:0.5rem;
  display:block
}

.feature-card h3{
  font-family:var(--font-mono);
  color:var(--text);
  font-size:1rem;
  margin-bottom:0.5rem
}

.feature-card p{
  color:var(--muted);
  font-size:0.875rem
}

/* Terminal */
.quickstart h2{
  font-family:var(--font-mono);
  color:var(--accent);
  margin-bottom:2rem;
  font-size:1.5rem
}

.terminal{margin:0}

.terminal-header{
  background:#0d0d0d;
  padding:0.75rem 1rem;
  border-radius:8px 8px 0 0;
  display:flex;
  gap:8px;
  align-items:center
}

.terminal-header::before{
  content:'';
  display:inline-block;
  width:12px;
  height:12px;
  background:#ff5f56;
  border-radius:50%;
  box-shadow:
    20px 0 0 #ffbd2e,
    40px 0 0 #27c93f
}

.terminal pre{
  background:var(--code-bg);
  padding:1.5rem;
  border-radius:0 0 8px 8px;
  overflow-x:auto;
  font-family:var(--font-mono);
  font-size:0.875rem;
  line-height:1.6;
  color:var(--text);
  margin:0
}

.terminal .cursor{
  display:inline-block;
  width:8px;
  height:1em;
  background:var(--accent);
  animation:blink 1s step-end infinite;
  vertical-align:text-bottom
}

.terminal .comment{color:var(--muted)}

@keyframes blink{
  0%,50%{opacity:1}
  51%,100%{opacity:0}
}

/* Shortcuts */
.shortcuts h2{
  font-family:var(--font-mono);
  color:var(--accent);
  margin-bottom:2rem;
  font-size:1.5rem
}

.shortcuts table{
  width:100%;
  border-collapse:collapse;
  font-size:0.9rem
}

.shortcuts tr{border-bottom:1px solid var(--surface)}

.shortcuts tr:last-child{border-bottom:none}

.shortcuts td{
  padding:1rem 0;
  color:var(--text)
}

.shortcuts td:first-child{width:40%}

.shortcuts kbd{
  display:inline-block;
  background:var(--surface);
  border:1px solid #333;
  border-bottom:3px solid #333;
  border-radius:4px;
  padding:0.25rem 0.5rem;
  font-family:var(--font-mono);
  font-size:0.85rem;
  color:var(--accent);
  box-shadow:0 2px 4px rgba(0,0,0,0.3)
}

/* Requirements */
.requirements h2{
  font-family:var(--font-mono);
  color:var(--accent);
  margin-bottom:1.5rem;
  font-size:1.5rem
}

.requirements p{color:var(--muted);margin-top:1.5rem}

.badge-list{display:flex;flex-wrap:wrap;gap:0.5rem}

.badge{
  display:inline-block;
  background:var(--accent-dim);
  color:var(--accent);
  padding:0.5rem 1rem;
  border-radius:20px;
  font-family:var(--font-mono);
  font-size:0.85rem;
  margin:0 0.5rem 0.5rem 0
}

/* Footer */
footer{
  text-align:center;
  padding:3rem 2rem;
  color:var(--muted);
  font-size:0.875rem;
  position:relative;
  z-index:1
}

footer a{color:var(--accent)}

/* Fade In Animation */
@keyframes fadeInUp{
  from{transform:translateY(20px)}
  to{transform:translateY(0)}
}

section{animation:fadeInUp 0.4s ease both}
section:nth-child(1){animation-delay:0.05s}
section:nth-child(2){animation-delay:0.1s}
section:nth-child(3){animation-delay:0.15s}
section:nth-child(4){animation-delay:0.2s}
section:nth-child(5){animation-delay:0.25s}

/* Responsive */
@media(max-width:768px){
  .features-grid{grid-template-columns:repeat(2,1fr)}
  
  .hero pre{font-size:0.5rem}
  
  .hero .tagline{font-size:1rem}
  
  section{padding:3rem 1.5rem}
}

@media(max-width:480px){
  .features-grid{grid-template-columns:1fr}
  
  .hero pre{font-size:0.35rem}
  
  .hero .tagline{font-size:0.9rem}
  
  .hero .cta{padding:0.75rem 1.5rem;font-size:0.9rem}
  
  section{padding:2rem 1rem}
  
  .terminal pre{font-size:0.75rem;padding:1rem}
  
  .shortcuts td:first-child{width:50%}
  
  .shortcuts kbd{font-size:0.75rem}
}

/* Reduced Motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation:none!important;
    transition:none!important
  }
}
