/* The FAQ and the tracker.
   index.html keeps its own styles inline and does not read this file: a page
   that is already live should not be able to break because a second file was
   forgotten on an upload. What these two pages share, they share here. */
:root{
  --concrete:#1b1f26; --concrete-2:#262c35; --concrete-3:#343c49;
  --chalk:#e8e4da; --soft:#c9c5bb; --mute:#8f959f;
  --sodium:#f0a53a; --sodium-hi:#ffb84f;
  --good:#8fd694; --bad:#ff8a70;
  --display:"Big Shoulders Display","Impact","Arial Narrow",sans-serif;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--concrete);color:var(--chalk);font-family:var(--serif);font-size:18px;line-height:1.6}
a{color:var(--sodium)}
a:focus-visible{outline:3px solid var(--sodium);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:900;line-height:.95;letter-spacing:-.01em;text-wrap:balance;margin:0}
p{margin:0 0 1.1em;max-width:68ch}
.wrap{width:min(1100px,calc(100% - 48px));margin:0 auto}

/* the bar, on every page */
.topbar{background:#12151a;border-bottom:1px solid var(--concrete-3);position:sticky;top:0;z-index:20}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0}
.topbar .brand{font-family:var(--display);font-weight:700;font-size:23px;color:var(--chalk);text-decoration:none;letter-spacing:.02em}
.topbar .brand:hover{color:var(--sodium)}
.topbar .links{display:flex;gap:10px}
.pill{display:inline-block;background:var(--sodium);color:#1a1300;font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:.02em;padding:7px 15px 5px;border-radius:3px;text-decoration:none;white-space:nowrap}
.pill:hover{background:var(--sodium-hi)}
.pill.ghost{background:transparent;color:var(--sodium);box-shadow:inset 0 0 0 2px var(--sodium)}
.pill.ghost:hover{background:rgba(240,165,58,.14)}

/* page head */
.head{padding:60px 0 30px;border-bottom:1px solid var(--concrete-3)}
.head h1{font-size:clamp(54px,9vw,104px)}
.head .kicker{font-family:var(--display);font-weight:700;font-size:22px;color:var(--sodium);letter-spacing:.02em;margin:0 0 10px}
.head .lede{font-size:20px;color:var(--soft);max-width:60ch;margin:18px 0 0}

main{padding:38px 0 70px}
h2{font-size:clamp(32px,4.4vw,50px);margin:52px 0 6px}
h2:first-of-type{margin-top:10px}

/* contents */
.toc{background:var(--concrete-2);border:1px solid var(--concrete-3);border-radius:4px;padding:20px 24px;margin:0 0 20px}
.toc h2{font-size:22px;margin:0 0 10px}
.toc ul{list-style:none;margin:0;padding:0;columns:2;column-gap:36px}
.toc li{margin:0 0 7px;break-inside:avoid}
.toc a{text-decoration:none;border-bottom:1px solid transparent}
.toc a:hover{border-bottom-color:var(--sodium)}

/* a question */
.q{border-top:1px solid var(--concrete-3);padding:22px 0 4px}
.q h3{font-size:25px;margin:0 0 10px;scroll-margin-top:80px}
.q h3 a{color:inherit;text-decoration:none}
.q h3 a:hover{color:var(--sodium)}
.q p:last-child{margin-bottom:.4em}
.q ul{max-width:68ch;color:var(--soft)}
.q li{margin:0 0 .4em}
code{font-family:ui-monospace,Consolas,monospace;font-size:.88em;background:#12151a;border:1px solid var(--concrete-3);border-radius:3px;padding:1px 5px}

/* the tracker */
.bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 26px}
.filters{display:flex;gap:8px}
.filters button{font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:.02em;padding:6px 14px 4px;border-radius:3px;border:0;cursor:pointer;background:var(--concrete-2);color:var(--soft);box-shadow:inset 0 0 0 1px var(--concrete-3)}
.filters button[aria-pressed=true]{background:var(--sodium);color:#1a1300;box-shadow:none}
.issues{list-style:none;margin:0;padding:0}
.issue{border-top:1px solid var(--concrete-3);padding:16px 0;display:grid;grid-template-columns:96px 1fr auto;gap:18px;align-items:baseline}
.issue .ref{font-family:ui-monospace,Consolas,monospace;font-size:15px;color:var(--mute)}
.issue .title{font-size:19px;margin:0}
.issue .note{font-size:16px;color:var(--soft);margin:6px 0 0;max-width:70ch}
.tag{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px 2px;border-radius:3px;white-space:nowrap}
.tag.open{background:rgba(240,165,58,.16);color:var(--sodium-hi)}
.tag.new{background:rgba(143,149,159,.16);color:var(--soft)}
.tag.done{background:rgba(143,214,148,.14);color:var(--good)}
.tag.closed{background:rgba(143,149,159,.12);color:var(--mute)}
.empty{color:var(--mute);padding:26px 0;border-top:1px solid var(--concrete-3)}
.checked{font-size:14px;color:var(--mute);margin-top:26px}

.callout{background:var(--concrete-2);border-left:4px solid var(--sodium);border-radius:0 4px 4px 0;padding:20px 24px;margin:30px 0}
.callout p:last-child{margin-bottom:0}

footer{padding:30px 0 46px;font-size:14px;color:var(--mute);border-top:1px solid var(--concrete-3)}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer a{color:var(--mute)}

@media (max-width:760px){
  body{font-size:17px}
  .toc ul{columns:1}
  .issue{grid-template-columns:1fr;gap:6px}
  .topbar .brand{font-size:20px}
}
