/* Gelli Belle Dreamland V95.2 — six approved updates. Loaded last, overriding prior styles. */
/* 1 — Optical / flex centering for vector-mask control icons across all player types. */
:is(.radio-console .radio-controls.dl-premium-controls,.dl-video-actions.dl-premium-controls,.dl-music-realm .realm-player)>button,
#gb21-routine .gb22-controls>button{
  display:flex!important;align-items:center!important;justify-content:center!important;
  place-items:center!important;line-height:1!important;text-align:center!important;
  padding:0!important;text-indent:0!important;vertical-align:middle!important;
}
:is(.radio-console .radio-controls.dl-premium-controls,.dl-video-actions.dl-premium-controls,.dl-music-realm .realm-player)>button::before,
#gb21-routine .gb22-controls>button::before{
  display:block!important;position:static!important;inset:auto!important;
  margin:0!important;padding:0!important;flex:0 0 auto!important;
  align-self:center!important;justify-self:center!important;
  transform:none!important;line-height:0!important;
}
/* The play triangle has an asymmetric shape; one-pixel correction centers its optical weight. */
:is(#radio-play,#dreamlandCinemaPlay,.realm-player .mini-play,#gb22-play)::before{
  translate:-1px 0;
}
/* 3 — Collection glyph inside each of the six mini-players. */
.dl-music-realm .realm-player .mini-track{min-width:0;width:100%}
.dl-music-realm .realm-player .gb96-track-heading{
  display:flex;align-items:center;justify-content:center;gap:9px;
  width:100%;min-width:0;text-align:center;margin:0 auto;
}
.dl-music-realm .realm-player .gb96-track-heading .mini-track-name{
  display:block;flex:0 1 auto;min-width:0;overflow:hidden;white-space:nowrap;
  text-overflow:ellipsis;margin:0;
}
.dl-music-realm .realm-player .gb96-playlist-glyph{
  display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;
  font-family:'Fraunces',Georgia,serif;font-size:23px;line-height:1;
  border:1px solid #fff5;border-radius:50%;color:var(--c3,#e6d9ff);
  background:#ffffff12;transition:color .28s ease,background .28s ease,box-shadow .28s ease,text-shadow .28s ease;
}
.dl-music-realm .realm-player.gb96-active-playlist .gb96-playlist-glyph{
  color:#fff;background:color-mix(in srgb,var(--c1,#a8bbfd) 45%,transparent);
  border-color:var(--c3,#fff);box-shadow:0 0 11px var(--c2,#b8caff),0 0 23px var(--c1,#a8bbfd),inset 0 0 10px #ffffff44;
  text-shadow:0 0 9px #fff,0 0 14px var(--c3,#fff);
  animation:gb96-icon-breathe 3.5s ease-in-out infinite;
}
@keyframes gb96-icon-breathe{50%{filter:brightness(1.18);box-shadow:0 0 18px var(--c2,#b8caff),0 0 32px var(--c1,#a8bbfd)}}
@media(prefers-reduced-motion:reduce){.dl-music-realm .realm-player.gb96-active-playlist .gb96-playlist-glyph{animation:none}}
/* 5 — compact Build My Night banner immediately after Radio. */
#bedtime-rituals.gb21-enhanced{
  padding:clamp(28px,4.2vw,70px) clamp(16px,4vw,70px)!important;
  min-height:0!important;background:transparent!important;
  width:100%;position:relative;z-index:2;
}
#bedtime-rituals .gb96-build-banner{
  width:min(1190px,100%);margin-inline:auto;display:flex;align-items:center;
  gap:clamp(13px,2.4vw,34px);padding:clamp(20px,2.7vw,34px);
  border:1px solid #e8e0ff58;border-radius:27px;text-align:left;color:#fff;cursor:pointer;
  background:linear-gradient(111deg,#af91e22d,#4c7eaf3a 50%,#d9abd121);
  box-shadow:inset 0 1px 0 #ffffff31,0 12px 46px #050d303f;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;
}
#bedtime-rituals .gb96-build-banner:hover,
#bedtime-rituals .gb96-build-banner[aria-expanded="true"]{
  border-color:#f4e8ffba;box-shadow:0 12px 45px #070f304d,0 0 25px #f0dcfa24,inset 0 1px 0 #fff4;
}
#bedtime-rituals .gb96-build-banner:focus-visible{outline:3px solid #e5dbff;outline-offset:4px}
#bedtime-rituals .gb96-build-emblem{
  display:grid;place-items:center;flex:none;width:clamp(58px,6vw,78px);height:clamp(58px,6vw,78px);
  border-radius:50%;font-size:39px;font-family:Georgia,serif;
  color:#fff0ce;border:1px solid #ffeddb7a;
  background:radial-gradient(circle at 35% 25%,#f4dcb65e,#957dcf52 65%,#304d855e);
  box-shadow:0 0 25px #decafa35,inset 0 0 15px #f7eaff46;
}
#bedtime-rituals .gb96-build-title{display:grid;gap:4px;min-width:0;flex:1}
#bedtime-rituals .gb96-build-title small{
  color:#e8ceff;font-size:10px;letter-spacing:.2em;font-weight:800;
}
#bedtime-rituals .gb96-build-title strong{
  font-family:'Fraunces',Georgia,serif;font-size:clamp(26px,3.4vw,43px);line-height:1.18;font-weight:500;letter-spacing:-.03em;
}
#bedtime-rituals .gb96-build-title>span{color:#e0e5fb;font-size:clamp(12px,1.2vw,14px);line-height:1.5}
#bedtime-rituals .gb96-build-action{display:flex;align-items:center;white-space:nowrap;gap:17px;color:#fcf0ff;font-weight:750;font-size:12px}
#bedtime-rituals .gb96-chevron{display:grid;place-items:center;border:1px solid #fffa;background:#ffffff12;width:36px;height:36px;border-radius:50%;font-size:25px;font-weight:400;line-height:1;transition:transform .4s ease}
#bedtime-rituals .gb96-build-banner[aria-expanded="true"] .gb96-chevron{transform:rotate(180deg)}
#bedtime-rituals .gb96-build-panel{width:min(1190px,100%);margin-inline:auto;overflow:hidden;height:0;opacity:0;transition:height .5s cubic-bezier(.22,.68,0,1),opacity .4s ease}
#bedtime-rituals .gb96-build-panel[hidden]{display:none!important}
#bedtime-rituals .gb96-build-panel.gb96-open{opacity:1}
#bedtime-rituals .gb96-build-panel-inner{padding-top:clamp(20px,3vw,39px);padding-bottom:10px}
/* Original routine elements stay inside the expandable panel; no duplicate planner. */
#bedtime-rituals.gb21-enhanced .ritual-copy{max-width:900px;margin:0 auto 30px}
#bedtime-rituals.gb21-enhanced .ritual-copy h2{font-size:clamp(40px,5vw,70px)}
@media(max-width:720px){
  #bedtime-rituals.gb21-enhanced{padding-inline:16px!important}
  #bedtime-rituals .gb96-build-banner{border-radius:21px;gap:15px}
  #bedtime-rituals .gb96-build-emblem{width:50px;height:50px;font-size:29px}
  #bedtime-rituals .gb96-build-action{font-size:0;gap:0}
  #bedtime-rituals .gb96-chevron{font-size:23px;width:32px;height:32px}
  .dl-music-realm .realm-player .gb96-playlist-glyph{flex-basis:24px;width:24px;height:24px;font-size:20px}
}
/* 4 — graceful future sections, non-interactive until content is published. */
.gb96-coming{
  width:100%;display:grid;grid-template-columns:1fr 1fr;align-items:center;
  gap:clamp(28px,6vw,110px);padding-block:clamp(85px,9vw,145px);
  min-height:510px;position:relative;
}
.gb96-coming-calm{background:radial-gradient(ellipse at 68% 42%,#b28dcf26,transparent 60%),linear-gradient(180deg,#243b56,#272848)}
.gb96-coming-stories{background:radial-gradient(ellipse at 22% 47%,#7eb0d53b,transparent 59%),linear-gradient(180deg,#272848,#1c314e)}
.gb96-coming-copy{width:min(530px,100%);margin-inline:auto;position:relative;z-index:1}
.gb96-coming-copy h2{font-size:clamp(47px,5.2vw,81px);line-height:1.08;margin:17px 0 20px;font-weight:500}
.gb96-coming-copy h2 em{color:#ead3fb}
.gb96-coming-copy>p:not(.overline){font-size:clamp(14px,1.25vw,17px);color:#d8dcf4;line-height:1.75;max-width:490px}
.gb96-coming-pill{display:inline-flex;align-items:center;gap:9px;margin-top:30px;border-radius:100px;border:1px solid #eedcff85;background:linear-gradient(115deg,#f3e5ff25,#bfd8f426);padding:11px 20px;color:#fdf3ff;letter-spacing:.09em;font-size:11px;font-weight:800;text-transform:uppercase;box-shadow:0 0 24px #f5d1ff27}
.gb96-coming-art{height:clamp(280px,30vw,425px);position:relative;isolation:isolate;display:grid;place-items:center}
.gb96-art-halo{position:absolute;width:clamp(210px,23vw,335px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 28% 24%,#f2ddf1,#c3a8da 35%,#7b80b9 65%,#2c456c);border:1px solid #fff7;box-shadow:0 0 0 25px #ffffff09,0 0 0 54px #ffffff05,0 0 90px #dfc7f35a;animation:gb96-float 9s ease-in-out infinite}
.gb96-art-stories .gb96-art-halo{background:radial-gradient(circle at 30% 24%,#fff0cd,#bccbe4 36%,#6284b7 69%,#2c456c)}
.gb96-art-symbol{font-family:'Fraunces',Georgia,serif;font-size:clamp(110px,12vw,172px);color:#fff9;z-index:1;filter:drop-shadow(0 0 24px #fff6)}
.gb96-art-caption{position:absolute;bottom:7%;color:#e4e0f6;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
@keyframes gb96-float{50%{transform:translateY(-11px)}}
@media(max-width:780px){.gb96-coming{grid-template-columns:1fr;gap:16px;text-align:center}.gb96-coming-copy{order:1}.gb96-coming-art{order:2;height:270px}.gb96-coming-copy>p:not(.overline){margin-inline:auto}.gb96-art-halo{width:225px}.gb96-coming{min-height:0}}
@media(prefers-reduced-motion:reduce){.gb96-art-halo{animation:none}#bedtime-rituals .gb96-build-panel{transition:none}}
/* 6 — top navigation buttons and app guide. */
.dl-header-nav{gap:clamp(12px,1.6vw,25px)!important}
.dl-header-nav .gb96-nav-app,.dl-header-nav .gb96-nav-parent{border-radius:100px;padding:11px 14px;border:1px solid #ffffff40;white-space:nowrap;background:#ffffff0d;color:#fff;font-size:12px}
.dl-header-nav .gb96-nav-app{background:linear-gradient(125deg,#e2d8fa,#c7dff9);color:#172b4d;font-weight:800;border:0}
.dl-header-nav .gb96-nav-app:hover{color:#253458;background:#fff}
.dl-header-nav .gb96-nav-parent:hover{background:#ffffff25;color:white}
@media(min-width:781px) and (max-width:1050px){.dl-header-nav{gap:9px!important}.dl-header-nav .gb96-nav-app,.dl-header-nav .gb96-nav-parent{padding:10px 11px;font-size:10px}.dl-header-nav a{font-size:10px!important}.dl-brand{flex-shrink:0}}
.dl-mobile-nav .gb96-nav-app,.dl-mobile-nav .gb96-nav-parent{background:#ffffff15;border:1px solid #ffffff28;margin-block:3px}
.dl-mobile-nav .gb96-nav-app{background:#e4dcf6;color:#192b4e;font-weight:750}
.gb96-dialog[hidden]{display:none!important}
.gb96-dialog{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px}
.gb96-dialog-backdrop{position:absolute;inset:0;background:#080e24c9;backdrop-filter:blur(12px)}
.gb96-dialog-panel{width:min(750px,100%);max-height:min(88vh,820px);overflow:auto;border-radius:29px;position:relative;z-index:1;border:1px solid #f5e7ff58;background:linear-gradient(142deg,#213859,#262445 64%,#1f3b59);box-shadow:0 30px 100px #000b;padding:clamp(25px,4vw,45px);color:#fff}
.gb96-dialog-panel h2{font:500 clamp(38px,5vw,65px)/1.1 'Fraunces',Georgia,serif;margin:13px 0 16px}
.gb96-dialog-panel h2 em{color:#e0c9f7}
.gb96-dialog-lead{color:#e6e6f8;line-height:1.6;max-width:570px;font-size:15px}
.gb96-dialog-close{position:absolute;top:16px;right:18px;width:43px;height:43px;border-radius:50%;border:1px solid #ffffff44;background:#ffffff16;color:white;font-size:30px;cursor:pointer;line-height:1;display:grid;place-items:center}
.gb96-install-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:31px}
.gb96-install-steps>div{border:1px solid #ffffff33;border-radius:16px;background:#ffffff0b;padding:17px}
.gb96-step-icon{display:block;font-size:27px;margin-bottom:13px;color:#e4d5ff;min-height:35px}
.gb96-install-steps strong{display:block;font-size:13px;margin-bottom:10px}
.gb96-install-steps p{font-size:12px;line-height:1.65;color:#d7dcef;margin:0}
.gb96-dialog-footnote{font-size:11px;color:#bfcbe4;margin-top:25px;line-height:1.5}
.gb96-native-install:not([hidden]){border-radius:100px;background:#dae7ff;color:#1c2b4b;padding:13px 24px;font-weight:750;border:0;cursor:pointer;margin-top:8px}
@media(max-width:620px){.gb96-install-steps{grid-template-columns:1fr}.gb96-dialog{padding:10px}.gb96-dialog-panel{border-radius:20px;max-height:93vh}}
/* Keep the approved alternating artwork/player positions after the new banner changes section parity.
   In particular Solos keeps the gold club disc LEFT and the player RIGHT, as in the supplied screenshot. */
@media(min-width:781px){
 #frequencies .dl-section-layout>.realm-scene,
 #rnb .dl-section-layout>.realm-scene,
 #ambient .dl-section-layout>.realm-scene{order:2!important}
 #classical .dl-section-layout>.realm-scene,
 #jazz .dl-section-layout>.realm-scene,
 #solos .dl-section-layout>.realm-scene{order:0!important}
}


/* V95.3 — corrections 7–16 */
/* Top nav: Get the App sits last and stays visually button-like. */
.dl-header-nav .gb96-nav-parent{order:3}
.dl-header-nav .nav-playhouse{order:4}
.dl-header-nav .gb96-nav-app{order:5;margin-left:2px}
/* Radio timer polish */
.radio-console-footer{align-items:flex-start;gap:14px}
.radio-inline-timer{display:flex;flex-direction:column;gap:7px;min-width:160px;padding:10px 12px;border-radius:18px;border:1px solid #ffffff22;background:linear-gradient(145deg,#ffffff14,#ffffff08)}
.radio-inline-timer label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#d8caee;font-weight:700}
#sleep-timer{appearance:none;border:1px solid #ffffff38;border-radius:999px;background:#1a2445;color:#fff;padding:10px 36px 10px 14px;min-height:42px;background-image:linear-gradient(45deg,transparent 50%,#f3d3da 50%),linear-gradient(135deg,#f3d3da 50%,transparent 50%);background-position:calc(100% - 18px) calc(1em + 2px),calc(100% - 13px) calc(1em + 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}
#timer-status{display:block;font-size:11px;color:#c3bdd7;max-width:180px;line-height:1.4}
/* Compact Build My Night banner/button and panel spacing */
#bedtime-rituals .gb96-build-banner{align-items:center}
#bedtime-rituals .gb96-build-action{justify-content:flex-end;min-width:160px}
#bedtime-rituals .gb96-build-title>span{max-width:620px}
#bedtime-rituals .ritual-builder{display:block!important;max-width:1000px;margin:0 auto 28px}
#bedtime-rituals .ritual-lengths{grid-template-columns:repeat(4,minmax(0,1fr))}
#bedtime-rituals #gb21-routine{margin-top:26px}
#bedtime-rituals .gb21-panel{scroll-margin-top:100px}
/* Keep radio and bedtime sections visually connected with no abrupt banding. */
#bedtime-rituals.gb21-enhanced{background:transparent!important;padding-top:34px!important;padding-bottom:86px!important}
#bedtime-rituals .gb96-build-panel-inner{padding-top:26px}
#bedtime-rituals .ritual-copy,#bedtime-rituals .ritual-builder,#bedtime-rituals #gb21-routine{position:relative;z-index:1}
#bedtime-rituals::before{content:'';position:absolute;inset:20px max(5vw,22px) 0;z-index:0;border-radius:34px;background:radial-gradient(ellipse at 76% 16%,#ae92d231,transparent 42%),linear-gradient(180deg,#263149 0%,#242943 50%,#20243d 100%);border:1px solid #ffffff1f;box-shadow:0 22px 80px #04092038,inset 0 1px 0 #ffffff21}
/* Coming soon sections use prominent packaged cards with imagery, avoiding hard seams. */
.gb96-coming{width:min(1190px,calc(100% - 52px));margin:0 auto 26px;padding:clamp(28px,4vw,42px);min-height:0;border-radius:34px;border:1px solid #ffffff1f;box-shadow:0 26px 90px #070b2733,inset 0 1px 0 #ffffff20;background:linear-gradient(180deg,#26324b 0%,#262844 100%)}
.gb96-coming::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at 20% 30%,#c099ff14,transparent 44%),radial-gradient(ellipse at 80% 66%,#9ac8ef16,transparent 44%)}
.gb96-coming-calm{background:linear-gradient(180deg,#26354e 0%,#292849 100%)}
.gb96-coming-stories{background:linear-gradient(180deg,#292849 0%,#233652 100%)}
.gb96-coming-copy,.gb96-coming-media{position:relative;z-index:1}
.gb96-coming-media{display:flex;justify-content:center;align-items:center}
.gb96-coming-frame{width:min(100%,460px);border-radius:28px;overflow:hidden;position:relative;border:1px solid #ffffff26;background:#10172d;box-shadow:0 25px 80px #050a203a}
.gb96-coming-frame img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center top;filter:saturate(.96) brightness(.98)}
.gb96-coming-frame::after{content:'';position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(180deg,transparent,#0d1329e3)}
.gb96-media-badge{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;display:inline-flex;justify-content:center;align-items:center;padding:10px 14px;border-radius:999px;background:#0d1530c9;border:1px solid #ffffff2b;color:#fff7f9;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(10px)}
.gb96-coming-copy h2{max-width:700px}
.gb96-coming-copy>p:not(.overline){max-width:560px}
.gb96-coming-notes{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.gb96-coming-notes span{padding:9px 14px;border-radius:999px;border:1px solid #ffffff22;background:#ffffff10;color:#ede8f8;font-size:11px;font-weight:700}
.gb96-coming-pill{margin-top:24px}
@media(max-width:780px){
  #bedtime-rituals::before{left:16px;right:16px;inset-block:18px 0}
  #bedtime-rituals.gb21-enhanced{padding-top:24px!important;padding-bottom:68px!important}
  #bedtime-rituals .gb96-build-banner{align-items:flex-start}
  #bedtime-rituals .gb96-build-action{min-width:unset}
  #bedtime-rituals .ritual-lengths{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gb96-coming{width:calc(100% - 32px);padding:24px;border-radius:28px}
  .gb96-coming-frame{width:min(100%,520px)}
  .gb96-coming-frame img{aspect-ratio:16/11}
}
@media(max-width:520px){
  .radio-console-footer{gap:12px}
  .radio-inline-timer{width:100%;min-width:0}
  #timer-status{max-width:none}
  #bedtime-rituals .ritual-lengths button{font-size:26px}
  .gb96-coming-notes{justify-content:center}
}

/* Next-update staging: use one clean shuffle mask everywhere, centered and unobstructed. */
.dl-premium-controls button[data-audio-mode="shuffle"]::before,
.realm-player button[data-audio-mode="shuffle"]::before,
#gb21-routine #gb22-shuffle::before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h3c2%200%203.5%202%205.2%205s3.1%206%206.3%206H21%22%2F%3E%3Cpath%20d%3D%22m17.5%2013.5%203.5%203.5-3.5%203.5%22%2F%3E%3Cpath%20d%3D%22M3%2018h3c2.3%200%203.7-1.4%205-3.5%22%2F%3E%3Cpath%20d%3D%22M14%209c1.1-1.8%202.2-3%204-3h3%22%2F%3E%3Cpath%20d%3D%22m17.5%202.5%203.5%203.5-3.5%203.5%22%2F%3E%3C%2Fsvg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h3c2%200%203.5%202%205.2%205s3.1%206%206.3%206H21%22%2F%3E%3Cpath%20d%3D%22m17.5%2013.5%203.5%203.5-3.5%203.5%22%2F%3E%3Cpath%20d%3D%22M3%2018h3c2.3%200%203.7-1.4%205-3.5%22%2F%3E%3Cpath%20d%3D%22M14%209c1.1-1.8%202.2-3%204-3h3%22%2F%3E%3Cpath%20d%3D%22m17.5%202.5%203.5%203.5-3.5%203.5%22%2F%3E%3C%2Fsvg%3E")!important;
  -webkit-mask-position:center!important;mask-position:center!important;
  -webkit-mask-size:contain!important;mask-size:contain!important;
  inline-size:20px!important;block-size:20px!important;
  transform:none!important;translate:none!important;
}
