/* NixithOS site: one monochrome engineering page per language; the mark
   top-right like a drawing, then one column of sections (~70ch) with a
   table, a terminal and the installer's screens. */
:root{
  --ground:#eef0f2;
  --surface:#ffffff;
  --ink:#15181c;
  --muted:#5b636d;
  --line:#c9ced5;
  --accent:#2f3a46;
  --term:#14171b;
  --term-ink:#d7dce2;
  --term-dim:#7d8792;
  /* the mark is white lines on black: inverted and multiplied on a light page */
  --mark-filter:invert(1);
  --mark-blend:multiply;
  --font-display:"Unbounded", "Golos Text", system-ui, sans-serif;
  --font-body:"Golos Text", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:"JetBrains Mono", ui-monospace, "DejaVu Sans Mono", monospace;
  --measure:68ch;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --ground:#101215;
    --surface:#171a1e;
    --ink:#e6e9ed;
    --muted:#98a1ab;
    --line:#2b3037;
    --accent:#c4ccd6;
    --term:#0b0d0f;
    --term-ink:#d7dce2;
    --term-dim:#6c7681;
    --mark-filter:none;
    --mark-blend:screen;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --ground:#101215;
  --surface:#171a1e;
  --ink:#e6e9ed;
  --muted:#98a1ab;
  --line:#2b3037;
  --accent:#c4ccd6;
  --term:#0b0d0f;
  --term-ink:#d7dce2;
  --term-dim:#6c7681;
  --mark-filter:none;
  --mark-blend:screen;
}

*{box-sizing:border-box}
body{
  margin:0;
  background:var(--ground);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.6;
  padding-left:max(16px, env(safe-area-inset-left, 0px));
  padding-right:max(16px, env(safe-area-inset-right, 0px));
}
img{max-width:100%;height:auto}
.wrap{max-width:1040px;margin:0 auto}
a{color:var(--ink);text-underline-offset:3px;text-decoration-color:var(--line)}
a:hover{text-decoration-color:var(--ink)}
a:focus-visible,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--font-display);font-weight:700;text-wrap:balance;margin:0;line-height:1.15}
p{margin:0}
code{font-family:var(--font-mono);font-size:.88em}

/* header */
header.top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:22px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:500;font-size:15px;letter-spacing:.02em;text-decoration:none}
.brand img{width:28px;height:28px;filter:var(--mark-filter);mix-blend-mode:var(--mark-blend)}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:22px;flex-wrap:wrap;align-items:center;font-size:15px}
nav a{text-decoration:none;color:var(--muted)}
nav a:hover{color:var(--ink)}
nav .lang{font-family:var(--font-mono);font-size:13px;letter-spacing:.06em;padding:3px 9px;border:1px solid var(--line);border-radius:999px;color:var(--ink)}

/* hero */
.hero{display:grid;grid-template-columns:1.25fr .9fr;gap:48px;align-items:center;padding-block:72px 64px}
.eyebrow{font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.hero h1{font-size:clamp(2.3rem,5.4vw,4rem);letter-spacing:-.01em;margin-top:18px}
.hero .lead{margin-top:22px;font-size:1.15rem;color:var(--muted);max-width:46ch}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:6px;font-weight:600;font-size:15px;text-decoration:none;border:1px solid var(--ink)}
.btn.primary{background:var(--ink);color:var(--ground)}
.btn.ghost{color:var(--ink)}
.btn small{font-family:var(--font-mono);font-weight:400;font-size:12px;opacity:.7}
.mark{width:100%;max-width:380px;justify-self:center;filter:var(--mark-filter);mix-blend-mode:var(--mark-blend)}

/* sections */
section{padding-block:56px;border-top:1px solid var(--line)}
.sec-head{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;max-width:var(--measure)}
.sec-head h2{font-size:clamp(1.5rem,3vw,2rem)}
.sec-head p{color:var(--muted)}

/* comparison table */
.table-box{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:15.5px}
th,td{text-align:left;padding:13px 18px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:0}
thead th{font-family:var(--font-mono);font-weight:500;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
td:first-child{color:var(--muted);width:24%}
td.same{color:var(--muted)}
.note{margin-top:18px;max-width:var(--measure);color:var(--muted);font-size:15.5px}

/* terminal */
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.term{background:var(--term);color:var(--term-ink);border-radius:8px;padding:20px 22px;font-family:var(--font-mono);font-size:14px;line-height:1.75;overflow-x:auto;white-space:pre;margin:0}
.term .p{color:var(--term-dim);user-select:none}
.term .c{color:var(--term-dim)}
dl.cmds{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:12px 22px}
dl.cmds dt{font-family:var(--font-mono);font-size:14.5px}
dl.cmds dd{margin:0;color:var(--muted);font-size:15.5px}

/* installer screens */
.shots{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 24px;margin:0 0 48px}
.shots figure{margin:0;display:flex;flex-direction:column;gap:10px}
.shots figure.wide{grid-column:1 / -1}
.shots a{display:block;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface);line-height:0}
.shots img{width:100%;aspect-ratio:16/10;object-fit:cover}
.shots figcaption{font-size:15px;color:var(--muted);max-width:var(--measure)}
.shots figcaption b{color:var(--ink);font-weight:600}

/* installer choices */
.choices{display:grid;grid-template-columns:repeat(6,1fr);gap:28px}
.choice h3{font-family:var(--font-mono);font-weight:500;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.choice ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.choice li{display:flex;justify-content:space-between;gap:8px;padding-block:6px;border-bottom:1px dashed var(--line)}
.choice li span{color:var(--muted);font-size:13.5px}

/* download */
.download{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.download p + p{margin-top:12px}
.download .muted{color:var(--muted)}

/* tests */
.tests{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.tests li{font-family:var(--font-mono);font-size:13.5px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}

footer{border-top:1px solid var(--line);padding-block:28px 40px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:14px}

@media (max-width:1100px){
  .choices{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:860px){
  .hero{grid-template-columns:1fr;padding-block:48px}
  .mark{max-width:220px;justify-self:start;order:-1}
  .split,.download{grid-template-columns:1fr}
  .choices{grid-template-columns:1fr 1fr}
  .shots{grid-template-columns:1fr}
}
@media (max-width:480px){
  .choices{grid-template-columns:1fr}
  dl.cmds{grid-template-columns:1fr;gap:2px}
  dl.cmds dd{margin-bottom:10px}
  nav ul{gap:14px}
}
