/* The one stylesheet for every page on this site. Was previously kept in step
   with an inline copy in a published Claude artifact; that artifact was migrated
   onto this site on 2026-09-08, so this file is now the only source. */
:root{
  --ground:#E7E9E4; --surface:#F1F2EE; --surface-2:#DDE0DA;
  --ink:#151E1C; --ink-soft:#3E4A46; --muted:#6D7873;
  --line:#C6CBC3; --line-soft:#D6DAD3;
  --deep:#1C3936; --accent:#B87A24; --accent-soft:#EFE0C6;
  --font-display:'Archivo','Helvetica Neue',Arial,sans-serif;
  --font-body:'Source Serif 4',Georgia,'Times New Roman',serif;
  --font-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#101614; --surface:#18211F; --surface-2:#212B28;
    --ink:#E3E7E2; --ink-soft:#B4BDB8; --muted:#7E8A85;
    --line:#2C3835; --line-soft:#232E2B;
    --deep:#9FC4BE; --accent:#D9973F; --accent-soft:#3A2E19;
  }
}
:root[data-theme="dark"]{
  --ground:#101614; --surface:#18211F; --surface-2:#212B28;
  --ink:#E3E7E2; --ink-soft:#B4BDB8; --muted:#7E8A85;
  --line:#2C3835; --line-soft:#232E2B;
  --deep:#9FC4BE; --accent:#D9973F; --accent-soft:#3A2E19;
}

*{box-sizing:border-box}
body{
  margin:0; background:var(--ground); color:var(--ink);
  font-family:var(--font-body); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:900px; margin:0 auto; padding:0 26px 88px}
.mono{font-family:var(--font-mono)}

header{padding:56px 0 26px}
.eyebrow{font-family:var(--font-mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin:0}
h1{font-family:var(--font-display); font-size:clamp(32px,5vw,46px); font-weight:700; letter-spacing:-.03em; line-height:1.03; margin:12px 0 14px}
.lede{font-size:18px; color:var(--ink-soft); margin:0; max-width:60ch}

.sec{margin-bottom:56px}
.sec-head{display:flex; align-items:baseline; gap:14px; border-bottom:1px solid var(--ink); padding-bottom:9px; margin-bottom:6px}
.sec-head h2{font-family:var(--font-display); font-size:21px; font-weight:600; letter-spacing:-.015em; margin:0}
.sec-head .where{font-family:var(--font-mono); font-size:11px; color:var(--muted); margin-left:auto; letter-spacing:.06em}
.sec > p.note{font-size:14.5px; color:var(--muted); margin:0 0 22px; max-width:62ch}

a.item{
  display:grid; grid-template-columns:1fr auto; gap:6px 20px; align-items:baseline;
  padding:15px 14px 15px 0; border-bottom:1px solid var(--line-soft);
  text-decoration:none; color:inherit; position:relative;
  transition:background .12s, padding-left .12s;
}
a.item:hover, a.item:focus-visible{background:var(--surface); padding-left:14px; outline:none}
a.item:focus-visible{box-shadow:inset 2px 0 0 var(--accent)}
a.item:hover .t, a.item:focus-visible .t{color:var(--accent)}
.t{font-family:var(--font-display); font-size:17px; font-weight:600; letter-spacing:-.012em; transition:color .12s}
.d{grid-column:1; font-size:14.5px; color:var(--muted); line-height:1.45; margin:0; max-width:62ch}
.p{grid-row:1/3; grid-column:2; font-family:var(--font-mono); font-size:11px; color:var(--muted); white-space:nowrap; align-self:center; text-align:right}
.badge{
  font-family:var(--font-mono); font-size:9.5px; letter-spacing:.12em; text-transform:uppercase;
  border:1px solid var(--line); border-radius:2px; padding:2px 6px; color:var(--muted);
  margin-left:9px; vertical-align:1.5px; font-weight:500;
}
.badge.int{border-color:var(--accent); color:var(--accent)}

/* Rows for pages on this site carry more weight than the repo links below them:
   they are the reason to open the directory rather than GitHub. */
.primary a.item{padding:20px 14px 20px 0; border-bottom:1px solid var(--line)}
.primary .t{font-size:21px}
.primary .p{color:var(--accent)}

.btn{
  display:inline-block; font-family:var(--font-display); font-size:15px; font-weight:600;
  text-decoration:none; color:var(--ground); background:var(--deep);
  padding:11px 20px; border-radius:3px; border:1px solid var(--deep);
}
.btn:hover, .btn:focus-visible{background:var(--accent); border-color:var(--accent); outline:none}
.btn.quiet{background:transparent; color:var(--ink); border-color:var(--line)}
.btn.quiet:hover, .btn.quiet:focus-visible{background:var(--surface); color:var(--ink); border-color:var(--ink)}
.actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:28px}

/* --- status strip, shared with the directory page --- */
.status{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(196px,1fr));
  border-top:2px solid var(--ink); border-bottom:1px solid var(--line);
  margin:34px 0 60px;
}
.status div{padding:18px 20px 20px; border-right:1px solid var(--line-soft)}
.status div:last-child{border-right:0}
.status dt{font-family:var(--font-mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:7px}
.status dd{margin:0; font-family:var(--font-display); font-size:16px; font-weight:600; letter-spacing:-.01em; line-height:1.3}
.status dd span{display:block; font-family:var(--font-body); font-size:13.5px; font-weight:400; color:var(--muted); margin-top:3px; letter-spacing:0}
.status .live dd{color:var(--accent)}

.jump{display:flex; flex-wrap:wrap; gap:7px; margin:0 0 54px}
.jump a{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.04em; color:var(--ink-soft);
  text-decoration:none; border:1px solid var(--line); border-radius:2px; padding:5px 9px;
}
.jump a:hover, .jump a:focus-visible{border-color:var(--accent); color:var(--accent); outline:none}
.jump a.own{border-color:var(--accent); color:var(--accent)}
.jump a span{color:var(--muted); margin-left:5px}
.jump a.own span{color:var(--accent)}
.jump a:hover span{color:var(--accent)}

.sweep-head{
  font-family:var(--font-display); font-size:26px; font-weight:700; letter-spacing:-.022em;
  margin:8px 0 8px; padding-top:26px; border-top:2px solid var(--ink);
}
.sweep-note{font-size:14.5px; color:var(--muted); margin:0 0 42px; max-width:66ch; line-height:1.55}

/* --- shortlists --- */
.shortlist{
  background:var(--surface); border:1px solid var(--line);
  border-left:3px solid var(--accent); border-radius:3px;
  padding:22px 24px 8px; margin-bottom:24px;
}
.shortlist .sec-head{border-bottom-color:var(--line)}
.shortlist .sec-head .where{color:var(--accent)}
.shortlist .name{border-bottom-color:var(--line)}
.shortlist .name:last-child{border-bottom:0}
.shortlist .name .dom a{color:var(--muted); text-decoration:none; border-bottom:1px solid var(--line)}
.shortlist .name .dom a:hover, .shortlist .name .dom a:focus-visible{color:var(--accent); border-bottom-color:var(--accent); outline:none}
.note.empty{color:var(--muted); font-style:italic; margin:14px 0 18px}

/* --- screening table --- */
.tablewrap{overflow-x:auto; margin-top:18px}
table.screen{border-collapse:collapse; width:100%; min-width:720px; font-size:13.5px}
table.screen th{
  font-family:var(--font-mono); font-size:10px; letter-spacing:.13em; text-transform:uppercase;
  color:var(--muted); text-align:left; font-weight:500;
  border-bottom:2px solid var(--ink); padding:0 14px 8px 0; vertical-align:bottom;
}
table.screen td{
  padding:11px 14px 11px 0; border-bottom:1px solid var(--line-soft);
  color:var(--muted); line-height:1.45; vertical-align:top;
}
table.screen td.nm{
  font-family:var(--font-display); font-size:15px; font-weight:600;
  color:var(--ink); letter-spacing:-.01em; white-space:nowrap;
}
table.screen td.who{font-family:var(--font-mono); font-size:11px; white-space:nowrap}
table.screen td.vd{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.08em;
  text-transform:uppercase; white-space:nowrap;
}
table.screen tr.v-dead td.nm{color:var(--muted); text-decoration:line-through; text-decoration-thickness:1px}
table.screen tr.v-dead td.vd{color:var(--accent)}
table.screen tr.v-weak td.vd{color:var(--ink-soft)}
table.screen tr.v-clear td.vd{color:var(--deep); font-weight:700}
table.screen tr.v-clear td.nm{color:var(--deep)}
table.screen tr:last-child td{border-bottom:0}

.flag.v-clear{color:var(--deep); border-color:var(--deep); font-weight:700}
.flag.v-dead{color:var(--accent); border-color:var(--accent)}
.flag.v-weak{color:var(--ink-soft); border-color:var(--line)}
.flag.v-vetoed{color:var(--muted); border-color:var(--line)}

/* The chosen name. Violet sits outside the company palette on purpose, so the
   decision cannot be read as another verdict chip. Page-specific: deliberately
   not added to the shared token set at the top of this file. */
:root{--lead:#6D3BD4}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--lead:#B79BFF}}
:root[data-theme="dark"]{--lead:#B79BFF}
.flag.lead{background:var(--lead); border-color:var(--lead); color:var(--ground); font-weight:700}

.decided{border-left:3px solid var(--lead); padding:2px 0 2px 16px; margin:18px 0 22px; max-width:66ch}
.decided .flag.lead{margin-left:0}
.decided p{font-family:var(--font-display); font-size:22px; font-weight:600; letter-spacing:-.015em; margin:8px 0 0}
.decided strong{color:var(--lead)}
.decided .sub{font-family:var(--font-body); font-size:14px; font-weight:400; color:var(--muted); letter-spacing:0; line-height:1.55; margin-top:8px}

/* --- candidate lists --- */
.names{margin-top:14px}
.name{
  display:grid; grid-template-columns:170px 1fr; gap:3px 20px; align-items:baseline;
  padding:10px 0; border-bottom:1px solid var(--line-soft);
}
.name .n{font-family:var(--font-display); font-size:16px; font-weight:600; letter-spacing:-.012em}
.name.dead .n{display:flex; flex-wrap:wrap; align-items:baseline; gap:4px}
.name .why{font-size:14px; color:var(--muted); line-height:1.5}
.name .dom{display:block; font-family:var(--font-mono); font-size:11px; margin-top:3px}
.name .caution{display:block; margin-top:4px; font-size:13px; color:var(--accent)}
.name.dead .n{color:var(--muted); text-decoration:line-through; text-decoration-thickness:1px}
.flag{
  display:inline-block; font-family:var(--font-mono); font-size:9px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted); border:1px solid var(--line);
  border-radius:2px; padding:1px 5px; margin-left:8px; vertical-align:2px; font-weight:500;
}
.flag.pick{color:var(--accent); border-color:var(--accent)}

.steps{margin:18px 0 0; padding-left:20px; max-width:66ch}
.steps li{margin-bottom:10px; font-size:15px; color:var(--ink-soft); line-height:1.5}

.dead-block{margin:10px 0 56px; border-top:1px solid var(--ink); padding-top:14px}
.dead-block summary{
  font-family:var(--font-display); font-size:21px; font-weight:600; letter-spacing:-.015em;
  cursor:pointer; list-style:none;
}
.dead-block summary::-webkit-details-marker{display:none}
.dead-block summary::before{content:'+ '; color:var(--accent); font-family:var(--font-mono)}
.dead-block[open] summary::before{content:'- '}
.dead-block .count{font-family:var(--font-mono); font-size:12px; color:var(--muted); font-weight:400; margin-left:6px}

@media (max-width:640px){
  .status div{border-right:0; border-bottom:1px solid var(--line-soft)}
  .name{grid-template-columns:1fr}
}

/* --- sign-in and refusal pages --- */
.gate{max-width:60ch; padding:14vh 0 0}
.gate .mark{
  font-family:var(--font-mono); font-size:12px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--accent); display:inline-block; border:1px solid var(--accent);
  border-radius:2px; padding:3px 9px; margin-bottom:20px;
}
.gate h1{margin:0 0 18px; font-size:clamp(28px,4vw,38px)}
.gate .lede + .lede{margin-top:16px; font-size:16px; color:var(--muted)}
.gate .signed{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); margin:0 0 22px; display:flex; align-items:center; gap:9px; flex-wrap:wrap;
}
.gate .who{
  font-family:var(--font-mono); font-size:.86em; color:var(--ink);
  background:var(--surface-2); padding:2px 7px; border-radius:2px;
  border:1px solid var(--line-soft); white-space:nowrap;
  text-transform:none; letter-spacing:0;
}
.gate footer{margin-top:56px; border-top:1px solid var(--line-soft)}

footer{border-top:1px solid var(--line); padding-top:22px; font-family:var(--font-mono); font-size:11.5px; color:var(--muted); line-height:1.7}
footer code{background:var(--surface-2); padding:1px 5px; border-radius:2px; font-size:11px}
footer a{color:var(--muted); text-decoration:none; border-bottom:1px solid var(--line)}
footer a:hover, footer a:focus-visible{color:var(--accent); border-bottom-color:var(--accent); outline:none}

@media (max-width:640px){
  a.item{grid-template-columns:1fr}
  .p{grid-row:auto; grid-column:1; text-align:left; margin-top:2px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
