:root{
  --bg:#14110e; --panel:#1e1a16; --panel2:#262019; --line:#3a312a;
  --ink:#e8dfd2; --dim:#9d9086; --gold:#c9a227; --gold-dim:#8a7420;
  --red:#a8432f; --green:#6b8f3f;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--ink);
  font:16px/1.65 "Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:860px;margin:0 auto;padding:0 20px}

/* Masthead */
header.mast{
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#1b1713,#14110e);
}
.mast .wrap{padding-top:28px;padding-bottom:0}
.brand{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.brand h1{
  margin:0;font-size:28px;letter-spacing:.02em;font-weight:600;
}
.brand .tag{color:var(--dim);font-size:14px;font-style:italic}

/* Tabs */
nav.tabs{display:flex;gap:4px;margin-top:22px;flex-wrap:wrap}
nav.tabs a{
  display:block;padding:9px 18px;text-decoration:none;color:var(--dim);
  border:1px solid transparent;border-bottom:none;border-radius:4px 4px 0 0;
  font-size:15px;letter-spacing:.03em;
}
nav.tabs a:hover{color:var(--ink);background:#1a1613}
nav.tabs a.on{
  color:var(--gold);background:var(--bg);
  border-color:var(--line);
  position:relative;top:1px;
}

main{padding:34px 0 60px}
h2{font-size:22px;margin:34px 0 10px;font-weight:600;letter-spacing:.01em}
h2:first-child{margin-top:0}
h3{font-size:16px;margin:22px 0 6px;color:var(--gold);font-weight:600;
   text-transform:uppercase;letter-spacing:.08em}
p{margin:10px 0}
a{color:var(--gold)}
hr{border:none;border-top:1px solid var(--line);margin:30px 0}
code,kbd{font-family:"SF Mono",Menlo,Consolas,monospace}
code{color:#d8c99a;font-size:.92em}

.lede{font-size:18px;color:var(--ink)}
.muted{color:var(--dim)}
.small{font-size:14px}

/* Panels */
.panel{
  background:var(--panel);border:1px solid var(--line);
  border-radius:6px;padding:20px 24px;margin:18px 0;
}
.panel.accent{border-left:3px solid var(--gold)}

/* Patch entry */
.patch-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
  border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:6px}
.patch-head .ver{font-size:20px;font-weight:600}
.patch-head .date{color:var(--dim);font-size:14px}
.badge{
  display:inline-block;padding:2px 9px;border-radius:10px;font-size:11px;
  letter-spacing:.09em;text-transform:uppercase;font-family:system-ui,sans-serif;
  border:1px solid var(--gold-dim);color:var(--gold);
}
ul{margin:8px 0;padding-left:22px}
li{margin:5px 0}

/* Keyboard chips */
kbd{
  display:inline-block;min-width:26px;text-align:center;
  padding:3px 8px;margin:1px;font-size:13px;
  background:var(--panel2);border:1px solid var(--line);
  border-bottom-width:2px;border-radius:4px;color:var(--ink);
}

/* Tables */
table{width:100%;border-collapse:collapse;margin:12px 0}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--dim);font-size:12px;text-transform:uppercase;letter-spacing:.08em;
   font-family:system-ui,sans-serif;font-weight:600}
td.k{white-space:nowrap;width:1%}
tbody tr:hover{background:#1a1613}

/* Downloads */
.dl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:18px 0}
.dl{
  background:var(--panel);border:1px solid var(--line);border-radius:6px;
  padding:20px 22px;display:flex;flex-direction:column;gap:6px;
}
.dl .os{font-size:17px;font-weight:600}
.dl .meta{color:var(--dim);font-size:13px;font-family:system-ui,sans-serif}
.btn{
  margin-top:12px;display:inline-block;text-align:center;
  padding:10px 16px;border-radius:5px;font-size:14px;
  font-family:system-ui,sans-serif;letter-spacing:.02em;
}
.btn.off{
  background:#1a1613;border:1px dashed var(--line);color:var(--dim);cursor:not-allowed;
}
.btn.go{
  background:var(--gold);border:1px solid var(--gold);color:#17130a;
  text-decoration:none;font-weight:600;
}
.btn.go:hover{background:#dbb32c;border-color:#dbb32c}
.btn.go:active{transform:translateY(1px)}
.verline{
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  font-family:system-ui,sans-serif;font-size:14px;
}
.verline .v{font-size:26px;font-weight:600;color:var(--gold);font-family:inherit}

footer{border-top:1px solid var(--line);color:var(--dim);font-size:13px;padding:20px 0 40px}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

@media (max-width:600px){
  .brand h1{font-size:23px}
  nav.tabs a{padding:8px 13px;font-size:14px}
  .wrap{padding:0 15px}
}
