/* style.css
    Black & gray themed technology webpage
    Minimal, accessible, responsive
*/

/* Theme variables */
:root{
  --bg: Black;           /* page background */
  --surface: #111214;      /* main surfaces/cards */
  --surface-2: #161617;    /* secondary surface */
  --muted: #1f2021;        /* muted panels */
  --border: #242526;
  --text: #e6eef8;         /* primary text */
  --muted-text: #9aa3ad;   /* secondary text */
  --accent: #43c0ff;       /* tech blue */
  --accent-2: #7de3a8;     /* accent green */
  --danger: #ff6b6b;
  --glass-alpha: rgba(255,255,255,0.02);
  --radius: 10px;
  --shadow: 0 6px 20px rgba(0,0,0,0.6);
  --mono: ui-monospace, SFMono-Regular, "Roboto Mono", "Courier New", monospace;
  --ui: Inter, "Segoe UI", Roboto, system-ui, -apple-system, sans-serif;
  --max-width: 100%;

  --light-gray: #A6A6A6;
  --medium-gray: #565857;
  --dark-gray: #272A2C;
}

/* Reset & base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--ui);
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.45;
  font-size:16px;
  -webkit-text-size-adjust:100%;
}

/* Container */
.container{
  max-width:var(--max-width);;
  margin:auto;
  padding:32px;
}

/* Global utilities */
.row{display:flex;gap:24px;flex-wrap:wrap}
.col{flex:1 1 0;min-width:220px}
.center{display:flex;align-items:center;justify-content:center}
.muted{color:var(--muted-text)}
.lead{color:var(--muted-text);font-size:0.98rem}

/* Header / Nav */
.header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 0;
  border-bottom:1px solid var(--dark-gray);
  background:linear-gradient(180deg, rgba(255,255,255,0.01), transparent);
  position:sticky;
  top:0;
  z-index:40;
  backdrop-filter: blur(6px);
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:600;
}
.logo{
  width:50px;
  height:50px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#031019;
  font-weight:700;
  font-size:1.05rem;
}
.nav{
  display:flex;
  gap:12px;
  align-items:center;
}
.nav a{
  color:var(--muted-text);
  text-decoration:none;
  padding:8px 12px;
  border-radius:8px;
  font-weight:500;
}
.nav a:hover{color:var(--text);background:rgba(255,255,255,0.02)}

/* Hero */
.hero{
  display:grid;
  grid-template-columns:1fr 420px;
  gap:28px;
  align-items:center;
  padding:48px 0;
}
.hero .panel{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:28px;
  box-shadow:var(--shadow);
}
.hero h1{margin:0 0 8px;font-size:2.2rem;letter-spacing:-0.02em}
.hero p{margin:0 0 18px;color:var(--muted-text)}

/* Cards */
.card{
  background:linear-gradient(180deg,var(--surface), rgba(255,255,255,0.01));
  border:1px solid var(--border);
  border-radius:12px;
  padding:18px;
  box-shadow:0 8px 26px rgba(0,0,0,0.55);
}
.card.small{padding:12px;border-radius:10px}
.card .title{font-weight:600;margin-bottom:8px}
.card .meta{font-size:0.9rem;color:var(--muted-text)}

/* Grid */
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:18px;
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;padding:10px 14px;
  border-radius:10px;
  border:1px solid transparent;
  cursor:pointer;
  font-weight:600;
  color:var(--text);
  background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  transition:transform .12s ease, box-shadow .12s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,0.6)}
.btn:active{transform:translateY(0)}
.btn-primary{
  background:linear-gradient(180deg,var(--accent),#1aa9e8);
  color:#021624;border:1px solid rgba(255,255,255,0.06);
  box-shadow:0 8px 30px rgba(67,192,255,0.08), 0 2px 6px rgba(0,0,0,0.6);
}
.btn-ghost{
  background:transparent;
  border:1px solid rgba(255,255,255,0.04);
  color:var(--muted-text)
}
.icon{
  display:inline-grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:8px;
  background:rgba(255,255,255,0.02)
}

/* Form elements */
input, textarea, select {
  background:var(--muted);
  border:1px solid var(--border);
  color:var(--text);
  padding:10px 12px;
  border-radius:8px;
  font-size:0.95rem;
}
label{display:block;
  font-size:0.9rem;
  color:var(--muted-text);
  margin-bottom:6px;}
textarea{min-height:120px;resize:vertical}

/* Table */
table{
  width:100%;
  border-collapse:collapse;
  background:transparent;
  color:var(--text);
  font-size:0.95rem;
}
th,td{
  text-align:left;
  padding:12px;
  border-bottom:1px solid rgba(255,255,255,0.03)
}
th{color:var(--muted-text);font-weight:600}

/* Code & pre */
pre,code{
  font-family:var(--mono);
  background:linear-gradient(180deg, rgba(255,255,255,0.015), rgba(255,255,255,0.01));
  color:#d6f8ff;
  border-radius:8px;border:1px solid rgba(255,255,255,0.03);
}
pre{
  padding:16px;overflow:auto;font-size:0.92rem;line-height:1.5;
}
code{padding:2px 6px;font-size:0.92rem;border-radius:6px;}

/* Alerts / badges */
.badge{
  display:inline-block;padding:6px 8px;border-radius:999px;font-weight:700;font-size:0.82rem;
  background:rgba(255,255,255,0.02);color:var(--muted-text);border:1px solid rgba(255,255,255,0.03)
}
.alert{
  padding:12px 14px;border-radius:10px;border-left:4px solid rgba(255,255,255,0.03);
  background:linear-gradient(90deg, rgba(255,255,255,0.01), transparent);color:var(--muted-text)
}
.alert.success{border-left-color:var(--accent-2);color:var(--text)}
.alert.warn{border-left-color:#ffbf69;color:var(--text)}
.alert.danger{border-left-color:var(--danger);color:var(--text)}

/* Footer */
.footer{
  width: 100%;
  margin-top:48px;
  padding:28px 0;
  border-top:1px solid var(--dark-gray);
  color:var(--muted-text);
  font-size:0.94rem;
}

/* Misc */
.kv{display:flex;justify-content:space-between;gap:12px}
.pulse{
  animation:pulse 2.4s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:0.7;transform:scale(0.995)}
}

/* Scrollbar */
/* ::-webkit-scrollbar{height:10px;width:10px}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--muted),var(--surface));border-radius:999px;border:2px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-track{background:transparent} */

/* Responsive */
@media (max-width:880px){
  .hero{grid-template-columns:1fr;gap:18px}
  .search input{min-width:120px}
  .hero h1{font-size:1.6rem}
}

/* High contrast fallback */
@media (prefers-contrast: more){
  :root{--shadow:none}
  body{background:var(--bg)}
  .card, .panel{border:1px solid rgba(255,255,255,0.06)}
}
