.onde{--mood-accent:#d6ed75;--mood-dark:#191b6d;--mood-mid:#42427d;--mood-pale:#e7dfff;--mood-ink:#232348;--sticker:#d6ed75}
.onde[data-mood=rock]{--mood-accent:#ff7186;--mood-dark:#2a1648;--mood-mid:#963e65;--mood-pale:#ffe4e3;--mood-ink:#3e173f;--sticker:#ff9ab3}
.onde[data-mood=rap]{--mood-accent:#ffca5d;--mood-dark:#182e35;--mood-mid:#6a5545;--mood-pale:#f5e7c8;--mood-ink:#1c343b;--sticker:#ffd375}
.onde[data-mood=classique]{--mood-accent:#c9b6ff;--mood-dark:#262343;--mood-mid:#6e6598;--mood-pale:#f2eaf7;--mood-ink:#2e274c;--sticker:#d5c7ff}
.mood-bar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 5vw;background:var(--mood-dark);color:#f8f2ff;border-top:1px solid #ffffff28;border-bottom:1px solid #ffffff37;box-shadow:0 8px 30px #080a1c20;transition:background .6s ease}
.mood-bar>span,.mood-bar small{font:800 10px 'DM Sans',sans-serif;letter-spacing:.13em;white-space:nowrap}.mood-bar small{color:var(--mood-accent);letter-spacing:.04em;min-width:185px;text-align:right;transition:color .6s}
.mood-options{display:flex;align-items:center;gap:7px;padding:3px;border-radius:100px;background:#ffffff12}
.mood-options button{border:0;border-radius:100px;padding:11px 20px;background:transparent;color:#eee9f7;font:800 11px 'DM Sans',sans-serif;transition:background .3s,color .3s,transform .3s}
.mood-options button:hover{transform:translateY(-2px)}.mood-options button[aria-pressed=true]{background:var(--mood-accent);color:var(--mood-ink)}
.mood-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.record-journey{background:var(--mood-dark);transition:background .7s}.journey-sticky{background:radial-gradient(circle at 70% 50%,var(--mood-mid) 0,var(--mood-dark) 76%);transition:background .7s}
.journey-sticky[data-chapter="4"]{background:radial-gradient(circle at 65% 80%,var(--mood-mid),var(--mood-dark) 70%)}
.journey-kicker,.journey-copy h1 em,.orbit-two{color:var(--mood-accent);transition:color .55s}.journey-link{border-color:var(--mood-accent)}
.journey-label,.floating-vinyl-disc span{background:var(--mood-accent);color:var(--mood-ink);transition:background .6s,color .6s}
.journey-rail i{background:var(--mood-accent)}
.sound-intro,.sound-journal{background:var(--mood-pale);color:var(--mood-ink);transition:background .7s,color .7s}
.sessions,.sound-visit{background:var(--mood-dark);color:#f4edff;transition:background .7s}
.sound-end{background:var(--mood-accent);color:var(--mood-ink);transition:background .7s,color .7s}
.session-tabs button[aria-selected=true],.session-text button{background:var(--mood-accent);color:var(--mood-ink)}
.sessions .session-cover{background:var(--mood-pale);color:var(--mood-ink);transition:background .6s,color .6s}
.mood-stickers{position:fixed;z-index:15;inset:0;pointer-events:none;overflow:hidden}
.mood-sticker{position:absolute;width:90px;height:90px;color:var(--sticker);opacity:0;filter:drop-shadow(0 0 9px currentColor);transition:color .5s;animation:sticker-drift 10s ease-in-out infinite}
.mood-sticker svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.sticker-a{right:1vw;top:25vh;transform:rotate(-17deg);animation-duration:11s}.sticker-b{left:3vw;bottom:16vh;width:65px;height:65px;transform:rotate(13deg);animation-duration:13s;animation-delay:-5s}.sticker-c{right:18vw;bottom:10vh;width:58px;height:58px;transform:rotate(-11deg);animation-duration:15s;animation-delay:-9s}
.mood-stickers.is-pop .sticker-a{animation:sticker-pop .6s both}.mood-stickers.is-pop .sticker-b{animation:sticker-pop .65s .08s both}.mood-stickers.is-pop .sticker-c{animation:sticker-pop .7s .16s both}
@keyframes sticker-pop{from{opacity:0;scale:.35;rotate:-30deg}55%{opacity:.95;scale:1.18}to{opacity:.8;scale:1;rotate:0deg}}
@keyframes sticker-drift{0%,12%,100%{opacity:0;translate:0 12px;scale:.78}28%{opacity:.16}42%{opacity:.55;translate:0 0;scale:1}58%{opacity:.34}76%,90%{opacity:0;translate:0 -14px;scale:.9}}
.floating-vinyl{position:fixed;z-index:65;right:19px;top:5px;display:flex;flex-direction:column;align-items:center;gap:7px;pointer-events:none;opacity:0;transform:translateY(-20px) scale(.7);transition:opacity .5s,transform .5s}
.onde.show-floating .floating-vinyl{opacity:1;transform:translateY(0) scale(1)}
.floating-vinyl-disc{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;border:3px solid #111426;background:repeating-radial-gradient(circle,#101426 0 2px,#394159 3px 4px,#101426 5px 6px);box-shadow:0 4px 12px #0007;animation:journey-spin 7s linear infinite}
.floating-vinyl-disc span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;font:800 9px Archivo,sans-serif;letter-spacing:-.08em}
.floating-vinyl small{display:none}
.onde.show-floating .mood-bar small{opacity:0}
.onde-opening .opening-halo{transition:left .96s cubic-bezier(.2,1.12,.25,1),top .96s cubic-bezier(.2,1.12,.25,1),transform .96s cubic-bezier(.2,1.12,.25,1),box-shadow .96s,opacity .1s}
.onde-opening .opening-halo:before{transition:opacity .42s .42s}.onde-opening .opening-halo:after{transition:opacity .42s .5s}.onde-opening .opening-halo-label{transition:opacity .42s .52s}
.onde-opening.is-blooming .opening-halo{opacity:1;transform:translate(-50%,-50%) scale(.34);transition:transform .32s cubic-bezier(.15,1.35,.25,1),opacity .05s}
.onde-opening.is-blooming .opening-name i{opacity:0;transform:translateY(0);animation:none}
.onde-opening.is-morphing .opening-halo{left:var(--record-x,70vw);top:var(--record-y,50vh);transform:translate(-50%,-50%) scale(1) rotate(180deg);box-shadow:0 0 0 8vw #d6ed7530,-30px 35px 65px #04072a80;transition:left .78s cubic-bezier(.2,.95,.25,1),top .78s cubic-bezier(.2,.95,.25,1),transform .78s cubic-bezier(.2,.95,.25,1),box-shadow .78s}
@media(max-width:850px){.mood-bar{padding:10px 20px;flex-wrap:wrap;justify-content:center}.mood-bar>span,.mood-bar small{display:none}.mood-options{max-width:100%;overflow-x:auto}.mood-options button{padding:10px 16px}.sticker-a{right:2vw;top:31vh;width:61px;height:61px}.sticker-b{left:2vw;bottom:20vh;width:47px;height:47px}.sticker-c{display:none}.floating-vinyl{right:7px;top:12px}.floating-vinyl-disc{width:43px;height:43px;border-width:2px}.floating-vinyl-disc span{width:21px;height:21px;font-size:8px}}
@media(max-width:850px){.onde.show-floating .sticker-a{animation:none;opacity:.15}.onde.show-floating .sticker-b{display:none}}
@media(prefers-reduced-motion:reduce){.mood-options button,.mood-sticker,.mood-bar,.record-journey,.journey-sticky,.sound-intro,.sound-journal,.sessions,.sound-visit,.sound-end,.floating-vinyl,.floating-vinyl-disc{animation:none!important;transition:none!important}}
