/* The Twat Spot: "Swiss protest poster" design (ported from design-b/) */
/* Self-hosted fonts (SIL OFL), subset by tools/make_fonts.py. No Google Fonts calls. */
@font-face{font-family:Anton;src:url(/fonts/anton-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(/fonts/instrument-serif-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(/fonts/instrument-serif-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Space Mono";src:url(/fonts/space-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Space Mono";src:url(/fonts/space-mono-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url(/fonts/archivo-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--cream:#efe8d8;--cobalt:#1534d6;--orange:#ff5a1f;--ink:#0e0e10;--mute:#5a5648;--rule:2px solid var(--ink)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Archivo,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.55}
a{color:inherit}
.mono{font-family:"Space Mono",ui-monospace,monospace}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
/* ticker */
.ticker{background:var(--ink);color:var(--cream);font:700 12px/1 "Space Mono",monospace;letter-spacing:.06em;text-transform:uppercase;overflow:hidden;white-space:nowrap}
.ticker span{display:inline-block;padding:10px 0;animation:roll 38s linear infinite}
.ticker b{color:var(--orange);margin:0 14px}
@keyframes roll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker span{animation:none}}
/* header */
header.top{border-bottom:var(--rule)}
header.top .wrap{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding-top:16px;padding-bottom:16px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand .dot{width:44px;height:44px;border-radius:50%;background:var(--orange);display:grid;place-items:center;font:400 22px/1 Anton,Impact,sans-serif;color:var(--ink);border:2px solid var(--ink)}
.brand .name{font:400 30px/1 Anton,Impact,sans-serif;text-transform:uppercase;letter-spacing:.01em}
.brand .name i{font:italic 400 22px/1 "Instrument Serif",Georgia,serif;text-transform:none;margin-right:4px}
nav.links{display:flex;gap:22px;font:700 13px/1 "Space Mono",monospace;text-transform:uppercase}
nav.links a{text-decoration:none;border-bottom:2px solid transparent;padding-bottom:3px}
nav.links a:hover,nav.links a.on{border-color:var(--orange)}
/* poster hero */
.poster{background:var(--cobalt);color:var(--cream);position:relative;overflow:hidden;border-bottom:var(--rule)}
.poster .wrap{display:grid;grid-template-columns:7fr 5fr;gap:0;min-height:640px}
.poster .left{padding:44px 40px 44px 0;border-right:2px solid rgba(239,232,216,.35);position:relative}
.eyebrow{display:flex;gap:10px;flex-wrap:wrap;font:700 12px/1 "Space Mono",monospace;text-transform:uppercase;letter-spacing:.08em}
.eyebrow span{border:1.5px solid currentColor;padding:7px 10px;border-radius:99px}
.eyebrow span.hot{background:var(--orange);color:var(--ink);border-color:var(--orange)}
.mega{font:400 clamp(64px,11.5vw,168px)/.84 Anton,Impact,sans-serif;text-transform:uppercase;margin:26px 0 0;letter-spacing:-.005em}
.mega .o{color:var(--orange)}
.mega small{display:block;font:italic 400 clamp(26px,3.4vw,46px)/1 "Instrument Serif",Georgia,serif;text-transform:none;letter-spacing:0;margin-bottom:8px;color:var(--cream)}
.who{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-top:26px;font:400 clamp(30px,3.6vw,48px)/1 Anton,Impact,sans-serif;text-transform:uppercase}
.who em{font:400 14px/1.3 "Space Mono",monospace;font-style:normal;text-transform:none;opacity:.85;max-width:360px}
.bignum{position:absolute;right:30px;bottom:-40px;font:400 300px/1 Anton,Impact,sans-serif;color:transparent;-webkit-text-stroke:2px rgba(239,232,216,.28);pointer-events:none;user-select:none}
.poster .right{padding:44px 0 44px 40px;display:flex;flex-direction:column;gap:22px}
/* illustrated silhouette */
.sil{position:relative;background:var(--orange);border:2px solid var(--ink);aspect-ratio:1/1;overflow:hidden;border-radius:50% 50% 0 0}
.sil svg{position:absolute;inset:0;width:100%;height:100%}
.sil .lab{position:absolute;left:0;right:0;bottom:0;background:var(--ink);color:var(--cream);font:700 11px/1 "Space Mono",monospace;text-transform:uppercase;letter-spacing:.1em;padding:9px 12px;display:flex;justify-content:space-between}
.photo{margin:0;position:relative}
.photo .frame{background:var(--orange);border:2px solid var(--ink);aspect-ratio:1/1;overflow:hidden;border-radius:50% 50% 0 0}
.photo img{display:block;width:100%;height:100%;object-fit:cover}
.photo figcaption{background:var(--ink);color:var(--cream);font:400 11px/1.4 "Space Mono",monospace;letter-spacing:.04em;padding:8px 12px;border:2px solid var(--ink);border-top:0}
.photo figcaption a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.stamp{position:absolute;top:42%;left:10px;transform:rotate(-8deg);z-index:2;background:var(--cream);color:var(--ink);border:2px solid var(--ink);font:400 18px/1 Anton,Impact,sans-serif;text-transform:uppercase;padding:8px 10px;text-align:center}
.stamp b{display:block;font:700 10px/1.2 "Space Mono",monospace}
/* quote block */
.quote{background:var(--cream);color:var(--ink);padding:40px 0 34px;border-bottom:var(--rule)}
.quote .wrap{display:grid;grid-template-columns:180px 1fr;gap:34px}
.qlabel{font:700 12px/1.5 "Space Mono",monospace;text-transform:uppercase;letter-spacing:.06em;border-top:6px solid var(--orange);padding-top:10px}
blockquote{margin:0;font:400 clamp(28px,3.6vw,50px)/1.12 "Instrument Serif",Georgia,serif;letter-spacing:-.01em}
blockquote .hl{background:linear-gradient(transparent 58%,rgba(255,90,31,.55) 58%)}
blockquote .q{font-style:italic;color:var(--cobalt)}
.take2{margin-top:22px;padding:16px 18px;border:var(--rule);background:#fff;font:400 clamp(19px,2vw,24px)/1.3 "Instrument Serif",Georgia,serif;position:relative}
.take2:before{content:attr(data-label);position:absolute;top:-11px;left:14px;background:var(--ink);color:var(--cream);font:700 11px/1 "Space Mono",monospace;padding:5px 8px;letter-spacing:.1em}
.src{margin-top:18px;font:400 13px/1.5 "Space Mono",monospace;color:var(--mute)}
.src a{color:var(--cobalt);font-weight:700}
/* lower grid */
.grid3{display:grid;grid-template-columns:repeat(12,1fr);gap:0;border-bottom:var(--rule)}
.cell{padding:32px 28px;border-right:var(--rule)}
.cell:last-child{border-right:0}
.c5{grid-column:span 5}.c4{grid-column:span 4}.c3{grid-column:span 3}.c7{grid-column:span 7}.c8{grid-column:span 8}.c12{grid-column:span 12}
h3.h{font:400 34px/1 Anton,Impact,sans-serif;text-transform:uppercase;margin:0 0 16px}
h3.h i{font:italic 400 .8em/1 "Instrument Serif",Georgia,serif;text-transform:none;color:var(--orange)}
.cell p{margin:0 0 12px}
/* dial meter */
.meter{text-align:center}
.meter svg{width:100%;max-width:300px;height:auto;display:block;margin:0 auto}
.meter .score{font:400 64px/1 Anton,Impact,sans-serif;margin-top:8px}
.meter .score small{font-size:.45em;color:var(--mute)}
.meter .verdict{display:inline-block;margin-top:8px;background:var(--ink);color:var(--cream);font:700 12px/1 "Space Mono",monospace;text-transform:uppercase;padding:8px 10px;letter-spacing:.06em}
.scale{display:flex;justify-content:space-between;font:700 10px/1.2 "Space Mono",monospace;text-transform:uppercase;color:var(--mute);margin-top:12px;gap:6px;text-align:center}
/* stats */
.stats{list-style:none;margin:0;padding:0}
.stats li{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px dashed var(--ink);padding:10px 0;gap:10px}
.stats b{font:400 40px/1 Anton,Impact,sans-serif;color:var(--cobalt)}
.stats span{font:400 13px/1.35 "Space Mono",monospace}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--orange);color:var(--ink);border:2px solid var(--ink);font:400 22px/1 Anton,Impact,sans-serif;text-transform:uppercase;padding:14px 18px;text-decoration:none;box-shadow:5px 5px 0 var(--ink);transition:transform .1s,box-shadow .1s}
.btn:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ink)}
.btn.ghost{background:transparent;color:inherit;border-color:currentColor;box-shadow:none}
/* shame wall */
.wall{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:var(--rule)}
.tile{padding:24px;border-right:var(--rule);min-height:210px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.tile:last-child{border-right:0}
.tile .n{font:400 70px/.9 Anton,Impact,sans-serif}
.tile.now{background:var(--ink);color:var(--cream)}
.tile.now .n{color:var(--orange)}
.tile .t{font:700 12px/1.4 "Space Mono",monospace;text-transform:uppercase}
.tile .t b{display:block;font:400 26px/1 Anton,Impact,sans-serif}
.tile.empty{background:repeating-linear-gradient(-45deg,transparent 0 12px,rgba(14,14,16,.06) 12px 24px)}
.secbar{display:flex;justify-content:space-between;align-items:center;border-bottom:var(--rule);padding:16px 0;font:700 13px/1 "Space Mono",monospace;text-transform:uppercase}
.secbar h2{margin:0;font:400 40px/1 Anton,Impact,sans-serif}
/* nominate */
.nom{background:var(--orange);border-bottom:var(--rule)}
.nom .wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:44px;padding-bottom:44px}
.nom h2{font:400 clamp(44px,6vw,84px)/.9 Anton,Impact,sans-serif;text-transform:uppercase;margin:0}
.nom h2 i{font:italic 400 .62em "Instrument Serif",Georgia,serif;text-transform:none;display:block}
form.f{display:grid;gap:12px}
form.f label{font:700 11px/1 "Space Mono",monospace;text-transform:uppercase;letter-spacing:.08em}
form.f input{width:100%;font:400 17px/1.2 Archivo,Arial,sans-serif;padding:14px;border:2px solid var(--ink);background:var(--cream);border-radius:0}
form.f .btn{background:var(--ink);color:var(--cream);box-shadow:5px 5px 0 var(--cobalt);justify-self:start;cursor:pointer}
form.f small{font:400 12px/1.4 "Space Mono",monospace}
/* footer */
footer{background:var(--ink);color:var(--cream)}
footer .wrap{display:grid;grid-template-columns:2fr 1fr;gap:30px;padding-top:36px;padding-bottom:36px}
footer .big{font:400 clamp(54px,9vw,130px)/.85 Anton,Impact,sans-serif;text-transform:uppercase;color:var(--cobalt);-webkit-text-stroke:1px var(--cream)}
.disc{font:400 13px/1.6 "Space Mono",monospace;opacity:.9}
.disc b{color:var(--orange)}
/* post page */
.posthead{background:var(--cobalt);color:var(--cream);border-bottom:var(--rule)}
.posthead .wrap{padding-top:40px;padding-bottom:46px;display:grid;grid-template-columns:1fr 260px;gap:40px;align-items:end}
.posthead h1{font:400 clamp(46px,7.4vw,112px)/.88 Anton,Impact,sans-serif;text-transform:uppercase;margin:22px 0 18px}
.posthead h1 .o{color:var(--orange)}
.deck{font:italic 400 clamp(22px,2.4vw,30px)/1.25 "Instrument Serif",Georgia,serif;max-width:760px;margin:0}
.byline{margin-top:20px;font:700 12px/1.5 "Space Mono",monospace;text-transform:uppercase;opacity:.9}
.article .wrap{display:grid;grid-template-columns:170px minmax(0,1fr) 300px;gap:44px;padding-top:44px;padding-bottom:50px}
.toc{position:sticky;top:20px;align-self:start;font:700 12px/1.9 "Space Mono",monospace;text-transform:uppercase;border-top:6px solid var(--orange);padding-top:10px}
.toc a{display:block;text-decoration:none}
.toc a:hover{color:var(--cobalt)}
.body h2{font:400 36px/1 Anton,Impact,sans-serif;text-transform:uppercase;margin:42px 0 14px;scroll-margin-top:20px}
.body h2:first-child{margin-top:0}
.body p{font-size:19px;line-height:1.65;margin:0 0 16px}
.body .pull{font:italic 400 34px/1.15 "Instrument Serif",Georgia,serif;color:var(--cobalt);border-left:8px solid var(--orange);padding:4px 0 4px 20px;margin:28px 0}
.transcript{border:var(--rule);background:#fff;margin:22px 0}
.transcript div{display:grid;grid-template-columns:84px 1fr;border-bottom:1px solid #d8d2c2}
.transcript div:last-child{border-bottom:0}
.transcript .t{font:700 11px/1.3 "Space Mono",monospace;text-transform:uppercase;padding:14px 10px;background:var(--ink);color:var(--cream)}
.transcript .t.aud{background:var(--orange);color:var(--ink)}
.transcript p{margin:0;padding:12px 16px;font:400 20px/1.4 "Instrument Serif",Georgia,serif}
.transcript .aud+p{font:italic 400 16px/1.4 "Space Mono",monospace;color:var(--mute)}
.translate{background:var(--ink);color:var(--cream);padding:24px;margin:26px 0}
.translate .k{font:700 11px/1 "Space Mono",monospace;text-transform:uppercase;color:var(--orange);letter-spacing:.1em}
.translate p{font:400 28px/1.2 "Instrument Serif",Georgia,serif;margin:10px 0 0}
.fair{border:2px dashed var(--ink);padding:18px 20px;font-size:16px;margin:26px 0}
.fair b{font-family:"Space Mono",monospace;text-transform:uppercase;font-size:12px;display:block;margin-bottom:6px}
.receipts{list-style:none;padding:0;margin:0;counter-reset:r}
.receipts li{counter-increment:r;padding:12px 0 12px 46px;position:relative;border-bottom:1px dashed var(--ink);font-size:15px}
.receipts li:before{content:counter(r,decimal-leading-zero);position:absolute;left:0;top:10px;font:400 26px/1 Anton,Impact,sans-serif;color:var(--orange)}
.side{align-self:start;display:grid;gap:22px}
.side .card{border:var(--rule);background:#fff;padding:20px}
.share{display:flex;gap:8px;flex-wrap:wrap}
.share a{font:700 12px/1 "Space Mono",monospace;text-transform:uppercase;border:2px solid var(--ink);padding:9px 10px;text-decoration:none}
.share a:hover{background:var(--ink);color:var(--cream)}
/* responsive */
@media (max-width:1100px){
 .article .wrap{grid-template-columns:minmax(0,1fr) 300px}
 .toc{display:none}
}
@media (max-width:900px){
 .wrap{padding:0 18px}
 nav.links{display:none}
 .poster .wrap{grid-template-columns:1fr;min-height:0}
 .poster .left{padding:30px 0 24px;border-right:0;border-bottom:2px solid rgba(239,232,216,.35)}
 .poster .right{padding:24px 0 30px}
 .sil,.photo{max-width:340px;width:100%;margin:0 auto}
 .bignum{font-size:180px;bottom:-20px;right:0}
 .quote .wrap{grid-template-columns:1fr;gap:16px}
 .grid3{grid-template-columns:1fr}
 .cell{grid-column:auto!important;border-right:0;border-bottom:var(--rule);padding:26px 18px}
 .cell:last-child{border-bottom:0}
 .wall{grid-template-columns:1fr 1fr}
 .tile{border-bottom:var(--rule);min-height:170px}
 .tile:nth-child(2n){border-right:0}
 .nom .wrap{grid-template-columns:1fr;gap:24px}
 footer .wrap{grid-template-columns:1fr}
 .posthead .wrap{grid-template-columns:1fr;gap:20px}
 .posthead .sil,.posthead .photo{max-width:200px;margin:0}
 .article .wrap{grid-template-columns:1fr;padding-top:30px}
 .secbar h2{font-size:30px}
}
@media (max-width:480px){
 body{font-size:16px}
 .brand .name{font-size:24px}
 .brand .dot{width:36px;height:36px;font-size:18px}
 .mega{font-size:64px}
 .who{font-size:30px}
 .tile .n{font-size:52px}
 .tile{padding:18px;min-height:150px}
 .body p{font-size:17px}
 .body .pull{font-size:27px}
 .transcript div{grid-template-columns:1fr}
 .transcript .t{padding:8px 12px}
}

/* ===== generated-site additions ===== */
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:var(--orange);padding:8px;z-index:9}
.mega{overflow-wrap:anywhere}
.tile{text-decoration:none;color:inherit}
a.tile:hover{background:var(--orange);color:var(--ink)}
a.tile.now:hover{background:var(--cobalt);color:var(--cream)}
a.tile.now:hover .n{color:var(--cream)}
.sil .bub{font:400 34px/1 Anton,Impact,sans-serif}
form.f textarea{width:100%;font:400 17px/1.4 Archivo,Arial,sans-serif;padding:14px;border:2px solid var(--ink);background:var(--cream);border-radius:0;resize:vertical}
form.f .msg:empty{display:none}
form.f .msg{font:700 13px/1.4 "Space Mono",monospace;background:var(--ink);color:var(--cream);padding:8px 10px}
form.f .todo{border:2px dashed var(--ink);padding:8px 10px;display:block}
.share button,.share a{font:700 12px/1 "Space Mono",monospace;text-transform:uppercase;border:2px solid var(--ink);padding:9px 10px;text-decoration:none;background:transparent;color:inherit;cursor:pointer}
.meter .rating{font:700 12px/1 "Space Mono",monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);margin-top:6px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.tag{font:700 11px/1 "Space Mono",monospace;text-transform:uppercase;border:1.5px solid var(--ink);padding:6px 8px;border-radius:99px}
.pn{display:grid;grid-template-columns:1fr 1fr;border-top:var(--rule);margin-top:34px}
.pn a,.pn span{padding:16px 0;font:700 13px/1.4 "Space Mono",monospace;text-transform:uppercase;text-decoration:none}
.pn a:last-child{text-align:right}
.pn a:hover{color:var(--cobalt)}
.receipts a{color:var(--cobalt)}
.body a{color:var(--cobalt)}
.side .card .btn{font-size:18px}
/* page heads (archive/nominate/about/404) */
.pagehead{background:var(--cobalt);color:var(--cream);border-bottom:var(--rule)}
.pagehead .wrap{padding-top:40px;padding-bottom:44px;position:relative;overflow:hidden}
.pagehead h1{font:400 clamp(56px,9vw,140px)/.86 Anton,Impact,sans-serif;text-transform:uppercase;margin:22px 0 14px}
.pagehead h1 .o{color:var(--orange)}
.pagehead .bignum{bottom:-60px}
/* archive */
.arch{list-style:none;margin:0;padding:0;border-bottom:var(--rule)}
.arch li{border-bottom:var(--rule)}
.arch li:last-child{border-bottom:0}
.arch a{display:grid;grid-template-columns:150px minmax(0,1fr) 220px;text-decoration:none;color:inherit}
.arch a:hover{background:#fff}
.arch a>*{padding:24px 28px;border-right:var(--rule)}
.arch a>*:last-child{border-right:0}
.arch .n{font:400 84px/.9 Anton,Impact,sans-serif;color:var(--cobalt)}
.arch li.now .n{color:var(--orange)}
.arch .m{font:700 12px/1.5 "Space Mono",monospace;text-transform:uppercase}
.arch .nm{display:block;font:400 40px/1 Anton,Impact,sans-serif;text-transform:uppercase;margin:6px 0 8px}
.arch .q{display:block;font:italic 400 26px/1.2 "Instrument Serif",Georgia,serif;margin-bottom:12px}
.arch .sc{display:flex;flex-direction:column;justify-content:center;text-align:center}
.arch .sc b{font:400 64px/1 Anton,Impact,sans-serif}
.arch .sc b small{font-size:.45em;color:var(--mute)}
.arch .sc span{font:700 11px/1.3 "Space Mono",monospace;text-transform:uppercase}
.after{padding:22px 0 0;font:700 13px/1.6 "Space Mono",monospace;text-transform:uppercase}
.after a{color:var(--cobalt);margin-right:18px}
/* prose pages */
.prose .wrap{display:grid;grid-template-columns:170px minmax(0,760px);gap:44px;padding-top:44px;padding-bottom:50px}
.rules{list-style:none;padding:0;margin:0 0 16px}
.rules li{border-bottom:1px dashed var(--ink);padding:12px 0;font-size:18px}
.rules b{font:700 12px/1 "Space Mono",monospace;text-transform:uppercase;display:block;margin-bottom:6px;color:var(--cobalt)}
.nom.full .wrap{padding-top:50px;padding-bottom:56px}
.nom .house{margin-top:18px;max-width:480px}
.nom .house p{margin:0 0 12px}
.nom .house small{font:400 12px/1.5 "Space Mono",monospace;display:block}
footer .flinks{margin-top:14px;font:700 12px/1.8 "Space Mono",monospace;text-transform:uppercase}
footer .flinks a{color:var(--cream);margin-right:14px}
@media (max-width:900px){
 .arch a{grid-template-columns:90px minmax(0,1fr)}
 .arch a>*{padding:18px}
 .arch .n{font-size:54px}
 .arch .sc{grid-column:1 / -1;border-top:var(--rule);border-right:0;flex-direction:row;align-items:baseline;gap:14px;text-align:left}
 .arch .sc b{font-size:44px}
 .arch .nm{font-size:30px}
 .arch .q{font-size:21px}
 .prose .wrap{grid-template-columns:1fr;padding-top:30px;gap:0}
 .pn{grid-template-columns:1fr}
 .pn a:last-child{text-align:left;border-top:1px dashed var(--ink)}
 .ticker{font-size:11px}
}
@media (max-width:480px){
 .pagehead h1{font-size:60px}
 .arch a>*{padding:14px}
 .arch a{grid-template-columns:70px minmax(0,1fr)}
 .arch .n{font-size:44px}
}
.nom h1{font:400 clamp(44px,6vw,84px)/.9 Anton,Impact,sans-serif;text-transform:uppercase;margin:0}
.nom h1 i{font:italic 400 .62em "Instrument Serif",Georgia,serif;text-transform:none;display:block}
@media (max-width:900px){
 header.top .wrap{grid-template-columns:1fr;gap:12px;padding-top:12px;padding-bottom:12px}
 nav.links{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12px}
}
.posthead .sil .lab{font-size:9px;letter-spacing:.04em;padding:7px 9px;white-space:nowrap;gap:6px}
.hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
footer .flinks a{overflow-wrap:anywhere}
footer .flinks a.mail{text-transform:none;letter-spacing:.02em}
