
:root{
  --ground:#EDF0F2; --surface:#FFFFFF; --ink:#12161C; --ink-2:#48525E; --ink-3:#7A8491;
  --line:#D5DBE1; --ethyl:#C8301F; --ethyl-soft:#F7E1DC; --ozone:#2F6E8F; --ozone-soft:#DDEBF2;
  --amber:#9A6A00; --amber-soft:#F5EACB; --tile:#12161C; --tile-ink:#EDF0F2;
  --display:"Big Shoulders Display", "Arial Narrow", Impact, sans-serif;
  --sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --ground:#0E1216; --surface:#161C22; --ink:#E6EAEE; --ink-2:#A7B1BC; --ink-3:#7D8894;
    --line:#29323B; --ethyl:#F0624F; --ethyl-soft:#3A1C18; --ozone:#78B7D6; --ozone-soft:#16303D;
    --amber:#E3B04B; --amber-soft:#342911; --tile:#E6EAEE; --tile-ink:#0E1216;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --ground:#0E1216; --surface:#161C22; --ink:#E6EAEE; --ink-2:#A7B1BC; --ink-3:#7D8894;
  --line:#29323B; --ethyl:#F0624F; --ethyl-soft:#3A1C18; --ozone:#78B7D6; --ozone-soft:#16303D;
  --amber:#E3B04B; --amber-soft:#342911; --tile:#E6EAEE; --tile-ink:#0E1216;
}
*{box-sizing:border-box}
body{background:var(--ground);color:var(--ink);font:15px/1.55 var(--sans);padding:0 16px}
.wrap{max-width:880px;margin:0 auto;padding-block:32px 72px;display:flex;flex-direction:column;gap:36px}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ozone);outline-offset:2px}
a{color:var(--ozone)}

/* masthead */
.mast{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:end;border-bottom:3px solid var(--ink);padding-bottom:20px}
.element{width:104px;aspect-ratio:1;max-width:100%;background:var(--tile);color:var(--tile-ink);display:grid;grid-template-rows:auto 1fr auto;padding:8px 10px;font-family:var(--mono)}
.element .n{font-size:12px}
.element .sym{font:900 46px/1 var(--display);align-self:center}
.element .w{font-size:10px;letter-spacing:.04em}
.mast h1{font:900 clamp(44px,8vw,76px)/.9 var(--display);letter-spacing:.005em;margin:0;text-transform:uppercase;text-wrap:balance}
.mast p{margin:10px 0 0;font:500 13px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ethyl)}

.charter{display:grid;grid-template-columns:1.25fr 1fr;gap:28px}
.charter blockquote{margin:0;font-size:19px;line-height:1.5;max-width:40ch}
.charter blockquote em{font-style:normal;background:linear-gradient(transparent 62%,var(--ethyl-soft) 62%)}
.rules{display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--ink-2)}
.rules h2,.label{font:500 11px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:0}
.rules ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.rules strong{color:var(--ink)}
.question{border-left:3px solid var(--ozone);padding:4px 0 4px 16px;font-size:15px;color:var(--ink-2);max-width:62ch}
.question b{color:var(--ink)}

/* toolbar */
.bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px}
.seg{display:inline-flex;border:1px solid var(--line);background:var(--surface)}
.seg button{border:0;background:none;padding:7px 14px;cursor:pointer;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--ground)}
.bar select{border:1px solid var(--line);background:var(--surface);padding:7px 10px;font-size:13px;max-width:100%}
.primary{background:var(--ethyl);color:#fff;border:0;padding:10px 16px;font:600 14px var(--sans);cursor:pointer}
.primary:disabled{opacity:.5;cursor:default}
.ghost{background:none;border:1px solid var(--line);padding:9px 14px;cursor:pointer;font-size:14px}

/* form */
form.nominate{background:var(--surface);border:1px solid var(--line);padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
form.nominate h3{grid-column:1/-1;margin:0;font:800 28px/1 var(--display);text-transform:uppercase}
form.nominate .hint{grid-column:1/-1;margin:-6px 0 0;color:var(--ink-2);font-size:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--ground);padding:9px 11px;font-size:15px;width:100%}
.field textarea{min-height:76px;resize:vertical}
.field small{color:var(--ink-3);font-size:12px}
.actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.msg{font-size:13px;color:var(--ethyl)}

/* list */
.list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--ink)}
.nom{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
.vote{display:flex;flex-direction:column;align-items:center;gap:8px}
.tile{width:64px;aspect-ratio:1;background:var(--surface);border:1.5px solid var(--ink);display:grid;grid-template-rows:auto 1fr;padding:4px 6px;font-family:var(--mono)}
.tile .n{font-size:10px;color:var(--ink-3)}
.tile .sym{font:800 28px/1 var(--display);align-self:center;justify-self:center}
.nom.top .tile{background:var(--tile);color:var(--tile-ink);border-color:var(--tile)}
.nom.top .tile .n{color:inherit;opacity:.7}
.up{display:flex;flex-direction:column;align-items:center;gap:0;border:1px solid var(--line);background:var(--surface);width:64px;padding:5px 0 4px;cursor:pointer}
.up svg{width:14px;height:14px}
.up .c{font:500 15px var(--mono);font-variant-numeric:tabular-nums}
.up[aria-pressed="true"]{background:var(--ethyl);border-color:var(--ethyl);color:#fff}
.up:disabled{cursor:default;opacity:.7}
.body{min-width:0;display:flex;flex-direction:column;gap:10px}
.head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.head h3{margin:0;font:800 30px/1 var(--display);text-transform:uppercase;letter-spacing:.01em}
.head .yrs{font:400 13px var(--mono);color:var(--ink-3)}
.work{font-size:16px;font-weight:600;margin:0}
.ledger{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:14.5px;max-width:68ch}
.ledger dt{font:500 11px/1.9 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.ledger dt.s{color:var(--ozone)} .ledger dt.b{color:var(--ethyl)} .ledger dt.f{color:var(--ink-3)}
.ledger dd{margin:0;color:var(--ink-2);overflow-wrap:anywhere}
.meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px}
.chip{font:500 11px var(--mono);letter-spacing:.05em;text-transform:uppercase;padding:3px 7px;border:1px solid var(--line);color:var(--ink-2);background:var(--surface)}
.chip.k-knowable{background:var(--ethyl-soft);border-color:transparent;color:var(--ethyl)}
.chip.k-unforeseeable{background:var(--ozone-soft);border-color:transparent;color:var(--ozone)}
.chip.k-mixed,.chip.k-contested{background:var(--amber-soft);border-color:transparent;color:var(--amber)}
.by{color:var(--ink-3)}
.toggle{background:none;border:0;padding:0;color:var(--ozone);cursor:pointer;font:500 12px var(--mono);letter-spacing:.04em;text-transform:uppercase}
.thread{display:flex;flex-direction:column;gap:12px;border-left:2px solid var(--line);padding-left:14px;margin-top:4px}
.cm{display:flex;flex-direction:column;gap:2px;font-size:14px}
.cm .who{font:500 12px var(--mono);color:var(--ink-3)}
.cm p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.reply{display:flex;gap:8px;flex-wrap:wrap}
.reply textarea{flex:1 1 240px;min-height:44px;border:1px solid var(--line);background:var(--surface);padding:8px 10px;font-size:14px;resize:vertical}
.empty,.notice{color:var(--ink-3);font-size:14px;padding:18px 0}
.notice{border:1px dashed var(--line);padding:12px 14px}
footer{font-size:12px;color:var(--ink-3);font-family:var(--mono)}

@media (max-width:640px){
  .charter{grid-template-columns:1fr}
  form.nominate{grid-template-columns:1fr;padding:16px}
  .mast{grid-template-columns:1fr}
  .element{width:84px}
  .nom{grid-template-columns:52px 1fr;gap:12px}
  .tile,.up{width:52px}
  .tile .sym{font-size:22px}
  .head h3{font-size:26px}
}
@media (prefers-reduced-motion:no-preference){ .nom{transition:background .2s} }
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.reply input{flex:0 1 160px;min-width:0;border:1px solid var(--line);background:var(--surface);padding:8px 10px;font-size:14px}

/* ---- v2 additions ---- */
html{color-scheme:light}
body{margin:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
[hidden]{display:none!important}
img{max-width:100%}
.mast a{color:inherit;text-decoration:none}
.filters{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.filters select{flex:1 1 150px;min-width:0;border:1px solid var(--line);background:var(--surface);padding:7px 10px;font-size:13px}
.bar .count{font:500 12px var(--mono);color:var(--ink-3);letter-spacing:.04em}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.checks label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--ground);padding:6px 10px;font-size:13px;cursor:pointer}
.checks input{margin:0;accent-color:var(--ethyl)}
fieldset.field{border:0;padding:0;margin:0;min-width:0}
fieldset.field legend{padding:0;margin-bottom:6px}
.ledger dt.x{color:var(--amber)}
.ledger dd a{color:var(--ozone)}
.chip.award{background:var(--ink);color:var(--ground);border-color:var(--ink)}
.linkish{background:none;border:0;padding:0;color:var(--ink-3);cursor:pointer;font:500 12px var(--mono);letter-spacing:.04em;text-transform:uppercase}
.linkish:hover{color:var(--ink)}
.cm .tools{display:flex;gap:12px}
.nom.flash{background:var(--amber-soft)}
.thanks{background:var(--ozone-soft);color:var(--ink);padding:14px 16px;font-size:14px}
.subscribe{display:grid;grid-template-columns:1fr auto;gap:12px 20px;align-items:end;border:1.5px solid var(--ink);padding:20px;background:var(--surface)}
.subscribe h2{margin:0;font:800 26px/1 var(--display);text-transform:uppercase}
.subscribe p{margin:6px 0 0;color:var(--ink-2);font-size:14px}
.subscribe form{display:flex;gap:8px;flex-wrap:wrap}
.subscribe input[type=email]{flex:1 1 220px;min-width:0;border:1px solid var(--line);background:var(--ground);padding:9px 11px;font-size:15px}
.subscribe .msg{grid-column:1/-1}
.ts{min-height:0}
nav.foot{display:flex;flex-wrap:wrap;gap:6px 18px;font:500 12px var(--mono);letter-spacing:.04em;text-transform:uppercase;border-top:1px solid var(--line);padding-top:16px}
nav.foot a{color:var(--ink-2);text-decoration:none}
nav.foot a:hover{color:var(--ink)}
nav.foot span{color:var(--ink-3);text-transform:none;letter-spacing:0}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--ground);padding:10px 16px;font-size:14px;z-index:10;max-width:calc(100% - 32px)}
/* document pages */
.doc{max-width:680px}
.doc h1{font:900 clamp(40px,7vw,60px)/.95 var(--display);text-transform:uppercase;margin:0}
.doc h2{font:800 24px/1.1 var(--display);text-transform:uppercase;margin:28px 0 8px}
.doc p,.doc li{font-size:16px;color:var(--ink-2)}
.doc li{margin-bottom:6px}
.doc strong{color:var(--ink)}
.doc .updated{font:500 12px var(--mono);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}
@media (max-width:640px){ .subscribe{grid-template-columns:1fr} }
.wiki{margin:-4px 0 0;font:500 12px var(--mono);letter-spacing:.02em;color:var(--ink-3)}
.wiki a{color:var(--ozone)}
/* memorial to the namesake */
.memorial{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;background:var(--tile);color:var(--tile-ink);padding:22px;text-decoration:none}
.memorial .element{background:var(--ethyl);color:#fff}
.memorial .label{color:inherit;opacity:.7;margin:0 0 6px}
.memorial h2{margin:0 0 8px;font:800 30px/1 var(--display);text-transform:uppercase}
.memorial p{margin:0;font-size:15px;max-width:62ch;opacity:.9}
.memorial .more{display:inline-block;margin-top:12px;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid currentColor}
.memorial:hover .more{opacity:.8}
.charter .lede{font-size:19px;line-height:1.5;margin:8px 0 0;max-width:40ch}
.doc .figure{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin:8px 0 4px}
.doc .citation{border:1.5px solid var(--ink);background:var(--surface);padding:16px 18px;margin:18px 0}
.doc .citation p{margin:0;color:var(--ink)}
.doc .citation .label{margin-bottom:6px}
@media (max-width:640px){ .memorial{grid-template-columns:1fr;padding:18px} .memorial .element{width:84px} }

/* ---- v3: site header and footer, shared by every page ---- */
.site-head{border-bottom:1px solid var(--line);background:var(--surface);margin:0 -16px;padding:0 16px}
.site-head-in{max-width:880px;margin:0 auto;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between;padding:10px 0}
.site-head .brand{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;font:800 18px/1 var(--display);text-transform:uppercase;letter-spacing:.02em}
.site-head .mini{display:inline-grid;place-items:center;width:28px;height:28px;background:var(--tile);color:var(--tile-ink);font:900 16px/1 var(--display);text-transform:none}
.site-head nav{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.site-head nav a{color:var(--ink-2);text-decoration:none}
.site-head nav a:hover{color:var(--ink)}
.site-head .micro-btn{background:var(--ethyl);color:#fff;padding:7px 10px}
.site-head .micro-btn:hover{color:#fff;opacity:.9}
.site-foot{display:flex;flex-direction:column;gap:16px;border-top:1px solid var(--line);padding-top:20px}
.site-foot-in{display:flex;flex-direction:column;gap:14px}
.oops-mini label{display:block;font-size:14px;color:var(--ink-2);margin-bottom:8px}
.oops-mini label b{color:var(--ink);font:800 18px/1 var(--display);text-transform:uppercase;margin-right:6px}
.oops-mini .row{display:flex;gap:8px;flex-wrap:wrap}
.oops-mini input[type=email]{flex:1 1 220px;min-width:0;border:1px solid var(--line);background:var(--surface);padding:9px 11px;font-size:15px}
.msg.ok{color:var(--ozone)}
.socials{display:flex;flex-wrap:wrap;gap:6px 16px;font:500 12px var(--mono);letter-spacing:.04em;text-transform:uppercase}
.socials a{color:var(--ink-2)}
.runby{margin:0;font-size:13px;color:var(--ink-3)}
.placeholder{color:var(--amber);background:var(--amber-soft);padding:2px 6px;font-size:13px}
.crumbs{margin:0;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.pagehead h1{font:900 clamp(40px,7vw,60px)/.95 var(--display);text-transform:uppercase;margin:6px 0 0}
.pagehead .label a{color:inherit}
.btn{display:inline-block;text-decoration:none}

/* feature flags: parts that only show when a feature is on */
body:not([data-flags~="scores"]) [data-needs="scores"],
body:not([data-flags~="categories"]) [data-needs="categories"]{display:none}

/* categories */
.cats{display:flex;flex-wrap:wrap;gap:8px}
.catchip{font:500 12px var(--mono);letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);text-decoration:none}
.catchip span{color:var(--ink-3)}
.catchip[aria-current="true"]{background:var(--ink);border-color:var(--ink);color:var(--ground)}
.catchip[aria-current="true"] span{color:inherit;opacity:.7}
a.chip.cat{text-decoration:none}
.head h3 a{color:inherit;text-decoration:none}
.head h3 a:hover{text-decoration:underline}

/* scores */
.scores{display:flex;gap:10px;flex-wrap:wrap}
.score{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-decoration:none;color:var(--ink);border:1px solid var(--line);background:var(--surface);padding:6px 10px}
.score .label{grid-column:1/-1;font:500 10px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.score .num{font:800 26px/1 var(--display);font-variant-numeric:tabular-nums}
.score .num.none{color:var(--ink-3)}
.score .sub{font:400 11px var(--mono);color:var(--ink-3)}
.score .band{grid-column:2;font:500 10px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.score .band + .sub{grid-column:1/-1}
.scores.large .score{padding:12px 16px;min-width:180px}
.scores.large .num{font-size:52px}
.band{display:inline-block;padding:2px 6px;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.b-certified{background:var(--ethyl);color:#fff}
.b-big{background:var(--ethyl-soft);color:var(--ethyl)}
.b-fine{background:var(--ozone-soft);color:var(--ozone)}
.herdvote{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.herdvote .q{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.herdvote button{border:1px solid var(--line);background:var(--surface);padding:6px 14px;cursor:pointer;font:600 13px var(--sans)}
.herdvote button[data-vote="yes"][aria-pressed="true"]{background:var(--ethyl);border-color:var(--ethyl);color:#fff}
.herdvote button[data-vote="no"][aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--ground)}

/* a nominee's own page */
.list.single{border-top:0}
.nom.full{border-bottom:0}
.nom.full h1{margin:0;font:900 clamp(40px,7vw,60px)/.95 var(--display);text-transform:uppercase}
.nom.full .work{font-size:18px}
.writeup{display:flex;flex-direction:column;gap:18px;max-width:68ch}
.writeup h2{margin:0 0 4px;font:800 22px/1.1 var(--display);text-transform:uppercase}
.writeup p{margin:0;color:var(--ink-2);font-size:16px}
.writeup ul{margin:0;padding-left:18px;color:var(--ink-2)}

/* goat and shop */
.goat,.product{display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:24px;align-items:start}
.goat-photo,.tee{aspect-ratio:1;background:var(--surface);border:1.5px dashed var(--line);display:grid;place-items:center;color:var(--ink-3);font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.06em;text-align:center;padding:12px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.stats div{border:1px solid var(--line);background:var(--surface);padding:10px}
.stats dt{font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.stats dd{margin:4px 0 0;font:800 26px/1 var(--display)}
.product h2{margin:0 0 6px}
.price{font:800 32px/1 var(--display)}
.product .primary{padding:12px 22px}
@media (max-width:640px){
  .goat,.product{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .site-head-in{justify-content:flex-start}
}
img.goat-photo,img.tee{display:block;width:100%;height:auto;aspect-ratio:auto;border:0;padding:0;background:none}
img.goat-photo{background:var(--surface);border:1px solid var(--line);image-rendering:pixelated}
.oops-mini p{margin:0 0 8px;font-size:14px;color:var(--ink-2)}
.oops-mini p b{color:var(--ink);font:800 18px/1 var(--display);text-transform:uppercase;margin-right:6px}
.beehiiv-embed{min-height:52px;max-width:520px}
#waitlist-embed iframe{display:block;border:0}
.subscribe{grid-template-columns:1fr}
.beehiiv-embed{max-width:420px;margin-left:-40px}
@media (max-width:640px){ .beehiiv-embed{margin-left:-24px} }
/* Beehiiv's frame centers a 46px form in about 207px of space; show just the form. */
.beehiiv-embed{height:80px;overflow:hidden}
.beehiiv-embed iframe{margin-top:-64px!important}

/* ---- the periodic table of backfires: element tiles ---- */
.el{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto auto;width:88px;aspect-ratio:1;padding:6px 7px;background:var(--base);color:#fff;font-family:var(--mono);line-height:1.1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.el-num{font-size:11px;font-weight:500}
.el-mass{font-size:11px;text-align:right;opacity:.85}
.el-sym{grid-column:1/-1;align-self:center;justify-self:center;font:900 34px/1 var(--display)}
.el-name{grid-column:1/-1;justify-self:center;font-size:9px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.el-group{grid-column:1/-1;justify-self:center;font-size:7px;letter-spacing:.04em;text-transform:uppercase;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.el.lg{width:200px;padding:12px 14px}
.el.lg .el-num,.el.lg .el-mass{font-size:20px}
.el.lg .el-sym{font-size:88px}
.el.lg .el-name{font-size:16px}
.el.lg .el-group{font-size:11px}
.el.sm{width:76px}
.el.sm .el-sym{font-size:28px}

/* ---- the table ---- */
.ptable{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;align-items:start}
.pt-col{display:flex;flex-direction:column;gap:6px;min-width:0}
.pt-head{margin:0;min-height:30px;font:500 9px/1.2 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--base);border-top:3px solid var(--base);padding-top:4px}
.pt-col a{text-decoration:none;display:block}
.pt-col .el{width:100%}
.pt-col a:hover .el{outline:2px solid var(--ink);outline-offset:1px}

/* ---- carousel: square cards, like an Instagram post ---- */
.carousel{--cc:min(560px,calc(100vw - 32px));width:var(--cc);max-width:100%;container-type:inline-size}
.cc-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:0;outline:none}
.cc-track::-webkit-scrollbar{display:none}
.cc{position:relative;flex:0 0 100%;aspect-ratio:1;scroll-snap-align:start;overflow:hidden;background:var(--deep);color:#fff;display:flex;flex-direction:column;font-size:clamp(12px,3.1cqi,17px)}
.cc-foot{position:absolute;left:5.5%;right:5.5%;bottom:3.5%;display:flex;justify-content:space-between;font:500 .7em var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--light);opacity:.8}
.cc-body{position:relative;padding:6% 5.5% 12%;display:flex;flex-direction:column;gap:.7em}
.cc-label{margin:0;font:500 .72em var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--light)}
.cc-label span{display:inline-block;background:var(--base);color:#fff;padding:.15em .45em;margin-right:.4em}
.cc-title{margin:0;font:900 2.3em/.95 var(--display);text-transform:uppercase;text-wrap:balance}
.cc-text{margin:0;font-size:.95em;line-height:1.45;color:rgba(255,255,255,.88);max-width:46ch}
.cc-stat{margin:0;font:500 .8em var(--mono);color:var(--light);text-transform:uppercase;letter-spacing:.06em}
.cc-stat b{display:block;font:900 2.6em/1 var(--display);color:#fff;letter-spacing:0}
.cc-chip{align-self:flex-start;background:var(--light);color:var(--deep);font:500 .7em var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:.3em .6em}
/* image cards: photo on top, tinted toward the category jewel */
.cc-img{position:relative;margin:0;height:46%;flex:0 0 46%;background:var(--base);overflow:hidden}
.cc-img img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.1);mix-blend-mode:luminosity;opacity:.9}
.cc-img::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,var(--deep))}
.cc-img figcaption{position:absolute;right:4%;top:4%;max-width:70%;z-index:1;font:400 .55em/1.3 var(--mono);color:#fff;background:rgba(0,0,0,.45);padding:.3em .5em;text-align:right}
.cc.has-img .cc-body{padding-top:2%}
.cc-oops .cc-img img{filter:none;mix-blend-mode:normal;opacity:1}
/* hook card */
.cc-hook{padding:5.5%;justify-content:flex-start;gap:.6em;background:radial-gradient(120% 90% at 100% 100%,var(--base) 0%,var(--deep) 60%)}
.cc-portrait{position:absolute;right:-6%;bottom:0;width:58%;height:78%;margin:0;opacity:.55;mix-blend-mode:screen}
.cc-portrait img{width:100%;height:100%;object-fit:cover;object-position:left top;filter:grayscale(1) invert(1) contrast(1.4) brightness(.9)}
.cc-hook-top{position:relative;display:flex;gap:1em;align-items:flex-start}
.cc-hook .el.lg{width:36%;min-width:110px;box-shadow:0 .6em 1.6em rgba(0,0,0,.35)}
.cc-hook .el.lg .el-sym{font-size:clamp(44px,15cqi,88px)}
.cc-hook .el.lg .el-num,.cc-hook .el.lg .el-mass{font-size:clamp(11px,3.4cqi,20px)}
.cc-hook .el.lg .el-name{font-size:clamp(9px,2.7cqi,16px)}
.cc-hook .el.lg .el-group{font-size:clamp(7px,1.9cqi,11px)}
.cc-kicker{margin:0;font:500 .72em/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--light)}
.cc-headline{position:relative;margin:auto 0 0;font:900 4.6em/.86 var(--display);text-transform:uppercase;max-width:9ch}
.cc-dek{position:relative;margin:0 0 7%;max-width:30ch;font-size:1em;line-height:1.4;color:rgba(255,255,255,.9)}
.cc-swipe{position:absolute;right:5.5%;top:5.5%;margin:0;font:500 .7em var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--light)}
.cc-swipe span{display:inline-block;animation:cc-nudge 1.6s ease-in-out infinite}
@keyframes cc-nudge{50%{transform:translateX(.4em)}}
@media (prefers-reduced-motion:reduce){.cc-swipe span{animation:none}}
/* typographic cards */
.cc.no-img .cc-body{flex:1;justify-content:center}
.cc-pattern{background:var(--base)}
.cc-pattern .cc-title{font-size:4em}
.cc-pattern .cc-label span{background:var(--deep)}
.cc-gotright .cc-title,.cc-foresight .cc-title{font-size:3em}
/* payoff */
.cc-payoff{background:linear-gradient(160deg,var(--deep) 0%,var(--deep) 55%,var(--base) 100%)}
.cc-payoff .cc-body{flex:1;justify-content:center}
.cc-scores{display:grid;grid-template-columns:1fr 1fr;gap:.6em;margin:.4em 0 .8em}
.cc-scores div{border:1px solid rgba(255,255,255,.25);padding:.6em .7em;display:flex;flex-direction:column;gap:.1em}
.cc-scores .k{font:500 .62em var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--light)}
.cc-scores b{font:900 3em/1 var(--display)}
.cc-scores .s{font:400 .6em var(--mono);color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.05em}
.cc-payoff .cc-title{font-size:2.6em}
.cc-cta{margin:0;font-size:.95em;color:rgba(255,255,255,.9)}
.cc-cta b{display:inline-block;margin-top:.3em;background:var(--light);color:var(--deep);padding:.2em .5em;font-weight:600}
.cc-cta2{margin:0;font:500 .7em var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--light)}
/* controls */
.cc-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.cc-nav button{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;cursor:pointer;font-size:18px}
.cc-nav button:disabled{opacity:.35;cursor:default}
.cc-dots{display:flex;gap:6px}
.cc-dots i{width:7px;height:7px;border-radius:50%;background:var(--line)}
.cc-dots i.on{background:var(--base)}
.lab{display:flex;flex-direction:column;gap:28px}
.lab .note{color:var(--ink-2);font-size:14px;max-width:62ch}
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.swatch{display:grid;grid-template-rows:56px auto;border:1px solid var(--line);background:var(--surface);font:500 11px/1.4 var(--mono)}
.swatch .bar{display:grid;grid-template-columns:2fr 1fr 1fr}
.swatch p{margin:0;padding:6px 8px}
.swatch .bar span{display:block}
.cc-portrait img{object-position:30% 20%}
.cc-also{margin:.2em 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35em;font:500 .7em/1.35 var(--mono);color:var(--light);text-transform:uppercase;letter-spacing:.04em}
.cc-also li::before{content:"+ ";color:#fff}
.cc.no-img::before{content:attr(data-sym);position:absolute;right:-4%;bottom:-10%;font:900 22em/1 var(--display);color:#fff;opacity:.06;pointer-events:none}
.cc-pattern.no-img::before{opacity:.12;color:var(--deep)}
.cc-scale{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin:.3em 0}
.cc-scale span{font:500 .62em var(--mono);letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:.6em .2em;background:rgba(255,255,255,.08);color:rgba(255,255,255,.55)}
.cc-scale span.on{background:var(--light);color:var(--deep)}
.cc-oops .cc-img{height:38%;flex-basis:38%}
.cc{font-size:3.1cqi}

/* ---- element tile v2: one symbol, four numbers, one word ---- */
.el{grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto auto}
.el-num{grid-column:1;grid-row:1}
.el-year{grid-column:2;grid-row:1;text-align:right;font-size:11px;opacity:.9}
.el-sym{grid-column:1/-1;grid-row:2}
.el-name{grid-column:1/-1;grid-row:3}
.el-lag{grid-column:1;grid-row:4;font-size:10px;opacity:.85}
.el-reach{grid-column:2;grid-row:4;font-size:10px;text-align:right;opacity:.85}
.el.lg .el-year,.el.lg .el-lag,.el.lg .el-reach{font-size:18px}
.el.sm .el-year,.el.sm .el-lag,.el.sm .el-reach{font-size:9px}
.cc-hook .el.lg .el-year,.cc-hook .el.lg .el-lag,.cc-hook .el.lg .el-reach{font-size:clamp(9px,3cqi,18px)}
.el-group{display:none}
/* key */
.el-key{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
.el-key .el.lg{width:180px}
.el-key dl{margin:0;display:flex;flex-direction:column;gap:8px}
.el-key dl div{display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:baseline}
.el-key dt{font:800 20px/1 var(--display);color:var(--base);text-align:right}
.el-key dt.sw{width:18px;height:18px;justify-self:end;background:var(--base)}
.el-key dd{margin:0;font-size:14px;color:var(--ink-2)}
.el-key dd b{color:var(--ink)}
/* the key as a carousel card */
.cc-key .cc-body{flex:1;justify-content:center;gap:1em}
.cc-key .el-key{gap:1.2em}
.cc-key .el-key .el.lg{width:30cqi;min-width:0}
.cc-key .el-key .el.lg .el-sym{font-size:12cqi}
.cc-key .el-key .el.lg .el-num,.cc-key .el-key .el.lg .el-year,.cc-key .el-key .el.lg .el-lag,.cc-key .el-key .el.lg .el-reach{font-size:2.6cqi}
.cc-key .el-key .el.lg .el-name{font-size:2.2cqi}
.cc-key .el-key dl{gap:.55em}
.cc-key .el-key dl div{grid-template-columns:4.2em 1fr;gap:.6em}
.cc-key .el-key dt{font-size:1.3em;color:var(--light)}
.cc-key .el-key dt.sw{width:1em;height:1em;background:var(--base);box-shadow:0 0 0 1px var(--light)}
.cc-key .el-key dd{font-size:.78em;color:rgba(255,255,255,.85);line-height:1.35}
.cc-key .el-key dd b{color:#fff}
/* table headers carry the group number */
.pt-head b{display:block;font:900 18px/1 var(--display);color:var(--base)}
/* provenance */
.prov{width:100%;border-collapse:collapse;font-size:13px}
.prov th{text-align:left;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);padding:6px 8px 6px 0}
.prov td{border-bottom:1px solid var(--line);padding:8px 8px 8px 0;vertical-align:top}
.prov small{color:var(--ink-3)}
/* swatches: show the colors */
.swatch .bar{height:56px}
.swatch .bar span{display:block;height:100%}
@media (max-width:640px){ .el-key{grid-template-columns:1fr} }

/* ---- element tile v3: helped and harmed ---- */
.el-up{grid-column:1;grid-row:4;font-size:10px}
.el-down{grid-column:2;grid-row:4;font-size:10px;text-align:right}
.el-up i,.el-down i{font-style:normal;font-size:.75em;margin-right:.2em;opacity:.8}
.el.lg .el-up,.el.lg .el-down{font-size:18px}
.el.sm .el-up,.el.sm .el-down{font-size:9px}
.cc-hook .el.lg .el-up,.cc-hook .el.lg .el-down{font-size:clamp(9px,3cqi,18px)}
.cc-key .el-key .el.lg .el-up,.cc-key .el-key .el.lg .el-down{font-size:2.6cqi}
.el-key dt{white-space:nowrap}
.el-key dt i{font-style:normal;font-size:.6em;margin-right:.15em;vertical-align:.2em}
.el-key dt .sw{display:inline-block;width:.8em;height:.8em;background:var(--base);margin-right:.25em;vertical-align:0}
.cc-key .el-key dt .sw{box-shadow:0 0 0 1px var(--light)}
/* Beehiiv's frame paints itself white on a dark page unless it uses the light scheme like its content does */
.beehiiv-embed iframe{color-scheme:light}
.cc-key .el-key dl div{grid-template-columns:5.2em 1fr}
.el-key dl div{grid-template-columns:64px 1fr}

/* ---- tile v4: corner numbers in small boxes, group number top left ---- */
.el-num,.el-year,.el-up,.el-down{justify-self:start;align-self:start;border:1px solid rgba(255,255,255,.55);padding:.12em .32em;line-height:1.15}
.el-year,.el-down{justify-self:end}
.el-up,.el-down{align-self:end}
.el-num{min-width:1.6em;aspect-ratio:1;display:grid;place-items:center;padding:0}
/* bigger small type: these cards get shrunk to phone width */
.cc-kicker{font-size:.95em;line-height:1.5}
.cc-label,.cc-swipe{font-size:.85em}
.cc-foot{font-size:.8em}
.cc-also{font-size:.82em}
.cc-img figcaption{font-size:.62em}
.cc-scores .k,.cc-scores .s{font-size:.75em}
.cc-cta2{font-size:.82em}
.cc-scale span{font-size:.72em}

/* ---- the key as a diagram ---- */
.el-diagram{position:relative;container-type:inline-size;width:100%;aspect-ratio:1;background:var(--deep);color:#fff}
.dg-lines{position:absolute;inset:0;width:100%;height:100%}
.dg-lines line{stroke:var(--light);stroke-width:1;vector-effect:non-scaling-stroke;opacity:.7}
.dg-lines circle{fill:var(--light)}
.dg-tile{position:absolute;left:32%;top:28%;width:36%}
.el.dg{width:100%;padding:3cqi;box-shadow:0 2cqi 5cqi rgba(0,0,0,.35)}
.el.dg .el-num,.el.dg .el-year,.el.dg .el-up,.el.dg .el-down{font-size:2.8cqi}
.el.dg .el-sym{font-size:13cqi}
.el.dg .el-name{font-size:2.6cqi;margin-bottom:1cqi}
.dg-label{position:absolute;width:27%;display:flex;flex-direction:column;gap:.4cqi}
.dg-label b{font:900 4.6cqi/1 var(--display);color:#fff}
.dg-label span{font:500 2.3cqi var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--light)}
.dg-label p{margin:0;font-size:2.5cqi;line-height:1.3;color:rgba(255,255,255,.82)}
.k-group{left:2%;top:4%}
.k-born{right:2%;top:4%;text-align:right;align-items:flex-end}
.k-sym{left:2%;top:38%}
.k-name{right:2%;top:46%;text-align:right;align-items:flex-end}
.k-up{left:2%;top:74%}
.k-down{right:2%;top:74%;text-align:right;align-items:flex-end}
.cc-key{padding:0}
.cc-key .el-diagram{position:absolute;inset:0;height:100%}
.cc-key-title{position:absolute;left:0;right:0;top:3.5%;z-index:1;text-align:center}
.cc-key .dg-tile{top:28%}
#lab-key .el-diagram{max-width:560px}
/* hook tile scales with the card, like the diagram */
.cc-hook .el.lg{width:34cqi;min-width:0;padding:2.6cqi}
.cc-hook .el.lg .el-num,.cc-hook .el.lg .el-year,.cc-hook .el.lg .el-up,.cc-hook .el.lg .el-down{font-size:2.6cqi}
.cc-hook .el.lg .el-sym{font-size:12.5cqi}
.cc-hook .el.lg .el-name{font-size:2.5cqi;margin-bottom:.8cqi}
/* larger diagram text for phones */
.dg-label b{font-size:5cqi}
.dg-label span{font-size:2.6cqi}
.dg-label p{font-size:2.9cqi}
.awards2{margin:12px 0 0;padding-left:18px;color:var(--ink-2);font-size:15px;display:flex;flex-direction:column;gap:6px}
.awards2 strong{color:var(--ink)}
.awards2{margin:12px 0 0;padding-left:18px;color:var(--ink-2);font-size:15px;display:flex;flex-direction:column;gap:6px}
.awards2 strong{color:var(--ink)}
/* square card numbers, like the tile's boxes */
.cc-label span{display:inline-grid;place-items:center;width:1.9em;height:1.9em;padding:0;margin-right:.55em;vertical-align:middle}
/* pattern card: the nominee's pattern as the heading, all patterns listed under it */
.cc-pattern .cc-body{justify-content:flex-start;padding-top:7%}
.cc-pattern .cc-title{font-size:2.6em}
.cc-patterns{margin:.3em 0 0;padding:0;list-style:none;counter-reset:p;display:flex;flex-direction:column;gap:.32em}
.cc-patterns li{counter-increment:p;display:grid;grid-template-columns:1.6em 1fr;font-size:.74em;line-height:1.3;color:rgba(255,255,255,.62)}
.cc-patterns li::before{content:counter(p);font:500 .9em var(--mono);color:rgba(255,255,255,.5)}
.cc-patterns li b{color:rgba(255,255,255,.8);font-weight:600}
.cc-patterns li.on{color:#fff}
.cc-patterns li.on b{color:#fff}
.cc-patterns li.on::before{content:"→";color:#fff}
.cc-follow{margin:.4em 0 0;font:500 .85em var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--light)}
.cc-patterns li{display:block;padding-left:1.6em;text-indent:-1.6em}
.cc-patterns li::before{display:inline-block;width:1.6em;text-indent:0}
/* nominee page: further reading and image credits */
.writeup.more{max-width:68ch}
.writeup.more:empty{display:none}
.reading,.credits{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.reading li{display:flex;flex-direction:column;gap:2px}
.reading cite{font-style:normal;font-weight:600;color:var(--ink)}
.reading span,.credits span{font-size:13px;color:var(--ink-3)}
.credits li{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:start}
.credits img{width:64px;height:64px;object-fit:cover;border:1px solid var(--line)}
.credits div{display:flex;flex-direction:column;gap:2px;font-size:14px}
.credits a{font-size:13px}
#nominee-carousel:empty{display:none}
.cc-patterns li{font-size:.88em}
.cc-pattern .cc-title{font-size:2.2em}
.cc-pattern .cc-body{padding-top:6%;gap:.5em}

/* ---- the two awards ---- */
.award-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.award-card{display:flex;flex-direction:column;gap:10px;padding:22px;background:var(--tile);color:var(--tile-ink)}
.award-card .element{width:84px}
.award-card h2{margin:4px 0 0;font:900 40px/.95 var(--display);text-transform:uppercase}
.award-card .for{margin:0;font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;opacity:.8}
.award-card dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:6px 0 0;font-size:14px}
.award-card dt{font:500 11px/1.9 var(--mono);letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.award-card dd{margin:0;opacity:.92}
.award-card .go{margin:auto 0 0;padding-top:10px;display:flex;flex-wrap:wrap;gap:8px 16px}
.award-card .go a{color:inherit;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid currentColor;text-decoration:none}
.award-card .go a:first-child{background:var(--ethyl);color:#fff;border:0;padding:8px 12px}
.aw-midgley .element{background:var(--ethyl);color:#fff}
.aw-murphy .element{background:var(--ozone);color:#fff}
.award-card.aw-murphy .go a:first-child{background:var(--ozone)}
.award-head{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:end;margin-bottom:8px}
.award-head .element{width:104px}
.award-head h1{margin:0}
.award-head .lede{margin:6px 0 0;font:500 13px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ethyl)}
.doc .bio-h{margin:0}
.doc ol{padding-left:20px}
.doc ol li{font-size:16px;color:var(--ink-2);margin-bottom:6px}
#murphy-embed iframe{display:block;border:0}
@media (max-width:640px){ .award-cards{grid-template-columns:1fr} }

/* pattern card v2: eyebrow is the pattern number; the list numbers carry the arrow */
.cc-eyebrow{font-size:.95em}
.cc-patterns li{display:grid;grid-template-columns:3.2em 1fr;gap:.3em;padding:0;text-indent:0}
.cc-patterns li::before{content:none}
.cc-patterns .pn{font:500 .95em var(--mono);color:rgba(255,255,255,.55);white-space:nowrap}
.cc-patterns li.on .pn{color:#fff;font-weight:600}
.element.aw-midgley{background:var(--ethyl);color:#fff}
.element.aw-murphy{background:var(--ozone);color:#fff}
.cc-patterns li.on::before{content:none;display:none}

/* ---- home as a column of square cards ---- */
.wrap.home{max-width:600px}
.sq{position:relative;aspect-ratio:1;container-type:inline-size;font-size:3.1cqi;display:flex;flex-direction:column;gap:.7em;padding:7% 7% 8%;background:var(--tile);color:var(--tile-ink);overflow:hidden}
.sq h1,.sq h2{margin:0;font:900 3.4em/.92 var(--display);text-transform:uppercase;text-wrap:balance}
.sq .element{width:22cqi;padding:1.6cqi 2cqi}
.sq .element .n{font-size:2.6cqi}
.sq .element .sym{font-size:10cqi}
.sq .element .w{font-size:2cqi}
.sq-tag{margin:0;font:500 .85em var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#F0624F}
.sq-text{margin:0;font-size:1.05em;line-height:1.45;opacity:.9;max-width:34ch}
.sq-why{margin:0;font-size:1.25em;line-height:1.35;font-weight:600}
.sq-for{margin:0;font:500 .85em var(--mono);letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.sq-label{margin:0;font:500 .85em var(--mono);letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.sq-down{margin:auto 0 0;font:500 .85em var(--mono);letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.sq-go{margin:auto 0 0;display:flex;flex-wrap:wrap;gap:.6em 1.2em;align-items:center}
.sq-go a{color:inherit;font:500 .85em var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor}
.sq-go a:first-child{background:var(--ethyl);color:#fff;border:0;padding:.7em 1em}
.sq-hero h1{font-size:4.6em}
.sq-award.aw-midgley{background:#3A0F0A}
.sq-award.aw-murphy{background:#0B2230}
.sq-award.aw-murphy .sq-go a:first-child{background:var(--ozone)}
.sq-award h2{font-size:4em}
.sq-rule{background:var(--surface);color:var(--ink);border:1.5px solid var(--ink)}
.sq-rule h2{font-size:3.6em;margin-top:auto}
.sq-rule .sq-down{margin:0}
.sq-question{background:var(--ozone-soft);color:var(--ink)}
.sq-question b{color:var(--ink)}
.sq-oops{background:var(--surface);color:var(--ink);border:1.5px solid var(--ink)}
.sq-oops .beehiiv-embed{margin-left:-8%}
.sq-carousel{--cc:100%;width:100%}
.sq-carousel .sq{flex:0 0 100%}
.home .bar,.home .list,.home form.nominate{max-width:100%}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .sq-hero,:root:not([data-theme="light"]) .sq-award{color:#E6EAEE}
  :root:not([data-theme="light"]) .sq-hero{background:#161C22;border:1.5px solid #29323B}
}
.wrap.home{container-type:inline-size}
.sq-hero h1{font-size:4em}
.sq-hero .element{background:#EDF0F2;color:#12161C}

/* ---- sticky menu with the Nominate button ---- */
.site-head{position:sticky;top:0;z-index:30;box-shadow:0 1px 0 var(--line)}
.site-head-in{flex-wrap:nowrap}
.site-head nav{flex:1;justify-content:flex-end}
.nom-btn{flex:none;background:var(--ethyl);color:#fff;border:0;padding:8px 14px;font:600 13px var(--sans);cursor:pointer}
.nom-btn:hover{opacity:.92}
@media (max-width:760px){
  .site-head-in{flex-wrap:wrap}
  .site-head nav{order:3;width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;scrollbar-width:none;padding-bottom:2px}
  .site-head nav::-webkit-scrollbar{display:none}
  .nom-btn{margin-left:auto}
}

/* ---- the Nominate sheet ---- */
html.sheet-open{overflow:hidden}
.sheet{position:fixed;inset:0;z-index:50;background:rgba(10,12,16,.6);display:grid;place-items:center;padding:16px}
.sheet-in{position:relative;width:min(560px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:var(--surface);color:var(--ink);padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.sheet-x{position:absolute;right:10px;top:8px;border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:var(--ink-2)}
.sh-step{margin:0;font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.sheet h2{margin:0;font:900 34px/.95 var(--display);text-transform:uppercase}
.sh-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sh-pick button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:4px 12px;align-items:start;text-align:left;border:1.5px solid var(--line);background:var(--ground);padding:12px;cursor:pointer;color:var(--ink)}
.sh-pick button[aria-checked="true"]{border-color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--ink)}
.sh-pick .element{grid-row:1/3;width:52px;padding:4px 5px}
.sh-pick .element .n,.sh-pick .element .w{font-size:7px}
.sh-pick .element .sym{font-size:22px}
.sh-pick b{font:800 18px/1 var(--display);text-transform:uppercase}
.sh-pick small{font-size:12px;color:var(--ink-2);line-height:1.3}
.sh-form{display:flex;flex-direction:column;gap:12px}
.sh-field{display:flex;flex-direction:column;gap:5px}
.sh-field span{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.sh-field input,.sh-field textarea,.sh-field select{border:1px solid var(--line);background:var(--ground);padding:9px 11px;font:15px var(--sans);color:var(--ink);width:100%}
.sh-field textarea{min-height:70px;resize:vertical}
.sh-field small{font-size:12px;color:var(--ink-3)}
.sh-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.sh-fine{margin:0;font-size:12px;color:var(--ink-3)}
.sh-done{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.sh-done p{margin:0;color:var(--ink-2)}
@media (max-width:480px){ .sh-pick{grid-template-columns:1fr} }

/* ---- nominees as cards ---- */
.list:not(.single){display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:0}
.nom-card{aspect-ratio:1;container-type:inline-size;background:var(--deep);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.nom-card a{display:flex;flex-direction:column;gap:2.5cqi;height:100%;padding:7cqi;color:inherit;text-decoration:none}
.nom-card a:hover{background:linear-gradient(transparent,rgba(255,255,255,.04))}
.el.nc{width:40cqi;padding:2.4cqi}
.el.nc .el-num,.el.nc .el-year,.el.nc .el-up,.el.nc .el-down{font-size:3.4cqi}
.el.nc .el-sym{font-size:15cqi}
.el.nc .el-name{font-size:3cqi;margin-bottom:.6cqi}
.nom-card h3{margin:auto 0 0;font:900 9cqi/.95 var(--display);text-transform:uppercase}
.nom-card .nc-work{margin:0;font-size:5cqi;line-height:1.25;color:rgba(255,255,255,.82)}
.nc-scores{margin:0;display:flex;gap:4cqi;font:500 3.6cqi var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--light)}
.nc-scores b{color:#fff;font-weight:600}

/* ---- retro-futurist backdrops behind the card column ---- */
body[data-bg]{background:#0E1216}
body[data-bg="fair"]{background:linear-gradient(rgba(10,14,16,.55),rgba(10,14,16,.82)),url(/img/brand/bg-worlds-fair.webp) center/cover fixed #0E1216}
body[data-bg="carpet"]{background:linear-gradient(rgba(10,14,16,.6),rgba(10,14,16,.85)),url(/img/brand/bg-orbital-night.webp) center/cover fixed #0E1216}
body[data-bg] .bar,body[data-bg] .cats,body[data-bg] .notice,body[data-bg] .site-foot{background:var(--surface);padding:12px 14px}
body[data-bg] .site-foot{margin-top:8px}
@media (max-width:760px){ body[data-bg]{background-attachment:scroll} }

/* ---- the Awards page ---- */
.sq-carpet{background:#111;justify-content:flex-start}
.sq-bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.sq-carpet > *:not(.sq-bgimg){position:relative}
.sq-carpet h1{font-size:5em;max-width:8ch;color:#F3EBDD}
.sq-carpet .sq-label{color:#E8C77A;opacity:1}
.countdown{margin-top:auto;display:flex;align-items:baseline;gap:.5em;color:#F3EBDD}
.countdown b{font:900 5em/1 var(--display)}
.countdown span{font:500 .9em var(--mono);letter-spacing:.08em;text-transform:uppercase}
.sq-plain{background:#16231D;color:#F3EBDD}
.sq-plain .sq-label{color:#E8C77A;opacity:1}
.sq-trophy{background:#F6F2EA;color:#1B1B1B;align-items:center;text-align:center}
.sq-trophy img{width:62%;height:auto;mix-blend-mode:multiply;margin:-2% 0}
.sq-trophy h2{font-size:3.2em}
.sq-trophy .sq-down{margin:0}
.sq-lifetime{background:#141414;color:#F3EBDD;display:grid;grid-template-columns:44% 1fr;gap:6%;align-items:center}
.sq-lifetime .sq-side{width:100%;height:100%;object-fit:cover}
.sq-lifetime > div{display:flex;flex-direction:column;gap:.7em}
.sq-lifetime .sq-label{color:#E8C77A;opacity:1}
.sq-carpet h1{font-size:3.6em;max-width:9ch}
/* ---- our own sign-up form ---- */
.signup{display:flex;flex-wrap:wrap;gap:0;max-width:440px}
.signup input[type=email]{flex:1 1 200px;min-width:0;border:1.5px solid var(--ink);border-right:0;background:var(--surface);color:var(--ink);padding:11px 13px;font:15px var(--sans)}
.signup button{border:1.5px solid var(--ethyl);padding:11px 18px;font:600 14px var(--sans)}
.signup .ts:not(:empty){flex-basis:100%;margin-top:8px}
.signup .msg{flex-basis:100%;margin-top:6px}
.sq .signup{margin-top:auto}
.sq-oops .signup input[type=email]{border-color:var(--ink)}

/* ---- the Categoric Table ---- */
.wrap.table-page{max-width:1100px}
.pagehead.light{color:#F3EBDD}
.pagehead.light .label{color:#E8C77A}
.pagehead .lede{max-width:62ch;font-size:15px;line-height:1.5;color:rgba(243,235,221,.85);margin:8px 0 0}
body[data-bg="orbit"]{background:linear-gradient(rgba(10,14,16,.6),rgba(10,14,16,.85)),url(/img/brand/bg-orbital-night.webp) center/cover fixed #0E1216}
.legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px}
.lg-item{background:var(--deep);color:#fff;border-left:6px solid var(--base)}
.lg-item summary{list-style:none;display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer}
.lg-item summary::-webkit-details-marker{display:none}
.lg-box{display:grid;place-items:center;width:24px;height:24px;background:var(--base);font:800 14px/1 var(--display)}
.lg-name{flex:1;font:600 13px var(--sans)}
.lg-more{font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--light)}
.lg-item[open] .lg-more{opacity:.5}
.lg-item p,.lg-item ul{margin:0;padding:0 12px 10px;font-size:13px;color:rgba(255,255,255,.82)}
.lg-item ul{padding-left:28px}
.pt-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#F3EBDD;font:500 12px var(--mono)}
.pt-tools button{width:36px;height:36px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;font:600 16px var(--sans);cursor:pointer}
.pt-tools button[data-z="fit"]{width:auto;padding:0 12px;font-size:12px}
.pt-hint{opacity:.6}
.pt-view{overflow:auto;max-height:calc(100dvh - 140px);border:1px solid rgba(255,255,255,.15);background:rgba(8,10,12,.55);overscroll-behavior:contain}
.pt-grid{display:grid;grid-template-columns:repeat(18,minmax(0,1fr));gap:.25%;width:100%;padding:.5%}
.pt-gap{aspect-ratio:1/.35}
.pt-cell{aspect-ratio:1;container-type:inline-size;position:relative;text-decoration:none;color:#fff;display:block;min-width:0}
.pt-cell.pt-empty{background:color-mix(in srgb,var(--deep) 75%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--base) 55%,transparent);display:grid;place-items:center}
.pt-bf{font:900 34cqi/1 var(--display);color:color-mix(in srgb,var(--base) 70%,transparent)}
.pt-mark{display:grid;place-items:center;color:rgba(255,255,255,.4);font:600 12px var(--mono)}
.el.pt{width:100%;height:100%;padding:6cqi}
.el.pt .el-num,.el.pt .el-year,.el.pt .el-up,.el.pt .el-down{font-size:9cqi;border-width:1px}
.el.pt .el-sym{font-size:40cqi}
.el.pt .el-name{font-size:8cqi}
.pt-more{display:none}
@container (max-width:60px){ .el.pt .el-num,.el.pt .el-year,.el.pt .el-up,.el.pt .el-down,.el.pt .el-name{visibility:hidden} .el.pt .el-sym{font-size:48cqi} }
@container (min-width:240px){
  .pt-cell.filled .el.pt{height:62%;}
  .pt-more{display:block;position:absolute;left:0;right:0;bottom:0;padding:5cqi 6cqi;background:var(--deep);font:400 5cqi/1.3 var(--sans);color:rgba(255,255,255,.85)}
  .pt-more b{display:block;font:900 8cqi/1 var(--display);text-transform:uppercase;color:#fff;margin-bottom:2cqi}
}
.sq-gap{background:#2A1520;color:#F3EBDD;max-width:600px;margin:0 auto;width:100%}
.sq-gap .sq-text{font-size:1.05em}
.sq-gap{font-size:clamp(12px,3.1vw,18px)}

/* ---- a nominee as a post ---- */
body[data-bg="cat"]{background:linear-gradient(color-mix(in srgb,var(--cat) 78%,transparent),color-mix(in srgb,var(--cat) 94%,black)),var(--scene) center/cover fixed var(--cat)}
@media (max-width:760px){ body[data-bg="cat"]{background-attachment:scroll} }
.post-col{display:flex;flex-direction:column;gap:0}
.post-col .carousel{width:100%;--cc:100%}
.post-col .cc-nav{background:var(--surface);margin:0;padding:8px 10px}
.post{background:var(--surface);color:var(--ink);padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px}
.post-head{display:flex;align-items:center;gap:12px}
.post-head h1{margin:0;font:900 26px/1 var(--display);text-transform:uppercase}
.post-head p{margin:2px 0 0;font:500 12px var(--mono);letter-spacing:.04em;color:var(--ink-3)}
.el.mini{width:48px;padding:3px 4px;flex:none}
.el.mini .el-num,.el.mini .el-year,.el.mini .el-up,.el.mini .el-down{font-size:6px;border:0;padding:0}
.el.mini .el-sym{font-size:20px}
.el.mini .el-name{font-size:5px}
.post-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0}
.post-actions .herdvote{gap:6px}
.post-up{flex-direction:row;gap:6px;width:auto;padding:6px 12px}
.post-scores{margin:0;display:flex;flex-wrap:wrap;gap:4px 16px;font:500 12px var(--mono);color:var(--ink-2)}
.post-scores b{color:var(--ink);font-size:14px}
.post-caption{margin:0;font-size:15px;line-height:1.45}
.post-by{margin:0;font-size:12px;color:var(--ink-3)}
.post-thread{border-left:0;padding-left:0;margin:0}
.post-ccount{margin:0;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.post-details{background:var(--surface);color:var(--ink);border-top:1px solid var(--line);padding:0 16px}
.post-details summary{cursor:pointer;padding:14px 0;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ozone)}
.post-details[open]{padding-bottom:16px}
.post-details .writeup{margin-bottom:16px}
.post-details section{margin-bottom:14px}
.post-details h2{margin:0 0 6px;font:800 20px/1.1 var(--display);text-transform:uppercase}
.feed-h{margin:24px 0 10px;font:900 28px/1 var(--display);text-transform:uppercase;color:#F3EBDD}
.more-feed .list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.more-feed:empty{display:none}
/* the hook card's scene when there's no portrait */
.cc-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42;filter:saturate(.8)}
.cc-hook > .cc-hook-top,.cc-hook > .cc-headline,.cc-hook > .cc-dek{position:relative}
.cc-hook:has(.cc-scene){background:linear-gradient(180deg,color-mix(in srgb,var(--deep) 40%,transparent),var(--deep) 85%)}
.cc-headline.mid{font-size:3.6em}
.cc-headline.long{font-size:2.8em;max-width:12ch}
body[data-bg="cat"]{background:linear-gradient(color-mix(in srgb,var(--cat) 88%,transparent),color-mix(in srgb,var(--cat) 97%,black)),var(--scene) center/cover fixed var(--cat)}
.cc-hook > .cc-swipe,.cc-hook > .cc-foot{position:absolute}

/* ======== navigation v2: rail, tab bar, More menu ======== */
.site-head{position:static;box-shadow:none;background:none;margin:0;padding:0;border:0}
.nav-i{display:flex;align-items:center;gap:14px;padding:10px 12px;color:var(--ink);text-decoration:none;background:none;border:0;cursor:pointer;font:500 15px var(--sans);border-radius:10px;width:100%;text-align:left}
.nav-i svg{width:26px;height:26px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav-i:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.nav-i[aria-current="page"]{font-weight:700}
.nav-i[aria-current="page"] svg{stroke-width:2.6}
.nav-nom svg{stroke:var(--ethyl)}
.rail{position:fixed;left:0;top:0;bottom:0;z-index:30;width:232px;display:flex;flex-direction:column;gap:6px;padding:22px 12px;background:var(--surface);border-right:1px solid var(--line)}
.rail .brand{display:flex;align-items:center;gap:10px;padding:6px 12px 22px;color:var(--ink);text-decoration:none;font:800 19px/1 var(--display);text-transform:uppercase}
.rail .mini{display:inline-grid;place-items:center;width:32px;height:32px;background:var(--tile);color:var(--tile-ink);font:900 18px/1 var(--display);text-transform:none;flex:none}
.rail-nav{display:flex;flex-direction:column;gap:4px}
.nav-more{margin-top:auto}
.tabbar{display:none}
body:has(.rail){padding-left:248px}
.menu-panel{position:fixed;inset:0;z-index:45;background:rgba(10,12,16,.45)}
.menu-in{position:absolute;left:232px;top:0;bottom:0;width:min(360px,100vw);overflow:auto;background:var(--surface);color:var(--ink);padding:28px 24px;display:flex;flex-direction:column;gap:22px;box-shadow:12px 0 40px rgba(0,0,0,.25)}
.menu-in h2{margin:0 0 6px;font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.menu-in section{display:flex;flex-direction:column}
.menu-in a{padding:7px 0;color:var(--ink);text-decoration:none;font:600 16px var(--sans)}
.menu-in a:hover{color:var(--ethyl)}
.menu-x{position:absolute;right:12px;top:10px;border:0;background:none;font-size:28px;cursor:pointer;color:var(--ink-2)}
html.menu-open{overflow:hidden}
@media (max-width:1180px){
  .rail{width:76px;align-items:center;padding:20px 8px}
  .rail .brand{padding:6px 0 20px}
  .rail .brand-t,.rail .nav-i span{display:none}
  .rail .nav-i{width:auto;justify-content:center}
  body:has(.rail){padding-left:92px}
  .menu-in{left:76px}
}
@media (max-width:760px){
  .rail{position:sticky;top:0;bottom:auto;width:auto;flex-direction:row;align-items:center;padding:10px 16px;margin:0 -16px;border-right:0;border-bottom:1px solid var(--line)}
  .rail .brand{padding:0}
  .rail .brand-t{display:inline}
  .rail-nav,.rail .nav-more{display:none}
  body:has(.rail){padding-left:16px;padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px))}
  .tabbar .nav-i{flex-direction:column;gap:2px;justify-content:center;padding:6px 0;font-size:10px;text-align:center}
  .tabbar .nav-i svg{width:25px;height:25px}
  .tabbar .nav-nom svg{width:30px;height:30px}
  .menu-in{left:0;right:0;top:auto;bottom:0;width:auto;max-height:85dvh;border-radius:16px 16px 0 0;padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}
.offstage{position:fixed;left:-10000px;top:0;width:540px}
.offstage .carousel{width:540px;--cc:540px}
.sh-match{border:1.5px solid var(--amber);background:var(--amber-soft);padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.sh-match p{margin:0;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}
.sh-match a{color:var(--ink);text-decoration:none;font-size:14px}
.sh-match a span{color:var(--ozone);font:500 11px var(--mono);text-transform:uppercase;margin-left:6px}
.sh-match .sh-fine{text-transform:none;letter-spacing:0;font:12px var(--sans);color:var(--ink-2)}

/* ---- search ---- */
.wrap.search-page{max-width:760px}
.search-box input{width:100%;border:0;border-radius:12px;background:var(--surface);color:var(--ink);padding:14px 16px;font:16px var(--sans)}
.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.chips::-webkit-scrollbar{display:none}
.chips button{flex:none;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#F3EBDD;border-radius:999px;padding:7px 12px;font:500 13px var(--sans);cursor:pointer}
.chips button[aria-pressed="true"]{background:#F3EBDD;color:#12161C;border-color:#F3EBDD}
.search-bar{display:flex;justify-content:space-between;align-items:center;color:#F3EBDD;font:500 12px var(--mono)}
.search-bar select{margin-left:6px;border:0;border-radius:8px;padding:6px 8px;background:var(--surface);color:var(--ink)}
.results{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media (max-width:760px){ .results{grid-template-columns:1fr 1fr} }
.mu-card{--deep:#0B2230;--base:#2F6E8F;--light:#BFE0EF}
.results .empty{grid-column:1/-1;color:#F3EBDD}

/* ======== posts v2 (feed and post pages) ======== */
.feed{display:flex;flex-direction:column;gap:22px}
.feed:empty{display:none}
.post{background:var(--surface);color:var(--ink);padding:0;gap:0;display:flex;flex-direction:column;border-radius:4px;overflow:hidden}
.post .carousel{width:100%;--cc:100%}
.post .cc-nav{margin:0;padding:6px 10px;border-bottom:0}
.post .cc-nav button{width:32px;height:32px;font-size:15px}
.pv-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px}
.pv-who{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;min-width:0}
.pv-who span{display:flex;flex-direction:column;min-width:0}
.pv-who b{font:600 15px/1.2 var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-who small{font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.el.mini{width:40px;padding:2px 3px}
.el.mini .el-sym{font-size:17px}
.el.mini .el-num,.el.mini .el-year,.el.mini .el-up,.el.mini .el-down,.el.mini .el-name{display:none}
.el.mini{grid-template-rows:1fr;place-items:center}
.mu-tile,.mu-el{--base:#2F6E8F}
.pv-menu{position:relative}
.pv-menu summary{list-style:none;cursor:pointer;padding:4px;border-radius:8px}
.pv-menu summary::-webkit-details-marker{display:none}
.pv-menu summary svg{width:24px;height:24px;fill:currentColor}
.pv-menu > div{position:absolute;right:0;top:110%;z-index:5;min-width:220px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.2);display:flex;flex-direction:column;overflow:hidden}
.pv-menu > div button{border:0;background:none;text-align:left;padding:12px 14px;font:500 14px var(--sans);color:var(--ink);cursor:pointer}
.pv-menu > div button:hover{background:var(--ground)}
.pv-menu > div button[data-act="report"]{color:var(--ethyl)}
.pv-bar{display:flex;align-items:center;gap:6px;padding:8px 8px 2px}
.pv-vote{display:flex;align-items:center;gap:2px;margin-right:auto}
.pv-q{font:600 13px var(--sans);margin:0 6px 0 4px}
.pv-btn{display:inline-flex;align-items:center;gap:5px;border:0;background:none;color:var(--ink);padding:6px 8px;border-radius:999px;cursor:pointer;font:600 14px var(--sans)}
.pv-btn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.pv-btn:hover{background:var(--ground)}
.pv-btn[data-vote="yes"][aria-pressed="true"]{background:var(--ethyl);color:#fff}
.pv-btn[data-vote="no"][aria-pressed="true"]{background:var(--ink);color:var(--ground)}
.pv-btn[data-act="vote"][aria-pressed="true"]{color:var(--ethyl)}
.pv-btn[data-act="vote"] svg{width:16px;height:16px;fill:currentColor;stroke:none}
.pv-stats{margin:0;padding:2px 14px;font:500 12px var(--mono);color:var(--ink-2)}
.pv-stats b{color:var(--ink)}
.pv-stats a{color:var(--ink-3)}
.pv-caption{padding:6px 14px 0}
.pv-caption p{margin:0;font-size:14.5px;line-height:1.45}
.pv-caption a{color:inherit;text-decoration:none}
.pv-more{border:0;background:none;padding:0;color:var(--ink-3);cursor:pointer;font:inherit}
.pv-full{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.pv-full .writeup{gap:12px}
.pv-full section{margin-bottom:12px}
.pv-full h2{margin:0 0 4px;font:800 18px/1.1 var(--display);text-transform:uppercase}
.pv-full p,.pv-full li{font-size:14.5px}
.pv-comments{padding:6px 14px 12px;display:flex;flex-direction:column;gap:4px}
.pv-viewall{align-self:flex-start;border:0;background:none;padding:2px 0;color:var(--ink-3);cursor:pointer;font:14px var(--sans)}
.pv-comments[data-collapsed] .pv-old{display:none}
.pv-thread .cm{margin:0;display:block;font-size:14px}
.pv-thread .cm small{color:var(--ink-3);margin-left:4px;font-size:12px}
.pv-reply{display:flex;gap:6px;border-top:1px solid var(--line);padding-top:8px;margin-top:4px}
.pv-reply input{border:0;background:none;color:var(--ink);font:14px var(--sans);padding:6px 0;min-width:0}
.pv-reply input[name=author]{flex:0 0 70px;border-right:1px solid var(--line)}
.pv-reply input[name=text]{flex:1}
.pv-reply button{border:0;background:none;color:var(--ozone);font:600 14px var(--sans);cursor:pointer}
body[data-bg="cat"] .wrap.home{max-width:600px}
.more-feed .feed-h{margin-top:30px}
/* table v2: zoom tools float over the table, tooltips, roomier zoomed squares */
.pt-wrap{position:relative}
.pt-wrap .pt-tools{position:absolute;right:10px;top:10px;z-index:3;background:rgba(12,14,18,.82);padding:6px;border-radius:10px;backdrop-filter:blur(6px)}
.pt-hint{margin:0;color:rgba(243,235,221,.7);font:500 12px var(--mono)}
.pt-tip{position:fixed;z-index:40;width:260px;background:var(--surface);color:var(--ink);padding:12px 14px;border-radius:10px;box-shadow:0 12px 34px rgba(0,0,0,.35);pointer-events:none;display:flex;flex-direction:column;gap:4px}
.pt-tip b{font:900 20px/1 var(--display);text-transform:uppercase}
.pt-tip .w{font:600 13px var(--sans);color:var(--ink-2)}
.pt-tip p{margin:2px 0;font-size:13px;line-height:1.35;color:var(--ink-2)}
.pt-tip .c{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ozone)}
@container (min-width:240px){
  .pt-cell.filled{display:flex;flex-direction:column}
  .pt-cell.filled .el.pt{height:auto;flex:1 1 auto;min-height:0}
  .pt-more{position:static;flex:none}
}
.pt-cell.filled{display:flex;flex-direction:column}
.el.pt{aspect-ratio:auto;flex:1 1 auto;min-height:0;height:auto}
/* nav v2 overrides of the old header rules */
.site-head .tabbar{display:none}
.site-head .rail-nav{flex:none;justify-content:flex-start;flex-wrap:nowrap;gap:4px;font:inherit;letter-spacing:0;text-transform:none}
.site-head .nav-i{font:500 15px var(--sans);letter-spacing:0;text-transform:none;color:var(--ink)}
.site-head .nav-i.nav-nom{color:var(--ink)}
@media (max-width:760px){
  .site-head .tabbar{display:grid}
  .site-head .tabbar .nav-i{font-size:10px}
  .site-head .rail-nav{display:none}
}
/* scene behind a headline card: darken toward the text */
.cc-hook::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--deep) 70%,transparent) 0%,color-mix(in srgb,var(--deep) 35%,transparent) 38%,color-mix(in srgb,var(--deep) 92%,transparent) 78%,var(--deep) 100%)}
.cc-hook:not(:has(.cc-scene))::after{content:none}
.cc-hook > .cc-hook-top,.cc-hook > .cc-headline,.cc-hook > .cc-dek{z-index:1}
.cc-hook > .cc-swipe,.cc-hook > .cc-foot{z-index:2}
.cc-scene{opacity:.55}
@media (max-width:760px){
  .legend{grid-template-columns:1fr 1fr;gap:4px}
  .lg-item summary{padding:6px 7px;gap:6px}
  .lg-name{font-size:11.5px;line-height:1.2}
  .lg-box{width:20px;height:20px;font-size:12px}
  .lg-more{display:none}
  .lg-item[open]{grid-column:1/-1}
  .pt-wrap .pt-tools{position:static;margin-top:8px;justify-content:flex-start;background:none;padding:0}
  .pagehead .lede{font-size:14px}
}
.pv-q{white-space:nowrap}
@media (max-width:420px){ .pv-btn[data-act="herd"] span{display:none} .pv-bar{gap:2px} }
@container (max-width:30px){ .pt-bf{display:none} }
.el > span:empty{visibility:hidden}
@media (min-width:761px){ .pt-wrap .pt-tools{right:auto;left:50%;transform:translateX(-50%)} }
.post-intro{margin:0;padding:10px 14px;background:rgba(243,235,221,.92);color:#12161C;font-size:13.5px;line-height:1.45;border-radius:4px}
.post-intro a{color:var(--ozone)}
.pv-rep{border:0;background:none;padding:0;color:var(--ink-3);font:inherit;cursor:pointer;text-decoration:underline}
/* table on phones: squares never grow past their track */
.pt-cell{overflow:hidden;min-width:0;min-height:0;contain:size layout}
.pt-cell.pt-empty{display:block;position:relative}
.pt-bf{position:absolute;inset:0;display:grid;place-items:center;line-height:1}
.tabbar .nav-nom svg{width:25px;height:25px}

/* ---------- home cards with background art */
.sq{overflow:clip} /* a card with more text than fits grows taller instead of cutting the text off */
.wrap.home .sq.has-bg{color:#F3EBDD;border:0;background:linear-gradient(180deg,rgb(10 12 16/.82) 0%,rgb(10 12 16/.62) 48%,rgb(10 12 16/.9) 100%),var(--bg) center/cover no-repeat,#12161C}
.wrap.home .sq.has-bg.aw-midgley{background:linear-gradient(180deg,rgb(58 15 10/.9) 0%,rgb(58 15 10/.6) 48%,rgb(58 15 10/.94) 100%),var(--bg) center/cover no-repeat,#3A0F0A}
.wrap.home .sq.has-bg.aw-murphy{background:linear-gradient(180deg,rgb(11 34 48/.9) 0%,rgb(11 34 48/.58) 48%,rgb(11 34 48/.94) 100%),var(--bg) center/cover no-repeat,#0B2230}
.wrap.home .sq.has-bg h1,.wrap.home .sq.has-bg h2{text-shadow:0 2px 14px rgb(0 0 0/.45)}
.wrap.home .sq.has-bg .sq-text{opacity:.95;text-shadow:0 1px 8px rgb(0 0 0/.5)}
.wrap.home .sq.has-bg .sq-label,.wrap.home .sq.has-bg .sq-down{color:#E8C77A;opacity:1}
.wrap.home .sq.has-bg b,.wrap.home .sq.has-bg .sq-text a{color:inherit}
.wrap.home .sq-gap .sq-text{font-size:.98em}
/* /midgley: the award and his story sit on a paper panel under the post */
.wrap.doc.mg-doc{background:var(--surface);color:var(--ink);border:1.5px solid var(--ink);padding:clamp(20px,5vw,44px);margin-block:8px 0;gap:20px;width:calc(100% - 32px);max-width:600px;box-sizing:border-box}
body[data-bg="cat"] .wrap.home:has(#mg-post){padding-bottom:16px}
.wrap.home .sq.has-bg .sq-tag,.wrap.home .sq.has-bg .sq-for,.wrap.home .sq.has-bg .sq-why{text-shadow:0 1px 8px rgb(0 0 0/.6)}
/* a photographed portrait (not an etching): no negative, darkened, faded into the card behind the text */
.cc-portrait.photo{opacity:.6;mix-blend-mode:normal}
.cc-portrait.photo img{filter:grayscale(1) contrast(1.05) brightness(.7);object-position:center top}
.cc-portrait.photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--deep) 0%,transparent 40%),linear-gradient(transparent 35%,var(--deep) 92%)}
.cc-hook .cc-kicker{padding-right:5.5em}
/* iPhone Safari zooms into any field under 16px and stays zoomed. Every field is at least 16px on touch screens. */
@media (pointer:coarse){ input,textarea,select{font-size:max(16px,1em) !important} }
/* ---------- comments: the latest two under the post, everything in a panel */
.pv-add{align-self:stretch;text-align:left;border:0;border-top:1px solid var(--line);background:none;margin-top:4px;padding:10px 0 2px;color:var(--ink-3);font:15px var(--sans);cursor:text}
.cs{position:fixed;inset:0;z-index:80;background:rgb(0 0 0/.45);display:flex;align-items:flex-end;justify-content:center;--kb:0px}
.cs[hidden]{display:none}
.cs-panel{position:relative;width:100%;max-width:560px;height:min(78dvh,680px);max-height:calc(100dvh - var(--kb) - 12px);margin-bottom:var(--kb);background:var(--surface);color:var(--ink);border-radius:18px 18px 0 0;display:flex;flex-direction:column;box-shadow:0 -10px 40px rgb(0 0 0/.25);transition:transform .18s ease-out;animation:cs-up .22s ease-out}
@keyframes cs-up{from{transform:translateY(40%);opacity:.4}}
@media (prefers-reduced-motion:reduce){.cs-panel{animation:none;transition:none}}
.cs-grab{width:40px;height:4px;border-radius:2px;background:var(--line);margin:10px auto 0;flex:none}
.cs-head{display:flex;align-items:center;justify-content:center;position:relative;padding:8px 48px 12px;border-bottom:1px solid var(--line);touch-action:none}
.cs-head h2{margin:0;font:600 16px var(--sans);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cs-x{position:absolute;right:8px;top:2px;width:40px;height:40px;border:0;background:none;color:var(--ink);font:28px/1 var(--sans);cursor:pointer}
.cs-list{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:12px 18px;display:flex;flex-direction:column;gap:14px}
.cs-list .cm{margin:0;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.cs-list .cm small{display:block;margin-top:2px;color:var(--ink-3);font-size:12px}
.cs-list .pv-rep{border:0;background:none;padding:0;color:var(--ink-3);font:inherit;cursor:pointer;text-decoration:underline}
.cs-empty{margin:auto;color:var(--ink-3);font-size:15px}
.cs-form{display:flex;gap:8px;align-items:center;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}
.cs-form input{min-width:0;border:1px solid var(--line);border-radius:999px;background:var(--ground);color:var(--ink);font:16px var(--sans);padding:9px 14px}
.cs-form input[name=author]{flex:0 0 92px}
.cs-form input[name=text]{flex:1}
.cs-form button{border:0;background:none;color:var(--ozone);font:600 15px var(--sans);cursor:pointer;padding:8px 4px}
.cs-form button:disabled{opacity:.5}
html.cs-open,html.cs-open body{overflow:hidden}
@media (min-width:761px){
  .cs{align-items:center}
  .cs-panel{border-radius:14px;height:min(80vh,720px);margin-bottom:0}
  .cs-grab{display:none}
}
/* ---------- easier reading: body text on the cards */
.wrap.home .sq .sq-text{font-size:max(14px,1.05em)}
.wrap.home .sq .sq-why{font-size:max(15px,1.25em)}
.cc .cc-text{font-size:max(11.5px,1em)}
.cc .cc-dek{font-size:max(13.5px,1.05em)}
.cs-panel.dragging{transition:none}
