/* HIPSTER GO // badly photocopied, surprisingly functional */
:root{
  color-scheme:light;
  --ink:#252320;--ink2:#3a3533;--paper:#f0e9d6;--bone:#fff7e4;
  --red:#d43842;--red2:#8e212a;--blue:#a9d0d5;--yellow:#efda71;
  --lime:#cce284;--lav:#c4aad1;--tape:#e4d6a2;--line:rgba(36,33,30,.38);
  --focus-ink:var(--red2);--focus-paper:var(--bone);
  --control-bed:#ded8c7;--control-track:#c9c2af;--control-metal:#eee8d8;
  --atlas-paper:#f1e6cd;--atlas-paper-light:#f9f0da;--atlas-paper-hover:#e3d7bf;
  --atlas-ink:#55423d;--atlas-accent:#7c3039;--atlas-border:#75685a;
  --atlas-land:#bcb99a;--atlas-water:#d1dad1;--atlas-boundary:#625b4e;--atlas-selected:#a7353c;
  font-family:Arial,Helvetica,system-ui,sans-serif;
  background:#28272a;color:var(--ink);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100svh;overflow-x:hidden;
  background:radial-gradient(ellipse at 8% 12%,#615453 0%,transparent 36%),
    radial-gradient(ellipse at 95% 60%,#4e4c4e 0%,transparent 46%),
    repeating-linear-gradient(0deg,transparent 0 29px,#fff1 29px 30px),
    repeating-linear-gradient(90deg,transparent 0 29px,#fff1 29px 30px),
    #29292c;
}
button,input,a{font:inherit}button{cursor:pointer}button,a{touch-action:manipulation}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--focus-ink);outline-offset:3px;box-shadow:0 0 0 6px var(--focus-paper)}
a{color:inherit}
.site{width:min(100%,740px);min-height:100svh;margin:auto;position:relative;
  background:var(--paper);border-left:2px solid #161413;border-right:2px solid #161413;
  box-shadow:0 0 0 8px #18191c,0 10px 75px #0009;
}
.site:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:10;opacity:.16;
  background-image:repeating-linear-gradient(0deg,#0000 0 3px,#17171c16 3px 4px);
  mix-blend-mode:multiply
}
.site>*{position:relative;z-index:11}
.masthead{background:var(--ink);color:var(--bone);padding:12px 18px 13px;border-bottom:6px solid var(--red);position:relative}
.brandrow{display:flex;justify-content:space-between;align-items:center;gap:14px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}
.brand>span:last-child{min-width:0}
.brand-star{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;background:transparent;transform:rotate(-11deg);border:0;box-shadow:none}
.brand-star svg{width:34px;height:34px}
.brand-name{display:block;font-size:1.38rem;letter-spacing:-.045em;font-weight:700;line-height:1}
.brand-name span{color:#f6bfbe}
.brand-sub{display:block;font-size:.55rem;letter-spacing:.19em;font-weight:700;margin-top:5px;color:#d4c3c3}
.est{border:1px solid #d0c7bd;padding:4px 6px;line-height:1.1;letter-spacing:.05em;font-family:Georgia,serif;font-size:.62rem;transform:rotate(4deg);text-align:center}
.topnav{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:15px}
.topnav a{display:flex;align-items:center;justify-content:center;gap:7px;color:#d3cdd0;
  text-decoration:none;font-family:ui-monospace,Consolas,monospace;font-size:.78rem;
  text-transform:uppercase;font-weight:700;letter-spacing:.02em;
  border:1px dashed #9c9295;padding:10px 6px;background:#333139}
.topnav a[aria-current=page]{background:var(--yellow);color:var(--ink);border:1px solid var(--paper);box-shadow:3px 3px 0 var(--red)}
.topnav a:not([aria-current=page]) .ticket{color:#ff999e}
.topnav a[aria-current=page] .ticket{color:#8e212a}
.ticket{font-size:.64rem;font-weight:700;color:var(--red);margin-right:2px}
.ticker{overflow:hidden;background:var(--lime);border-bottom:2px solid var(--ink);
  text-transform:uppercase;font-weight:700;letter-spacing:.115em;font-size:.68rem;padding:7px 0;white-space:nowrap}
.ticker .track{display:block;padding-left:20px}
.main{padding:15px 15px 25px}
.hero-title{position:relative;margin:4px 0 14px;border-bottom:4px double var(--ink);padding:0 2px 13px}
.kicker{display:inline-block;background:var(--ink);color:var(--yellow);padding:5px 9px;
  text-transform:uppercase;letter-spacing:.11em;font-size:.65rem;font-weight:700;transform:rotate(-1.5deg)}
.headline{font-family:Impact,"Arial Black",Arial,sans-serif;letter-spacing:-.045em;
  font-size:clamp(2.7rem,10.5vw,5.2rem);line-height:.90;text-transform:uppercase;margin:13px 0 8px;overflow-wrap:anywhere}
.headline em{font-style:normal;color:var(--red);text-shadow:3px 3px 0 var(--ink)}
.hero-note{font-family:Georgia,serif;font-style:italic;line-height:1.4;font-size:.9rem;max-width:460px}
.sticker{display:inline-block;background:var(--yellow);color:var(--ink);border:2px solid var(--ink);
  box-shadow:3px 3px 0 var(--ink);padding:5px 8px;font-weight:700;font-size:.66rem;transform:rotate(6deg);text-transform:uppercase}
.hero-title .sticker{position:absolute;right:5px;top:16px}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-size:.77rem;font-family:ui-monospace,Consolas,monospace;letter-spacing:.03em;
  font-weight:700;text-transform:uppercase;margin:0 0 9px}
.section-title .num{background:var(--red);color:white;padding:4px 6px;transform:rotate(-4deg)}
.section-title small{font-weight:700;letter-spacing:0;color:#534d4b;text-transform:none}
.selector-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.panel{position:relative;border:2px solid var(--ink);background:var(--bone);padding:13px;
  box-shadow:4px 5px 0 var(--ink);margin-bottom:16px}
.panel.panel-alt{background:var(--blue)}
.panel-head{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 9px}
.switch{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}
.switch button{border:2px solid var(--ink);background:#e3dcc9;min-height:44px;padding:7px 4px;
  font-weight:700;font-size:.78rem;box-shadow:2px 2px 0 var(--ink)}
.switch button[aria-pressed=true]{color:var(--bone);background:var(--red2);box-shadow:inset 2px 2px 0 #0006}
.switch button:active,.mood:active{transform:translate(2px,2px);box-shadow:none}
.connector-status{border:2px dashed var(--ink);padding:10px;margin:4px 0 14px;
  display:flex;gap:9px;align-items:start;background:#faf0c3}
.connector-status:before{content:"○";color:var(--ink2);flex:none;font-size:1.1rem}
.connector-status.warn:before{color:var(--red)}
.connector-status span{font-size:.76rem;line-height:1.45}
.grind{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;
  background:var(--ink);color:var(--bone);border:3px solid var(--ink);position:relative;
  box-shadow:5px 6px 0 #6d4652;margin:19px 0 17px;overflow:hidden}
.grind:before{content:"";position:absolute;right:-5%;top:7%;height:17px;width:125px;background:#ffffd858;
  transform:rotate(-13deg);z-index:2}
.go-button{min-height:172px;border:0;background:transparent;padding:16px;
  color:var(--bone);display:flex;align-items:center;justify-content:flex-start;gap:16px;text-align:left}
.go-button .star-glyph{width:114px;max-width:39%;height:auto;transform:rotate(-8deg);
 filter:drop-shadow(4px 5px 0 #0008);transition:transform .18s}
.go-button:active .star-glyph{transform:rotate(20deg) scale(.94)}
.go-copy b{display:block;font-family:Impact,"Arial Black",sans-serif;color:var(--yellow);letter-spacing:.025em;
  font-size:clamp(2.7rem,10vw,4.8rem);line-height:1;text-shadow:3px 4px 0 var(--red2)}
.go-copy span{font-size:.7rem;line-height:1.55;color:#ddd6c7;text-transform:uppercase;
  letter-spacing:.05em;display:block;font-weight:700;max-width:220px}
.grind .sideprint{writing-mode:vertical-rl;text-orientation:mixed;background:var(--red);
  color:#fff;min-height:172px;display:grid;place-items:center;font-weight:700;
  letter-spacing:.16em;font-size:.65rem;padding:6px}
.mood-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:5px 0 17px}
.mood{border:2px solid var(--ink);background:#fef6e0;padding:12px 4px 9px;min-height:90px;
 box-shadow:3px 3px 0 var(--ink);display:grid;align-content:center;justify-items:center;gap:6px}
.mood .face{font-size:1.65rem}.mood .word{font-size:.70rem;letter-spacing:.045em;text-transform:uppercase;font-weight:700}
.mood[aria-pressed=true]{background:var(--yellow);transform:rotate(-2deg);border-color:var(--red2)}
.mood:nth-child(2){background:#f6d0c0}.mood:nth-child(3){background:#c8d8e9}.mood:nth-child(4){background:#d8c1e2}
.mood[aria-pressed=true]{background:var(--yellow)}
.receipt{position:relative;margin:16px 0;padding:16px 13px 13px;background:#fbf4df;border:2px solid var(--ink);
  box-shadow:5px 5px 0 var(--ink);transform:rotate(-.35deg)}
.receipt:before,.receipt:after{content:"";position:absolute;left:10px;right:10px;border-bottom:2px dashed #9f9581;pointer-events:none}
.receipt:before{top:8px}.receipt:after{bottom:7px}
.receipt-top{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:.62rem;
  font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:8px 3px 6px}
.receipt pre{font: .72rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;
 white-space:pre-wrap;overflow-wrap:anywhere;max-height:182px;overflow:auto;color:#3a3230;
 border:1px solid #ccc2ac;background:#f2e6cd;padding:11px;margin:5px 0 8px;user-select:text}
.button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.action{border:2px solid var(--ink);text-decoration:none;text-align:center;display:grid;place-items:center;min-height:47px;
 padding:10px 6px;box-shadow:3px 3px 0 var(--ink);text-transform:uppercase;font-weight:700;font-size:.78rem}
.action.main-action{background:var(--red);color:white}
.action.secondary-action{background:var(--blue)}
.action:active{transform:translate(2px,2px);box-shadow:none}
.foot-tools{display:flex;gap:18px;justify-content:center;margin-top:12px;font-size:.79rem}
.foot-tools button,.foot-tools a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 6px;border:0;background:transparent;text-decoration:underline;text-underline-offset:3px;color:var(--ink2);font-weight:700}
.status{font-size:.76rem;min-height:30px;margin:10px 0 0;text-align:center;font-weight:700;color:#425a41;line-height:1.4}
.footnote{font-size:.76rem;line-height:1.55;margin:11px 0 3px;color:#514b46}
.badge-row{display:flex;gap:9px;align-items:center;justify-content:space-between;padding:12px 2px;border-top:3px solid var(--ink)}
.tiny-mark{font-size:.65rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.copyright{font-family:Georgia,serif;font-size:.73rem;font-style:italic}
.footer{background:#272523;color:#e4dbcd;padding:15px 19px;font-size:.7rem;line-height:1.5;text-align:center}
.footer a{color:#f5c1c5}
.setup-intro{background:var(--blue);border:2px solid var(--ink);box-shadow:6px 5px 0 var(--ink);padding:15px;
 margin:9px 0 18px;transform:rotate(.25deg)}
.setup-intro h2{margin:0;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(2.3rem,9vw,4rem);line-height:.91;text-transform:uppercase}
.setup-intro h2 em{color:var(--red2);font-style:normal}
.setup-intro p{font:italic .9rem/1.55 Georgia,serif;margin:12px 0 0}
.manual-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:15px 0 22px}
.manual-strip span{font:700 .68rem ui-monospace,monospace;background:var(--ink);color:var(--bone);
 padding:9px 5px;text-align:center;text-transform:uppercase;border:1px solid var(--ink)}
.manual-strip span:nth-child(2){background:var(--red)}.manual-strip span:nth-child(3){background:#5f5874}
.vendor{padding:17px;margin:17px 0;background:var(--bone);border:2px solid var(--ink);
 box-shadow:5px 6px 0 var(--ink);position:relative}
.vendor.chatgpt{background:#e5ecdb}.vendor.gemini{background:#e9e0ef}.vendor.claude{background:#efe0cb}
.vendor .vendor-label{font:700 .65rem ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
.vendor h3{margin:8px 0 4px;font-family:Impact,"Arial Black",Arial,sans-serif;font-size:2rem;letter-spacing:.025em;line-height:1}
.vendor p{font-size:.8rem;line-height:1.55;margin:8px 0 11px}
.vendor .stack{display:flex;gap:7px;flex-wrap:wrap}
.resource{display:inline-grid;place-items:center;border:1.5px solid var(--ink);background:var(--bone);padding:9px 11px;
 min-height:44px;font-size:.75rem;font-weight:700;text-decoration:none;box-shadow:2px 2px 0 var(--ink)}
.resource:hover{background:var(--yellow)}.resource:active{transform:translate(2px,2px);box-shadow:none}
.resource.copy{background:var(--yellow)}.resource.subtle{background:#e0d8c6}
.vendor .tag{position:absolute;right:9px;top:8px;transform:rotate(7deg);
 font-size:.65rem;font-weight:700;background:var(--red);color:white;padding:5px 7px;box-shadow:2px 2px 0 var(--ink)}
.infoblock{border-top:3px double var(--ink);padding:14px 5px 6px;margin-top:16px}
.infoblock h3{font:700 1rem ui-monospace,monospace;text-transform:uppercase;margin:3px 0 9px}
.infoblock p{font-size:.8rem;line-height:1.5}
.infoblock .resource{margin:0 6px 7px 0}
.stamp{display:inline-block;border:3px double var(--red2);color:var(--red2);
 transform:rotate(-7deg);padding:5px 10px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.confessional{background:var(--yellow);padding:13px;border-left:7px solid var(--red);font:italic .89rem/1.45 Georgia,serif;margin:14px 0}
@keyframes shake{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(-2deg)}}

@media(min-width:570px){.main{padding:22px 29px 30px}.masthead{padding:16px 28px 18px}.headline{font-size:5rem}.go-button{min-height:194px}.grind .sideprint{min-height:194px}.go-button .star-glyph{width:146px}.mood{min-height:105px}.vendor{padding:21px}}
@media(max-width:390px){.main{padding:13px 11px 20px}.panel{padding:10px}.switch button{font-size:.7rem;min-height:47px}.go-button{padding:13px}.go-copy b{font-size:2.7rem}.hero-title .sticker{font-size:.54rem;right:0}.headline{font-size:2.72rem}.mood{min-height:86px}.brand-sub{letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* A folded setup note: quiet until opened, remembered when dismissed. */
[hidden]{display:none!important}
.welcome-setup{position:relative;margin:1px 0 17px;border:1px solid #9a8560;background:#f1e3b7;color:var(--ink)}
.welcome-setup summary{min-height:52px;padding:14px 58px 14px 15px;font-size:.875rem;line-height:1.5;cursor:pointer}
.welcome-setup summary::marker{color:var(--red2)}
.welcome-setup summary strong{color:var(--red2);font-weight:700}
.welcome-setup summary:hover strong{text-decoration:underline;text-underline-offset:3px}
.welcome-setup #welcomeDisclosure[open]>summary{border-bottom:1px solid #9a8560}
.welcome-copy{padding:2px 15px 14px}
.welcome-setup p{margin:12px 0 10px;max-width:60ch}
.welcome-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px}
.welcome-link{display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--ink);background:var(--bone);text-decoration:none;padding:9px 10px;font-weight:700}
.welcome-link:hover{background:var(--yellow)}
.welcome-dismiss{position:absolute;right:4px;top:4px;width:44px;height:44px;border:0;background:transparent;color:var(--ink);font-size:1.35rem;line-height:1;padding:0;cursor:pointer}
.welcome-dismiss:hover{background:#e3d19c}

/* Two-choice route selector; three labels fit without forfeiting dignity. */
.switch:has(> button:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
.switch button{overflow-wrap:anywhere;line-height:1.22}
.welcome-text-link{display:inline-flex;align-items:center;margin:0;font-size:.76rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.try-first-strip{background:var(--lime);border-left:5px solid var(--ink);padding:10px 11px;margin:11px 0 14px;font-size:.76rem;line-height:1.4}
.try-first-strip strong{font-family:ui-monospace,Consolas,monospace}
.try-first-strip a{display:inline-flex;align-items:center;min-height:44px;padding:7px 2px;font-weight:700;white-space:nowrap}
.test-before-setup{background:var(--lime);border:2px solid var(--ink);box-shadow:4px 5px 0 var(--ink);padding:13px 14px;margin:13px 0 24px}
.test-before-setup h2{font:700 clamp(1.55rem,6vw,2.5rem)/1 Impact,"Arial Black",sans-serif;margin:11px 0 5px}
.test-before-setup p{font-size:.83rem;line-height:1.48;margin:9px 0 12px}
.setup-selectors{margin-top:12px}
.setup-recipe{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--red2);background:var(--bone);padding:18px 14px;margin:13px 0 23px}
.setup-recipe h2{font:700 clamp(1.85rem,7vw,2.9rem)/.95 Impact,"Arial Black",Arial,sans-serif;margin:11px 0 8px}
.recipe-intro{font-size:.81rem;line-height:1.45;font-weight:700;color:var(--red2)}
.recipe-steps{counter-reset:setup-step;padding:0;list-style:none;margin:13px 0}
.recipe-steps li{position:relative;margin:0 0 9px;padding:9px 8px 9px 40px;font-size:.82rem;line-height:1.52;border:1px dashed #9f9685;background:#f5eacc}
.recipe-steps li:before{counter-increment:setup-step;content:counter(setup-step);position:absolute;top:8px;left:9px;background:var(--ink);color:var(--bone);font:700 .84rem ui-monospace,monospace;width:22px;height:22px;display:grid;place-items:center}
.recipe-resources{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}
.setup-actions{display:flex;flex-wrap:wrap;gap:8px}
.setup-actions .resource{flex:1;min-width:155px}
.resource-shelf{background:#eadbb6;border:2px solid var(--ink);margin:17px 0;padding:0 14px}
.resource-shelf summary{cursor:pointer;font:700 .8rem ui-monospace,Consolas,monospace;padding:15px 0;list-style:none}
.resource-shelf summary::-webkit-details-marker{display:none}
.resource-shelf summary span{display:block;font:italic .78rem Georgia,serif;margin:4px 0;color:#4b4741}
.resource-shelf summary:after{content:" +";float:right}
.resource-shelf[open] summary:after{content:" −"}
.resource-shelf-body{border-top:2px dashed var(--ink);padding:12px 0 16px}
.resource-shelf-body p{font-size:.8rem;line-height:1.5}
.resource-stack{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0}
@media(max-width:540px){
 .selector-grid{grid-template-columns:1fr;gap:3px}
 .selector-grid .panel{margin:0 0 8px}
 .switch button{font-size:.73rem;min-height:44px}
 .setup-recipe{padding:14px 11px}
}

/* Four magnificently self-serious hipster faces: vector beard/bun portraits */
.mood-grid .mood{background:#202126;color:#f9efe1;min-height:112px;border-color:#242021}
.mood-grid .mood:nth-child(2),.mood-grid .mood:nth-child(3),.mood-grid .mood:nth-child(4){background:#202126}
.mood-grid .mood[aria-pressed=true]{background:#ecca82;color:#2e2723;border-color:#9d2b40}
.mood .face{display:block;width:61px;height:68px;background:url('/assets/hipster-moods.svg?v=5') no-repeat;background-size:500% 100%;flex-shrink:0;font-size:0}
.mood:nth-child(1) .face{background-position:0 0}
.mood:nth-child(2) .face{background-position:25% 0}
.mood:nth-child(3) .face{background-position:50% 0}
.mood:nth-child(4) .face{background-position:75% 0}
.mood[data-mood="criminal"] .face{background-position:100% 0}
.mood .word{font-weight:700;letter-spacing:.06em}
.welcome-link{cursor:pointer;font:700 .76rem Arial,Helvetica,sans-serif}
.try-first-strip button{display:inline-flex;align-items:center;min-height:44px;border:0;background:transparent;padding:8px 4px;color:#473321;text-decoration:underline;font-weight:700;cursor:pointer}
.first-setup-status{font-size:.74rem;margin:8px 0 0;line-height:1.4;font-weight:700}
#setupTryStatus{max-width:530px}
@media(max-width:390px){.mood-grid .mood{min-height:110px;padding:8px 2px}.mood .face{width:54px;height:61px}.mood .word{font-size:.64rem}}

/* Narrow screens: keep the issue-marker, heading and cheeky caption from competing for one line. */
@media(max-width:680px){
 .section-title{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px}
 .section-title>span:first-child{display:flex;align-items:flex-start;gap:8px;min-width:0;max-width:100%;line-height:1.25}
 .section-title .num{flex:0 0 auto}
 .section-title small{display:block;max-width:100%;margin-left:31px;line-height:1.4}
}

/* Functional type roles; the printed ephemera retain their display lettering. */
:root{--type-body:1rem;--type-control:.875rem;--type-label:.75rem}
.welcome-setup p,.test-before-setup p,.recipe-steps li,.infoblock p,
.resource-shelf-body p,.vendor p{font-size:var(--type-body);line-height:1.55;max-width:65ch}
.hero-note,.setup-intro p{font-size:var(--type-body);line-height:1.5}
.connector-status span,.recipe-intro,.footnote,.status,.first-setup-status{font-size:var(--type-control);line-height:1.5}
.panel-head{font-size:var(--type-label);letter-spacing:.04em}
.switch button,.action,.resource,.welcome-link,.welcome-text-link,
.try-first-strip,.foot-tools{font-size:var(--type-control)}
.receipt pre{font-size:var(--type-control);line-height:1.6;max-height:18rem}
.topnav a{min-height:44px}
.welcome-text-link{min-height:44px;align-content:center}
.section-title{font-size:.8125rem;line-height:1.4}
.section-title small{font-size:var(--type-label);font-weight:400}
.recipe-intro,.status,.first-setup-status{font-weight:400}
.receipt-top,.mood .word{font-size:var(--type-label)}
.setup-actions,.button-row{align-items:stretch}
.foot-tools,.badge-row{flex-wrap:wrap}
#prompt:focus-visible{outline:3px solid var(--focus-ink);outline-offset:3px}
::selection{background:var(--ink);color:var(--bone)}
@media(max-width:540px){
 .hero-title .sticker{position:static;margin:7px 0}
 .button-row{grid-template-columns:1fr}
 .switch button{font-size:var(--type-control)}
 .section-title small{margin-left:31px}
}

/* Jukebox: choose, copy, then hand off; the receipt is optional detail. */
.setup-check{margin:14px 0 24px;padding:14px;background:var(--lime);border:2px solid var(--ink)}
.setup-check>p:first-child{margin:0 0 10px;font-size:.875rem;line-height:1.5}
.setup-check .resource{margin:0 5px 8px 0;max-width:100%;overflow-wrap:anywhere}
.setup-check pre{white-space:pre-wrap;overflow-wrap:anywhere;font:.875rem/1.6 ui-monospace,monospace;background:var(--bone);padding:12px;max-height:20rem;overflow:auto}
.setup-check summary,.receipt summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:.875rem;font-weight:700}
.mood-hint{font-size:.875rem;line-height:1.5;margin:0 0 12px}
.handoff{margin:0 0 24px}
.handoff .status{text-align:left;margin:0 0 12px;min-height:3em;color:var(--ink)}
.handoff .foot-tools{justify-content:flex-start;margin-top:8px}
.receipt-summary{font-size:1rem;line-height:1.5;margin:9px 3px;font-weight:700}
.receipt .resource{max-width:100%;white-space:normal}
.action[aria-disabled=true]{background:#e3dcc9;color:var(--ink2);box-shadow:none;cursor:not-allowed}
.go-button:disabled{opacity:.7;cursor:wait}
.setup-check pre:focus-visible{outline:3px solid var(--focus-ink);outline-offset:3px}
.grind{margin-bottom:12px}
@media(max-width:540px){.setup-check .resource{display:flex;margin-right:0}.receipt-summary{font-size:.875rem}}

/* Tempo uses the same printed controls and leaves mood independent. */
.tempo-control{margin:18px 0 24px}
.tempo-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.tempo-heading label{font-size:.875rem;font-weight:700}
.tempo-heading label span{display:block;margin-top:4px;font-size:1rem;font-weight:400}
.tempo-heading button{min-height:44px;padding:8px 12px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-family:inherit;font-size:.875rem;font-weight:700;cursor:pointer}
.tempo-heading button[aria-pressed=true]{background:var(--ink);color:var(--bone)}
#tempoSlider{display:block;width:100%;min-width:0;height:44px;margin:8px 0 0;accent-color:var(--ink);cursor:pointer}
#tempoSlider:focus-visible,.tempo-heading button:focus-visible{outline:3px solid #b93426;outline-offset:3px}
.tempo-scale{display:flex;justify-content:space-between;font-size:.875rem}
.tempo-control p{margin:8px 0 0;font-size:.875rem;line-height:1.5}

/* One mechanical gesture: key travel, spring return, then a clipboard-confirmed stamp. */
.go-button{position:relative;min-width:0;background:#292722;box-shadow:inset 0 2px 0 #ffffff20,inset 0 -7px 0 #0008;transform-origin:center;transition:transform 100ms ease-out,box-shadow 100ms ease-out;touch-action:manipulation}
.go-button .star-glyph{flex-shrink:0}
.go-copy{min-width:0;flex:1}
.go-copy b{position:relative;width:max-content;max-width:100%}
.go-button .go-stamp{position:absolute;left:0;top:50%;width:max-content;max-width:none;padding:.14em .22em;border:3px double var(--bone);background:var(--red2);color:var(--bone);font-family:Impact,"Arial Black",sans-serif;font-size:clamp(1.5rem,6vw,2.65rem);line-height:1;letter-spacing:.045em;text-shadow:none;transform:translateY(-50%) rotate(-7deg);opacity:0;pointer-events:none}
.go-button:active,.go-button[data-copy-state=copying]{transform:translateY(5px) scale(.985);box-shadow:inset 0 1px 0 #ffffff12,inset 0 -1px 0 #0008}
.go-button:active .star-glyph,.go-button[data-copy-state=copying] .star-glyph{transform:rotate(-3deg) scale(.96)}
.go-button:disabled{opacity:1}
.go-button[data-copy-state=copied]{animation:key-return 280ms cubic-bezier(.16,1,.3,1)}
.go-button[data-copy-state=copied] .go-stamp{opacity:1;animation:copy-stamp 180ms 180ms cubic-bezier(.16,1,.3,1) both}
.go-button:focus-visible{outline:3px solid var(--yellow);outline-offset:-5px}
@keyframes key-return{0%{transform:translateY(5px) scale(.985)}45%{transform:translateY(-2px) scale(1.003)}72%{transform:translateY(1px)}100%{transform:translateY(0) scale(1)}}
@keyframes copy-stamp{0%{opacity:0;transform:translateY(-65%) rotate(-12deg) scale(1.22)}65%{opacity:1;transform:translateY(-50%) rotate(-6deg) scale(.97)}100%{opacity:1;transform:translateY(-50%) rotate(-7deg) scale(1)}}
@media(prefers-reduced-motion:reduce){.go-button,.go-button .star-glyph{transition:none}.go-button:active,.go-button[data-copy-state=copying]{transform:none}.go-button[data-copy-state=copied],.go-button[data-copy-state=copied] .go-stamp{animation:none}}

/* Pitch-fader hardware; a native range keeps touch and keyboard behavior intact. */
.tempo-control{padding:16px;background:var(--control-bed);border:2px solid var(--ink)}
.tempo-heading label span{min-width:9ch;font-weight:700;font-variant-numeric:tabular-nums}
.tempo-heading button{background:var(--bone)}
.tempo-heading button[aria-pressed=true]{background:var(--ink);color:var(--bone)}
.fader-bed{position:relative;margin-top:14px;padding:0 10px 30px;background:var(--control-track);box-shadow:inset 0 2px 4px #29272240}
#tempoSlider{appearance:none;-webkit-appearance:none;background:transparent;height:56px;margin:0;touch-action:pan-y;position:relative;z-index:1;border-radius:0}
#tempoSlider::-webkit-slider-runnable-track{height:7px;background:var(--ink);border-radius:0;box-shadow:0 1px 0 #fff8}
#tempoSlider::-moz-range-track{height:7px;background:var(--ink);border-radius:0;box-shadow:0 1px 0 #fff8}
#tempoSlider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:44px;height:36px;margin-top:-15px;border:2px solid var(--ink);border-radius:2px;background:linear-gradient(90deg,var(--control-metal) 0 44%,var(--ink) 44% 56%,var(--control-metal) 56%);box-shadow:0 3px 3px #29272260;cursor:grab}
#tempoSlider::-moz-range-thumb{width:40px;height:32px;border:2px solid var(--ink);border-radius:2px;background:linear-gradient(90deg,var(--control-metal) 0 44%,var(--ink) 44% 56%,var(--control-metal) 56%);box-shadow:0 3px 3px #29272260;cursor:grab}
#tempoSlider:active::-webkit-slider-thumb{cursor:grabbing;box-shadow:0 1px 2px #29272260}
#tempoSlider:active::-moz-range-thumb{cursor:grabbing;box-shadow:0 1px 2px #29272260}
.fader-stops{position:relative;margin:0 22px;height:0;color:var(--ink)}
.fader-stops span{position:absolute;top:0;transform:translateX(-50%);font-size:.75rem;line-height:1.5;white-space:nowrap}
.fader-stops span:before{content:"";display:block;position:absolute;width:1px;height:9px;background:var(--ink);left:50%;bottom:calc(100% + 2px)}
.fader-stops span:nth-child(1){left:0}.fader-stops span:nth-child(2){left:20%}.fader-stops span:nth-child(3){left:40%}.fader-stops span:nth-child(4){left:60%}.fader-stops span:nth-child(5){left:80%}.fader-stops span:nth-child(6){left:100%}
[data-tempo=any] [data-pace=any],[data-tempo=slow] [data-pace=slow],[data-tempo=relaxed] [data-pace=relaxed],[data-tempo=moderate] [data-pace=moderate],[data-tempo=brisk] [data-pace=brisk],[data-tempo=fast] [data-pace=fast]{font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
.tempo-control[data-tempo=any] .fader-bed{background:#d6d0bf}
.tempo-control:not([data-tempo=any]) #tempoValue{color:var(--red2)}
@media(max-width:390px){.tempo-control{padding:12px}.fader-bed{padding-left:4px;padding-right:4px}}

/* Mood keys latch into a shared keybed; selection remains the native pressed state. */
.mood-grid{padding:6px 6px 10px;background:#302d29;border:2px solid var(--ink);gap:8px}
.mood-grid .mood{position:relative;min-width:0;transform:translateY(0);border-color:#45413a;box-shadow:0 5px 0 #121212,inset 0 2px 0 #ffffff20;transition:transform 160ms cubic-bezier(.16,1,.3,1),box-shadow 160ms ease-out;touch-action:manipulation}
.mood-grid .mood[aria-pressed=true]{transform:translateY(4px);border-color:#9d2b40;box-shadow:inset 0 3px 5px #5a351950,0 1px 0 #121212}
.mood-grid .mood:active{transform:translateY(5px);box-shadow:inset 0 3px 5px #0004,0 0 0 #121212;transition-duration:60ms}
.mood-grid .mood[aria-pressed=true] .word{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.mood-grid .mood:focus-visible{outline:3px solid var(--bone);outline-offset:2px;z-index:1}
@media(prefers-reduced-motion:reduce){.mood-grid .mood{transition:none}}

/* The native disclosure opens a short paper fold; copyable text stays real text. */
#promptDetails{perspective:900px}
.receipt-fold{position:relative;transform-origin:top center;border-top:1px dashed #9f9581;padding-top:8px;background:#fbf4df}
.receipt-fold:before{content:"";position:absolute;top:0;left:0;right:0;height:28px;pointer-events:none;opacity:0;background:linear-gradient(#5a49312b,transparent)}
#promptDetails[open] .receipt-fold{animation:receipt-unfold 260ms cubic-bezier(.16,1,.3,1) both}
#promptDetails[open] .receipt-fold:before{animation:receipt-crease 260ms ease-out both}
#promptDetails>summary:focus-visible{outline:3px solid var(--red2);outline-offset:2px}
@keyframes receipt-unfold{from{transform:rotateX(-10deg) translateY(-6px)}to{transform:rotateX(0) translateY(0)}}
@keyframes receipt-crease{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){#promptDetails[open] .receipt-fold,#promptDetails[open] .receipt-fold:before{animation:none}}

/* The next action gets one emphasis after GO's success stamp settles. */
.handoff #openAi{white-space:normal;min-height:48px;line-height:1.4}
.handoff #openAi[aria-disabled=false]{animation:handoff-ready 320ms 380ms cubic-bezier(.16,1,.3,1)}
.handoff #openAi:focus-visible{outline:3px solid var(--red2);outline-offset:4px}
@keyframes handoff-ready{0%{background:var(--yellow);transform:translateY(3px)}100%{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.handoff #openAi[aria-disabled=false]{animation:none}}

/* Reduced motion keeps state changes immediate, including pressed illustrations. */
@media(prefers-reduced-motion:reduce){
 .go-button:active .star-glyph,.go-button[data-copy-state=copying] .star-glyph{transform:rotate(-8deg)}
 .mood-grid .mood,.mood-grid .mood:active,.mood-grid .mood[aria-pressed=true]{transform:none}
}

/* Manual: selector keys, local copy feedback, and native paper disclosures. */
body[data-page=setup] .switch button{transition:transform 160ms cubic-bezier(.16,1,.3,1),box-shadow 160ms ease-out}
body[data-page=setup] .switch button[aria-pressed=true]{transform:translateY(2px);box-shadow:inset 0 2px 4px #0004}
body[data-page=setup] .switch button:focus-visible{outline:3px solid var(--red2);outline-offset:3px}
.setup-recipe #copyStatus{text-align:left;min-height:3em;margin:12px 0;color:var(--ink);font-weight:400}
#copyTailoredSetup{min-height:48px;transition:transform 100ms ease-out;white-space:normal}
#copyTailoredSetup:active,#copyTailoredSetup[data-copy-state=copying]{transform:translateY(2px)}
#copyTailoredSetup[data-copy-state=copied]{background:var(--ink);color:var(--bone)}
#copyTailoredSetup:disabled{cursor:wait}
#openSelectedAi[data-copy-ready=true]{animation:handoff-ready 320ms 180ms cubic-bezier(.16,1,.3,1)}
.manual-prompt summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:.875rem;font-weight:700}
.manual-prompt pre{white-space:pre-wrap;overflow-wrap:anywhere;font:.875rem/1.6 ui-monospace,monospace;max-height:18rem;overflow:auto;padding:12px;background:var(--bone)}
.manual-prompt,.resource-shelf{perspective:900px}
.manual-prompt[open] .receipt-fold,.resource-shelf[open] .resource-shelf-body{transform-origin:top center;animation:receipt-unfold 260ms cubic-bezier(.16,1,.3,1)}
body[data-page=setup] summary:focus-visible,#setupPromptText:focus-visible{outline:3px solid var(--red2);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
 body[data-page=setup] .switch button,#copyTailoredSetup{transition:none}
 body[data-page=setup] .switch button[aria-pressed=true],#copyTailoredSetup:active,#copyTailoredSetup[data-copy-state=copying]{transform:none}
 #openSelectedAi[data-copy-ready=true],.manual-prompt[open] .receipt-fold,.resource-shelf[open] .resource-shelf-body{animation:none}
}

/* Manual: services and setup handoff form one compact workbench. */
.manual-workbench .manual-intro{padding:6px 0 20px}
.manual-workbench .manual-intro .headline{font-size:clamp(2rem,7vw,3.25rem);line-height:1.05;margin:0 0 12px}
.manual-workbench .manual-intro p{font-size:1rem;line-height:1.5;max-width:58ch;margin:0}
.manual-workbench .section-title:first-of-type{margin-top:0}
.manual-workbench .setup-recipe{margin-top:14px;padding:18px}
.manual-workbench #recipeTitle{font-size:clamp(1.35rem,4.5vw,1.8rem);line-height:1.15;margin:0 0 10px}
.manual-workbench .recipe-intro{margin:0 0 16px;line-height:1.5}
.manual-workbench .setup-actions{margin-top:0}
.manual-workbench #copyStatus{min-height:2.8em;margin:10px 0 6px}
.manual-workbench .manual-prompt{margin-top:0}
.manual-workbench .manual-install{border-top:2px solid var(--ink);margin-top:16px;padding-top:6px}
.manual-workbench .manual-install summary{cursor:pointer;min-height:48px;display:list-item;align-content:center;font-weight:700;line-height:1.4;padding:12px 0}
.manual-workbench .manual-install summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.manual-workbench .manual-install-body{padding:8px 0 0}
.manual-workbench .manual-install .recipe-steps{margin-top:0}
@media(max-width:569px){.manual-workbench .setup-actions{display:grid;grid-template-columns:1fr;gap:10px}.manual-workbench .setup-actions .resource{width:100%;text-align:center;min-height:48px}}

@media(max-width:390px){.brand-name{font-size:1.05rem}.brand-sub{max-width:24ch;line-height:1.3}}

/* First-time instructions live in the single folded welcome strip. */
.welcome-setup-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.welcome-setup-actions .resource{flex:1 1 160px;min-width:0;text-align:center}
.welcome-setup #setupPromptDetails{margin-top:10px}
.welcome-setup #setupPromptDetails summary{cursor:pointer;display:flex;align-items:center;min-height:44px;font-size:.8rem;font-weight:700}
.welcome-setup #setupPromptText{white-space:pre-wrap;overflow-wrap:anywhere;font:.76rem/1.55 ui-monospace,monospace;background:var(--bone);padding:12px;max-height:20rem;overflow:auto}
.welcome-setup #setupPromptText:focus-visible{outline:3px solid var(--focus-ink);outline-offset:3px}

/* Keep five mood keys legible on narrow screens. */
@media(max-width:520px){.mood-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.mood-grid .mood{grid-column:span 2}.mood-grid .mood:nth-last-child(-n+2){grid-column:span 3}}


/* The Crate Atlas: one map, one way home, compact passport ink. */
.crate-geo{margin:20px 17px 24px;border:2px solid var(--ink);background:var(--atlas-paper);box-shadow:4px 4px 0 #272523}
.crate-geo-summary{min-height:59px;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:9px;cursor:pointer;list-style:none}
.crate-geo-summary::-webkit-details-marker{display:none}
.crate-geo-summary:after{content:"+";font:800 1.3rem/1 Georgia,serif;color:var(--red2)}
.crate-geo[open] .crate-geo-summary:after{content:"−"}
.crate-geo-identity{display:grid;gap:3px}
.crate-geo-identity strong{font:800 clamp(.9rem,3vw,1.2rem)/1.05 Georgia,serif;letter-spacing:-.015em}
.crate-geo-identity small{font:700 .59rem/1.2 ui-monospace,monospace;letter-spacing:.12em;color:#6d4c43}
.crate-geo-body{padding:12px;border-top:2px solid var(--ink)}
.crate-atlas-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;min-height:44px;margin-bottom:7px}
.crate-atlas-locator{font:800 var(--type-label)/1.4 ui-monospace,monospace;letter-spacing:.045em;color:var(--atlas-ink)}
#atlasHome{background:transparent;border:0;border-bottom:1px dotted #5f463e;padding:9px 4px;color:var(--atlas-accent);font:800 var(--type-control) ui-monospace,monospace;min-height:44px;white-space:nowrap}
#atlasHome:hover{background:var(--atlas-paper-hover)}
.crate-map-frame{position:relative;overflow:hidden;background:#e2d3b5;border:2px solid #7c6953;box-shadow:inset 0 0 0 4px #efe0bb,0 4px 12px #34241928}
.crate-mercator{display:block;width:100%;height:auto;aspect-ratio:720/372;background:transparent;touch-action:none;cursor:grab}
.crate-map-frame:active .crate-mercator{cursor:grabbing}
.crate-map-ocean{fill:var(--atlas-water)}
.crate-map-grid{stroke:#9ba49b;stroke-width:.65;opacity:.55;fill:none;pointer-events:none}
.crate-map-countries .crate-map-zone path{fill:var(--atlas-land);stroke:none;cursor:zoom-in;transition:fill .16s ease}
.crate-map-zone:hover path{fill:#e3c68d}
.crate-map-zone[data-selected=true] path{fill:var(--atlas-selected)}
.crate-map-zone[data-selected=true]:hover path{fill:#bb4448}
.crate-zone-boundaries{fill:none;stroke:var(--atlas-boundary);stroke-width:1.06;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}
.crate-geo[data-focus=true] .crate-mercator{height:clamp(290px,46vw,390px);aspect-ratio:auto}
.crate-geo[data-focus=true] .crate-map-zone path{cursor:crosshair}
.crate-map-seal{position:absolute;top:12px;right:16px;transform:rotate(9deg);color:#873940;border:2px double #873940;border-radius:50%;width:76px;height:76px;display:grid;place-content:center;text-align:center;font:800 .54rem/1.38 ui-monospace,monospace;letter-spacing:.04em;opacity:.5;pointer-events:none}
.crate-map-coordinate{position:absolute;bottom:8px;left:10px;background:#f1e8d2c9;padding:2px 5px;font:700 .55rem ui-monospace,monospace;color:#514941;pointer-events:none}
.crate-atlas-nav{margin-top:7px;min-height:20px}
.crate-geo-note{margin:0;color:#63594d;font:700 var(--type-control)/1.5 ui-monospace,monospace;letter-spacing:.02em}
.crate-passport{margin:11px 0 5px;padding:2px 0}
.crate-passport-stamps{display:flex;flex-wrap:wrap;gap:4px 7px;min-height:44px;align-items:center}
.crate-stamp{position:relative;display:inline-flex;align-items:center;gap:6px;min-width:44px;min-height:44px;max-width:100%;padding:8px 10px;background:transparent;border:0;color:var(--atlas-accent);cursor:pointer;transform:rotate(-1deg);white-space:normal;text-align:left}
.crate-stamp:nth-child(even){transform:rotate(1deg)}
.crate-stamp::before{content:"";position:absolute;inset:5px 2px;border:1.5px double currentColor;border-radius:2px;opacity:.85;pointer-events:none}
.crate-stamp strong{font:800 var(--type-label)/1.35 ui-monospace,monospace;letter-spacing:.025em;position:relative}
.crate-stamp-x{font:800 .83rem/1 ui-monospace,monospace;position:relative;color:#6f5550}
.crate-stamp:hover{color:#ac333d;background:#eadcc1}
.crate-stamp.is-new{animation:crate-stamp-in .24s cubic-bezier(.16,1,.3,1) both}
@keyframes crate-stamp-in{from{opacity:0;transform:translateY(-4px) rotate(-5deg) scale(1.07)}to{opacity:1;transform:translateY(0) rotate(-1deg) scale(1)}}
.crate-accessibility{margin-top:8px;border-top:1px dashed #b3a38a}
.crate-accessibility>summary{list-style:none;min-height:44px;display:flex;align-items:center;gap:4px;cursor:pointer;color:var(--atlas-ink);font:800 var(--type-control)/1.4 ui-monospace,monospace}
.crate-accessibility>summary::-webkit-details-marker{display:none}
.crate-accessibility>summary:before{content:"+";margin-right:6px;color:#9b3942}
.crate-accessibility[open]>summary:before{content:"−"}
.crate-accessibility-help{font-size:var(--type-control);line-height:1.5;max-width:65ch;color:var(--atlas-ink);margin:1px 0 11px}
.crate-continents,.crate-regions{display:flex;flex-wrap:wrap;gap:7px}
.crate-continents{margin-bottom:12px}
.crate-continents button,.crate-regions button{min-height:44px;padding:9px 11px;border:1px solid var(--atlas-border);background:var(--atlas-paper-light);color:#302923;font:700 .76rem/1.2 Arial,system-ui,sans-serif}
.crate-continents button[aria-pressed=true],.crate-regions button[aria-pressed=true]{background:var(--atlas-selected);color:var(--bone);border-color:#69262b}
.crate-continents button:not([hidden]):hover,.crate-regions button:not([hidden]):hover{box-shadow:inset 0 -3px 0 #d5ab68}
#crateGeoClear{min-height:44px;margin-top:12px;padding:9px 11px;border:1px solid #6b5e50;background:transparent;font:800 var(--type-label) ui-monospace,monospace;color:var(--atlas-accent)}
#crateGeoClear:hover{background:#e5c385}
.crate-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.crate-geo [hidden]{display:none!important}
.crate-geo button:focus-visible,.crate-geo-summary:focus-visible,.crate-accessibility>summary:focus-visible{outline:3px solid var(--focus-ink);outline-offset:2px}
@media(max-width:450px){
 .crate-geo{margin:18px 12px 22px}
 .crate-geo-body{padding:10px 9px}
 .crate-geo-identity strong{font-size:.96rem}
 .crate-map-seal{width:55px;height:55px;font-size:.41rem;right:9px;top:9px}
 .crate-map-coordinate{font-size:.49rem}
}
@media(prefers-reduced-motion:reduce){.crate-map-zone path{transition:none}.crate-stamp.is-new{animation:none}}

/* At enlarged text sizes the five pace labels flow instead of overlapping. */
@media(max-width:30rem){
 .fader-bed{padding-bottom:10px}
 .fader-stops{display:flex;justify-content:space-between;gap:4px;margin:0;height:auto}
 .fader-stops span{position:static;transform:none;white-space:normal;overflow-wrap:anywhere;max-width:17%;text-align:center;line-height:1.4}
 .fader-stops span:before{display:none}
 .brandrow{flex-wrap:wrap}
 .est{margin-inline-start:auto}
 .switch button{overflow-wrap:anywhere;min-width:0}
 .crate-geo{margin-inline:0}
}
@media(forced-colors:active){
 :focus-visible{outline:3px solid Highlight!important;outline-offset:3px!important;box-shadow:none!important}
 .mood-grid .mood[aria-pressed=true],.switch button[aria-pressed=true],.crate-regions button[aria-pressed=true]{outline:2px solid Highlight;outline-offset:-4px}
}

/* Jukebox counter: one paper surface, selection keys, one raised action.
   Shared Manual styles above remain independent. */
body[data-page=launch]{--counter-gap:24px;--counter-rule:1px solid var(--line)}
.hero-purpose{font-size:var(--type-body);line-height:1.5;max-width:60ch;margin:12px 0}
.clerk-aside{display:block;font:italic var(--type-control)/1.5 Georgia,serif;color:var(--ink2);margin-top:3px}
.brand-sub{font-size:.6875rem;line-height:1.4;letter-spacing:.09em}
.return-sleeve{display:none}
html[data-returning=true] .hero-title .first-sleeve{display:none}
html[data-returning=true] .hero-title .return-sleeve{display:inline}
html[data-returning=true] .hero-title br{display:none}
html[data-returning=true] .hero-title .sticker,html[data-returning=true] .welcome-setup,
html[data-returning=true] body[data-page=launch] .connector-status:not(.warn){display:none}
body[data-page=launch] .hero-title{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 16px;align-items:center;border-bottom:0;padding:0;margin:4px 0 var(--counter-gap)}
body[data-page=launch] .hero-title .headline{font-size:clamp(1.4rem,6.3vw,3.6rem);letter-spacing:-.025em}
body[data-page=launch] .hero-title .sticker{position:static;margin:8px 6px 8px 0;justify-self:end}
body[data-page=launch] .hero-purpose{grid-column:1 / -1;margin:8px 0}
html[data-returning=true] body[data-page=launch] .hero-title .headline{font-size:clamp(1.2rem,6.1vw,1.75rem);line-height:1.1;margin:8px 0}
.counter-heading{font:700 1rem/1.3 ui-monospace,Consolas,monospace;letter-spacing:.02em;margin:0 0 14px}
.counter-label,body[data-page=launch] .panel-head{font:700 var(--type-label)/1.4 ui-monospace,Consolas,monospace;letter-spacing:.03em;margin:0 0 8px}
body[data-page=launch] .selector-grid{gap:16px}
body[data-page=launch] .selector-grid .panel{padding:0;margin:0;border:0;background:transparent;box-shadow:none}
body[data-page=launch] .switch{gap:4px}
body[data-page=launch] .switch button{background:var(--bone);border:1px solid var(--ink);box-shadow:none;min-height:46px;padding:8px 6px;font-size:var(--type-label)}
body[data-page=launch] .switch button[aria-pressed=true]{background:var(--red2);color:var(--bone);box-shadow:inset 0 2px 3px #0004}
body[data-page=launch] .connector-status{background:transparent;border:0;padding:0;margin:12px 0 var(--counter-gap);gap:0}
body[data-page=launch] .connector-status:before{display:none}
body[data-page=launch] .connector-status span{font-size:var(--type-label);line-height:1.5;color:var(--ink2)}
body[data-page=launch] .connector-status.warn{border:1px solid var(--red2);background:var(--bone);padding:10px}
.mix-heading{border-top:var(--counter-rule);padding-top:var(--counter-gap)}
.refinements{margin:0 0 20px;border:0}
body[data-page=launch] .tempo-control{margin:0;padding:0;border:0;background:transparent}
body[data-page=launch] .tempo-heading label{font:700 var(--type-label)/1.4 ui-monospace,Consolas,monospace}
body[data-page=launch] .tempo-heading label span{display:inline;margin-left:10px;font:400 var(--type-control)/1.4 Arial,sans-serif}
body[data-page=launch] .tempo-heading button{min-height:44px;min-width:60px;padding:8px 12px;background:var(--bone)}
body[data-page=launch] .tempo-heading button[aria-pressed=true]{background:var(--ink);color:var(--bone)}
body[data-page=launch] .tempo-control p{font-size:var(--type-label);margin:8px 0 0}
body[data-page=launch] .tempo-control .fader-bed{margin-top:4px;background:transparent;box-shadow:none;padding-inline:0}
body[data-page=launch] .fader-stops span:nth-child(1){left:0}
body[data-page=launch] .fader-stops span:nth-child(2){left:25%}
body[data-page=launch] .fader-stops span:nth-child(3){left:50%}
body[data-page=launch] .fader-stops span:nth-child(4){left:75%}
body[data-page=launch] .fader-stops span:nth-child(5){left:100%}
body[data-page=launch] .tempo-control[data-tempo=any] #tempoSlider::-webkit-slider-thumb{border-style:dashed;background:var(--control-metal);box-shadow:none}
body[data-page=launch] .tempo-control[data-tempo=any] #tempoSlider::-moz-range-thumb{border-style:dashed;background:var(--control-metal);box-shadow:none}
.refinements>.crate-geo{margin:16px 0 0;border:0;box-shadow:none;background:transparent}
.refinements .crate-geo-summary{min-height:48px;padding:8px 0;border:0}
.crate-geo-identity small{font-size:var(--type-label);letter-spacing:.03em}
.atlas-intro{font-size:var(--type-control);line-height:1.5;max-width:65ch;color:var(--atlas-ink);margin:0 0 12px}
body[data-page=launch] .mood-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 10px;padding:0;background:transparent;border:0;box-shadow:none}
body[data-page=launch] .mood-grid .mood{grid-column:auto;min-height:106px;padding:10px 4px;gap:6px;border:1px solid var(--line);background:var(--bone);color:var(--ink);box-shadow:none;transform:none}
body[data-page=launch] .mood-grid .mood:hover{border-color:var(--ink)}
body[data-page=launch] .mood-grid .mood[aria-pressed=true]{background:var(--yellow);border:2px solid var(--red2);padding:9px 3px;transform:none}
body[data-page=launch] .mood .face{width:48px;height:54px}
body[data-page=launch] .mood .word{font-size:var(--type-label);letter-spacing:0;white-space:nowrap;overflow-wrap:normal}
body[data-page=launch] .mood-hint{font-size:var(--type-label);line-height:1.5;min-height:1.5em;margin:0 0 16px}
body[data-page=launch] .grind{display:block;background:transparent;border:0;box-shadow:none;overflow:visible;margin:0 0 20px}
body[data-page=launch] .grind:before{display:none}
body[data-page=launch] .go-button{width:100%;min-height:116px;background:var(--yellow);color:var(--ink);border:2px solid var(--ink);box-shadow:0 6px 0 var(--ink),inset 0 2px 0 #ffffff50;padding:12px 18px}
body[data-page=launch] .go-button .star-glyph{width:86px}
body[data-page=launch] .go-button .go-copy b{color:var(--ink);text-shadow:none}
body[data-page=launch] .go-button .go-copy>span:not(.go-stamp){color:var(--ink);font-size:var(--type-label);letter-spacing:.02em}
body[data-page=launch] .go-button:active,body[data-page=launch] .go-button[data-copy-state=copying]{transform:translateY(5px);box-shadow:0 1px 0 var(--ink),inset 0 2px 3px #0005}
body[data-page=launch] .go-button:focus-visible{outline:3px solid var(--focus-ink);outline-offset:9px}
.receipt-heading{margin-top:var(--counter-gap);font-size:var(--type-control)}
body[data-page=launch] .receipt{border:0;border-top:1px dashed var(--atlas-border);border-bottom:1px dashed var(--atlas-border);box-shadow:none;transform:none;margin:0;padding:14px 0;background:transparent}
body[data-page=launch] .receipt:before,body[data-page=launch] .receipt:after{display:none}
@media(max-width:540px){
 body[data-page=launch] .masthead{padding:12px 14px 10px}
 body[data-page=launch] .brandrow{flex-wrap:nowrap;gap:6px}
 body[data-page=launch] .est{display:none}
 body[data-page=launch] .brand-sub{font-size:.6rem;max-width:none;letter-spacing:.03em}
 body[data-page=launch] .topnav{padding-top:10px}
 body[data-page=launch] .main{padding:14px 14px 24px}
 body[data-page=launch] .hero-title{column-gap:10px}
 body[data-page=launch] .hero-purpose{font-size:var(--type-control);line-height:1.5}
 body[data-page=launch] .selector-grid{grid-template-columns:1fr;gap:14px}
 body[data-page=launch] .switch button{padding-inline:4px}
 body[data-page=launch] .mood-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
 body[data-page=launch] .mood-grid .mood{grid-column:span 2;min-height:86px;padding:6px 4px}
 body[data-page=launch] .mood-grid .mood:nth-last-child(-n+2){grid-column:span 3}
 body[data-page=launch] .mood-grid .mood[aria-pressed=true]{padding:5px 3px}
 body[data-page=launch] .mood .face{width:38px;height:43px}
}
@media(max-width:360px){body[data-page=launch] .hero-title .headline{font-size:1.4rem}body[data-page=launch] .hero-title .sticker{font-size:.5rem}}
@media(prefers-reduced-motion:reduce){body[data-page=launch] .go-button:active,body[data-page=launch] .go-button[data-copy-state=copying]{transform:none}}

/* A copied request earns its ink; ordinary choices get quiet key feedback. */
body[data-page=launch] .receipt-copy{display:table;min-height:32px;max-width:100%;margin:10px 0 4px;padding:4px 8px;border:3px double transparent;font:700 var(--type-label)/1.4 ui-monospace,Consolas,monospace;letter-spacing:.03em;color:var(--ink2)}
body[data-page=launch] .receipt[data-copy-state=copied] .receipt-copy{border-color:var(--red2);color:var(--red2);transform:rotate(-2deg);animation:clerk-ink 180ms cubic-bezier(.16,1,.3,1) both}
@keyframes clerk-ink{from{opacity:.5;transform:rotate(-2deg) scale(1.06)}to{opacity:1;transform:rotate(-2deg) scale(1)}}
body[data-page=launch] .mood-grid .mood:active{box-shadow:inset 0 2px 3px #25232030}
body[data-page=launch] .mood .face{transition:transform 120ms ease-out}
body[data-page=launch] .mood:active .face{transform:translateY(2px)}
@media(prefers-reduced-motion:reduce){
 body[data-page=launch] .mood .face{transition:none}
 body[data-page=launch] .mood:active .face{transform:none}
 body[data-page=launch] .receipt[data-copy-state=copied] .receipt-copy{animation:none;transform:none}
}

/* The clerk's counter stamp: one ink impression, never an entrance gate. */
body[data-page=launch] .hero-title .headline{width:fit-content;max-width:100%;border:3px double var(--red2);padding:8px 10px;color:var(--red2);line-height:.98;transform:rotate(-1deg);transform-origin:35% 60%;text-shadow:.6px .3px 0 #8e212a50;animation:counter-impression 200ms cubic-bezier(.16,1,.3,1) both}
body[data-page=launch] .hero-title .headline em{color:inherit;text-shadow:none}
@keyframes counter-impression{from{transform:rotate(-1.7deg) scale(1.025);text-shadow:1.2px .5px 0 #8e212a40}to{transform:rotate(-1deg) scale(1);text-shadow:.6px .3px 0 #8e212a50}}
@media(prefers-reduced-motion:reduce){body[data-page=launch] .hero-title .headline{animation:none;transform:none;text-shadow:none}}

@media(max-width:360px){body[data-page=launch] .hero-title{grid-template-columns:minmax(0,1fr)}body[data-page=launch] .hero-title .sticker{display:none}}

/* Manual liner note: the handoff explained before setup. */
.manual-liner{margin:0 0 22px;padding:14px 0;border-block:1px solid currentColor}
.manual-liner h2{margin:0 0 6px;font-size:1.25rem}
.manual-liner .liner-thesis{margin:0 0 14px;font-weight:700}
.manual-liner .liner-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0}
.manual-liner .liner-route li{min-width:0}
.manual-liner .liner-route strong{display:block;font-size:1rem}
.manual-liner .liner-route p{margin:5px 0 0;font-size:.9375rem;line-height:1.5}
.manual-liner .liner-signoff{margin:14px 0 0;font-size:.8125rem;line-height:1.5}
@media(max-width:600px){.manual-liner .liner-route{grid-template-columns:1fr;gap:12px}}

.manual-liner>summary{cursor:pointer;font-size:1.25rem;font-weight:700;min-height:44px;align-content:center}
.manual-liner .liner-route strong{font-weight:800}

.mood[data-mood="funky"] .face{background-image:url('/editions/gig-poster/assets/the-funk.webp');background-size:auto 100%;background-position:15% 0}
.mood[data-mood="funky"][aria-pressed="true"] .face{background-position:85% 0}
