/* Shared placement, supportive closure and quiet visual companions. */
[hidden]{display:none!important}.flowPreferences{max-width:820px;margin:8px auto}.rfBuddy{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;flex-shrink:0;vertical-align:middle}.rfBuddy img{width:100%;height:100%;object-fit:contain}.buddyShape{display:block;position:relative;width:42px;height:42px;background:#d8a75a;border:2px solid #243b32;border-radius:45%}.buddyShape.seed{background:#88ad70;border-radius:45% 45% 38% 38%}.buddyShape.seed:before{content:'';position:absolute;width:18px;height:10px;left:18px;top:-13px;background:#648856;border:1px solid #243b32;border-radius:100% 0 100% 0}.buddyShape.pebble{background:#bdc6b7;border-radius:50% 60% 38% 42%}.buddyShape.spark{background:#f2d36a;border-radius:12px;transform:rotate(12deg)}.buddyEyes:before,.buddyEyes:after{content:'';position:absolute;top:16px;width:4px;height:5px;background:#243b32;border-radius:50%}.buddyEyes:before{left:11px}.buddyEyes:after{right:11px}#visitClosure{max-width:460px;width:calc(100% - 36px);box-sizing:border-box;border:1px solid #c6cdbf;border-radius:22px;padding:24px;background:#fffaf0;color:#243b32}#visitClosure::backdrop{background:#18291f99}#visitClosure h2{margin:12px 0;font-size:24px}#visitClosure button{font:inherit;border:1px solid #bac5b6;border-radius:13px;padding:12px;min-height:48px;color:#243b32;background:#fffdf8}.feelingChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.feelingChoices span{display:block;font-size:14px;margin-top:6px}.feelingChoices [aria-pressed=true]{outline:3px solid #243b32;background:#e5ebde!important}.closureActions{display:flex;gap:10px;flex-wrap:wrap}.closureActions button{flex:1}.closureActions .primary{background:#8e3b46!important;color:#fffaf0!important}.closurePrivacy{font-size:12px}.beatFrame{border:2px solid #b7c3b0;border-radius:12px}.mixSilent{background:#fffaf0!important}.mixSilent>svg{opacity:1}.mixLit,.mixSilent.mixLit{outline:3px solid #a86930!important;background:#f2df9e!important}.measureIntro{font-size:15px;padding:10px;background:#f0ead8;border-radius:12px}.mixViewOptions{margin:10px 0}.mixBar{border:1px solid #c7cdbf;border-radius:16px;padding:12px}.mixBar h3{margin:0 0 10px}.palettePrompt{font-weight:650}#mixerCards [aria-pressed=true],#mixRest[aria-pressed=true]{outline:3px solid #243b32;outline-offset:1px;background:#f2df9e}.dotPattern .rhythmDot{fill:currentColor}.dotPattern text{font-size:13px;fill:currentColor}.dotPattern g.lit circle,.dotPattern .mixHit circle{fill:#b85f43;stroke:#243b32;stroke-width:3}.echoView{margin:8px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.echoView select{font:inherit;padding:8px}.echoTapPad{font:inherit;font-size:24px!important;background:#f1d99d!important;border:2px solid #243b32!important;border-radius:36px!important;min-width:180px;min-height:110px!important;touch-action:manipulation}.echoTapControls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}.echoTapFeedback{font-size:17px;min-height:30px}.tapProgress{display:flex;gap:8px;align-items:center;justify-content:center;min-height:40px}.tapProgress span{width:14px;height:14px;border-radius:50%;border:2px solid #8a9c8c}.tapProgress .heard{background:#d8a75a}.tapProgress .played{background:#243b32}.questIntro .introActions{display:flex;gap:8px;flex-wrap:wrap}.questIntro .introActions #introNext{background:#8e3b46;color:#fffaf0}.questNavigation{position:static}#questComplete:empty{display:none}.questHome{min-height:44px}.rfProgressHint{font-size:14px}.stage{max-width:820px;margin-left:auto;margin-right:auto}body[data-game=echo] main>h1,body[data-game=create] main>h1{font-size:26px;margin-bottom:8px}.sharedHomeButton{font:inherit;padding:10px 14px;min-height:44px}.silentHint{font-size:13px}.beatDots{display:none!important}body[data-size=large] .rfBuddy{width:72px;height:72px}body[data-look=clean] .mixWelcome .mixBadge{display:none}body[data-look=clean] #visitClosure{border-radius:12px}body[data-look=clean] .rfBuddy{width:40px;height:40px}.tap-only #buildArea,.tap-only #listen,.tap-only #showPulse,.tap-only #pulseLabel,.tap-only #play,.tap-only #check,.tap-only #next,.tap-only #bonusInvite,.tap-only #visualTarget,.tap-only #help{display:none!important}#echoTap[hidden]{display:none!important}.pairedPlay{margin:8px 0}#catchFinish p{font-size:16px}@media(max-width:520px){.stage{padding:14px!important}#mixerRows .mixBar{padding:8px}#mixerRows .mixBeats{gap:6px}#mixerRows .mixBeats button{padding:6px;min-width:0}#visitClosure{padding:18px}.echoTapPad{width:100%}.mixTransport{display:flex;flex-wrap:wrap;position:static!important}.dotPattern{min-width:0}#mixerCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.rfBuddy{animation:none!important}}
.tap-only #round,.tap-only #instruction,.tap-only #status,.tap-only .pairedPlay,.tap-only #catchFinish,.tap-only #catchProgress{display:none!important}.tap-only .playDock>*:not(#finishNow){display:none!important}.tap-only #catchStage>.buddy{position:static;float:right}.tap-only #tapTitle{font-size:23px;margin-top:8px}.echoTapPad:active{background:#e7c76f!important;transform:scale(.98)}#tapPattern{display:flex;justify-content:center;gap:12px}#tapPattern svg{width:140px;max-width:44%}#mixerCards svg{width:100%;height:82px}.mixBeats svg{height:76px;width:100%}#questComplete button{min-height:44px;margin:4px}.rfBuddy .buddyShape{box-sizing:border-box}.closureBuddy{width:72px;height:72px}.flowSettings label{align-items:center}.flowSettings select{max-width:100%}
