
:root{
  --bg:#f7f7f5;
  --surface:#ffffff;
  --surface-2:#f0f0ed;
  --text:#151515;
  --muted:#696963;
  --faint:#9a9a92;
  --border:#ddddda;
  --accent:#6c5ce7;
  --accent-2:#9b8cff;
  --accent-soft:rgba(108,92,231,.11);
  --green:#26a269;
  --shadow:0 24px 70px rgba(28,28,28,.08);
}
html[data-theme="dark"]{
  --bg:#0d0d0f;
  --surface:#141417;
  --surface-2:#1a1a1f;
  --text:#f4f4f2;
  --muted:#a0a09a;
  --faint:#6e6e69;
  --border:#2a2a30;
  --accent:#9c8cff;
  --accent-2:#c0b7ff;
  --accent-soft:rgba(156,140,255,.12);
  --green:#52d391;
  --shadow:0 26px 80px rgba(0,0,0,.34);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
button{font:inherit;color:inherit}
.ambient{
  position:fixed;
  pointer-events:none;
  border-radius:50%;
  filter:blur(90px);
  z-index:-1;
}
.ambient-a{width:340px;height:340px;right:-80px;top:120px;background:var(--accent-soft)}
.ambient-b{width:280px;height:280px;left:-80px;bottom:120px;background:rgba(55,180,140,.07)}

.nav{
  max-width:1220px;
  margin:0 auto;
  height:76px;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.brand{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:800;letter-spacing:-.02em}
.brand-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}
.slash{color:var(--faint);padding:0 2px}
.nav-links{display:flex;gap:26px;font-size:12px;color:var(--muted)}
.nav-links a:hover{color:var(--text)}
.nav-actions{display:flex;gap:9px;align-items:center}
.github-btn,.theme-toggle{
  height:36px;border-radius:10px;border:1px solid var(--border);
  background:var(--surface);display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,.03)
}
.github-btn{padding:0 12px;font-size:11px;font-weight:700}
.theme-toggle{width:64px;padding:3px;cursor:pointer}
.theme-toggle span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-size:12px}
html:not([data-theme="dark"]) .theme-toggle .sun{background:var(--surface-2)}
html:not([data-theme="dark"]) .theme-toggle .moon{color:var(--faint)}
html[data-theme="dark"] .theme-toggle .moon{background:var(--surface-2)}
html[data-theme="dark"] .theme-toggle .sun{color:var(--faint)}

.section{max-width:1220px;margin:0 auto;padding:100px 24px}
.hero{
  min-height:calc(100vh - 76px);
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:80px;
  align-items:center;
  padding-top:40px;
}
.eyebrow{
  display:flex;align-items:center;gap:9px;
  font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--faint);margin-bottom:20px
}
.eyebrow span{width:26px;height:1px;background:var(--accent)}
.hero h1,.section-head h2,.about-copy h2,.contact-card h2{
  letter-spacing:-.045em;
  line-height:1.02;
  margin:0;
}
.hero h1{font-size:clamp(50px,7vw,84px);font-weight:800}
.hero h1 em,.about-copy h2 em{
  font-style:normal;
  color:var(--accent);
}
.hero-lead{max-width:600px;margin:28px 0 0;font-size:17px;line-height:1.75;color:var(--muted)}
.hero-actions{display:flex;gap:10px;margin-top:32px;flex-wrap:wrap}
.primary,.secondary{
  height:44px;padding:0 16px;border-radius:11px;
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:800;transition:.18s ease
}
.primary{background:var(--text);color:var(--bg)}
.primary:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.secondary{background:var(--surface);border:1px solid var(--border)}
.secondary:hover{background:var(--surface-2)}
.hero-meta{
  margin-top:44px;padding-top:22px;border-top:1px solid var(--border);
  display:flex;gap:44px
}
.hero-meta strong{display:block;font-size:18px}
.hero-meta span{font-size:10px;color:var(--faint);margin-top:4px;display:block}

.hero-panel{position:relative}
.hero-panel::before{
  content:"";position:absolute;inset:12% 8%;background:var(--accent-soft);filter:blur(50px);z-index:-1;border-radius:40px
}
.terminal{
  background:#0d0f14;
  border:1px solid #262a33;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 35px 90px rgba(0,0,0,.28);
  transform:rotate(1.5deg)
}
.terminal-top{
  height:46px;border-bottom:1px solid #252934;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 15px;color:#808694;font-size:10px
}
.traffic{display:flex;gap:6px}
.traffic i{width:8px;height:8px;border-radius:50%;background:#343945}
.terminal-body{
  padding:24px;
  min-height:390px;
  font:500 12px/1.9 "JetBrains Mono",monospace;
  color:#e8eaf0
}
.terminal-body p{margin:0 0 10px}
.prompt{color:#6f62ff}
.output{color:#8f96a5;padding-left:14px}
.output.accent{color:#a99cff}
.terminal-list{display:grid;grid-template-columns:repeat(2,1fr);gap:5px 18px;padding:0 0 12px 14px;color:#bec3cf}
.cursor{display:inline-block;width:7px;height:14px;background:#a99cff;vertical-align:middle;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

.projects-section{padding-top:120px}
.section-head{
  display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px
}
.section-head h2,.about-copy h2,.contact-card h2{font-size:clamp(38px,5vw,58px)}
.section-head p{max-width:360px;color:var(--muted);font-size:13px;line-height:1.7;margin:0}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.filter-btn{
  border:1px solid var(--border);background:var(--surface);
  height:34px;padding:0 11px;border-radius:999px;
  font-size:10px;font-weight:700;color:var(--muted);cursor:pointer
}
.filter-btn:hover{color:var(--text)}
.filter-btn.active{background:var(--text);color:var(--bg);border-color:var(--text)}

.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.project-card{
  position:relative;
  border:1px solid var(--border);
  background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface-2) 38%,var(--surface)));
  border-radius:18px;
  padding:22px;
  min-height:260px;
  display:flex;
  flex-direction:column;
  transition:.2s ease;
  overflow:hidden;
}
.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}
.project-card::after{
  content:"";
  position:absolute;
  width:140px;height:140px;border-radius:50%;
  right:-45px;top:-45px;
  background:radial-gradient(circle,var(--accent-soft),transparent 70%)
}
.project-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.project-icon{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  background:var(--accent-soft);color:var(--accent);
  font-size:18px;font-weight:800
}
.project-link{font-size:11px;color:var(--faint);position:relative;z-index:2}
.project-link:hover{color:var(--text)}
.project-card h3{font-size:21px;letter-spacing:-.03em;margin:22px 0 8px}
.project-card p{color:var(--muted);font-size:13px;line-height:1.65;margin:0 0 24px}
.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}
.tag{
  font-size:9px;font-weight:700;padding:5px 7px;border-radius:7px;
  background:var(--surface-2);border:1px solid var(--border);color:var(--muted)
}
.project-footer{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:20px;padding-top:14px;border-top:1px solid var(--border);
  color:var(--faint);font-size:10px
}
.project-stats{display:flex;gap:14px}

.about-section{padding-top:140px}
.about-card{
  border:1px solid var(--border);
  border-radius:22px;
  background:var(--surface);
  padding:54px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  box-shadow:var(--shadow)
}
.about-copy p{color:var(--muted);font-size:14px;line-height:1.8;max-width:520px}
.principles{display:flex;flex-direction:column}
.principle{padding:18px 0;border-bottom:1px solid var(--border)}
.principle:first-child{padding-top:0}
.principle:last-child{border-bottom:0}
.principle span{font:600 10px "JetBrains Mono";color:var(--accent)}
.principle strong{display:block;margin:5px 0;font-size:14px}
.principle p{margin:0;color:var(--muted);font-size:12px}

.contact-section{padding-top:120px;padding-bottom:100px}
.contact-card{
  display:flex;justify-content:space-between;align-items:end;gap:30px;
  padding:44px;border-radius:20px;
  background:linear-gradient(135deg,var(--accent-soft),var(--surface));
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border))
}
.contact-card p{color:var(--muted);font-size:13px}
.contact-actions{display:flex;gap:8px;flex-wrap:wrap}

footer{
  max-width:1220px;margin:0 auto;
  padding:28px 24px 42px;
  border-top:1px solid var(--border);
  display:flex;justify-content:space-between;
  color:var(--faint);font-size:10px
}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;gap:50px;padding-top:70px}
  .hero-panel{max-width:680px}
  .project-grid{grid-template-columns:1fr}
  .about-card{grid-template-columns:1fr;gap:50px;padding:34px}
}
@media(max-width:680px){
  .nav{height:68px;padding:0 16px}
  .nav-links{display:none}
  .github-btn{display:none}
  .section{padding-left:18px;padding-right:18px}
  .hero{padding-top:55px}
  .hero h1{font-size:50px}
  .hero-meta{gap:24px}
  .terminal{transform:none}
  .section-head{display:block}
  .section-head p{margin-top:14px}
  .about-card{padding:26px 22px}
  .contact-card{display:block;padding:28px 22px}
  .contact-actions{margin-top:22px}
  .terminal-list{grid-template-columns:1fr}
}
