.active-commission{font-size:12.1px;line-height:1.65;padding:10px 12px;background:#355549;border:1px dashed #d5bc7a;border-radius:10px;color:#f5e2af}
.neighbourhood-hub{margin:18px 0;border:1px solid #9eb69b66;border-radius:18px;background:#213d38;color:#f5e2b9;overflow:hidden}.neighbourhood-hub>summary{padding:17px;font-size:12px;cursor:pointer;min-height:50px}.neighbourhood-inner{padding:0 14px 18px}.neighbourhood-inner h3{font-size:15px;color:#edc77e;margin:23px 0 10px}.neighbour-card{padding:13px;margin:9px 0;background:#314e43;border:1px solid #a7b69744;border-radius:12px;overflow-wrap:anywhere}.neighbour-card b{font-size:12px;color:#f3d48e}.neighbour-card p{font-size:12.1px;line-height:1.75;margin:6px 0 10px;color:#d6dec1}.neighbour-card button{font-size:12.1px;min-height:44px;margin:4px 6px 0 0}.street-keepsakes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.street-keepsakes .neighbour-card{padding:8px;background:linear-gradient(#233f3c,#31443b)}.street-keepsakes .neighbour-card p{font-size:10px}.street-keepsakes .is-complete{background:radial-gradient(ellipse at top,#bd995855,transparent 80%),#385642;border-color:#dbc483}.street-keepsakes .is-complete::after{content:'✦ ✦ ✦';color:#efd08a;letter-spacing:6px;font-size:12.1px}.layout-editor{display:grid;gap:8px;padding:12px;border:1px dashed #b9b682;border-radius:12px}.layout-editor label{font-size:12.1px;color:#ebd397}.layout-editor select{width:100%;min-height:44px;font:inherit;font-size:12px;padding:10px 30px 10px 10px;border:1px solid #9db79d;border-radius:9px;color:#f5e3ba;background:#254338}.layout-editor p{font-size:12.1px;line-height:1.7;margin:0;color:#c5d3b2}.album-photo{height:88px;width:90px;float:right;--cry-display:inline;--neutral-display:none;--paper-wear:.7}.album-photo svg{width:100%;height:100%}.personal-postcard{max-width:380px;margin:18px auto}.personal-postcard>svg{display:block;width:100%;height:auto}.postcard-actions{display:flex;gap:10px;flex-wrap:wrap}.postcard-actions button{flex:1;min-height:44px;font-size:12px}.bbl-results #journey-result{font-size:12px;color:#edcd83;line-height:1.8}.stall-skit{padding:12px 14px;background:#2c453e;border-bottom:1px dashed #d5bd7a;overflow:hidden}.stall-skit b{font-size:12px;color:#f3d28b}.stall-skit p{font-size:12.1px;line-height:1.6;margin:5px 0;color:#d9ddbd}#skit-cast{display:flex;justify-content:center;gap:8px;height:94px}#skit-cast span{width:80px;position:relative;animation:skit-bob 2s ease-in-out infinite alternate}#skit-cast svg{width:100%;height:100%}#skit-cast [data-skit-actor=cat]{animation:snack-thief 3.6s ease-in-out infinite}#skit-cast [data-skit-actor=paper-iphone-duo]{animation:phone-charge 2.5s ease-in-out infinite}#skit-cast [data-skit-actor=lassie]{margin-left:-64px;scale:.7;transform-origin:50% 80%;z-index:2}.street-gifts{position:absolute;left:10%;right:10%;bottom:16%;display:flex;justify-content:space-between;font-size:24px;opacity:.8}.street-gifts span{filter:drop-shadow(0 0 9px #edc77e77)}
.personality-hud{width:100%;font-size:12.1px;line-height:1.5;flex:0 0 auto;z-index:6}.personality-hud p{margin:0;text-align:center;background:#203d39;border:1px solid #a6b69566;border-radius:8px;padding:5px 8px;color:#f1dfaa}.event-banner{display:flex;gap:6px;align-items:center;justify-content:center;padding:5px 7px;margin-top:4px;border:1px solid #efd08a;border-radius:8px;background:#6d5333;color:#fff1c7;min-height:30px}.event-banner[data-event=tram]{box-shadow:0 0 calc(var(--bell,0)*16px) #edc77e88}.event-banner button{font:inherit;font-size:10px;padding:4px 6px;min-height:44px;color:#fff0c4;background:#2c5145;border:1px solid #e1c98e;border-radius:7px}.flavour-playfield{position:absolute;inset:24% 0 22%;pointer-events:none;z-index:7}.copy-target{pointer-events:auto;position:absolute;width:65px;min-height:72px;padding:2px;left:1%;top:12%;color:#f7d591;background:#26443bea;border:1px dashed #efc77a;border-radius:10px;touch-action:manipulation;animation:copy-pop .3s ease-out}.copy-target:nth-child(2){left:auto;right:1%;top:29%}.copy-target>span{display:block;width:38px;height:43px;margin:auto}.copy-target svg{width:100%;height:100%}.copy-target small{display:block;font-size:10px;line-height:1.3}.stock-track{position:absolute;inset:auto 12% 7%;height:85px;opacity:.7;z-index:-1}.stock-track svg{width:100%;height:100%}.pig-helmet{position:absolute;top:7%;left:50%;translate:-50% 0;font-size:52px;filter:drop-shadow(0 2px 0 #6e7864)}.pig-sleep,.pig-smirk{position:absolute;top:18%;right:15%;font:700 22px system-ui;color:#f8e4a9;rotate:9deg}.pig-smirk{padding:4px;background:#a36f51;border-radius:50%;font-size:15px}.paper-doll[data-mood=sleeping]{rotate:-10deg}.paper-doll[data-mood=snickering]{filter:drop-shadow(0 0 7px #edc77e77)}.rain-awning{position:absolute;right:1%;bottom:8%;width:80px;height:72px;border-bottom:5px solid #8db6a5;color:#a8d1c9;background:#24473ebd;text-align:center;border-radius:50% 50% 5px 5px;font:65px/1 system-ui}.wind-catch{position:absolute;left:5%;top:15%;width:64px;height:68px;border:2px dashed #f4d38d;border-radius:50%;background:#365044dd;padding:7px;pointer-events:auto;animation:wind-slipper 2.5s ease-in-out infinite alternate}.wind-catch svg{width:100%;height:100%}.hit-zone.needs-shelter .paper-doll{pointer-events:auto;cursor:grab;touch-action:none}.hit-zone.is-sheltered{box-shadow:inset 0 0 20px #a4d1bd33}.paper-doll[data-look=gold]{outline:3px dashed #edc77e;outline-offset:4px;border-radius:20px}.paper-doll[data-look=flower]::after{content:'🌼';position:absolute;right:0;top:50%;font-size:25px}.paper-doll[data-look=raincoat]::after{content:'◒';position:absolute;left:27%;top:-6%;font-size:50px;color:#eccc7c}.fong-logo[data-look=gold]{filter:drop-shadow(0 0 5px #e8c16b)}.fong-logo[data-look=flower]::after{content:'🌼';position:absolute;bottom:0;right:0;font-size:18px}
@keyframes skit-bob{to{translate:0 -4px;rotate:3deg}}@keyframes snack-thief{0%,100%{translate:0 0;rotate:0}35%,60%{translate:15px -3px;rotate:9deg}80%{translate:-3px 0;rotate:-5deg}}@keyframes phone-charge{0%,100%{filter:brightness(1)}45%{filter:brightness(1.5) drop-shadow(0 0 7px #cee7a3);rotate:-6deg}55%{rotate:6deg}}@keyframes copy-pop{from{opacity:0;transform:translateY(-15px) scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes wind-slipper{to{left:68%;top:40%;rotate:35deg}}
@media(max-height:650px){.personality-hud{font-size:10px}.personality-hud p{padding:3px 5px}.event-banner{min-height:24px;padding:2px 4px}.event-banner button{font-size:10px}.copy-target{width:54px;min-height:60px}.copy-target>span{height:32px;width:30px}.pig-helmet{font-size:38px}.flavour-playfield{inset:29% 0 23%}}
@media(max-height:450px) and (min-aspect-ratio:4/3){.personality-hud{position:absolute;right:0;top:0;width:160px;font-size:10px}.event-banner{flex-wrap:wrap}.flavour-playfield{inset:17% 15% 28%}.personality-hud p{padding:3px}.rain-awning{right:-12%;width:55px;height:52px;font-size:45px}.copy-target{left:-3%}.copy-target:nth-child(2){right:0}.pig-helmet{left:48%;top:1%;font-size:32px}.pig-sleep,.pig-smirk{right:23%;top:15%}}
@media(prefers-reduced-motion:reduce){#skit-cast span,.wind-catch,.copy-target{animation:none}.wind-catch{left:5%;top:15%}.paper-doll[data-mood=sleeping]{rotate:0deg}}
.play-panel:has(#pause-overlay:not([hidden])) .wind-catch{animation-play-state:paused}

.paper-doll[data-mood=falling] .paper-arm-left{transform:rotate(24deg);transform-origin:48px 69px}.paper-doll[data-mood=falling] .paper-arm-right{transform:rotate(-24deg);transform-origin:89px 69px}.paper-doll[data-mood=falling] .paper-cry-mouth{ry:12px}
/* Each scene has three timed punchlines, large squash/stretch and its own motion. */
.stall-skit{position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 65%,#d0ad6650,transparent 70%),#2c453e}.stall-skit #skit-cast{height:142px;gap:5px;align-items:center;padding-top:20px}.stall-skit #skit-cast span{width:92px;height:98px;flex:0 1 92px;filter:drop-shadow(0 7px 1px #142d2b55)}.stall-skit .skit-puff{position:absolute;right:11px;top:37px;rotate:9deg;font-size:14px;font-weight:700;color:#5e4d37;background:#f1d39c;padding:5px 9px;border-radius:50% 40% 45% 15%;z-index:3;box-shadow:2px 3px 0 #162e2c88}.stall-skit #next-skit{min-height:44px;font-size:12.1px;margin-top:3px;color:#f2d18c}.stall-skit[data-act="1"] #skit-cast span:nth-child(2){filter:drop-shadow(0 0 10px #f0ce86);z-index:2}.stall-skit[data-motion=bounce] #skit-cast span,.stall-skit[data-motion=rave] #skit-cast span{animation:comic-bounce 1.1s cubic-bezier(.3,.1,.4,1.2) infinite}.stall-skit[data-motion=rave] #skit-cast span:nth-child(2){animation-delay:-.3s}.stall-skit[data-motion=panic] #skit-cast span:first-child{animation:comic-panic .8s ease-in-out infinite}.stall-skit[data-motion=panic] #skit-cast span:last-child{animation:comic-tilt 1.5s ease-in-out infinite}.stall-skit[data-motion=crunch] #skit-cast span:first-child{animation:comic-chomp 1.7s ease-in-out infinite}.stall-skit[data-motion=crunch] #skit-cast span:last-child{animation:comic-panic 1.7s ease-in-out infinite}.stall-skit[data-motion=wok] #skit-cast span:nth-child(2){animation:comic-launch 2s ease-in-out infinite}.stall-skit[data-motion=wok] #skit-cast span:nth-child(3){animation:comic-launch 2s .5s ease-in-out infinite}.stall-skit[data-motion=blush] #skit-cast span{animation:comic-shy 2.5s ease-in-out infinite}.stall-skit[data-motion=orbit] #skit-cast span:nth-child(2){animation:comic-orbit 2.5s linear infinite}.stall-skit[data-motion=orbit] #skit-cast span:last-child{animation:comic-launch 2.5s ease-in-out infinite}.stall-skit[data-motion=drift] #skit-cast span{animation:comic-drift 2s ease-in-out infinite}.stall-skit[data-motion=launch] #skit-cast span:first-child{animation:comic-launch 1.8s ease-in-out infinite}.stall-skit[data-motion=launch] #skit-cast span:last-child{animation:comic-duck 1.8s ease-in-out infinite}.stall-skit[data-motion=royal] #skit-cast [data-skit-actor=lassie]{animation:comic-royal 2s ease-in-out infinite}.neighbour-card small{font-size:12.1px;color:#edcc89}
@keyframes comic-bounce{0%,100%{translate:0 8px;scale:1.15 .82;rotate:-5deg}45%{translate:0 -25px;scale:.88 1.18;rotate:9deg}70%{scale:1.05 .95}}@keyframes comic-panic{0%,100%{translate:-9px 0;rotate:-12deg}50%{translate:9px -15px;rotate:12deg}}@keyframes comic-tilt{0%,100%{rotate:0;translate:0 0}50%{rotate:18deg;translate:-20px -7px}}@keyframes comic-chomp{0%,100%{scale:1}35%{scale:1.32 .85;translate:18px 0}60%{scale:.9 1.2}}@keyframes comic-launch{0%,100%{translate:0 15px;rotate:-15deg;scale:1.15 .8}50%{translate:0 -35px;rotate:190deg;scale:.8 1.2}}@keyframes comic-shy{0%,100%{rotate:-6deg;filter:drop-shadow(0 0 2px #e7a4ad)}50%{rotate:7deg;translate:8px -8px;filter:drop-shadow(0 0 13px #e7a4ad);scale:1.1}}@keyframes comic-orbit{0%{rotate:0;translate:0 0}25%{translate:15px -15px}50%{rotate:180deg;translate:0 -25px}100%{rotate:360deg;translate:0 0}}@keyframes comic-drift{0%,100%{translate:-12px 5px;rotate:-10deg}50%{translate:18px -5px;rotate:10deg}}@keyframes comic-duck{0%,100%{scale:1;rotate:0}50%{scale:1.3 .6;rotate:-15deg}}@keyframes comic-royal{0%,100%{translate:0 5px;rotate:0}40%{translate:0 -13px;rotate:-9deg}65%{rotate:10deg}}
.event-props{position:absolute;inset:0;pointer-events:none}.comic-event-prop{position:absolute;right:0;top:15%;width:68px;height:76px;padding:4px;pointer-events:auto;touch-action:none;border:2px dashed #edcb87;border-radius:17px;background:#335249ed;filter:drop-shadow(0 4px 1px #152e2b99);animation:comic-prop-bob 1.8s ease-in-out infinite}.comic-event-prop svg{width:100%;height:100%;display:block}.comic-event-prop[data-event-prop=minibus]{width:51px;height:55px;border-radius:50%;right:auto;left:0;top:7%}.comic-event-prop[data-event-prop=minibus][data-token="1"]{left:auto;right:0;top:33%;animation-delay:-.4s}.comic-event-prop[data-event-prop=minibus][data-token="2"]{left:1%;top:68%;animation-delay:-.8s}.comic-event-prop[data-event-prop=receipt]{height:99px;top:22%;animation:comic-receipt 1.6s ease-in-out infinite}.comic-event-prop[data-event-prop=sneeze]{background:conic-gradient(#edc77e calc(var(--hold,0)*1turn),#335249 0);padding:5px}.comic-event-prop[data-event-prop=sneeze]:active{animation:none;scale:1.12}.comic-wing{transform-origin:65px 60px;animation:comic-wing .35s ease-in-out infinite alternate}.flavour-playfield.is-blackout::before{content:'';position:absolute;inset:-5% -4%;background:#0e252a9c;border-radius:15px;pointer-events:none;z-index:-1}.comic-event-prop[data-event-prop=blackout]{box-shadow:0 0 18px #edc77766;animation:comic-bulb 1.3s ease-in-out infinite}.paper-doll[data-comic-event=auntie]{--comic-volume:1}.paper-doll[data-comic-event=sneeze]{filter:drop-shadow(0 0 4px #efd09955)}
@keyframes comic-prop-bob{0%,100%{translate:0 0;rotate:-9deg}50%{translate:0 -13px;rotate:10deg}}@keyframes comic-receipt{0%,100%{scale:1 .9;rotate:-5deg}50%{scale:.9 1.15;rotate:5deg}}@keyframes comic-wing{to{transform:rotate(-35deg)}}@keyframes comic-bulb{0%,100%{filter:brightness(.8);rotate:-7deg}45%{filter:brightness(1.25);rotate:7deg}}
.paper-doll[data-look=lightning]::after,.paper-doll[data-look=paper-crown]::after,.paper-doll[data-look=target]::after,.paper-doll[data-look=rescue]::after,.paper-doll[data-look=finger-star]::after,.paper-doll[data-look=hammer]::after,.paper-doll[data-look=whirl]::after,.paper-doll[data-look=zipper]::after,.paper-doll[data-look=chef]::after,.paper-doll[data-look=lantern]::after,.paper-doll[data-look=projector]::after{position:absolute;top:-5%;right:-2%;font-size:37px;filter:drop-shadow(1px 3px 0 #28423b88);pointer-events:none}.paper-doll[data-look=lightning]::after{content:'⚡'}.paper-doll[data-look=paper-crown]::after{content:'♛';color:#f1e3bd}.paper-doll[data-look=target]::after{content:'◎';color:#eda693;top:9%;right:12%;font-size:49px}.paper-doll[data-look=rescue]::after{content:'⛑'}.paper-doll[data-look=finger-star]::after{content:'☝';color:#edcf94}.paper-doll[data-look=hammer]::after{content:'⚒';color:#c3d7cb}.paper-doll[data-look=whirl]::after{content:'🌀';top:60%}.paper-doll[data-look=zipper]::after{content:'🤐';top:29%;right:16%;font-size:30px}.paper-doll[data-look=chef]::after{content:'👨‍🍳'}.paper-doll[data-look=neon]{outline:3px solid #dbadd7;border-radius:23px;box-shadow:0 0 15px #d2b3e5}.paper-doll[data-look=lantern]::after{content:'🏮';top:45%}.paper-doll[data-look=projector]::after{content:'🏆';top:55%;font-size:30px}
@media(max-height:650px){.comic-event-prop{width:57px;height:64px}.comic-event-prop[data-event-prop=receipt]{height:80px}.comic-event-prop[data-event-prop=minibus]{width:47px;height:49px}.event-banner{font-size:10px;line-height:1.4}.event-banner button{padding:3px;min-width:42px}.stall-skit #skit-cast{height:132px}}
@media(max-height:450px) and (min-aspect-ratio:4/3){.comic-event-prop{right:-12%;top:28%;width:53px;height:62px}.comic-event-prop[data-event-prop=minibus][data-token="2"]{left:-20%;top:60%}.comic-event-prop[data-event-prop=minibus][data-token="1"]{right:-17%}.event-banner{font-size:10px}}
@media(prefers-reduced-motion:reduce){.stall-skit #skit-cast span,.comic-event-prop,.comic-wing{animation:none!important;translate:none;rotate:none;scale:none}.stall-skit .skit-puff{rotate:none}.comic-event-prop[data-event-prop=sneeze]:active{scale:1}.comic-event-prop[data-event-prop=minibus][data-token="2"]{top:68%}}
.play-panel:has(#pause-overlay:not([hidden])) .comic-event-prop,.play-panel:has(#pause-overlay:not([hidden])) .comic-wing{animation-play-state:paused}
@media(max-height:450px) and (min-aspect-ratio:4/3){.is-playing .beat-panel:has(.event-banner:not([hidden])) .qte-call{left:68px;right:auto;top:34px;max-width:145px}}
/* Event prompts occupy their own row; the two instructions never paint over each other. */
.is-playing .beat-panel:has(.event-banner:not([hidden])) .qte-call{position:relative;inset:auto;transform:none;translate:none;flex:0 0 auto;align-self:center;max-width:100%;margin:0}
@media(max-height:650px){.is-playing .beat-panel:has(.event-banner:not([hidden])) .personality-hud>p,.is-playing .beat-panel:has(.event-banner:not([hidden]))>.phase-instruction{display:none}.is-playing .beat-panel:has(.event-banner:not([hidden])) .qte-call{font-size:10px;padding:4px 8px;line-height:1.3}}
@media(max-height:450px) and (min-aspect-ratio:4/3){.is-playing .beat-panel:has(.event-banner:not([hidden])) .qte-call{position:absolute;inset:34px auto auto 68px;max-width:145px}.is-playing .beat-panel:has(.event-banner:not([hidden])) .personality-hud>p{display:block}}
.stall-skit[data-scene=emperor] #skit-cast [data-skit-actor=lassie]{margin-left:-92px;margin-right:23px}.stall-skit[data-scene=emperor] #skit-cast [data-skit-actor=lassie]::after{content:'♛';position:absolute;left:38%;top:-8%;font-size:29px;color:#f6d588;filter:drop-shadow(0 2px #8c6d43)}
.stall-skit #next-skit-line{min-height:44px;font-size:12.1px;margin-right:8px;color:#e8d9ad}.comic-quote-book{border:1px dashed #b8aa7c;border-radius:12px;padding:11px;margin-bottom:14px}.comic-quote-book summary{font-size:12.1px;color:#efd08e;min-height:30px;cursor:pointer}.comic-quote-book ul{max-height:270px;overflow:auto;padding:0 4px 0 20px;margin:10px 0}.comic-quote-book li{font-size:12.1px;line-height:1.85;margin-bottom:12px;color:#d9dec0}
.comic-event-prop.is-dragging{animation:none!important;transition:none;z-index:5;cursor:grabbing;filter:drop-shadow(0 8px 4px #102c2b99)}

/* Prompt slots retain their size through event, progress and QTE changes. */
.is-playing .beat-panel{isolation:isolate;gap:5px;padding:4px 0;justify-content:flex-start;--control-space:0px}
.beat-telemetry{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;flex:0 0 auto;z-index:2}
.beat-telemetry .beat-stats{position:static;flex:1;flex-direction:row;justify-content:space-evenly;gap:10px}
.beat-telemetry .rhythm-rail{position:static;display:grid;grid-template-columns:9px auto;gap:3px 5px;flex:0 0 auto}
.beat-telemetry .paper-condition{grid-column:1/-1;text-align:right}
.is-playing .beat-panel .qte-call,.is-playing .beat-panel:has(.event-banner:not([hidden])) .qte-call{position:relative;inset:auto;transform:none;translate:none;flex:0 0 auto;align-self:center;margin:0;max-width:100%;white-space:normal;font-size:12.1px;padding:4px 10px;line-height:1.35;z-index:3;height:26px;min-height:26px;flex-basis:26px;width:100%;display:flex;align-items:center;justify-content:center}
.is-playing .beat-panel:not(:has(.kit-stage:not([hidden]))) .qte-call[hidden]{display:flex!important;visibility:hidden}
.is-playing .beat-panel .personality-hud{position:relative;inset:auto;width:100%;height:64px;flex:0 0 64px;display:grid;min-width:0;z-index:3}
.is-playing .beat-panel .personality-hud>p,.is-playing .beat-panel .event-banner{grid-area:1/1;align-self:center}
.is-playing .beat-panel:has(.event-banner:not([hidden])) .personality-hud>p{display:none}
.is-playing .beat-panel .event-banner{margin:0;justify-content:space-between;gap:8px;padding:5px 8px;min-width:0;flex-wrap:nowrap;font-size:12.1px;line-height:1.45;height:100%}
#event-label{flex:1;min-width:0;overflow-wrap:anywhere}
.event-banner>button{flex:0 0 auto;max-width:94px;font-size:12.1px;line-height:1.3;min-height:44px;padding:5px 7px}
.beat-arena{position:relative;isolation:isolate;flex:1 1 0;width:100%;min-height:130px;overflow:hidden;border-radius:14px;background:radial-gradient(ellipse at center,#71908025,transparent 72%)}
.is-playing .beat-panel .hit-zone{position:absolute;inset:0 auto 0 50%;translate:-50% 0;flex:none;width:min(58%,235px);height:100%;min-height:0;max-height:none;z-index:1}
.beat-arena .flavour-playfield{position:absolute;inset:0;z-index:3;isolation:isolate}
.beat-arena .effects{z-index:2}
.beat-arena .copy-target{left:0;top:2px;width:55px;min-height:58px;max-height:65px;padding:2px;z-index:2;animation:none}
.beat-arena .copy-target:nth-child(2){left:0;right:auto;top:auto;bottom:2px}
.beat-arena .copy-target>span{width:28px;height:31px}
.beat-arena .copy-target small{font-size:10px;line-height:1.2}
.beat-arena .comic-event-prop{right:2px;left:auto;top:50%;translate:0 -50%;width:57px;height:67px;z-index:3}
.beat-arena .comic-event-prop[data-event-prop=receipt]{height:78px;top:50%}
.beat-arena .comic-event-prop[data-event-prop=minibus]{width:44px;height:44px;right:2px;left:auto;top:0;translate:none;animation:coin-wiggle 2s ease-in-out infinite}
.beat-arena .comic-event-prop[data-event-prop=minibus][data-token="1"]{top:calc(50% - 22px);right:2px;left:auto}
.beat-arena .comic-event-prop[data-event-prop=minibus][data-token="2"]{top:auto;bottom:0;right:2px;left:auto}
.beat-arena .wind-catch{left:auto;right:2px;top:calc(50% - 32px);width:58px;height:64px;z-index:3;animation:arena-slipper 2.5s ease-in-out infinite alternate}
.beat-arena .rain-awning{right:0;bottom:6px;width:62px;height:62px;font-size:51px}
.beat-arena .pig-helmet{top:0;left:50%;font-size:34px}
.beat-arena .pig-sleep,.beat-arena .pig-smirk{top:10%;right:23%;font-size:14px}
.beat-arena .stock-track{inset:auto 18% 4%;height:65px}
.is-playing .beat-panel .hit-feedback{position:relative;inset:auto;flex:0 0 auto;margin:0;max-width:100%;width:auto;font-size:12px;line-height:1.4;padding:4px 9px;min-height:26px;z-index:3;overflow-wrap:anywhere}
.is-playing .beat-panel .gesture-controls{position:relative;inset:auto;translate:none;flex:0 0 auto;width:100%;max-width:none;z-index:3}
.is-playing .beat-panel .gesture-tools{position:static;translate:none;width:100%;gap:5px}
.is-playing .beat-panel .gesture-tools .gesture-hint{min-height:48px;font-size:12.1px;line-height:1.2}
.is-playing .beat-panel>.phase-instruction{position:relative;inset:auto;flex:0 0 auto;max-width:100%;font-size:12.1px;line-height:1.4}
.is-playing .beat-panel:not(:has(.kit-stage:not([hidden]))) .beat-reaction{height:44px;flex:0 0 44px}
.is-playing .beat-panel:not(:has(.kit-stage:not([hidden]))) .hit-feedback{height:100%;max-height:100%;overflow:hidden}
.is-playing .play-panel[data-phase=beat] .fong-bubble{height:56px;min-height:56px;flex:0 0 56px;overflow:hidden}
@keyframes arena-slipper{from{transform:translateY(-16px) rotate(-12deg)}to{transform:translateY(16px) rotate(16deg)}}
@keyframes coin-wiggle{0%,100%{rotate:-7deg}50%{rotate:7deg}}
@media(max-height:700px){
 .is-playing .beat-panel{gap:4px}
 .is-playing .beat-panel>.phase-instruction{display:none}
 .is-playing .beat-panel .event-banner{font-size:12.1px;padding:4px 6px}
 .is-playing .beat-panel .qte-call,.is-playing .beat-panel:has(.event-banner:not([hidden])) .qte-call{font-size:12.1px;padding:3px 8px}
 .is-playing .play-panel[data-phase=beat] .fong-bubble{height:40px;min-height:40px;flex-basis:40px;padding:3px 7px}
 .is-playing .play-panel[data-phase=beat] .fong-bubble .fong-art{width:27px;flex-basis:27px}
 .is-playing .play-panel[data-phase=beat] .fong-bubble p{font-size:12.1px;line-height:1.45}
 .is-playing .beat-panel .gesture-tools .gesture-hint{min-height:46px;font-size:10px}
}
@media(max-height:450px) and (min-aspect-ratio:4/3){
 .is-playing .beat-panel{display:grid;grid-template-columns:minmax(0,1fr) 230px;grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-areas:'telemetry hud' 'arena hud' 'arena qte' 'feedback controls';gap:5px 12px;padding:2px 0}
 .beat-telemetry{grid-area:telemetry;gap:8px;align-self:start}
 .is-playing .beat-panel .beat-stats b{font-size:18px}
 .is-playing .beat-panel .personality-hud{grid-area:hud;align-self:start;height:104px;flex-basis:104px}
 .is-playing .beat-panel .qte-call,.is-playing .beat-panel:has(.event-banner:not([hidden])) .qte-call{grid-area:qte;align-self:end;width:100%;text-align:center}
 .beat-arena{grid-area:arena;min-height:110px;align-self:stretch}
 .is-playing .beat-panel .hit-zone{width:min(55%,160px)}
 .is-playing .beat-panel .hit-feedback{grid-area:feedback;align-self:center;justify-self:stretch}
 .is-playing .beat-panel .gesture-controls{grid-area:controls;align-self:end}
 .is-playing .beat-panel .personality-hud>p{font-size:12.1px}
 .is-playing .beat-panel .event-banner{font-size:12.1px;flex-wrap:nowrap}
 .is-playing .beat-panel .event-banner>button{max-width:none}
 .is-playing .beat-panel .gesture-tools{gap:3px}
 .is-playing .beat-panel .gesture-tools .gesture-hint{font-size:10px}
 .beat-arena .copy-target{width:46px;min-height:50px;max-height:55px}
 .beat-arena .copy-target>span{width:24px;height:25px}
 .beat-arena .comic-event-prop[data-event-prop=minibus][data-token="1"]{right:48px}
}
@media(prefers-reduced-motion:reduce){.beat-arena .wind-catch,.beat-arena .comic-event-prop{animation:none;rotate:0}.beat-arena .wind-catch{transform:none}}

/* Shop signs are atmosphere, never a second layer of text behind the score. */
.is-playing .play-panel[data-phase=beat] .neon-sign{visibility:hidden}

.beat-arena .hit-zone.is-sheltered::after{content:'☂';position:absolute;top:0;left:50%;translate:-50% 0;font-size:24px;color:#bcdccd;pointer-events:none;text-shadow:0 2px 0 #24473e}

.beat-arena button:focus-visible{outline:3px solid #fff0ba;outline-offset:-4px}

.stall-skit #toggle-skit-auto{min-height:44px;display:block;margin:0 auto;padding:6px 10px;font-size:12.1px;color:#f0d9a5;border:1px solid #b8be8a88;border-radius:8px}
.stall-skit #toggle-skit-auto[aria-pressed=false]{background:#203b37;color:#c4d4bc}
