
:root{
  --brand:#2563eb; /* blue */
  --bg:#0b1020;
  --surface:#111931;
  --text:#e8eefc;
  --muted:#a9b4d0;
  --card:#0f1730;
  --border:#1f2a4a;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
  background:linear-gradient(180deg,#0b1020,#0d1226);
  color:var(--text);
  line-height:1.6;
}

.container{width:min(1100px,92%);margin-inline:auto}

.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(15,23,48,.7);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{font-weight:800;font-size:1.3rem;color:var(--text);text-decoration:none;letter-spacing:.3px}
.brand span{color:var(--brand)}
.nav{display:flex;gap:14px;align-items:center}
.nav-link{color:var(--text);text-decoration:none;padding:8px 10px;border-radius:10px}
.nav-link:hover{background:var(--card)}
.nav-link.button{background:var(--brand);color:white;padding:8px 14px}
.nav-toggle{display:none;background:transparent;border:0;color:var(--text);font-size:1.4rem}

@media (max-width:760px){
  .nav{display:none;flex-direction:column;position:absolute;top:56px;right:4%;background:var(--surface);padding:12px;border:1px solid var(--border);border-radius:12px}
  .nav.open{display:flex}
  .nav-toggle{display:block}
}

.main-content{padding:28px 0 48px}

.hero{
  background:radial-gradient(1200px 400px at 80% -20%, rgba(37,99,235,.25), transparent 60%);
  padding:40px 18px;border:1px solid var(--border);border-radius:18px;background-color:var(--card);
}
.hero h1{font-size:2.1rem;margin:0 0 8px}
.hero p{color:var(--muted);margin:0 0 16px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.button{display:inline-block;padding:10px 14px;border-radius:12px;background:var(--brand);color:#fff;text-decoration:none;font-weight:600;border:1px solid transparent}
.button.ghost{background:transparent;border-color:var(--border);color:var(--text)}

.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
@media (max-width:760px){.grid.two{grid-template-columns:1fr}}

.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px}
.text-link{color:var(--text);text-decoration:none;border-bottom:1px solid var(--border)}
.text-link:hover{border-color:var(--text)}

.cta{margin-top:24px;padding:16px;border:1px dashed var(--border);border-radius:16px;background:rgba(37,99,235,.08)}

.project{margin:18px 0}
.bullets{margin:8px 0 12px 18px}
.details summary{cursor:pointer}

.site-footer{border-top:1px solid var(--border);padding:18px 0;margin-top:36px}
.site-footer a{color:var(--muted)}

.form{display:grid;gap:12px;max-width:620px}
.form-row{display:grid;gap:6px}
input,select,button{font:inherit}
input,select{padding:10px;border-radius:10px;border:1px solid var(--border);background:#0b142e;color:var(--text)}
.results{margin-top:18px}
.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.results-grid > div{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px}
.muted{color:var(--muted)}

.code{background:#0b142e;border:1px solid var(--border);border-radius:14px;padding:12px;overflow:auto}


/* Prevent text selection site-wide (can be toggled if needed) */
html, body, * { -webkit-user-select: none; -ms-user-select: none; user-select: none; }

/* Affiliate grid */
.aff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:12px}
.aff-card{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.aff-thumb img{width:100%;height:160px;object-fit:cover;display:block}
.aff-body{padding:12px;display:grid;gap:8px}
.aff-tag{font-size:.75rem;color:var(--muted)}
.aff-title{margin:0}
.aff-price{font-weight:600}
.button.small{padding:8px 10px;font-size:.9rem;border-radius:10px}
