:root{--wilo-navy:#143d61;--wilo-ink:#294b67;--wilo-muted:#667f92;--wilo-blue:#117fc2;--wilo-sky:#eaf8ff;--wilo-#35c7d4:#35c7d4;--wilo-coral:#b548b3;--wilo-green:#58b96a;--wilo-purple:#7658d6;--wilo-paper:#ffffff;--wilo-line:#d6eaf4;--wilo-shadow:0 18px 44px rgba(18,61,97,.16);--wilo-font:ui-rounded,"Arial Rounded MT Bold",Nunito,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html,body,button,input,select,textarea{font-family:var(--wilo-font)}
body{color:var(--wilo-ink);background:linear-gradient(180deg,#f9fdff 0,#fff 30%,#f4fbff 100%)}
h1,h2,h3,h4,.section-heading h2,.club-intro h2,.game-heading h3{color:var(--wilo-navy);letter-spacing:-.025em}
p,.section-heading p,.club-intro p,.game-heading p{color:var(--wilo-muted)}
.kicker,.eyebrow{color:#b548b3;font-weight:1000;letter-spacing:.13em}
.site-header{background:rgba(255,255,255,.94);border-bottom:1px solid var(--wilo-line);box-shadow:0 7px 28px rgba(18,61,97,.11)}
.site-header nav a.route-link,.site-header nav button{color:var(--wilo-ink)}
.site-header nav a.route-link:hover,.site-header nav a.route-link.active,.site-header nav button:hover{background:var(--wilo-sky);color:#086da7}
.theme-toggle,.theme{background:linear-gradient(145deg,#173f63,#102d49);border:2px solid #315773;color:#fff;box-shadow:0 5px 0 #09233a}
.section{color:var(--wilo-ink)}
.world-section,.watch-section,.puzzle-section{background:linear-gradient(155deg,#f2fbff,#e7f6ff)}
.characters-section,.play-section{background:linear-gradient(180deg,#fff,#f8fcff)}
.places-section,.club-section{background:linear-gradient(155deg,#35c7d4,#35c7d4)}
.art-section{background:linear-gradient(155deg,#fff8f3,#ffede5)}
.section-heading{margin-bottom:34px}.section-heading h2,.club-intro h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.08}.section-heading p,.club-intro p{font-size:1.02rem;line-height:1.65}
.map-stage,.character-card,.place-card,.activity-card,.puzzle-shell,.game-shell,.art-shell,.video-card{border-color:#fff;background:var(--wilo-paper);box-shadow:inset 0 2px 1px #fff,var(--wilo-shadow)}
.character-card,.place-card,.activity-card,.video-card{transition:transform .18s ease,box-shadow .18s ease}.character-card:hover,.place-card:hover,.activity-card:hover,.video-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(18,61,97,.22)}
.character-card b,.place-card b,.activity-card h3,.video-card h3{color:var(--wilo-navy)}.character-card span,.place-card span,.activity-card p,.video-card p{color:var(--wilo-muted)}
.button,.activity-card button,.activity-card a,.puzzle-panel button,.game-toolbar button,.mini-toolbar button,.art-toolbar button,.art-actions button{font-weight:1000}
.button.primary,.watch-actions .primary,.next-action{background:linear-gradient(145deg,#168fd0,#0b6fac);color:#fff;box-shadow:0 6px 0 #07527f}
.button.youtube-subscribe,.youtube-subscribe{background:linear-gradient(145deg,#ff5149,#d92f2f);color:#fff;box-shadow:0 6px 0 #9c2424}
footer{background:#102d46;color:#dcecf5}footer p,footer small{color:#a9c1d1}footer a,footer button{color:#eaf6fc}
dialog{color:var(--wilo-ink)}.detail-copy h2,.detail-body h2,.detail-body h3{color:var(--wilo-navy)}.detail-copy p,.detail-body p{color:var(--wilo-muted)}
body.info-page{background:linear-gradient(180deg,#f5fbff,#fff)}.info-card,.policy-card,.legal-card{background:#fff;color:var(--wilo-ink);border-color:var(--wilo-line);box-shadow:var(--wilo-shadow)}.info-card h1,.info-card h2,.policy-card h1,.policy-card h2,.legal-card h1,.legal-card h2{color:var(--wilo-navy)}
.dark-theme body,.dark body{background:linear-gradient(180deg,#07131e,#0b1d2b);color:#eaf6fc}
.dark-theme h1,.dark-theme h2,.dark-theme h3,.dark-theme h4,.dark h1,.dark h2,.dark h3,.dark h4{color:#f3fbff}
.dark-theme p,.dark-theme .section-heading p,.dark-theme .club-intro p,.dark p{color:#adc3d1}
.dark-theme .site-header,.dark header{background:rgba(8,23,34,.95);border-color:#29485d}
.dark-theme .site-header nav a.route-link,.dark-theme .site-header nav button,.dark header nav a{color:#eaf6fc}
.dark-theme .world-section,.dark-theme .watch-section,.dark-theme .puzzle-section,.dark-theme .characters-section,.dark-theme .play-section,.dark-theme .places-section,.dark-theme .club-section,.dark-theme .art-section{background:linear-gradient(155deg,#0b1b29,#10283a)}
.dark-theme .map-stage,.dark-theme .character-card,.dark-theme .place-card,.dark-theme .activity-card,.dark-theme .puzzle-shell,.dark-theme .game-shell,.dark-theme .art-shell,.dark-theme .video-card,.dark-theme dialog{background:#10283a;border-color:#31546b;box-shadow:0 18px 40px #0008}
.dark-theme .character-card b,.dark-theme .place-card b,.dark-theme .activity-card h3,.dark-theme .video-card h3,.dark-theme .detail-copy h2,.dark-theme .detail-body h2,.dark-theme .detail-body h3{color:#f2fbff}
.dark-theme .character-card span,.dark-theme .place-card span,.dark-theme .activity-card p,.dark-theme .video-card p,.dark-theme .detail-copy p,.dark-theme .detail-body p{color:#abc2d0}
.dark-theme footer,.dark footer{background:#06111a}
@media(max-width:760px){.section-heading h2,.club-intro h2{font-size:2.15rem}.section-heading p,.club-intro p{font-size:1rem}}
/* Shared dark foundation without overriding each page's content design. */
html.dark-theme body[data-page],html.dark-theme body[data-page] main,html.dark-theme body[data-page] main>.section{background:linear-gradient(180deg,#07131e,#0b1d2b)}
.nav-wrap{min-height:78px}
html.dark-theme .site-header nav a.route-link.active,html.dark-theme .site-header nav a.route-link:hover{background:#173a52;color:#fff}
html.dark-theme body[data-page="world"] .site-header a[href="world.html"],html.dark-theme body[data-page="friends"] .site-header a[href="friends.html"],html.dark-theme body[data-page="places"] .site-header a[href="places.html"],html.dark-theme body[data-page="watch"] .site-header a[href="watch.html"],html.dark-theme body[data-page="kids-club"] .site-header a[href="kids-club.html"],html.dark-theme body[data-page="puzzles"] .site-header a[href="kids-club.html"],html.dark-theme body[data-page="games"] .site-header a[href="kids-club.html"],html.dark-theme body[data-page="create"] .site-header a[href="kids-club.html"]{background:#173a52;color:#fff}
html.dark-theme .theme-toggle{background:#fff;color:#173d65;border-color:#fff;box-shadow:0 5px 0 #55758a}
.character-guide-link{text-align:center;margin:34px 0 0}.character-guide-link a,.character-page-link{display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;border-radius:15px;background:linear-gradient(145deg,#35c7d4,#35c7d4);color:#173d65!important;text-decoration:none;font-weight:1000;box-shadow:0 6px 0 #5c3fa3}.character-guide-link a:hover,.character-page-link:hover{transform:translateY(-2px)}html.dark-theme .character-guide-link a,html.dark-theme .character-page-link{background:linear-gradient(145deg,#35c7d4,#35c7d4);color:#10283a!important;box-shadow:0 6px 0 #35c7d4}
.seo-directory{margin:42px 0 0;padding:28px;border-radius:28px;background:linear-gradient(145deg,#eaf8ff,#35c7d4);border:3px solid #fff;box-shadow:var(--wilo-shadow)}.seo-directory h3{text-align:center;margin:0 0 19px;color:var(--wilo-navy)}.seo-directory>div{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.seo-directory a{display:inline-flex;padding:10px 14px;border-radius:999px;background:#fff;color:#126b9f;text-decoration:none;font-weight:1000;box-shadow:0 4px 0 #bed9e7}.seo-directory a:nth-child(3n+2){color:#b548b3;background:#fff2ec;box-shadow-color:#b548b3}.seo-directory a:nth-child(3n){color:#4b742b;background:#f0f9dd;box-shadow-color:#cddda9}.seo-directory a:hover{transform:translateY(-2px)}html.dark-theme .seo-directory{background:linear-gradient(145deg,#10283a,#172d37);border-color:#31546b}html.dark-theme .seo-directory h3{color:#f3fbff}html.dark-theme .seo-directory a{background:#173a52;color:#eaf8ff;box-shadow-color:#07131e}@media(max-width:560px){.seo-directory{padding:22px 14px}.seo-directory a{font-size:.86rem}}
.world-hub-links{display:flex;flex-wrap:wrap;gap:11px;margin-top:34px}.world-hub-links a{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;background:#fff;color:#126b9f;text-decoration:none;font-weight:1000;box-shadow:0 5px 0 #b9d6e5}.world-hub-links a:nth-child(-n+2){flex:1 1 310px;border-radius:22px;padding:18px;background:linear-gradient(145deg,#35c7d4,#35c7d4);color:#173d65;box-shadow:0 8px 0 #35c7d4}.world-hub-links a span{font-size:2rem}.world-hub-links a b,.world-hub-links a small{display:block}.world-hub-links a small{font-weight:800;margin-left:auto}.world-hub-links a:hover{transform:translateY(-2px)}html.dark-theme .world-hub-links a{background:#173a52;color:#eaf8ff;box-shadow-color:#07131e}html.dark-theme .world-hub-links a:nth-child(-n+2){background:linear-gradient(145deg,#35c7d4,#35c7d4);color:#fff}@media(max-width:560px){.world-hub-links a:nth-child(-n+2){display:grid;grid-template-columns:auto 1fr}.world-hub-links a small{grid-column:2;margin:0}}
.episode-guide-cta{display:flex;align-items:center;gap:25px;margin:34px 0;padding:26px 30px;border:3px solid #fff;border-radius:28px;background:linear-gradient(145deg,#35c7d4,#35c7d4);box-shadow:0 10px 0 #35c7d4,0 22px 42px #174b701c}.episode-guide-cta div{flex:1}.episode-guide-cta h3{margin:6px 0;color:#143d61}.episode-guide-cta p{margin:0;color:#4d6877}.episode-guide-cta a{padding:13px 18px;border-radius:15px;background:linear-gradient(145deg,#b548b3,#b548b3);color:#fff;text-decoration:none;font-weight:1000;box-shadow:0 6px 0 #b548b3}html.dark-theme .episode-guide-cta{background:linear-gradient(145deg,#35c7d4,#35c7d4);border-color:#35c7d4;box-shadow-color:#07131e}html.dark-theme .episode-guide-cta h3,html.dark-theme .episode-guide-cta p{color:#fff}@media(max-width:650px){.episode-guide-cta{display:block}.episode-guide-cta a{display:flex;justify-content:center;margin-top:18px}}

/* Global action system: red is reserved exclusively for YouTube. */
a[href*="youtube.com"]:not(.episode-thumbnail),a[href*="youtu.be"]:not(.episode-thumbnail),button.youtube-action{background:linear-gradient(145deg,#ff4f49,#d9232d)!important;color:#fff!important;border-color:#ff716c!important;box-shadow:0 7px 0 #941e25!important}
a[href*="youtube.com"]:not(.episode-thumbnail)::before,a[href*="youtu.be"]:not(.episode-thumbnail)::before,button.youtube-action::before{content:"▶";display:inline-block;margin-right:8px;color:#fff;font-size:.82em;line-height:1}
.location-page .location-button.friend,.button.primary:not(.youtube-action),a.primary:not([href*="youtube.com"]):not([href*="youtu.be"]),.episode-guide-cta a:not([href*="youtube.com"]):not([href*="youtu.be"]){background:linear-gradient(145deg,#8f68db,#6243aa)!important;color:#fff!important;box-shadow:0 7px 0 #432b7d!important;border-color:#a98bea!important}
.location-actions,.map-switch-links,.episode-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.location-actions>* ,.map-switch-links>* ,.episode-actions>*{width:100%;min-height:66px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.18}
.location-actions>*:nth-child(1),.map-switch-links>*:nth-child(1){background:linear-gradient(145deg,#35c7d4,#35c7d4)!important;color:#173d65!important;box-shadow:0 7px 0 #35c7d4!important}
.location-actions>*:nth-child(2),.map-switch-links>*:nth-child(2){background:linear-gradient(145deg,#8f68db,#6243aa)!important;color:#fff!important;box-shadow:0 7px 0 #432b7d!important}
.world-hub-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.world-hub-links a,.world-hub-links a:nth-child(-n+2){flex:none;min-width:0;min-height:84px;padding:15px!important;border-radius:20px!important;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;box-shadow:0 7px 0 #0a5f90!important}
.world-hub-links a small{display:none}
.world-hub-links a:nth-child(5n+1){background:linear-gradient(145deg,#28a9e0,#0a78b7)!important;color:#fff!important;box-shadow-color:#07537e!important}
.world-hub-links a:nth-child(5n+2){background:linear-gradient(145deg,#75cf68,#3a9d50)!important;color:#fff!important;box-shadow-color:#277238!important}
.world-hub-links a:nth-child(5n+3){background:linear-gradient(145deg,#35c7d4,#35c7d4)!important;color:#173d65!important;box-shadow-color:#35c7d4!important}
.world-hub-links a:nth-child(5n+4){background:linear-gradient(145deg,#9b73e5,#6948b3)!important;color:#fff!important;box-shadow-color:#452e7d!important}
.world-hub-links a:nth-child(5n){background:linear-gradient(145deg,#3bcabb,#159688)!important;color:#fff!important;box-shadow-color:#0c6b61!important}
.destination-list{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;max-width:1240px;margin-inline:auto}
.destination-list button{width:100%;min-width:0;min-height:58px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.15}
.destination-list button:nth-child(5n+1){background:#137fc0;color:#fff;border-color:#54b8ec}.destination-list button:nth-child(5n+2){background:#4fac61;color:#fff;border-color:#82dc91}.destination-list button:nth-child(5n+3){background:#35c7d4;color:#173d65;border-color:#35c7d4}.destination-list button:nth-child(5n+4){background:#7955bd;color:#fff;border-color:#aa8ae1}.destination-list button:nth-child(5n){background:#1ca397;color:#fff;border-color:#63d7cc}
.seo-directory a:nth-child(3n+2){color:#5f3b96!important;background:#f2eaff!important;box-shadow-color:#c9b3e8!important}
.map-directory-grid a:nth-child(4n+3){background:linear-gradient(145deg,#f0e8ff,#b992ed)!important;box-shadow-color:#8c65c5!important}
.master-map-hotspots a:hover{background:#7652bd!important}
.episode-related>div{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.episode-related>div>a{min-height:60px;display:flex;align-items:center;justify-content:center;text-align:center}.episode-related>div>a:nth-child(odd){background:linear-gradient(145deg,#28a9e0,#0a78b7)!important;color:#fff!important}.episode-related>div>a:nth-child(even){background:linear-gradient(145deg,#75cf68,#3a9d50)!important;color:#fff!important}
.map-tools{display:grid!important;grid-template-columns:repeat(2,minmax(145px,1fr));align-items:stretch}.map-tools button{width:100%;min-height:52px}.map-tools button:nth-child(1){background:#137fc0!important;color:#fff!important}.map-tools button:nth-child(2){background:#4fac61!important;color:#fff!important}.map-tools button.active{box-shadow:inset 0 0 0 3px #fff,0 4px 0 #092f4a}
.seo-directory>div{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.seo-directory a{min-height:54px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.15}.seo-directory a:nth-child(4n+1){background:#e2f5ff!important;color:#086caa!important;box-shadow-color:#8ecbe9!important}.seo-directory a:nth-child(4n+2){background:#edf9dd!important;color:#397733!important;box-shadow-color:#a9d38f!important}.seo-directory a:nth-child(4n+3){background:#35c7d4!important;color:#35c7d4!important;box-shadow-color:#35c7d4!important}.seo-directory a:nth-child(4n){background:#f0e7ff!important;color:#5f3b96!important;box-shadow-color:#bca2df!important}
.watch-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.watch-actions>a{width:100%;min-height:62px;display:flex;align-items:center;justify-content:center;text-align:center}.watch-actions>span{grid-column:1/-1}
.hero-actions,.actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.hero-actions>* ,.actions>*{width:100%;min-height:60px;display:flex;align-items:center;justify-content:center;text-align:center}.hero-actions>*:not([href*="youtube.com"]):not([href*="youtu.be"]):nth-child(odd),.actions>*:not([href*="youtube.com"]):not([href*="youtu.be"]):nth-child(odd){background:linear-gradient(145deg,#28a9e0,#0a78b7)!important;color:#fff!important}.hero-actions>*:not([href*="youtube.com"]):not([href*="youtu.be"]):nth-child(even),.actions>*:not([href*="youtube.com"]):not([href*="youtu.be"]):nth-child(even){background:linear-gradient(145deg,#75cf68,#3a9d50)!important;color:#fff!important}
.game-picker button:nth-child(8),.sort-items button:nth-child(8),.safety-items button:nth-child(8){background:linear-gradient(145deg,#baf6ef,#46c8b8)!important;border-color:#8be3d8!important;color:#173d65!important}
@media(max-width:900px){.world-hub-links{grid-template-columns:repeat(2,minmax(0,1fr))}.destination-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.location-actions,.map-switch-links,.episode-actions,.episode-related>div,.watch-actions,.hero-actions,.actions{grid-template-columns:1fr}.world-hub-links,.destination-list,.seo-directory>div{grid-template-columns:repeat(2,minmax(0,1fr))}.world-hub-links a,.world-hub-links a:nth-child(-n+2){min-height:72px}.destination-list button{min-height:54px;font-size:.82rem}}

/* Wilo World page: every destination has a genuinely distinct non-red, non-yellow color. */
body[data-page="world"] .destination-list button:nth-child(1){background:#279bdb!important;border-color:#8bd2f0!important;color:#fff!important;box-shadow:0 6px 0 #11668f!important}
body[data-page="world"] .destination-list button:nth-child(2){background:#2da86b!important;border-color:#8de0ae!important;color:#fff!important;box-shadow:0 6px 0 #196e46!important}
body[data-page="world"] .destination-list button:nth-child(3){background:#9a6fd1!important;border-color:#d2b4ef!important;color:#fff!important;box-shadow:0 6px 0 #654493!important}
body[data-page="world"] .destination-list button:nth-child(4){background:#18b7ae!important;border-color:#83e5df!important;color:#123d3c!important;box-shadow:0 6px 0 #087b75!important}
body[data-page="world"] .destination-list button:nth-child(5){background:#465ed0!important;border-color:#9daaf0!important;color:#fff!important;box-shadow:0 6px 0 #2b3a91!important}
body[data-page="world"] .destination-list button:nth-child(6){background:#f3a47b!important;border-color:#ffd0b7!important;color:#5c3fa3!important;box-shadow:0 6px 0 #b96d48!important}
body[data-page="world"] .destination-list button:nth-child(7){background:#b548b3!important;border-color:#e395df!important;color:#fff!important;box-shadow:0 6px 0 #772b76!important}
body[data-page="world"] .destination-list button:nth-child(8){background:#a7b4c2!important;border-color:#e1e7ed!important;color:#21384c!important;box-shadow:0 6px 0 #6c7d8e!important}
body[data-page="world"] .destination-list button:nth-child(9){background:#536575!important;border-color:#91a2b0!important;color:#fff!important;box-shadow:0 6px 0 #303d48!important}
body[data-page="world"] .destination-list button:nth-child(10){background:#f28c45!important;border-color:#ffc295!important;color:#5c3fa3!important;box-shadow:0 6px 0 #5c3fa3!important}
body[data-page="world"] .destination-list button:nth-child(11){background:#e978b2!important;border-color:#f6b9d8!important;color:#43243a!important;box-shadow:0 6px 0 #a54376!important}
body[data-page="world"] .world-hub-links a:nth-child(1){background:#00a6c8!important;box-shadow:0 7px 0 #06687c!important;color:#fff!important}
body[data-page="world"] .world-hub-links a:nth-child(2){background:#56c7a5!important;box-shadow:0 7px 0 #2b886e!important;color:#173f37!important}
body[data-page="world"] .world-hub-links a:nth-child(3){background:#5c3fa3!important;box-shadow:0 7px 0 #372466!important;color:#fff!important}
body[data-page="world"] .world-hub-links a:nth-child(4){background:#6c7ee0!important;box-shadow:0 7px 0 #414f9f!important;color:#fff!important}
body[data-page="world"] .world-hub-links a:nth-child(5){background:#1f7a59!important;box-shadow:0 7px 0 #104b37!important;color:#fff!important}
body[data-page="world"] .world-hub-links a:nth-child(6){background:#b48ae3!important;box-shadow:0 7px 0 #7854aa!important;color:#33204a!important}
body[data-page="world"] .world-hub-links a:nth-child(7){background:#1676a8!important;box-shadow:0 7px 0 #0b4969!important;color:#fff!important}
body[data-page="world"] .world-hub-links a:nth-child(8){background:#35c7d4!important;box-shadow:0 7px 0 #16838c!important;color:#143c43!important}
body[data-page="world"] .world-hub-links a:nth-child(9){background:#824a91!important;box-shadow:0 7px 0 #512b5c!important;color:#fff!important}
body[data-page="world"] .world-hub-links a:nth-child(10){background:#7f93a8!important;box-shadow:0 7px 0 #506477!important;color:#fff!important}

/* Original map treatment: no label background, with fixed black text. */
.map-hotspot,
html.dark-theme .map-hotspot{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  color:#000!important;
}
.map-hotspot:hover,
.map-hotspot:focus-visible{
  background:transparent!important;
  box-shadow:none!important;
}
.map-hotspot b{
  max-width:120px;
  font-size:.82rem;
  line-height:1.1;
  font-weight:1000;
  -webkit-text-stroke:2px rgba(255,255,255,.96);
  paint-order:stroke fill;
  text-shadow:
    -1px -1px 0 #fff,
     1px -1px 0 #fff,
    -1px  1px 0 #fff,
     1px  1px 0 #fff,
     0 1px 2px #fff;
}
.map-hotspot:focus-visible{
  outline:3px solid #fff;
  outline-offset:3px;
}

/* Watch page: YouTube controls use the reserved YouTube red. */
body[data-page="watch"] .watch-actions a[href*="youtube.com"],
body[data-page="watch"] .watch-actions a[href*="youtu.be"]{
  background:linear-gradient(145deg,#ff4f49,#d9232d)!important;
  border-color:#ff716c!important;
  color:#fff!important;
  box-shadow:0 7px 0 #941e25!important;
}
body[data-page="watch"] .play-icon{
  background:linear-gradient(145deg,#ff4f49,#d9232d)!important;
  color:#fff!important;
}
