:root { --navy: #0B1F3A; --amber: #B7780F; --paper: #F6F4EE;
        --rule: #D9DDE5; --muted: #5B6B82; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--navy);
       font: 17px/1.55 Georgia, "Times New Roman", serif; }
header { background: var(--navy); color: #fff; padding: 2.2rem 1.25rem; }
header .wrap, main { max-width: 42rem; margin: 0 auto; padding: 0 1.25rem; }
header h1 { margin: 0 0 .3rem; font-size: 1.7rem; line-height: 1.2; }
header p { margin: 0; color: #C9D3E3; }
nav { border-bottom: 1px solid var(--rule); background: #fff; }
nav .wrap { max-width: 42rem; margin: 0 auto; padding: .6rem 1.25rem;
            display: flex; flex-wrap: wrap; gap: 1.1rem;
            font: 600 .82rem/1.4 Inter, system-ui, sans-serif;
            letter-spacing: .06em; text-transform: uppercase; }
nav a { color: var(--navy); text-decoration: none; }
nav a.here { color: var(--amber); }
main { padding: 1.5rem 1.25rem 3rem; }
h1 { font-size: 1.5rem; margin: 1.6rem 0 .6rem; }
h2 { font-size: 1.15rem; margin: 1.6rem 0 .4rem;
     border-bottom: 2px solid var(--amber); display: inline-block;
     padding-bottom: .1rem; }
a { color: var(--amber); }
code { font: .88em/1 "JetBrains Mono", ui-monospace, monospace; }
table { border-collapse: collapse; width: 100%; font-size: .92rem; }
td, th { text-align: left; padding: .35rem .5rem;
         border-bottom: 1px solid var(--rule); vertical-align: top; }
th { font: 600 .78rem/1.4 Inter, system-ui, sans-serif;
     letter-spacing: .06em; text-transform: uppercase; }
ul.cards, ul.repos { list-style: none; padding: 0; }
ul.cards li, ul.repos li { padding: .45rem 0;
                           border-bottom: 1px solid var(--rule); }
.muted { color: var(--muted); font-size: .9rem; }
footer { text-align: center; color: var(--muted); font-size: .85rem;
         padding: 2rem 1rem; }
.tablewrap { overflow-x: auto; }
