/* v1.47 Blackmint leaf logos (Itiswritten picked D3 "Unfurl + Heartbeat" for Dark, L2 "Breeze" for Light).
   Arcade keeps its own badge (app/arclogo.css). Each theme shows only its own mark: .bmf is display:none outside Dark/Light,
   and in Dark/Light the old .bml layers (bmlb/bmlg/bmll/bmls) are hidden so their 4s loops stop.
   Theme scopes: Dark = data-theme-id=dark (or no id yet and base not light); Light = data-theme-id=light (or no id yet and base light).
   Any future registry theme (other id) and Arcade (data-retro) never match, so they keep their own look.
   Motion (Disney principles): only transform / opacity, plus one-time stroke-dashoffset draws. app/leaflogo.js toggles
   bmf-go (intro) -> bmf-done, bmf-bt (one beat right after the intro; v1.56: the whole cycle replays every 15 s), bmf-hv (hover/tap hop), bmf-pz (paused while hidden/offscreen).
   Nothing animates under prefers-reduced-motion. */
.bml .bmf{display:none}
html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo .bml{width:22px;height:24px}
html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo .bml>svg:not(.bmf),html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo .bml .bmls{display:none!important}
html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo .bml .bmf{display:block;position:relative;width:22px;height:24px;overflow:visible}
html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo{gap:9px}
html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo b>i,html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo b+span>i{display:inline-block;font-style:normal}
.bmf *{transform-box:view-box}
.bmf .fhs{fill:none;stroke-linejoin:round}
.bmf .fhf,.bmf .fhr,.bmf .flshw{display:none}
.bmf .fhx,.bmf .fhr{transform-origin:10px 11px}
.bmf .flj,.bmf .flp,.bmf .flw,.bmf .flshw{transform-origin:6px 15px}
.bmf .flv{fill:none;stroke-linecap:round;stroke-width:1.15}
@media (max-width:600px){html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo{gap:7px}html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo .bml,html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo .bml .bmf{width:19px;height:21px}}

/* D3 Dark: deep mint-black hex, mint outline + echo ring, mint leaf with a dark vein */
html:is([data-theme-id=dark],:not([data-theme-id]):not([data-theme=light])):not([data-retro]) .logo .bmf .fhf{display:inline;fill:#0a2318}
html:is([data-theme-id=dark],:not([data-theme-id]):not([data-theme=light])):not([data-retro]) .logo .bmf .fhs{stroke:#3ddc97;stroke-width:1.5}
html:is([data-theme-id=dark],:not([data-theme-id]):not([data-theme=light])):not([data-retro]) .logo .bmf .fhr{display:inline;fill:none;stroke:#3ddc97;stroke-width:1.1;stroke-linejoin:round;opacity:0}
html:is([data-theme-id=dark],:not([data-theme-id]):not([data-theme=light])):not([data-retro]) .logo .bmf .flf{fill:#3ddc97}html:is([data-theme-id=dark],:not([data-theme-id]):not([data-theme=light])):not([data-retro]) .logo .bmf .flv{stroke:#0a2318}
html:is([data-theme-id=dark],:not([data-theme-id]):not([data-theme=light])):not([data-retro]) .logo b+span>i{transform-origin:0 100%}

/* L2 Light: deep mint outline, gradient leaf, soft contact shadow */
html:is([data-theme-id=light],:not([data-theme-id])[data-theme=light]):not([data-retro]) .logo .bmf .fhs{stroke:#0f7a55;stroke-width:1.6}
html:is([data-theme-id=light],:not([data-theme-id])[data-theme=light]):not([data-retro]) .logo .bmf .flf{fill:url(#bmfL2)}html:is([data-theme-id=light],:not([data-theme-id])[data-theme=light]):not([data-retro]) .logo .bmf .flv{stroke:#f4f7f6}
html:is([data-theme-id=light],:not([data-theme-id])[data-theme=light]):not([data-retro]) .logo .bmf .flshw{display:inline}
html:is([data-theme-id=light],:not([data-theme-id])[data-theme=light]):not([data-retro]) .logo .bmf .flsh{fill:rgba(8,60,40,.2);filter:blur(.8px)}
html:is([data-theme-id=light],:not([data-theme-id])[data-theme=light]):not([data-retro]) .logo .bmf .flshi{transform:translate(.7px,1.3px)}
html:is([data-theme-id=light],:not([data-theme-id])[data-theme=light]):not([data-retro]) .logo b{color:#0b1210}html:is([data-theme-id=light],:not([data-theme-id])[data-theme=light]):not([data-retro]) .logo b+span{color:#0f8a5f!important}

@media (prefers-reduced-motion:no-preference){
 /* shared intro: outline draws in, letters rise */
 html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo.bmf-go .bmf .fhs{stroke-dasharray:100;animation:bmfDraw .85s cubic-bezier(.45,0,.55,1) .1s both}
 html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo.bmf-go b>i,html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo.bmf-go b+span>i{animation:bmfUp .55s cubic-bezier(.16,1,.3,1) both}
 html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo.bmf-go b>i:nth-child(1){animation-delay:1s}html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo.bmf-go b>i:nth-child(2){animation-delay:1.05s}html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo.bmf-go b>i:nth-child(3){animation-delay:1.1s}
 html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo.bmf-go b>i:nth-child(4){animation-delay:1.15s}html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo.bmf-go b>i:nth-child(5){animation-delay:1.2s}
 html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo.bmf-go b+span>i:nth-child(1){animation-delay:1.36s}html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo.bmf-go b+span>i:nth-child(2){animation-delay:1.43s}
 html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo.bmf-go b+span>i:nth-child(3){animation-delay:1.5s}html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo.bmf-go b+span>i:nth-child(4){animation-delay:1.57s}
 html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo.bmf-hv .bmf .flj{animation:bmfHop .58s linear both}

 /* D3: leaf unfurls from a curl, vein draws, BLACK slides, MINT leans up; idle = lub-dub heartbeat + one echo ring */
 html:is([data-theme-id=dark],:not([data-theme-id]):not([data-theme=light])):not([data-retro]) .logo.bmf-go .bmf .fhf{animation:bmfFade .6s cubic-bezier(.16,1,.3,1) .7s both}
 html:is([data-theme-id=dark],:not([data-theme-id]):not([data-theme=light])):not([data-retro]) .logo.bmf-go .bmf .flp{animation:bmfUnfurl 1.15s linear .7s both}
 html:is([data-theme-id=dark],:not([data-theme-id]):not([data-theme=light])):not([data-retro]) .logo.bmf-go .bmf .flv{stroke-dasharray:100;animation:bmfDraw .5s cubic-bezier(.16,1,.3,1) 1.55s both}
 html:is([data-theme-id=dark],:not([data-theme-id]):not([data-theme=light])):not([data-retro]) .logo.bmf-go b>i{animation-name:bmfSlide}
 html:is([data-theme-id=dark],:not([data-theme-id]):not([data-theme=light])):not([data-retro]) .logo.bmf-go b+span>i{animation:bmfLean .7s linear both}
 html:is([data-theme-id=dark],:not([data-theme-id]):not([data-theme=light])):not([data-retro]) .logo.bmf-go b+span>i:nth-child(1){animation-delay:1.5s}html:is([data-theme-id=dark],:not([data-theme-id]):not([data-theme=light])):not([data-retro]) .logo.bmf-go b+span>i:nth-child(2){animation-delay:1.58s}
 html:is([data-theme-id=dark],:not([data-theme-id]):not([data-theme=light])):not([data-retro]) .logo.bmf-go b+span>i:nth-child(3){animation-delay:1.66s}html:is([data-theme-id=dark],:not([data-theme-id]):not([data-theme=light])):not([data-retro]) .logo.bmf-go b+span>i:nth-child(4){animation-delay:1.74s}
 html:is([data-theme-id=dark],:not([data-theme-id]):not([data-theme=light])):not([data-retro]) .logo.bmf-done.bmf-bt .bmf .fhx{animation:bmfBeat 1.1s linear both}
 html:is([data-theme-id=dark],:not([data-theme-id]):not([data-theme=light])):not([data-retro]) .logo.bmf-done.bmf-bt .bmf .fhr{animation:bmfEcho 1.4s cubic-bezier(.16,1,.3,1) .05s both}
 html:is([data-theme-id=dark],:not([data-theme-id]):not([data-theme=light])):not([data-retro]) .logo.bmf-done.bmf-bt .bmf .flp{animation:bmfLeafBeat 1.1s linear .07s both}

 /* L2: leaf drifts down on an arc, lands on its stem, shadow tightens; idle = breeze sway + MINT ripple */
 html:is([data-theme-id=light],:not([data-theme-id])[data-theme=light]):not([data-retro]) .logo.bmf-go .bmf .flp{animation:bmfFall 1.35s linear .5s both}
 html:is([data-theme-id=light],:not([data-theme-id])[data-theme=light]):not([data-retro]) .logo.bmf-go .bmf .flshw{animation:bmfShadow 1.35s linear .5s both}
 html:is([data-theme-id=light],:not([data-theme-id])[data-theme=light]):not([data-retro]) .logo.bmf-done.bmf-bt .bmf .flw{animation:bmfSway 2.3s cubic-bezier(.45,0,.55,1) both}
 html:is([data-theme-id=light],:not([data-theme-id])[data-theme=light]):not([data-retro]) .logo.bmf-done.bmf-bt .bmf .flshw{animation:bmfSway 2.3s cubic-bezier(.45,0,.55,1) .08s both}
 html:is([data-theme-id=light],:not([data-theme-id])[data-theme=light]):not([data-retro]) .logo.bmf-done.bmf-bt b+span>i{animation:bmfRipple .7s cubic-bezier(.45,0,.55,1) both}
 html:is([data-theme-id=light],:not([data-theme-id])[data-theme=light]):not([data-retro]) .logo.bmf-done.bmf-bt b+span>i:nth-child(1){animation-delay:.35s}html:is([data-theme-id=light],:not([data-theme-id])[data-theme=light]):not([data-retro]) .logo.bmf-done.bmf-bt b+span>i:nth-child(2){animation-delay:.42s}
 html:is([data-theme-id=light],:not([data-theme-id])[data-theme=light]):not([data-retro]) .logo.bmf-done.bmf-bt b+span>i:nth-child(3){animation-delay:.49s}html:is([data-theme-id=light],:not([data-theme-id])[data-theme=light]):not([data-retro]) .logo.bmf-done.bmf-bt b+span>i:nth-child(4){animation-delay:.56s}

 html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo.bmf-pz .bmf *,html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo.bmf-pz b>i,html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo.bmf-pz b+span>i{animation-play-state:paused!important}
}
@media (prefers-reduced-motion:reduce){.bmf *,html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo b>i,html:is([data-theme-id=dark],[data-theme-id=light],:not([data-theme-id])):not([data-retro]) .logo b+span>i{animation:none!important}}

@keyframes bmfDraw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes bmfFade{from{opacity:0}to{opacity:1}}
@keyframes bmfUp{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes bmfHop{
 0%{transform:none;animation-timing-function:cubic-bezier(.45,0,.55,1)}
 16%{transform:translate(0,.4px) scale(1.12,.88);animation-timing-function:cubic-bezier(.16,1,.3,1)}
 44%{transform:translate(0,-3px) scale(.9,1.12);animation-timing-function:cubic-bezier(.7,0,.84,0)}
 70%{transform:scale(1.14,.86);animation-timing-function:cubic-bezier(.16,1,.3,1)}
 86%{transform:scale(.97,1.03)}
 100%{transform:none}}
@keyframes bmfUnfurl{
 0%{opacity:0;transform:rotate(-80deg) scale(.22,.12);animation-timing-function:cubic-bezier(.16,1,.3,1)}
 18%{opacity:1;transform:rotate(-96deg) scale(.26,.14);animation-timing-function:cubic-bezier(.7,0,.84,0)}
 30%{transform:rotate(-92deg) scale(.3,.16);animation-timing-function:cubic-bezier(.16,1,.3,1)}
 62%{transform:rotate(7deg) scale(1.05,.97);animation-timing-function:cubic-bezier(.45,0,.55,1)}
 79%{transform:rotate(-3deg) scale(.99,1.01);animation-timing-function:cubic-bezier(.45,0,.55,1)}
 91%{transform:rotate(1deg)}
 100%{opacity:1;transform:none}}
@keyframes bmfSlide{from{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:none}}
@keyframes bmfLean{
 0%{opacity:0;transform:rotate(-22deg) translateY(2px);animation-timing-function:cubic-bezier(.16,1,.3,1)}
 55%{opacity:1;transform:rotate(5deg);animation-timing-function:cubic-bezier(.45,0,.55,1)}
 80%{transform:rotate(-1.5deg)}
 100%{opacity:1;transform:none}}
@keyframes bmfBeat{
 0%{transform:none;animation-timing-function:cubic-bezier(.16,1,.3,1)}
 11%{transform:scale(1.08);animation-timing-function:cubic-bezier(.45,0,.55,1)}
 23%{transform:scale(.985);animation-timing-function:cubic-bezier(.16,1,.3,1)}
 33%{transform:scale(1.045);animation-timing-function:cubic-bezier(.45,0,.55,1)}
 55%,100%{transform:none}}
@keyframes bmfEcho{0%{opacity:.75;transform:none}100%{opacity:0;transform:scale(1.75)}}
@keyframes bmfLeafBeat{
 0%{transform:none;animation-timing-function:cubic-bezier(.16,1,.3,1)}
 13%{transform:scale(1.07,.95);animation-timing-function:cubic-bezier(.45,0,.55,1)}
 26%{transform:scale(.98,1.03);animation-timing-function:cubic-bezier(.16,1,.3,1)}
 37%{transform:scale(1.04,.97);animation-timing-function:cubic-bezier(.45,0,.55,1)}
 60%,100%{transform:none}}
@keyframes bmfFall{
 0%{opacity:0;transform:translate(-3px,-9px) rotate(-28deg);animation-timing-function:cubic-bezier(.45,0,.55,1)}
 14%{opacity:1}
 46%{transform:translate(2.2px,-4px) rotate(16deg);animation-timing-function:cubic-bezier(.45,0,.55,1)}
 74%{transform:translate(0,.3px) rotate(-4deg) scale(1.07,.93);animation-timing-function:cubic-bezier(.16,1,.3,1)}
 88%{transform:rotate(1.5deg) scale(.99,1.01)}
 100%{opacity:1;transform:none}}
@keyframes bmfShadow{0%{opacity:0;transform:scale(1.6)}46%{opacity:.3;transform:scale(1.25)}74%,100%{opacity:1;transform:none}}
@keyframes bmfSway{0%,100%{transform:none}8%{transform:rotate(1.5deg)}24%{transform:rotate(-9deg)}44%{transform:rotate(6deg)}62%{transform:rotate(-3deg)}80%{transform:rotate(1.2deg)}}
@keyframes bmfRipple{0%,100%{transform:none}40%{transform:translateY(-1.5px)}70%{transform:translateY(.3px)}}
