@font-face{font-family:Campaign;src:url('assets/display.ttf') format('truetype');font-weight:800;font-display:swap}@font-face{font-family:Body;src:url('assets/body.ttf') format('truetype');font-weight:400 700;font-display:swap}
:root{--paper:#f7f3e9;--ink:#29271f;--red:#bd3427;--line:#d8d1c2;--muted:#666052;--cream:#f5e7c7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Body,sans-serif;font-size:15px;line-height:1.5}::selection{background:var(--red);color:var(--paper)}:focus-visible{outline:3px solid #227078;outline-offset:4px}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,select{cursor:pointer}button{color:inherit}button:disabled{opacity:.5;cursor:wait}button,a{touch-action:manipulation}h1,h2,h3,p{margin:0}h1,h2{font-family:Campaign,sans-serif;font-weight:800;line-height:1}button,.button{min-height:44px}.header{max-width:1440px;margin:auto;display:flex;align-items:center;gap:40px;padding:20px 5%;height:86px}.brand{font-weight:bold;font-size:28px;letter-spacing:-1px;display:flex;align-items:center;gap:7px;text-decoration:none}.brand span{color:var(--red);margin-left:-7px}.header nav{display:flex;gap:30px;margin-left:auto}.header nav a{text-decoration:none;font-size:13px}.header nav a:hover{text-decoration:underline}.header-note{font-size:10px;letter-spacing:1.2px;border-left:1px solid var(--line);padding-left:28px}.campaign{background:var(--red);color:var(--cream);position:relative;display:grid;grid-template-columns:1.3fr 1fr;min-height:450px;padding:54px max(5%,calc((100vw - 1296px)/2));overflow:hidden}.campaign-copy{z-index:1}.campaign h1{font-size:clamp(54px,6.8vw,96px);letter-spacing:-.025em;line-height:.95;white-space:nowrap}.campaign h1 span{color:#fff9ed}.campaign p{margin:24px 0 23px;max-width:510px;font-size:15px;line-height:1.7}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:12px 20px;border:1px solid transparent;text-decoration:none;font-weight:600;font-size:13px;border-radius:4px;transition:background .15s,color .15s}.button span{font-size:20px;line-height:1}.cream{background:var(--cream);color:var(--ink)}.cream:hover{background:white}.red{background:var(--red);color:white}.red:hover{background:#96271e}.outline{border-color:var(--line);background:transparent}.outline:hover{background:#e9e2d4;border-color:#9b8b75}.fineprint{display:block;font-size:10px;margin-top:12px;color:var(--cream)}.portrait{position:relative;align-self:stretch;min-width:0}.portrait>img{position:absolute;width:460px;max-width:115%;height:auto;bottom:-52px;right:-20px;filter:drop-shadow(0 12px 14px #701b2938)}.endorsement{position:absolute;top:-7px;right:0;width:115px;height:115px;border:2px solid var(--cream);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px;line-height:1.5;transform:rotate(12deg);z-index:1;text-align:center}.endorsement strong{font-family:Campaign,sans-serif;font-size:31px}.endorsement span{font-size:7px}.portrait-caption{position:absolute;bottom:-31px;right:5px;font-size:10px;background:var(--red);padding:3px 7px}.ticker{display:flex;justify-content:center;gap:44px;padding:13px 20px;background:var(--cream);border-bottom:1px solid #ddc9a5;font-size:10px;letter-spacing:1.4px;font-weight:bold;overflow:hidden;white-space:nowrap}.section{max-width:1296px;margin:auto;padding:55px 0}.library{scroll-margin-top:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.section-heading h2{font-family:Body,sans-serif;font-size:27px;letter-spacing:-.025em;font-weight:700}.section-heading p{font-size:13px;color:var(--muted);margin-top:9px}.toolbar{display:flex;gap:12px;margin-top:27px;align-items:center}.search{border:1px solid #c7bdaa;border-radius:4px;display:flex;align-items:center;gap:12px;background:#fffdf7;padding:0 13px;flex:1}.search svg{width:20px;flex-shrink:0}.search input{width:100%;border:0;outline:none;background:transparent;min-height:48px;color:var(--ink);caret-color:var(--red)}.search:focus-within{outline:2px solid var(--red);outline-offset:2px}input::placeholder{color:var(--muted)}kbd{border:1px solid var(--line);padding:0 6px;color:var(--muted);font-size:12px}.sort-label{font-size:12px;color:var(--muted);margin-left:10px}.sort-label select{border:0;background:transparent;padding:10px 0 10px 8px;color:var(--ink);max-width:145px}.filters{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0 24px}.chip{background:transparent;border:1px solid var(--line);border-radius:4px;padding:6px 12px;font-size:12px;min-height:34px}.chip[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip:hover{border-color:var(--ink)}.chip span{opacity:.7;margin-left:6px;font-size:10px}.results-line{display:flex;justify-content:space-between;margin-bottom:18px;font-size:12px;color:var(--muted)}.results-line strong{color:var(--ink)}.results-line>span{font-size:11px}.emoji-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.emoji{border:1px solid #ddd5c7;border-radius:5px;background:#eee7d8;aspect-ratio:1;padding:6px;position:relative;min-width:0;transition:background .15s,border-color .15s}.emoji:hover,.emoji:focus-visible{background:#e9c9a2;border-color:var(--red)}.emoji img{width:100%;height:100%;object-fit:contain;display:block}.emoji.saved:after{content:'♥';position:absolute;right:4px;bottom:0;color:var(--red);font-size:12px}.more{display:flex;margin:30px auto 0}.library-foot{text-align:center;margin-top:23px;color:var(--muted);font-size:11px}.empty{text-align:center;padding:40px 16px}.empty h3{font-size:24px}.empty p{margin:12px 0 20px}[hidden]{display:none!important}.manifesto{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.15fr;gap:100px;padding-top:70px;padding-bottom:70px}.manifesto h2,.builder h2{font-size:72px}.manifesto h2 em,.builder h2 em{font-style:normal;color:var(--red)}.manifesto-intro>p{max-width:340px;margin-top:24px;color:var(--muted);line-height:1.8}.manifesto-intro img{object-fit:contain;margin-top:20px;transform:rotate(-4deg)}.arguments article{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.argument-label{font-size:10px;letter-spacing:1px;color:var(--red)}.arguments h3{font-size:23px;letter-spacing:-.02em;line-height:1.25;margin:10px 0}.arguments p{font-size:13px;line-height:1.8;color:var(--muted);max-width:58ch}.arguments .disclosure{font-size:11px}.builder{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-bottom:80px}.builder-copy{align-self:center}.builder-copy>p{max-width:360px;margin:23px 0}.builder label{display:block;font-size:12px;margin:20px 0 7px}.builder select{width:100%;max-width:390px;display:block;border:1px solid #c7bdaa;background:var(--paper);border-radius:3px;padding:12px;color:var(--ink)}.builder .button{margin-top:24px}.small{font-size:11px;color:var(--muted)}.builder-copy p.small{margin-top:12px}.poster-wrap{padding:20px 40px;background:#e8e1d3;display:flex;justify-content:center;align-items:center}.poster-wrap canvas{width:100%;max-width:360px;height:auto;box-shadow:0 15px 25px #30251820;transform:rotate(3deg)}.closing{background:var(--red);color:var(--cream);text-align:center;padding:55px 20px}.closing h2{font-size:56px}.closing .button{margin-top:25px}.closing p{font-size:11px;margin-top:15px}footer{max-width:1296px;margin:auto;display:flex;gap:30px;align-items:center;justify-content:space-between;padding:28px 0}footer p{font-size:10px;color:var(--muted)}footer>a:last-child{font-size:11px}dialog{border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);padding:35px;max-width:600px;width:calc(100% - 32px);text-align:center;max-height:90vh;overflow:auto}dialog::backdrop{background:#251f18a6}.close{position:absolute;right:12px;top:10px;font-size:28px;background:none;border:0;width:44px}.detail-image{background:#e9e0cf;border-radius:8px;margin:0 auto 22px;width:260px;max-width:100%;padding:20px}.detail-image img{width:100%;height:auto;image-rendering:auto}dialog h2{font-family:Body,sans-serif;font-size:24px;overflow-wrap:anywhere}#detail-code{font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin:12px 0 22px}.detail-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}dialog .small{margin-top:20px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 24px;border-radius:5px;font-size:13px;z-index:5;max-width:90vw;text-align:center;display:none}.toast.show{display:block}.skip{position:fixed;top:-100px;left:20px;background:var(--paper);padding:12px;z-index:10}.skip:focus{top:10px}body{scrollbar-color:#b5a58a var(--paper)}
@media(min-width:1440px){.section,footer{max-width:1180px}.campaign{padding-left:max(5%,calc((100vw - 1180px)/2));padding-right:max(5%,calc((100vw - 1180px)/2))}}@media(max-width:1400px){.section,footer{margin-left:5%;margin-right:5%}}@media(max-width:1000px){.header-note{display:none}.campaign{min-height:420px}.campaign h1{font-size:7.2vw}.portrait>img{bottom:-54px;right:-35px;max-width:128%}.endorsement{right:-20px;top:-25px;width:95px;height:95px}.ticker{gap:20px;font-size:9px}.emoji-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:10px}.manifesto,.builder{gap:45px}.manifesto h2,.builder h2{font-size:60px}.poster-wrap{padding:20px}.section-heading h2{font-size:25px}}@media(max-width:650px){.header{height:76px;padding:15px 5%;gap:14px}.brand{font-size:23px}.brand img{width:34px;height:34px}.header nav{gap:14px}.header nav a{font-size:11px}.header nav a:last-child{display:none}.campaign{display:block;padding:35px 5% 0;min-height:640px}.campaign h1{font-size:clamp(48px,11.5vw,72px)}.campaign p{font-size:13px;max-width:330px;margin-top:20px}.campaign p br{display:none}.portrait{height:280px;margin-top:10px}.portrait>img{height:300px;width:300px;max-width:none;bottom:-5px;right:calc(50% - 150px)}.endorsement{right:0;top:10px;width:95px;height:95px}.portrait-caption{bottom:10px;right:0}.ticker{justify-content:flex-start;gap:20px;font-size:8px;padding:12px 5%}.ticker span:last-child,.ticker b:last-of-type{display:none}.section{padding-top:36px;padding-bottom:36px}.section-heading{align-items:flex-start;gap:10px}.section-heading h2{font-size:21px;line-height:1.2;max-width:240px}.section-heading p{font-size:11px}.download-all{padding:10px;gap:8px;white-space:nowrap;font-size:11px}.toolbar{flex-wrap:wrap;margin-top:22px}.search{flex-basis:100%}.toolbar>.button{font-size:12px;min-height:42px}.sort-label{margin-left:auto}.filters{gap:6px;margin:14px 0 20px}.chip{font-size:11px;padding:6px 9px;min-height:40px}.results-line{font-size:11px}.results-line>span{display:none}.emoji-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.emoji{padding:4px}.manifesto,.builder{grid-template-columns:1fr;gap:25px}.manifesto h2,.builder h2{font-size:60px}.manifesto-intro{position:relative}.manifesto-intro>p{max-width:240px;font-size:13px}.manifesto-intro img{position:absolute;right:-5px;bottom:0;width:115px;height:115px;opacity:.9}.arguments{padding-top:15px}.arguments h3{font-size:22px}.builder-copy>p{font-size:13px}.poster-wrap{padding:30px 35px}.closing h2{font-size:39px}.closing{padding:40px 20px}footer{flex-wrap:wrap;gap:15px}footer p{order:3;width:100%}dialog{padding:25px 18px}.detail-image{width:210px}.detail-actions .button{font-size:12px;padding:10px}.fineprint{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.header-note,.fineprint,.portrait-caption,.ticker,.argument-label,.chip span{font-size:11px}.endorsement{font-size:11px}.endorsement span{font-size:8px}footer p{font-size:11px}

.brand { flex-wrap: wrap; column-gap: 7px; row-gap: 0; line-height: 1.15; }
.brand .brand-owner { display: block; margin: 0; width: 100%; font-size: 11px; line-height: 1.5; letter-spacing: 0; color: var(--muted); }
.header .brand { position: relative; padding-left: 49px; }
.header .brand img { position: absolute; left: 0; top: 0; }
.builder { align-items: start; }
.builder-copy { min-width: 0; }
.poster-search { width: 100%; padding: 12px; border: 1px solid #c7bdaa; border-radius: 4px; background: #fffdf7; color: var(--ink); font-size: 16px; }
.builder-copy #poster-results { margin: 10px 0; font-size: 12px; }
.poster-options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; max-height: 290px; overflow-y: auto; padding: 4px; }
.poster-option { min-width: 0; padding: 7px; border: 1px solid var(--line); border-radius: 5px; background: #eee7d8; }
.poster-option img { display: block; width: 100%; height: 64px; object-fit: contain; }
.poster-option span { display: block; margin-top: 5px; font-size: 11px; line-height: 1.3; overflow-wrap: anywhere; }
.poster-option:hover { background: #e9c9a2; }
.poster-option[aria-pressed=true] { border: 2px solid var(--red); padding: 6px; background: #f5e7c7; }
.builder #poster-more { margin-top: 10px; }
.builder-copy .poster-selected { margin: 16px 0 0; font-size: 12px; overflow-wrap: anywhere; }
.poster-wrap { position: sticky; top: 24px; min-width: 0; }
@media(max-width:650px){.header .brand{padding-left:40px}.brand{font-size:23px}.brand .brand-owner{font-size:10px}.poster-options{grid-template-columns:repeat(3,minmax(0,1fr));max-height:255px}.poster-wrap{position:static}}

/* Keep the loading control/footer from pulling the viewport down as tiles arrive. */
#more,.library-foot,footer{overflow-anchor:none}
