@font-face{font-family:Poster;src:url('/editions/gig-poster/assets/anton.woff') format('woff');font-weight:400;font-display:swap}
body.gig-poster:is([data-page=launch],[data-page=setup]){--ink:#103135;--ink2:#23433b;--paper:#dfb045;--bone:#edc65d;--red:#a83223;--red2:#103135;--yellow:#dfb045;--line:#10313588;--focus-ink:#103135;--focus-paper:#f5cf64;--control-metal:#dfb045;--control-track:#103135;--atlas-paper:#dfb045;--atlas-paper-light:#eac45d;--atlas-paper-hover:#d3a23a;--atlas-ink:#103135;--atlas-accent:#103135;--atlas-border:#103135;--atlas-land:#103135;--atlas-water:transparent;--atlas-boundary:#dfb045;--atlas-selected:#a83223;background:#103135;color:var(--ink);font-family:Arial,Helvetica,sans-serif}
body.gig-poster .site{width:min(100%,960px);background:var(--paper) url('/editions/gig-poster/assets/stock.webp') repeat;background-size:520px;background-blend-mode:luminosity;border:0;box-shadow:none;container-type:inline-size}
body.gig-poster .site:before{display:none}
body.gig-poster:is([data-page=launch],[data-page=setup]) .main{padding:0 3% 22px}
body.gig-poster:is([data-page=launch],[data-page=setup]) .masthead{display:flex;align-items:center;justify-content:space-between;gap:12px;background:none;color:var(--ink);border:0;padding:12px 3% 8px}
body.gig-poster .brandrow{min-width:0;flex:1}
body.gig-poster .brand{gap:8px}
body.gig-poster .brand-name{font:400 clamp(1.25rem,4.3cqw,2.8rem)/1 Poster,sans-serif;letter-spacing:-.02em;white-space:nowrap}
body.gig-poster .brand-name span{color:inherit}
body.gig-poster .brand-star{width:clamp(22px,5cqw,46px);height:auto}
body.gig-poster .brand-star svg{width:100%;height:auto}
body.gig-poster .brand-sub,body.gig-poster .est,body.gig-poster .ticket{display:none}
body.gig-poster:is([data-page=launch],[data-page=setup]) .topnav{display:flex;gap:16px;padding:0;align-items:center}
body.gig-poster .topnav a,body.gig-poster .topnav a[aria-current=page]{padding:8px 0;min-height:44px;background:none;color:var(--ink);border:0;box-shadow:none;font:400 clamp(.85rem,2.6cqw,1.6rem)/1.1 Poster,sans-serif;letter-spacing:.03em}
body.gig-poster .topnav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
body.gig-poster .topnav a+a{border-left:1px solid var(--ink);padding-left:16px}
body.gig-poster:is([data-page=launch],[data-page=setup]) .hero-title{display:block;position:relative;margin:4px 0 10px;padding:0;border:0;min-height:0}
body.gig-poster:is([data-page=launch],[data-page=setup]) .hero-title .headline,html[data-returning=true] body.gig-poster:is([data-page=launch],[data-page=setup]) .hero-title .headline{position:relative;z-index:1;width:69%;max-width:none;margin:0;padding:0;border:0;font:400 15.6cqw/.9 Poster,sans-serif;letter-spacing:-.025em;color:var(--ink);text-shadow:none;transform:scaleX(.88);transform-origin:left center;animation:none;overflow-wrap:normal}
body.gig-poster .poster-line{display:block;white-space:nowrap}
body.gig-poster .poster-bird{position:absolute;width:44%;height:auto;right:-1%;top:3%;pointer-events:none}
body.gig-poster:is([data-page=launch],[data-page=setup]) .hero-title .sticker,html[data-returning=true] body.gig-poster:is([data-page=launch],[data-page=setup]) .hero-title .sticker{display:block;position:absolute;right:1%;top:auto;bottom:2%;margin:0;padding:0;border:0;background:none;box-shadow:none;color:var(--ink);font:700 clamp(.625rem,2.2cqw,1.2rem)/1.05 'Courier New',monospace;transform:rotate(-14deg);text-align:center}
body.gig-poster .service-counter>h2,body.gig-poster .mix-heading,body.gig-poster .tempo-heading label{display:none}
body.gig-poster:is([data-page=launch],[data-page=setup]) .selector-grid{display:block}
body.gig-poster:is([data-page=launch],[data-page=setup]) .selector-grid .panel{margin:0;padding:8px 0 10px;border:0;border-top:1px solid var(--ink);background:none;box-shadow:none}
body.gig-poster .panel-head,body.gig-poster .counter-label{font:700 clamp(.75rem,2.2cqw,1.1rem)/1.3 'Courier New',monospace;letter-spacing:.04em;margin:0 0 5px}
body.gig-poster:is([data-page=launch],[data-page=setup]) .switch{gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}
body.gig-poster:is([data-page=launch],[data-page=setup]) .switch button{font:400 clamp(1rem,3.1cqw,1.8rem)/1.2 Poster,sans-serif;text-transform:none;min-height:44px;border:1px solid var(--ink);border-radius:2px;padding:7px 3px;background:transparent;color:var(--ink);box-shadow:none}
body.gig-poster:is([data-page=launch],[data-page=setup]) .switch button[aria-pressed=true]{background:var(--ink);color:var(--paper);box-shadow:none;text-decoration:underline;text-underline-offset:4px}
body.gig-poster:is([data-page=launch],[data-page=setup]) .connector-status{margin:0 0 6px;padding:0;border:0;background:none;min-height:0}
body.gig-poster:is([data-page=launch],[data-page=setup]) .connector-status span{font-size:.75rem;line-height:1.4;color:var(--ink)}
body.gig-poster:is([data-page=launch],[data-page=setup]) .connector-status.warn{padding:4px 0 8px;border:0;background:transparent}
body.gig-poster:is([data-page=launch],[data-page=setup]) .connector-status:before{display:none}
body.gig-poster:is([data-page=launch],[data-page=setup]) .connector-status.warn span{font:400 .8125rem/1.5 Arial,Helvetica,sans-serif;color:var(--ink)}
body.gig-poster .refinements{margin:0 0 8px;border:0}
body.gig-poster:is([data-page=launch],[data-page=setup]) .tempo-control{position:relative;border-top:1px solid var(--ink);padding:28px 74px 8px 0;margin:0}
body.gig-poster .tempo-control:before{content:'SET THE TEMPO';position:absolute;left:0;top:6px;font:700 .8rem/1.2 'Courier New',monospace}
body.gig-poster:is([data-page=launch],[data-page=setup]) .tempo-heading{position:absolute;right:0;top:28px}
body.gig-poster:is([data-page=launch],[data-page=setup]) .tempo-heading button{min-width:62px;min-height:44px;padding:6px;border:1px solid var(--ink);border-radius:2px;background:transparent;color:var(--ink);font:400 1.15rem/1.1 Poster,sans-serif}
body.gig-poster:is([data-page=launch],[data-page=setup]) .tempo-heading button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
body.gig-poster:is([data-page=launch],[data-page=setup]) .tempo-control .fader-bed{padding:0 0 24px;margin:0;background:none;box-shadow:none}
body.gig-poster #tempoSlider{height:36px}
body.gig-poster #tempoSlider::-webkit-slider-runnable-track{height:7px;border-radius:10px;background:var(--ink);box-shadow:none}
body.gig-poster #tempoSlider::-moz-range-track{height:7px;border-radius:10px;background:var(--ink);box-shadow:none}
body.gig-poster #tempoSlider::-webkit-slider-thumb,body.gig-poster .tempo-control[data-tempo=any] #tempoSlider::-webkit-slider-thumb{width:27px;height:27px;margin-top:-10px;border:2px solid var(--ink);border-radius:50%;background:var(--paper);box-shadow:none}
body.gig-poster #tempoSlider::-moz-range-thumb,body.gig-poster .tempo-control[data-tempo=any] #tempoSlider::-moz-range-thumb{width:25px;height:25px;border:2px solid var(--ink);border-radius:50%;background:var(--paper);box-shadow:none}
body.gig-poster .tempo-control[data-tempo=any] #tempoSlider::-webkit-slider-thumb{border-style:dashed}
body.gig-poster .fader-stops{height:0;margin:0 13px;display:block}
body.gig-poster .fader-stops span{position:absolute;transform:translateX(-50%);max-width:none;white-space:nowrap;font:400 clamp(.75rem,2.2cqw,1.1rem)/1 Poster,sans-serif}
body.gig-poster .fader-stops span:before{display:block}
body.gig-poster #tempoHelp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
body.gig-poster .refinements>.crate-geo{margin:0;border:0;border-top:1px solid var(--ink);box-shadow:none;background:none}
body.gig-poster .crate-geo-summary{padding:7px 0;min-height:44px;border:0}
body.gig-poster .crate-geo-summary strong{font:400 clamp(1.15rem,3.2cqw,1.8rem)/1 Poster,sans-serif;letter-spacing:.01em;color:var(--ink)}
body.gig-poster .crate-geo-identity small,body.gig-poster .atlas-intro,body.gig-poster .crate-atlas-locator,body.gig-poster .crate-map-seal,body.gig-poster .crate-map-coordinate{display:none}
body.gig-poster .crate-geo-body{padding:0;border:0}
body.gig-poster .crate-atlas-heading{margin:0;min-height:0;padding:0;justify-content:flex-end}
body.gig-poster #atlasHome{font-size:.75rem;min-height:44px;margin:0 0 5px;background:none;color:var(--ink);border:1px solid var(--ink)}
body.gig-poster .crate-map-frame{padding:0;border:0;box-shadow:none;background:none;overflow:hidden}
body.gig-poster .crate-mercator{background:none;aspect-ratio:720/372}
body.gig-poster .crate-map-ocean{fill:transparent}
body.gig-poster .crate-map-grid,body.gig-poster .crate-map-countries>path{display:none}
body.gig-poster .crate-map-zone path{fill:var(--ink);stroke:var(--paper);stroke-width:1.15;vector-effect:non-scaling-stroke;stroke-linejoin:round}
body.gig-poster .crate-map-zone[data-selected=true] path{fill:url(#posterSelectedHalftone);stroke:var(--ink);stroke-width:1.8;vector-effect:non-scaling-stroke}
body.gig-poster .crate-geo-note{font:700 .75rem/1.4 'Courier New',monospace;margin:4px 0 6px;color:var(--ink);letter-spacing:0}
body.gig-poster .crate-stamp{background:transparent;color:var(--ink);border-color:var(--ink);box-shadow:none;font-family:'Courier New',monospace;font-size:.75rem}
body.gig-poster .crate-named-regions{margin-top:4px}
body.gig-poster .crate-named-regions>summary{min-height:44px;font-size:.75rem;color:var(--ink)}
body.gig-poster .counter-label{padding-top:6px;border-top:1px solid var(--ink)}
body.gig-poster:is([data-page=launch],[data-page=setup]) .mood-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:0;margin:0 0 4px;background:none;border:0;box-shadow:none}
body.gig-poster:is([data-page=launch],[data-page=setup]) .mood-grid .mood,body.gig-poster:is([data-page=launch],[data-page=setup]) .mood-grid .mood:nth-last-child(-n+2){grid-column:auto;min-height:90px;padding:4px 2px 6px;gap:2px;border:0;border-right:1px solid var(--ink);border-radius:0;background:none;box-shadow:none;color:var(--ink);transform:none}
body.gig-poster:is([data-page=launch],[data-page=setup]) .mood-grid .mood:last-child{border-right:0}
body.gig-poster:is([data-page=launch],[data-page=setup]) .mood-grid .mood[aria-pressed=true]{background:var(--ink);color:var(--paper);padding:4px 2px 6px;border:0;border-right:1px solid var(--ink);box-shadow:none}
body.gig-poster:is([data-page=launch],[data-page=setup]) .mood .face{background-image:url('/editions/gig-poster/assets/clerks-v2.webp');width:100%;height:auto;aspect-ratio:.85;background-size:500% 100%;margin:0;filter:none}
body.gig-poster:is([data-page=launch],[data-page=setup]) .mood[aria-pressed=true] .face{filter:brightness(0) saturate(100%) invert(76%) sepia(70%) saturate(537%) hue-rotate(353deg) brightness(93%) contrast(87%)}
body.gig-poster:is([data-page=launch],[data-page=setup]) .mood .word{font:400 clamp(.8125rem,2.8cqw,1.4rem)/1.2 Poster,sans-serif;letter-spacing:0;text-transform:capitalize;white-space:nowrap}
body.gig-poster:is([data-page=launch],[data-page=setup]) .mood-hint{font:400 .75rem/1.4 Arial,sans-serif;margin:6px 0 10px;min-height:1.4em;color:var(--ink)}
body.gig-poster:is([data-page=launch],[data-page=setup]) .grind{margin:0;padding:0;background:none;box-shadow:none;border:0}
body.gig-poster:is([data-page=launch],[data-page=setup]) .go-button{display:flex;align-items:center;gap:4%;width:100%;min-height:96px;border:0;border-radius:2px;padding:10px 3%;background:var(--ink);color:var(--paper);box-shadow:none}
body.gig-poster:is([data-page=launch],[data-page=setup]) .go-button .star-glyph{width:16%;min-width:50px;max-width:130px;filter:brightness(1.6) saturate(.8)}
body.gig-poster:is([data-page=launch],[data-page=setup]) .go-copy{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8%;width:100%}
body.gig-poster:is([data-page=launch],[data-page=setup]) .go-button .go-copy b{font:400 clamp(3.6rem,15cqw,8.5rem)/1 Poster,sans-serif;color:var(--paper);text-shadow:none;letter-spacing:0}
body.gig-poster:is([data-page=launch],[data-page=setup]) .go-button .go-copy>span:not(.go-stamp){font:400 clamp(.9rem,3.2cqw,1.8rem)/1.25 Poster,sans-serif;color:var(--paper);max-width:none;letter-spacing:.01em}
body.gig-poster:is([data-page=launch],[data-page=setup]) .go-button .go-stamp{font-family:Poster,sans-serif;background:var(--paper);color:var(--ink);border-color:var(--paper);font-size:clamp(1.2rem,4.8cqw,2.6rem)}
body.gig-poster:is([data-page=launch],[data-page=setup]) .go-button:active,body.gig-poster:is([data-page=launch],[data-page=setup]) .go-button[data-copy-state=copying]{transform:translateY(2px);box-shadow:inset 0 2px 0 #0005}
body.gig-poster .poster-instructions{font:700 .75rem/1.4 'Courier New',monospace;text-align:center;margin:8px 0 10px}
body.gig-poster .handoff .status{text-align:left;font-size:.8125rem;margin:8px 0}
body.gig-poster .action,body.gig-poster .resource{border:1px solid var(--ink);background:transparent;color:var(--ink);box-shadow:none;border-radius:0}
body.gig-poster .action[aria-disabled=false]{background:var(--ink);color:var(--paper)}
body.gig-poster .receipt-heading{font-family:Poster,sans-serif;font-size:1.1rem;margin-top:20px}
body.gig-poster .receipt,body.gig-poster .receipt-fold,body.gig-poster .receipt pre{background:transparent;color:var(--ink)}
body.gig-poster .receipt[data-copy-state=copied] .receipt-copy{color:var(--ink);border-color:var(--ink)}
body.gig-poster .welcome-setup{margin-top:20px;background:transparent;border:1px solid var(--ink);box-shadow:none;color:var(--ink)}
body.gig-poster .footnote{font-size:.75rem;line-height:1.5}
body.gig-poster .footer{background:none;color:var(--ink);border-top:1px solid var(--ink);font-size:.6875rem}
body.gig-poster .topnav a:focus-visible,body.gig-poster button:focus-visible,body.gig-poster summary:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 6px var(--paper)}
@media(max-width:360px){body.gig-poster .brand-name{font-size:1rem}body.gig-poster .topnav{gap:8px}body.gig-poster .topnav a{font-size:.75rem}body.gig-poster .topnav a+a{padding-left:8px}body.gig-poster .brand-star{width:20px}}
@media(prefers-reduced-motion:reduce){body.gig-poster .go-button:active{transform:none}}

body.gig-poster .footer a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* The Manual: shared print stock and keys, readable setup instructions. */
body.gig-poster .manual-intro{margin:4px 0 12px;padding:0;border:0}
body.gig-poster .manual-hero{position:relative;margin:0 0 12px;min-height:27cqw}
body.gig-poster .manual-hero .headline{margin:0;padding:0;font:400 13.2cqw/.95 Poster,sans-serif;letter-spacing:-.025em;color:var(--ink);text-shadow:none;width:100%;border:0}
body.gig-poster .manual-hero .headline span{display:block;white-space:nowrap}
body.gig-poster .manual-print{position:absolute;width:36%;height:auto;max-height:30cqw;object-fit:contain;right:0;bottom:0;pointer-events:none}
body.gig-poster .manual-intro p{font:400 clamp(.9375rem,2.6cqw,1.2rem)/1.45 Arial,sans-serif;margin:0;max-width:70ch;color:var(--ink)}
body.gig-poster .manual-intro .clerk-aside{display:block;color:var(--ink);font-style:italic;margin-top:4px}
body.gig-poster .manual-workbench .setup-recipe{background:none;border:0;border-top:1px solid var(--ink);box-shadow:none;padding:10px 0 0;margin:8px 0 0}
body.gig-poster[data-page=setup] .manual-workbench .setup-recipe>h2,body.gig-poster .manual-fine-title{font:400 clamp(1.65rem,6cqw,3.5rem)/1.05 Poster,sans-serif;letter-spacing:-.015em;color:var(--ink);margin:0 0 8px}
body.gig-poster .setup-recipe .recipe-intro{font:400 .9375rem/1.5 Arial,sans-serif;margin:0 0 12px;color:var(--ink)}
body.gig-poster .setup-actions{display:grid;grid-template-columns:1fr;gap:8px;margin:0 0 8px}
body.gig-poster .setup-actions .resource{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:0;padding:10px;font:400 clamp(1.25rem,4.5cqw,2.4rem)/1.2 Poster,sans-serif;text-align:center;border:1px solid var(--ink);color:var(--ink);background:transparent;box-shadow:none}
body.gig-poster .setup-actions .copy{background:var(--ink);color:var(--paper)}
body.gig-poster #copyStatus{font:400 .875rem/1.4 Arial,sans-serif;color:var(--ink);margin:8px 0 12px}
body.gig-poster .manual-prompt,body.gig-poster .manual-install,body.gig-poster .resource-shelf{border:0;border-top:1px solid var(--ink);background:none;box-shadow:none;margin:0;padding:0}
body.gig-poster .manual-prompt>summary,body.gig-poster .manual-install>summary,body.gig-poster .resource-shelf>summary{min-height:48px;padding:12px 0;display:list-item;font:700 .875rem/1.4 'Courier New',monospace;color:var(--ink);background:none;border:0}
body.gig-poster .resource-shelf>summary span{display:none}
body.gig-poster .manual-install-body,body.gig-poster .resource-shelf-body{padding:0 0 12px;color:var(--ink)}
body.gig-poster .manual-workbench p,body.gig-poster .recipe-steps li{line-height:1.5}
body.gig-poster .manual-workbench .receipt-fold pre{font-size:.8125rem;white-space:pre-wrap;overflow-wrap:anywhere}
body.gig-poster .manual-fine-title{border-top:1px solid var(--ink);padding-top:12px;margin-top:12px}
body.gig-poster .manual-workbench .infoblock{background:none;border:0;box-shadow:none;padding:0;margin:0;color:var(--ink);font-size:.9375rem}
body.gig-poster .manual-workbench .infoblock p{margin:0 0 12px}
body.gig-poster .manual-workbench .stack{display:flex;flex-wrap:wrap;gap:10px}
body.gig-poster .manual-workbench .main-action{width:100%;min-height:48px;font:400 1.4rem/1.2 Poster,sans-serif;text-align:center}

/* A small print-counter notice, dismissed only by the visitor. */
html[data-returning=true] body.gig-poster .poster-setup,body.gig-poster .poster-setup{display:block;margin:4px 0 12px;padding:10px 12px;border:1px solid var(--ink);background:transparent;box-shadow:none;color:var(--ink)}
body.gig-poster .poster-setup[hidden],html[data-returning=true] body.gig-poster .poster-setup[hidden]{display:none}
body.gig-poster .poster-setup h2{margin:0;font:400 clamp(1.1rem,3.2cqw,1.8rem)/1.2 Poster,sans-serif;letter-spacing:0;color:var(--ink)}
body.gig-poster .poster-setup p{margin:4px 0;font:400 .875rem/1.4 Arial,sans-serif;color:var(--ink)}
body.gig-poster .poster-setup-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px}
body.gig-poster .poster-setup-actions a,body.gig-poster .poster-setup-actions button{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:4px 0;border:0;background:none;box-shadow:none;color:var(--ink);font:700 .8125rem/1.3 'Courier New',monospace;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
body.gig-poster .poster-setup-actions button{font:400 .8125rem/1.3 Arial,sans-serif}

/* Print-counter feedback: quiet controls, one ink-settle on real copy success. */
body.gig-poster :is(.switch button,.mood,.resource,.action,.crate-stamp){transition:background-color 120ms ease-out,color 120ms ease-out,transform 100ms cubic-bezier(.16,1,.3,1)}
body.gig-poster :is(.switch button,.resource,.action,.crate-stamp):active:not(:disabled):not([aria-disabled=true]){transform:translateY(1px)}
body.gig-poster .switch button[aria-pressed=true]{text-decoration-thickness:2px}
body.gig-poster .crate-stamp .crate-stamp-x{color:inherit}
body.gig-poster .crate-stamp:active{background:var(--ink);color:var(--paper)}
body.gig-poster .crate-map-zone:focus-visible path{stroke:var(--ink);stroke-width:2;vector-effect:non-scaling-stroke}
body.gig-poster #tempoSlider:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:2px}
body.gig-poster #tempoSlider:active::-webkit-slider-thumb{background:var(--ink);border-color:var(--paper);outline:2px solid var(--ink)}
body.gig-poster #tempoSlider:active::-moz-range-thumb{background:var(--ink);border-color:var(--paper);outline:2px solid var(--ink)}
body.gig-poster :is(.manual-prompt,.manual-install,.resource-shelf)>summary{list-style:none;position:relative;padding-right:30px}
body.gig-poster :is(.manual-prompt,.manual-install,.resource-shelf)>summary::-webkit-details-marker{display:none}
body.gig-poster :is(.manual-prompt,.manual-install,.resource-shelf)>summary::after{content:'+';position:absolute;right:3px;top:50%;transform:translateY(-50%);font:400 1.5rem/1 Poster,sans-serif;color:var(--ink)}
body.gig-poster :is(.manual-prompt,.manual-install,.resource-shelf)[open]>summary::after{content:'−'}
body.gig-poster :is(.manual-prompt,.manual-install,.resource-shelf)[open]>summary{border-bottom:1px dashed var(--line);margin-bottom:8px}
body.gig-poster #copyTailoredSetup[data-copy-state=copied]{outline:2px solid var(--ink);outline-offset:3px;animation:poster-ink-settle 180ms cubic-bezier(.16,1,.3,1) both}
body.gig-poster[data-page=launch] .receipt[data-copy-state=copied] .receipt-copy{color:var(--ink);border-color:var(--ink);animation:poster-ink-settle 180ms cubic-bezier(.16,1,.3,1) both;transform:none}
@keyframes poster-ink-settle{from{opacity:.65;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@media(hover:hover) and (pointer:fine){
 body.gig-poster :is(.switch button,.resource,.action):hover:not(:disabled):not([aria-disabled=true]){text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
 body.gig-poster .mood:hover .word{text-decoration:underline;text-underline-offset:4px}
 body.gig-poster .crate-stamp:hover{background:var(--ink);color:var(--paper)}
 body.gig-poster :is(.topnav a,.poster-setup-actions a,.footer a):hover{text-decoration-thickness:3px}
 body.gig-poster :is(.manual-prompt,.manual-install,.resource-shelf)>summary:hover{text-decoration:underline;text-underline-offset:4px}
}
@media(prefers-reduced-motion:reduce){
 body.gig-poster :is(.switch button,.mood,.resource,.action,.crate-stamp){transition:background-color 100ms ease-out,color 100ms ease-out}
 body.gig-poster :is(.switch button,.resource,.action,.crate-stamp):active:not(:disabled):not([aria-disabled=true]){transform:none}
 body.gig-poster #copyTailoredSetup[data-copy-state=copied],body.gig-poster[data-page=launch] .receipt[data-copy-state=copied] .receipt-copy{animation:none;transform:none}
}

/* Paper-cut misfits: one short character performance per selection. */
body.gig-poster .mood .face{transform-origin:50% 85%}
body.gig-poster .mood{overflow:hidden;position:relative}
body.gig-poster .mood[aria-pressed=true] .word{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
body.gig-poster .mood[data-mood=happy][aria-pressed=true] .face{animation:clerk-happy 420ms cubic-bezier(.16,1,.3,1)}
body.gig-poster .mood[data-mood=angry][aria-pressed=true] .face{animation:clerk-angry 360ms cubic-bezier(.16,1,.3,1)}
body.gig-poster .mood[data-mood=sad][aria-pressed=true] .face{animation:clerk-sad 520ms cubic-bezier(.16,1,.3,1)}
body.gig-poster .mood[data-mood=weird][aria-pressed=true] .face{animation:clerk-weird 480ms cubic-bezier(.16,1,.3,1)}
body.gig-poster .mood[data-mood=criminal][aria-pressed=true] .face{animation:clerk-criminal 460ms cubic-bezier(.16,1,.3,1)}
@keyframes clerk-happy{0%,100%{transform:none}30%{transform:translateY(-7%) rotate(-6deg)}60%{transform:translateY(-2%) rotate(3deg)}}
@keyframes clerk-angry{0%,100%{transform:none}20%{transform:translateX(-5%) rotate(-4deg)}45%{transform:translateX(5%) rotate(4deg)}70%{transform:translateX(-2%)}}
@keyframes clerk-sad{0%,100%{transform:none}45%{transform:translateY(7%) rotate(7deg)}75%{transform:translateY(3%) rotate(3deg)}}
@keyframes clerk-weird{0%,100%{transform:none}25%{transform:rotate(-10deg) skewX(4deg)}55%{transform:rotate(8deg) skewX(-3deg)}80%{transform:rotate(-3deg)}}
@keyframes clerk-criminal{0%,100%{transform:none}35%{transform:translateX(7%) rotate(-5deg)}70%{transform:translateX(4%) rotate(-2deg)}}
@media(hover:hover) and (pointer:fine){body.gig-poster .mood:not([aria-pressed=true]):hover .face{transform:rotate(-3deg)}body.gig-poster .mood .face{transition:transform 150ms cubic-bezier(.16,1,.3,1)}}
/* Keep the Manual title and engraving in separate columns, including text zoom. */
body.gig-poster .manual-hero{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:center;gap:2%;min-height:0;padding:6px 0}
body.gig-poster[data-page=setup] .manual-workbench .manual-hero .headline{font:400 clamp(2rem,11.6cqw,6.8rem)/1.02 Poster,sans-serif;width:auto;min-width:0;margin:0;letter-spacing:-.025em}
body.gig-poster .manual-print{position:static;width:100%;max-height:none;align-self:center}
body.gig-poster .manual-workbench .manual-intro{padding:6px 0 16px}
body.gig-poster .manual-workbench .manual-prompt>summary,body.gig-poster .manual-workbench .manual-install>summary,body.gig-poster .manual-workbench .resource-shelf>summary{height:auto;white-space:normal;overflow-wrap:anywhere}
body.gig-poster ::selection{background:var(--ink);color:var(--paper)}
@media(prefers-reduced-motion:reduce){body.gig-poster .mood .face,body.gig-poster .mood[aria-pressed=true] .face{animation:none!important;transition:none;transform:none!important}}

/* Literal instructions, clerk voice; small supporting copy stays small. */
body.gig-poster .poster-explainer{font:400 .875rem/1.5 Arial,Helvetica,sans-serif;color:var(--ink);max-width:65ch;margin:8px 0 12px}
body.gig-poster #tempoHelp{position:static;width:auto;height:auto;clip-path:none;overflow:visible;font:400 .75rem/1.4 Arial,Helvetica,sans-serif;color:var(--ink);margin:4px 0 0}
body.gig-poster .atlas-intro{display:block;font:400 .75rem/1.4 Arial,Helvetica,sans-serif;color:var(--ink);margin:0 0 6px}
body.gig-poster .footnote,body.gig-poster .footnote a{color:var(--ink)}

/* A third printing ink is reserved for a confirmed copy and its next action. */
body.gig-poster[data-page=launch]{--receipt-ink:#742019}
body.gig-poster[data-page=launch] .receipt[data-copy-state=copied] .receipt-copy{background:var(--receipt-ink);color:var(--paper);border-color:var(--receipt-ink)}
body.gig-poster[data-page=launch] .go-button .go-stamp{background:var(--receipt-ink);color:var(--paper);border-color:var(--paper)}
body.gig-poster[data-page=launch] .handoff #openAi[aria-disabled=false]{background:var(--receipt-ink);color:var(--paper);border-color:var(--receipt-ink)}

/* Expanded Manual: the same mustard stock, petrol ink and poster lettering throughout. */
body.gig-poster[data-page=setup] :is(.manual-install-body,.resource-shelf-body){padding:4px 0 20px;max-width:65ch}
body.gig-poster[data-page=setup] .recipe-steps{list-style:decimal;margin:0;padding:0 0 0 1.6rem;background:transparent}
body.gig-poster[data-page=setup] .recipe-steps li{margin:0;padding:16px 18px 16px 8px;background:none;border:0;border-bottom:1px solid var(--line);font:400 1rem/1.55 Arial,Helvetica,sans-serif;overflow-wrap:anywhere}
body.gig-poster[data-page=setup] .recipe-steps li:last-child{border-bottom:0}
body.gig-poster[data-page=setup] .recipe-steps li::before{content:none}
body.gig-poster[data-page=setup] .recipe-steps li::marker{font:700 .875rem 'Courier New',monospace;color:var(--ink)}
body.gig-poster[data-page=setup] .recipe-step-title{display:block;margin:0 0 6px;font:400 1.4rem/1.2 Poster,sans-serif;letter-spacing:0;text-transform:uppercase}
body.gig-poster[data-page=setup] .recipe-steps p{margin:0;max-width:62ch;font-size:1rem;line-height:1.55}
body.gig-poster[data-page=setup] .recipe-resources{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:8px;margin:16px 0 0}
body.gig-poster[data-page=setup] .recipe-resources .resource{display:flex;align-items:center;min-height:48px;margin:0;padding:10px 12px;font:400 1.2rem/1.25 Poster,sans-serif;overflow-wrap:anywhere}
body.gig-poster[data-page=setup] :is(.manual-prompt,.manual-install,.resource-shelf)>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;letter-spacing:0;text-transform:none}
body.gig-poster[data-page=setup] :is(.manual-prompt,.manual-install,.resource-shelf)>summary::-webkit-details-marker{display:none}
body.gig-poster[data-page=setup] :is(.manual-prompt,.manual-install,.resource-shelf)>summary::after{content:'+';float:none;flex:none;font:700 1.25rem/1 Arial,sans-serif}
body.gig-poster[data-page=setup] :is(.manual-prompt,.manual-install,.resource-shelf)[open]>summary::after{content:'−'}
body.gig-poster[data-page=setup] .manual-prompt .receipt-fold{background:transparent;border:0;padding:0}
body.gig-poster[data-page=setup] .manual-prompt .receipt-fold pre{margin:0 0 16px;padding:8px 0;background:none;color:var(--ink);font:.875rem/1.6 ui-monospace,monospace;max-height:26rem;scrollbar-color:var(--ink) var(--bone)}
body.gig-poster[data-page=setup] .resource-shelf-body p{font:400 1rem/1.55 Arial,Helvetica,sans-serif;max-width:65ch}
@media(max-width:420px){body.gig-poster[data-page=setup] .recipe-steps li{padding-right:12px}body.gig-poster[data-page=setup] .recipe-resources{grid-template-columns:1fr}}

/* Passport Press: one physical gesture, echoed in the map ink and its stamp. */
body.gig-poster .crate-geo-body{padding-top:2px}
body.gig-poster .crate-atlas-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;margin:6px 0 0;border-top:1px solid var(--ink)}
body.gig-poster .crate-atlas-locator{display:block;min-width:0;font:400 clamp(1.05rem,2.7cqw,1.4rem)/1.25 Poster,sans-serif;letter-spacing:0;text-transform:uppercase;color:var(--ink)}
body.gig-poster #atlasHome{border:0;border-left:1px solid var(--ink);margin:0;padding:8px 0 8px 12px;font:700 .75rem/1.3 'Courier New',monospace;min-height:44px}
body.gig-poster #atlasHome:hover{text-decoration:underline;text-underline-offset:4px;background:transparent}
body.gig-poster .crate-map-frame{border-top:1px solid var(--line);border-bottom:1px solid var(--ink);padding:8px 0;margin:0;isolation:isolate}
body.gig-poster .crate-map-zone{outline:none}
body.gig-poster .crate-map-zone path{transition:fill 140ms ease-out,stroke 140ms ease-out;}
body.gig-poster .crate-map-zone:hover path{fill:var(--ink2);stroke:var(--paper)}
body.gig-poster .crate-map-zone[data-selected=true]:hover path{fill:url(#posterSelectedHalftone);stroke:var(--ink)}
body.gig-poster .crate-map-zone[data-press=true] path{animation:atlas-ink-settle 420ms cubic-bezier(.16,1,.3,1)}
@keyframes atlas-ink-settle{0%{stroke-width:3.6;opacity:.65}42%{stroke-width:2.6;opacity:1}100%{stroke-width:1.8;opacity:1}}
body.gig-poster .crate-atlas-nav{margin:8px 0 0;min-height:0}
body.gig-poster #atlasInstruction{font:400 .75rem/1.5 Arial,Helvetica,sans-serif;letter-spacing:0;margin:0;text-transform:none}
body.gig-poster .crate-passport{margin:8px 0 6px;padding:0}
body.gig-poster .crate-passport-stamps{gap:4px 8px;padding:2px 3px 4px}
body.gig-poster .crate-stamp{--stamp-angle:-1.5deg;min-height:48px;padding:10px 13px;gap:12px;color:var(--ink);background:transparent;transform:rotate(var(--stamp-angle));transform-origin:50% 60%;transition:color 120ms ease-out,background-color 120ms ease-out;isolation:isolate}
body.gig-poster .crate-stamp:nth-child(even){--stamp-angle:1.5deg;transform:rotate(var(--stamp-angle))}
body.gig-poster .crate-stamp::before{inset:4px 1px;border:3px double currentColor;border-radius:0;opacity:1}
body.gig-poster .crate-stamp strong{font:400 1.12rem/1.15 Poster,sans-serif;letter-spacing:.01em}
body.gig-poster .crate-stamp-x{font:400 1.1rem/1 Arial,sans-serif;color:inherit}
body.gig-poster .crate-stamp:hover{background:var(--ink);color:var(--paper)}
body.gig-poster .crate-stamp:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
body.gig-poster .crate-stamp.is-new{animation:passport-press 420ms cubic-bezier(.16,1,.3,1) both}
@keyframes passport-press{0%{opacity:.7;transform:translateY(-7px) rotate(calc(var(--stamp-angle) - 5deg)) scale(1.12);filter:blur(.7px)}38%{opacity:1;transform:translateY(1px) rotate(var(--stamp-angle)) scale(.97);filter:blur(0)}100%{opacity:1;transform:translateY(0) rotate(var(--stamp-angle)) scale(1);filter:blur(0)}}
body.gig-poster .crate-accessibility{border-top:1px solid var(--line);margin-top:6px}
body.gig-poster .crate-accessibility>summary{font:700 .75rem/1.4 'Courier New',monospace;color:var(--ink)}
body.gig-poster .crate-accessibility>summary::before{color:var(--ink)}
body.gig-poster .crate-accessibility-help{font:400 .875rem/1.5 Arial,Helvetica,sans-serif;color:var(--ink)}
body.gig-poster .crate-continents button,body.gig-poster .crate-regions button{font:400 1.1rem/1.25 Poster,sans-serif;border:1px solid var(--ink);background:transparent;color:var(--ink);min-height:44px;box-shadow:none}
body.gig-poster .crate-continents button[aria-pressed=true],body.gig-poster .crate-regions button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
body.gig-poster .crate-accessibility button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media(max-width:420px){body.gig-poster .crate-atlas-locator{font-size:1rem;max-width:65%}body.gig-poster #atlasHome{font-size:.6875rem;padding-left:8px}body.gig-poster .crate-stamp{padding-inline:11px;gap:8px}}
@media(prefers-reduced-motion:reduce){body.gig-poster .crate-map-zone[data-press=true] path,body.gig-poster .crate-stamp.is-new{animation:none}body.gig-poster .crate-map-zone path,body.gig-poster .crate-stamp{transition:none}}

/* The clerk deals a brief; only a successful copy feeds the counter receipt. */
body.gig-poster .crate-shuffle{border-top:1px solid var(--ink);padding:10px 0 12px;margin:8px 0 0}
body.gig-poster .shuffle-controls{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px}
body.gig-poster #shuffleCrate{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:7px 12px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:400 clamp(1.15rem,3cqw,1.5rem)/1.2 Poster,sans-serif;cursor:pointer}
body.gig-poster .shuffle-lever{flex:none;transition:transform 220ms cubic-bezier(.16,1,.3,1);transform-origin:50% 80%}
body.gig-poster #shuffleCrate:hover{background:var(--ink);color:var(--paper)}
body.gig-poster #shuffleCrate:active .shuffle-lever{transform:rotate(18deg)}
body.gig-poster #undoShuffle{min-height:44px;border:0;border-bottom:1px solid var(--ink);padding:6px 0;background:transparent;color:var(--ink);font:700 .75rem/1.4 'Courier New',monospace;cursor:pointer}
body.gig-poster #undoShuffle[hidden]{display:none}
body.gig-poster #shuffleHelp{margin:7px 0 0;font:400 .8125rem/1.45 Arial,sans-serif;max-width:65ch}
body.gig-poster #shuffleResult{margin:6px 0 0;font:700 .875rem/1.5 Arial,sans-serif;max-width:65ch}
body.gig-poster #shuffleResult:empty{display:none}
body.gig-poster[data-page=launch] .receipt-heading{margin:20px 0 0;padding:0 0 10px;border:0;font:400 1.35rem/1.2 Poster,sans-serif}
body.gig-poster[data-page=launch] .receipt{border:0;border-bottom:1px dashed var(--ink);padding:0 0 12px;margin:0;isolation:isolate}
body.gig-poster[data-page=launch] .receipt::before{display:block;left:0;right:0;top:0;height:5px;border:0;background:var(--ink);z-index:1}
body.gig-poster[data-page=launch] .receipt::after{display:none}
body.gig-poster .receipt-sheet{padding:12px 4px 0;transform-origin:top center;overflow-wrap:anywhere}
body.gig-poster .receipt-sheet .receipt-top{padding:4px 0 6px;font:700 .75rem/1.5 'Courier New',monospace;letter-spacing:0}
body.gig-poster .receipt-sheet .receipt-summary{margin:6px 0;font:700 .9375rem/1.5 Arial,sans-serif}
body.gig-poster .receipt-regions{margin:6px 0 12px;font:400 .875rem/1.5 Arial,sans-serif;max-width:65ch}
body.gig-poster[data-page=launch] .receipt .receipt-copy{font:400 1.3rem/1.25 Poster,sans-serif;margin:6px 0;padding:4px 8px;letter-spacing:0;min-height:0}
body.gig-poster[data-page=launch] .receipt[data-copy-state=idle] .receipt-copy{border:1px dashed var(--ink);background:transparent;color:var(--ink)}
body.gig-poster[data-page=launch] .receipt[data-copy-state=copying] .receipt-copy{border:1px solid var(--ink);background:transparent;color:var(--ink)}
body.gig-poster[data-page=launch] .receipt[data-copy-state=copied] .receipt-sheet{animation:receipt-feed 1200ms cubic-bezier(.32,.08,.42,1) both}
body.gig-poster[data-page=launch] .receipt[data-copy-state=copied] .receipt-copy{animation:receipt-final-stamp 260ms 1300ms cubic-bezier(.16,1,.3,1) both;transform:rotate(-2deg);border:3px double var(--receipt-ink)}
@keyframes receipt-feed{from{clip-path:inset(0 0 100% 0);transform:translateY(-14px)}to{clip-path:inset(0);transform:translateY(0)}}
@keyframes receipt-final-stamp{from{opacity:0;transform:rotate(-3deg) scale(.96)}to{opacity:1;transform:rotate(-2deg) scale(1)}}
body.gig-poster .receipt-sheet .receipt-fold{background:transparent;border:0}
body.gig-poster .receipt-sheet pre{font:.875rem/1.6 ui-monospace,monospace;border:1px solid var(--line);background:transparent;color:var(--ink);max-height:22rem;scrollbar-color:var(--ink) var(--paper)}
body.gig-poster[data-page=launch] .receipt[data-copy-state=copied][data-impression="0"] .receipt-sheet{animation-name:receipt-feed-again}
body.gig-poster[data-page=launch] .receipt[data-copy-state=copied][data-impression="0"] .receipt-copy{animation-name:receipt-stamp-again}
@keyframes receipt-feed-again{from{clip-path:inset(0 0 100% 0);transform:translateY(-14px)}to{clip-path:inset(0);transform:translateY(0)}}
@keyframes receipt-stamp-again{from{opacity:0;transform:rotate(-3deg) scale(.96)}to{opacity:1;transform:rotate(-2deg) scale(1)}}
@media(max-width:420px){body.gig-poster .shuffle-controls{gap:4px 10px}body.gig-poster #shuffleCrate{padding-inline:9px}body.gig-poster #undoShuffle{font-size:.6875rem}body.gig-poster .receipt-sheet .receipt-top{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){body.gig-poster[data-page=launch] .receipt[data-copy-state=copied] .receipt-sheet,body.gig-poster[data-page=launch] .receipt[data-copy-state=copied] .receipt-copy{animation:none;transform:none;clip-path:none}body.gig-poster .shuffle-lever{transition:none}body.gig-poster #shuffleCrate:active .shuffle-lever{transform:none}}

/* Pins share the shuffle toolbar; the actual controls remain directly available. */
body.gig-poster .shuffle-controls{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}
body.gig-poster #shuffleCrate{gap:6px;padding:7px 10px;font-size:1.2rem;min-height:44px}
body.gig-poster #shuffleCrate .shuffle-lever{width:22px;height:22px}
body.gig-poster .shuffle-pins{display:inline-flex;gap:4px;align-items:center}
body.gig-poster .shuffle-pin{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:7px 8px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:400 .875rem/1.2 Poster,sans-serif;cursor:pointer}
body.gig-poster .shuffle-pin svg{flex:none}
body.gig-poster .shuffle-pin[aria-pressed=true]{background:var(--ink);color:var(--paper)}
body.gig-poster .shuffle-pin[aria-pressed=true] path{fill:currentColor}
body.gig-poster .shuffle-pin:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
body.gig-poster .shuffle-pin:hover{outline:1px solid var(--ink);outline-offset:1px}
body.gig-poster #undoShuffle{margin-left:auto}
body.gig-poster #shuffleHelp{margin-top:4px}
body.gig-poster #shuffleCrate:disabled{opacity:.55;cursor:default;background:transparent;color:var(--ink)}
body.gig-poster #shuffleCrate:disabled .shuffle-lever{transform:none}
@media(max-width:420px){body.gig-poster .shuffle-controls{gap:4px}body.gig-poster #shuffleCrate{padding-inline:7px;gap:4px;font-size:1.1rem}body.gig-poster .shuffle-pin{padding-inline:6px;font-size:.8125rem;gap:3px}body.gig-poster .shuffle-pin svg{width:13px;height:13px}}

body.gig-poster .shuffle-feedback{display:flex;align-items:center;justify-content:space-between;gap:8px}
body.gig-poster .shuffle-feedback #shuffleResult{flex:1;margin:4px 0 0}
body.gig-poster .shuffle-feedback #undoShuffle{flex:none;margin:0;font-size:.6875rem}

/* Enlarged text must reflow; Undo retains a full thumb-sized hit area. */
body.gig-poster #undoShuffle{min-width:44px;text-align:center}
body.gig-poster:is([data-page=launch],[data-page=setup]) .masthead{flex-wrap:wrap}
body.gig-poster .brandrow{flex-basis:auto}
body.gig-poster .topnav{max-width:100%;margin-left:auto;flex-wrap:wrap}
body.gig-poster[data-page=launch] .receipt .receipt-copy{display:block;width:fit-content;max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* A single stable message line replaces the hint; Undo never inserts another row. */
body.gig-poster .shuffle-feedback{display:grid;grid-template-columns:minmax(0,1fr) max(44px,2.2rem);gap:8px;align-items:center;min-height:44px}
body.gig-poster .shuffle-message,body.gig-poster .shuffle-reserve{display:grid;min-width:0}
body.gig-poster .shuffle-message>*,body.gig-poster .shuffle-reserve>span{grid-area:1 / 1}
body.gig-poster .shuffle-reserve{visibility:hidden;pointer-events:none;font:700 .8125rem/1.45 Arial,sans-serif}
body.gig-poster .shuffle-message #shuffleHelp,body.gig-poster .shuffle-message #shuffleResult{display:block;margin:0;font:.8125rem/1.45 Arial,sans-serif;max-width:none;overflow-wrap:anywhere;align-self:center}
body.gig-poster .shuffle-message #shuffleResult{font-weight:700}
body.gig-poster .shuffle-message #shuffleResult:empty{visibility:hidden}
body.gig-poster .shuffle-message:has(#shuffleResult:not(:empty)) #shuffleHelp{visibility:hidden}
body.gig-poster .shuffle-feedback #undoShuffle{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin:0;padding:0;border:0;text-decoration:underline;text-underline-offset:3px;font:700 .6875rem/1.4 'Courier New',monospace}
body.gig-poster .shuffle-feedback #undoShuffle[hidden]{display:inline-flex;visibility:hidden;pointer-events:none}

/* Vermilion is the selection ink; labels and hatching retain non-color cues. */
body.gig-poster{--selection-vermilion:#d64b30}
body.gig-poster:is([data-page=launch],[data-page=setup]) .mood-grid .mood[aria-pressed=true]{background:var(--selection-vermilion);color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
body.gig-poster:is([data-page=launch],[data-page=setup]) .mood[aria-pressed=true] .face{filter:none}
body.gig-poster:is([data-page=launch],[data-page=setup]) .mood[aria-pressed=true] .word{background:var(--ink);color:var(--paper);padding:2px 4px;text-decoration:underline;text-underline-offset:3px}
body.gig-poster .crate-map-zone[data-selected=true] path{fill:url(#posterSelectedHalftone);stroke:var(--ink)}

/* Persistent alternate expressions follow the actual selected mood, including shuffle/Undo. */
body.gig-poster:is([data-page=launch],[data-page=setup]) .mood[aria-pressed=true] .face{background-image:url('/editions/gig-poster/assets/clerks-expressions.webp')}

/* A liner note, printed directly on the Manual's stock. */
body.gig-poster .manual-liner{border-color:var(--ink);padding:14px 0 16px;margin:0 0 20px}
body.gig-poster .manual-liner h2{font:400 clamp(1.5rem,4.5cqw,2.25rem)/1.1 Poster,sans-serif;letter-spacing:0}
body.gig-poster .manual-liner .liner-thesis{font:700 .9375rem/1.5 Arial,sans-serif;margin:6px 0 14px}
body.gig-poster .manual-liner .liner-route strong{font:700 .875rem/1.4 'Courier New',monospace}
body.gig-poster .manual-liner .liner-route strong::after{content:' →';color:var(--ink)}
body.gig-poster .manual-liner .liner-route li:last-child strong::after{content:''}
body.gig-poster .manual-liner .liner-signoff{border-top:1px dashed var(--line);padding-top:10px;margin-top:14px}

/* Approved curly-haired Weird: two registered expressions in a dedicated strip. */
body.gig-poster:is([data-page=launch],[data-page=setup]) .mood[data-mood=weird] .face{background-image:url('/editions/gig-poster/assets/weird-curly.webp');background-size:200% 100%;background-position:0 0}
body.gig-poster:is([data-page=launch],[data-page=setup]) .mood[data-mood=weird][aria-pressed=true] .face{background-image:url('/editions/gig-poster/assets/weird-curly.webp');background-position:100% 0}

body.gig-poster .manual-liner>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;font:400 clamp(1.5rem,4.5cqw,2.25rem)/1.2 Poster,sans-serif;min-height:44px}
body.gig-poster .manual-liner>summary::-webkit-details-marker{display:none}
body.gig-poster .manual-liner>summary::after{content:'+';font:700 1.25rem/1 Arial,sans-serif}
body.gig-poster .manual-liner[open]>summary::after{content:'−'}
body.gig-poster .manual-liner .liner-route strong{font:800 1rem/1.4 Arial,sans-serif}

/* The Funk: approved beaded braids, star shades and high-collar jumpsuit. */
body.gig-poster:is([data-page=launch],[data-page=setup]) .mood[data-mood=funky] .face{background-image:url('/editions/gig-poster/assets/the-funk.webp');background-size:auto 100%;background-position:15% 0}
body.gig-poster:is([data-page=launch],[data-page=setup]) .mood[data-mood=funky][aria-pressed=true] .face{background-position:85% 0}
@media(max-width:600px){
 body.gig-poster:is([data-page=launch],[data-page=setup]) .mood-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 body.gig-poster:is([data-page=launch],[data-page=setup]) .mood-grid .mood:nth-child(3n){border-right:0}
 body.gig-poster:is([data-page=launch],[data-page=setup]) .mood-grid .mood:nth-child(-n+3){border-bottom:1px solid var(--ink)}
}

/* The Funk answers selection with one short shoulder shake; sprite frames snap. */
body.gig-poster:is([data-page=launch],[data-page=setup]) .mood[data-mood=funky] .face{transition:transform 150ms cubic-bezier(.16,1,.3,1)}
body.gig-poster:is([data-page=launch],[data-page=setup]) .mood[data-mood=funky][aria-pressed=true] .face{animation:clerk-funky 440ms ease-out}
@keyframes clerk-funky{0%,100%{transform:none}18%{transform:translateX(-3%) rotate(-2deg)}38%{transform:translateX(3%) rotate(2deg)}58%{transform:translateX(-2%) rotate(-1deg)}78%{transform:translateX(1%) rotate(.5deg)}}
@media(prefers-reduced-motion:reduce){body.gig-poster:is([data-page=launch],[data-page=setup]) .mood[data-mood=funky] .face{animation:none;transition:none;transform:none}}
