:root{
  --bg: #0b0f14;
  --bg-soft: #10161d;
  --bg-card: #0f141b;
  --border: rgba(255,255,255,0.08);

  --text: #e6edf3;
  --muted: #9aa4ad;

  --accent: #4fd1c5;
  --accent-soft: rgba(79,209,197,0.15);
  --accent-border: rgba(79,209,197,0.35);

  --danger: #ff6b6b;
}

/* RESET */
*{ box-sizing:border-box }
html,body{ margin:0; padding:0 }

/* BODY — CUSTOM BACKGROUND */
body{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
               "Liberation Mono","Courier New", monospace;

  background:
    linear-gradient(
      rgba(11,15,20,0.88),
      rgba(11,15,20,0.88)
    ),
    url("./assets/images/background/bg.jpg") center / cover no-repeat fixed;

  color: var(--text);
  line-height: 1.65;
}

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

/* CONTAINER */
.container{
  max-width: 1100px;
  margin: 0 auto;
  padding: 28px 20px;
}

/* NAVBAR */
.nav{
  display:flex;
  justify-content: space-between;
  align-items:center;
  padding:14px 18px;
  border:1px solid var(--border);
  background: rgba(15,20,27,0.85);
  backdrop-filter: blur(10px);
  border-radius: 14px;
}

.links{
  display:flex;
  gap:18px;
  align-items:center;
}

.link{
  color: var(--muted);
}
.link:hover{
  color: var(--accent);
}

/* BUTTONS */
.btn{
  padding:10px 14px;
  border-radius:10px;
  border:1px solid var(--accent-border);
  background: var(--accent-soft);
  color: var(--accent);
  font-size: 14px;
}
.btn:hover{
  background: rgba(79,209,197,0.25);
}

.btn.primary{
  background: var(--accent);
  color: #041014;
  border-color: var(--accent);
}
.btn.primary:hover{
  background: #3fc4b8;
}

/* HERO */
.hero{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap:28px;
  margin-top:32px;
}

@media(max-width:900px){
  .hero{ grid-template-columns:1fr }
}

.eyebrow{
  font-size:13px;
  color: var(--accent);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display:flex;
  align-items:center;
  gap:8px;
}

.eyebrow .dot{
  width:6px;
  height:6px;
  background: var(--accent);
  border-radius:50%;
}

.hero h1{
  font-size: 38px;
  line-height: 1.2;
  margin: 10px 0 12px;
}

.lead{
  color: var(--muted);
  max-width: 70ch;
  margin-bottom: 14px;
}

/* CHIPS */
.chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.chip{
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--border);
  background: var(--bg-soft);
  color: var(--muted);
}

/* CARDS */
.card{
  background: var(--bg-card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:18px;
}

.card.highlight{
  border-color: var(--accent-border);
  background: linear-gradient(
    180deg,
    rgba(79,209,197,0.06),
    rgba(15,20,27,0.9)
  );
}

.card-title{
  font-size:14px;
  color: var(--accent);
  margin-bottom:6px;
}

/* MINI GRID */
.mini-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:14px;
}

@media(max-width:600px){
  .mini-grid{ grid-template-columns:1fr }
}

.mini-kicker{
  font-size:12px;
  color: var(--muted);
}
.mini-title{
  font-size:16px;
  margin:4px 0;
}
.mini-text{
  font-size:14px;
  color: var(--muted);
}

/* SECTIONS */
.section{
  margin-top:42px;
}

.section-head h2{
  margin:0;
  font-size:26px;
}
.section-head p{
  color: var(--muted);
  max-width: 75ch;
}

/* GRID PROJECTS */
.grid{
  display:grid;
  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
  gap:18px;
  margin-top:18px;
}

.project{
  transition: transform .15s ease, border-color .15s ease;
}
.project:hover{
  transform: translateY(-3px);
  border-color: var(--accent-border);
}

.project-top{
  display:flex;
  justify-content: space-between;
  font-size:12px;
  color: var(--muted);
  margin-bottom:6px;
}

.tag{
  color: var(--accent);
}

.project-title{
  font-size:18px;
  margin-bottom:6px;
}

.project-desc{
  color: var(--muted);
  font-size:14px;
}

.project-cta{
  margin-top:10px;
  font-size:13px;
  color: var(--accent);
}

/* ARTICLE */
.article{
  max-width: 80ch;
}

.article h1{
  font-size:34px;
}

.article .date{
  font-size:13px;
  color: var(--muted);
  margin-bottom:16px;
}

.article img{
  border:1px solid var(--border);
}

/* CODE BLOCKS */
pre,code{
  background:#02060a;
  border:1px solid var(--border);
  border-radius:10px;
  color:#c7f9f2;
}
pre{
  padding:14px;
  overflow:auto;
}
code{
  padding:3px 6px;
}

/* FOOTER */
.footer{
  margin-top:48px;
  padding-top:16px;
  border-top:1px solid var(--border);
  display:flex;
  justify-content: space-between;
  color: var(--muted);
  font-size:13px;
}

.footer a{
  color: var(--muted);
}
.footer a:hover{
  color: var(--accent);
}
