
:root{--gold:#f8d580;--dark:#17263b;--cream:#fff7e4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#fff8e9;background:#0d1d37;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}button,a{touch-action:manipulation}a{text-decoration:none;color:inherit}button{font:inherit;cursor:pointer}
#land-background{position:fixed;inset:0;background:linear-gradient(180deg,#09182da8,#102b3880 35%,#071628d9),url('assets/land-palace.webp') center 43%/cover no-repeat;z-index:-2}#land-background:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 37%,transparent 5%,#0615287a 95%)}
.site-top{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1180px;margin:auto;padding:18px 24px}.logo{font-size:clamp(24px,3.5vw,38px);font-weight:900;color:var(--gold);text-shadow:0 3px 14px #160b23;letter-spacing:.5px}.site-top nav{display:flex;gap:12px;align-items:center}.lang{background:#fff2d51f;border:1px solid #ffe0a577;border-radius:20px;color:white;padding:8px 14px} .replay{border:1px solid #f9db9c66;background:#211c438c;color:#fff3da;border-radius:30px;padding:9px 15px}
.hero{text-align:center;max-width:920px;margin:0 auto;padding:clamp(45px,8vw,105px) 18px 28px}.eyebrow{color:#ffd888;letter-spacing:.24em;text-transform:uppercase;font-size:13px;font-weight:700}.hero h1{font-family:Georgia,serif;font-weight:700;font-size:clamp(44px,9vw,94px);line-height:1.07;margin:18px 0;color:#ffdc97;text-shadow:0 8px 18px #15101c,0 0 32px #deb77188}.hero p{font-size:clamp(17px,2.4vw,23px);line-height:1.5;max-width:680px;margin:20px auto;color:#fff3df}
.worlds{max-width:1180px;padding:30px 22px 80px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.world{position:relative;display:flex;flex-direction:column;min-height:395px;border:1px solid #ffdda488;border-radius:28px;overflow:hidden;background:linear-gradient(180deg,#f7d99b12,#0b2539f2);box-shadow:0 25px 60px #0006;transition:transform .2s,box-shadow .2s}.world:hover{transform:translateY(-5px);box-shadow:0 30px 70px #0009}.world .illustration{height:195px;background-position:center;background-size:cover;position:relative}.world .illustration:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0c273e 0%,transparent 70%)}.world.kids .illustration{background-image:url('kids/fairytale/assets/cover.webp')}.world.club .illustration{background-image:url('assets/land-palace.webp')}.world.party .illustration{background-image:url('assets/labulaba-palace.webp')}.world .content{padding:8px 23px 25px;display:flex;flex:1;flex-direction:column}.world h2{font-family:Georgia,serif;color:#ffe3a7;font-size:31px;margin:3px 0 10px}.world p{line-height:1.55;margin:0 0 18px}.world .go{margin-top:auto;background:linear-gradient(135deg,#ffe4aa,#d6a54e);color:#382b1d;border-radius:24px;padding:12px 17px;text-align:center;font-weight:800}.world.club .go{background:#faf4ea26;color:#ffe1a1;border:1px solid #ffe1a166}.section{max-width:1120px;margin:0 auto;padding:28px 22px 85px}.section h2{text-align:center;font-family:Georgia,serif;font-size:clamp(30px,5vw,48px);color:#ffe0a3}.games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.game{display:flex;align-items:center;gap:19px;padding:22px;background:#102b43ed;border:1px solid #fce0a35e;border-radius:22px;transition:background .2s}.game:hover{background:#21435a}.game .emoji{font-size:42px}.game strong{display:block;font-size:20px;color:#ffe0a3}.game small{display:block;font-size:14px;line-height:1.5;color:#e6e6e6;margin-top:6px}.foot{text-align:center;padding:25px;border-top:1px solid #efd19844;background:#0b1823b0;color:#e9d5b2}
#intro{position:fixed;inset:0;background:#070b1b;z-index:99;display:flex;justify-content:center;align-items:center;transition:opacity 1.25s ease,visibility 1.25s}#intro video{width:100%;height:100%;object-fit:contain}#intro .intro-controls{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:0 12px}#intro button{color:#fff8e7;background:#101a34c9;border:1px solid #ffe2a2aa;border-radius:25px;padding:11px 17px;backdrop-filter:blur(8px)}#intro.finished{opacity:0;visibility:hidden;pointer-events:none}body.intro-open{overflow:hidden}.badge{font-size:12px;color:#ffe0a6;background:#e5ac4830;border:1px solid #f7df9a77;border-radius:22px;padding:6px 10px;margin-bottom:8px;display:inline-block}#intro.start-only .intro-controls{top:65%;bottom:auto}#intro.start-only video{opacity:.35}
@media(max-width:870px){.worlds{grid-template-columns:1fr;max-width:590px}.world{min-height:unset}.world .illustration{height:210px}.games{grid-template-columns:1fr}}@media(max-width:500px){.site-top{padding:14px}.site-top nav{gap:7px}.replay{padding:8px;font-size:12px}.hero{padding:50px 18px 0}.games{gap:12px}.game{padding:16px}.game .emoji{font-size:30px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.labik{display:flex;justify-content:center;align-items:center;gap:15px;max-width:680px;margin:0 auto 15px}
.labik-face{font-size:clamp(45px,8vw,76px);filter:drop-shadow(0 4px 12px #0007);animation:labik-bob 2.8s ease-in-out infinite}
.labik-bubble{border:2px solid #f7d889;background:#142a46d9;padding:13px 20px;border-radius:24px;color:#fff5d5;font-size:clamp(14px,2vw,18px);box-shadow:0 6px 24px #0005}
.game-language-note{font-size:14px;line-height:1.5;color:#fff1ca;background:#102b43cf;border:1px solid #e7c67c77;border-radius:16px;padding:12px 17px;margin:0 0 18px}
@keyframes labik-bob{50%{transform:translateY(-8px) rotate(-4deg)}}
@media(max-width:520px){.labik{flex-direction:column;gap:5px}}
@media(prefers-reduced-motion:reduce){.labik-face{animation:none}}

.labik-face{font-size:clamp(32px,4vw,60px)!important;letter-spacing:-.15em;white-space:nowrap}

/* LanulaLand: publication-ready responsive homepage enhancements */
.labik-face{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:145px;min-height:104px;filter:drop-shadow(0 8px 12px #30133d8c)}
.labu-symbol{font-size:84px;line-height:1;transform:rotate(-7deg)}
.la-symbol{position:absolute;top:-18px;right:8px;font-size:39px;transform:rotate(10deg)}
.ba-symbol{position:absolute;left:-20px;top:5px;font-size:38px;transform:rotate(-15deg)}
.mascot-names{display:block;margin:0 auto 9px;color:#ffe2a4;font-size:14px;font-weight:800;letter-spacing:.09em;text-shadow:0 2px 5px #29123a}
.game:focus-visible,.world:focus-visible,.site-top button:focus-visible,.lang:focus-visible{outline:3px solid #ffe58b;outline-offset:4px}
.game:hover,.world:hover{transform:translateY(-3px);transition:transform .18s ease}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:480px){.site-top{padding:12px;flex-wrap:wrap}.site-top nav{width:100%;justify-content:space-between}.site-top .replay{font-size:12px}.hero{padding-top:35px}.worlds{padding-left:14px;padding-right:14px}}

/* LanulaLand's two generations: isolated from existing game styles */
.magical-hero{padding:52px 18px 14px}.magical-hero h1{margin:10px 0 14px}.magical-hero .motto{font-family:Georgia,serif;font-size:clamp(21px,3vw,33px);color:#ffe3a5;max-width:860px}.magical-hero .hero-invite{font-size:17px;margin:12px auto 4px}.magic-gates{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;padding:25px 22px 30px}.magic-gate{overflow:hidden;border:1px solid #f8d580a8;border-radius:25px;background:#0b1a30;box-shadow:0 24px 60px #0009;transition:transform .25s,box-shadow .25s}.magic-gate:hover,.magic-gate:focus-visible{transform:translateY(-6px);box-shadow:0 27px 75px #000c;outline:2px solid #f8d580}.magic-gate img{display:block;width:100%;height:390px;object-fit:cover;object-position:center 25%}.gate-copy{padding:24px 25px 27px;background:linear-gradient(180deg,#1b2b40,#0c1c31)}.gate-kicker{color:#f7d18b;letter-spacing:.1em;text-transform:uppercase;font-size:12px}.gate-copy h2{font-family:Georgia,serif;font-size:clamp(24px,3vw,34px);color:#ffe2a2;margin:9px 0}.gate-copy p{line-height:1.55;min-height:70px}.gate-action{display:inline-block;margin-top:12px;padding:11px 24px;border-radius:30px;background:linear-gradient(110deg,#ffe6b2,#d3a45c);color:#292036;font-weight:800}.party-bridge{max-width:1120px;margin:0 auto;padding:0 22px 25px}.party-bridge a{display:flex;align-items:center;gap:18px;background:#152b40d9;border:1px solid #ffe2a270;border-radius:19px;padding:18px 24px}.party-bridge a>span:first-child{font-size:35px}.party-bridge strong{display:block;color:#ffe2a2;font-size:20px}.party-bridge small{display:block;margin-top:4px;color:#f2e5d1}.party-bridge b{margin-left:auto;font-size:26px;color:#f7d18b}@media(max-width:720px){.magic-gates{grid-template-columns:1fr;gap:18px}.magic-gate img{height:330px}.gate-copy p{min-height:0}.magical-hero{padding-top:35px}}

/* New two-generation magical entrance. Original translucent palace background remains unchanged. */
#intro{overflow:hidden;background:#071323;isolation:isolate}#intro .intro-scene{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at center,#283c4c 0%,#07101e 75%)}
#intro .intro-scene:before{content:'';position:absolute;inset:0;background:linear-gradient(#08142555,#081425b0),url('assets/land-palace.webp') center/cover;opacity:.62}
.intro-door{position:absolute;top:0;bottom:0;width:50.4%;z-index:4;background:repeating-linear-gradient(90deg,transparent 0 16%,#f6c87918 16.2% 16.7%,transparent 17% 34%),linear-gradient(110deg,#142537,#08121e 55%,#2c2831);border:8px ridge #b78d4c;box-shadow:inset 0 0 80px #000,0 0 40px #050a14;transition:transform 2.3s cubic-bezier(.2,.7,.2,1)}.intro-left{left:0;transform-origin:left}.intro-right{right:0;transform-origin:right}.intro-left:after,.intro-right:after{content:'✦';position:absolute;top:46%;font-size:40px;color:#e9c783;text-shadow:0 0 30px #ffc966}.intro-left:after{right:24px}.intro-right:after{left:24px}
.intro-halo{position:absolute;z-index:5;top:17%;color:#f9d78d;font-size:clamp(28px,5vw,70px);letter-spacing:.4em;text-shadow:0 0 25px #f9d78d;transition:opacity .6s}
.intro-wand{position:absolute;z-index:8;top:45%;left:50%;transform:translate(-50%,-50%);border:1px solid #f9d78d;background:#0a1623c9;border-radius:50%;width:clamp(110px,15vw,180px);height:clamp(110px,15vw,180px);color:#ffe7b0;font-size:24px;box-shadow:0 0 50px #f9c66a77;cursor:pointer;animation:wandglow 2s infinite alternate}.intro-wand span{font-size:clamp(36px,6vw,75px)}@keyframes wandglow{to{box-shadow:0 0 90px #f9c66aaa;transform:translate(-50%,-50%) scale(1.07)}}
.intro-reveal{position:relative;z-index:2;opacity:0;transform:scale(.94);transition:opacity 1.3s 1s,transform 2s 1s;text-align:center;width:min(96vw,1050px);padding:15px}.intro-duo{display:flex;justify-content:center;gap:16px}.intro-duo img{width:min(43vw,430px);height:clamp(190px,44vh,420px);object-fit:cover;object-position:top;border:2px solid #e2b86e;border-radius:18px;box-shadow:0 12px 40px #0008}.intro-reveal h2{font:700 clamp(32px,6vw,75px) Georgia,serif;color:#ffe0a0;margin:18px 0 8px;text-shadow:0 0 18px #000}.intro-reveal p{font:italic clamp(16px,2vw,24px) Georgia,serif;color:#ffe6b9;margin:0 auto;max-width:850px;line-height:1.4}.doors-open .intro-left{transform:perspective(800px) rotateY(-95deg)}.doors-open .intro-right{transform:perspective(800px) rotateY(95deg)}.doors-open .intro-reveal{opacity:1;transform:scale(1)}.doors-open .intro-wand,.doors-open .intro-halo{opacity:0;pointer-events:none}.intro-controls{z-index:9!important}#intro.finished{opacity:0;visibility:hidden;pointer-events:none}#intro[hidden]{display:none!important}
@media(max-width:600px){.intro-duo{gap:8px}.intro-duo img{width:44vw;height:36vh}.intro-reveal{padding:9px}.intro-reveal h2{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.intro-door,.intro-reveal,.intro-wand{animation:none;transition:none}}

/* V3: stars → imposing illustrated doors → persistent welcome scene. */
#land-background{background:linear-gradient(180deg,#071327b8,#0a1b2d9c 45%,#071327e8),url('assets/intro-library.webp') center center/cover no-repeat!important}
#land-background:after{background:radial-gradient(ellipse at 55% 28%,transparent 2%,#0814268a 96%)!important}
#intro{background:#050d20!important}
#intro .intro-sky{position:absolute;inset:0;z-index:10;background:linear-gradient(180deg,#050c22a6,#0b1b3d75),url('assets/intro-sky.webp') center/cover no-repeat;transition:opacity 1.5s ease,visibility 1.5s ease;overflow:hidden;pointer-events:none}
#intro .sky-title{position:absolute;top:17%;width:100%;text-align:center;color:#ffe1a0;font:700 clamp(35px,7vw,88px) Georgia,serif;text-shadow:0 4px 28px #000,0 0 20px #f7cb76;animation:sky-arrive 2s ease both}
#intro .sky-stars{position:absolute;inset:0;background-image:radial-gradient(2px 2px at 15% 20%,#fff 98%,transparent),radial-gradient(3px 3px at 74% 25%,#fff6c7 98%,transparent),radial-gradient(2px 2px at 42% 70%,#fff 98%,transparent),radial-gradient(2px 2px at 83% 68%,#fff9d9 98%,transparent);background-size:240px 180px;animation:star-shimmer 2.2s ease-in-out infinite alternate}
@keyframes star-shimmer{from{opacity:.35;filter:brightness(.75)}to{opacity:1;filter:brightness(1.5)}}@keyframes sky-arrive{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
#intro.sky-passed .intro-sky{opacity:0;visibility:hidden}
#intro .intro-scene{background:linear-gradient(#06112344,#06112399),url('assets/intro-library.webp') center/cover no-repeat!important}
#intro .intro-scene:before{background:linear-gradient(#07101c66,#0815239a),url('assets/intro-library.webp') center/cover no-repeat!important;opacity:1!important}
#intro .intro-arch{position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 0 75px 20px #020711}
#intro .intro-door{top:2%;bottom:2%;width:49.7%;border:0;box-shadow:inset 0 0 40px #0009,0 0 30px #0009;background:linear-gradient(90deg,#09112660,#0a173022),url('assets/intro-doors.webp') center/auto 100% no-repeat,linear-gradient(110deg,#142b50,#080e20)!important;transition:transform 2.7s cubic-bezier(.18,.72,.2,1)!important}
#intro .intro-left{background-position:center,left center,center!important;background-size:auto,200% 100%,auto!important}
#intro .intro-right{background-position:center,right center,center!important;background-size:auto,200% 100%,auto!important}
#intro .intro-left:after,#intro .intro-right:after{content:none!important}
#intro .intro-wand{width:110px;height:110px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:50%;background:#081326c9;box-shadow:0 0 55px #ffd67ba6;top:50%;transition:opacity .5s ease}
#intro .wand-shaft{display:block;font-size:68px;line-height:1;color:#ffe1a1;text-shadow:0 0 16px #ffe5a3;transform:rotate(-33deg)}
#intro .wand-shaft:after{content:'';position:absolute;width:8px;height:78px;background:linear-gradient(90deg,#a67632,#ffe8ac,#a26c27);border-radius:7px;top:45px;left:29px;box-shadow:0 0 13px #fbc76d;transform:rotate(-2deg)}
#intro .wand-hint{font-size:16px;position:absolute;right:12px;top:7px;color:#fff4cc}
#intro .intro-reveal{width:min(94vw,1050px);max-height:94vh;overflow:auto;background:linear-gradient(#0b1c3199,#0b1727cc);border:1px solid #e7c5848c;border-radius:24px;padding:18px 22px 22px;box-shadow:0 22px 90px #000b;transition:opacity 1.6s 1.4s,transform 2s 1.4s!important}
#intro .reveal-head{font:700 clamp(27px,5vw,53px) Georgia,serif;color:#ffe1a0;text-shadow:0 3px 18px #000;margin-bottom:14px}
#intro .intro-duo img{height:clamp(180px,46vh,460px);width:min(43vw,410px)}
#intro .intro-reveal p{margin:14px auto 12px}
#intro .continue-button{display:none;margin:12px auto 0;padding:12px 32px;background:linear-gradient(110deg,#ffe5ae,#d7a456)!important;color:#1a2234!important;border-radius:40px;font-weight:800}
#intro.doors-open .continue-button{display:block;animation:sky-arrive .8s 2s both}
#intro:not(.sky-passed) .intro-wand{opacity:0;pointer-events:none}
#intro .intro-controls{z-index:15!important}
@media(max-width:600px){#intro .intro-reveal{padding:12px 9px;max-height:85vh}#intro .intro-duo img{height:31vh;width:43vw}#intro .intro-wand{width:84px;height:84px}#intro .wand-shaft{font-size:47px}#intro .wand-shaft:after{height:54px;top:35px;left:20px;width:6px}#intro .intro-reveal p{font-size:15px}}
@media(prefers-reduced-motion:reduce){#intro .intro-sky{display:none}#intro .intro-wand{opacity:1!important;pointer-events:auto!important}}

/* LanulaLand: delicate intro enhancements — other site sections unchanged. */
#intro .intro-sky:before,#intro .intro-sky:after{content:"";position:absolute;inset:0;pointer-events:none;background-repeat:repeat;animation:labu-twinkle 2.9s ease-in-out infinite alternate}
#intro .intro-sky:before{background-image:radial-gradient(2px 2px at 12% 16%,#fff6d0 90%,transparent),radial-gradient(2px 2px at 63% 34%,#fff 90%,transparent),radial-gradient(3px 3px at 83% 78%,#ffdc88 90%,transparent);background-size:310px 240px;opacity:.65}
#intro .intro-sky:after{background-image:radial-gradient(2px 2px at 36% 42%,#fff 90%,transparent),radial-gradient(3px 3px at 79% 14%,#fff4b5 90%,transparent),radial-gradient(2px 2px at 17% 81%,#fff 90%,transparent);background-size:390px 290px;animation-delay:-1.6s;animation-duration:3.8s;opacity:.55}
#intro .sky-stars{animation:star-shimmer 1.65s ease-in-out infinite alternate}
@keyframes labu-twinkle{0%{opacity:.16;filter:brightness(.7)}45%{opacity:.8;filter:brightness(1.3)}100%{opacity:.3;filter:brightness(1.8)}}
#intro .door-brand{position:absolute;z-index:6;bottom:8%;left:50%;transform:translateX(-50%);white-space:nowrap;pointer-events:none;font:700 clamp(27px,4.7vw,64px) Georgia,serif;letter-spacing:.045em;color:#ffdd8d;text-shadow:0 2px 4px #281400,0 0 13px #ffca68,0 0 34px #ffca6880;animation:labu-gold 2.5s ease-in-out infinite alternate;transition:opacity .5s}
@keyframes labu-gold{from{filter:brightness(.85);text-shadow:0 0 8px #e9ad53,0 0 20px #dca14b70}to{filter:brightness(1.2);text-shadow:0 0 12px #ffe9b2,0 0 27px #ffcb65,0 0 52px #ffcb6588}}
#intro .door-mascots{position:absolute;inset:0;z-index:6;pointer-events:none;transition:opacity .5s}
#intro .door-cat,#intro .door-raven{position:absolute;display:block;filter:drop-shadow(0 5px 8px #000b);animation:labu-mascot 3s ease-in-out infinite alternate}
#intro .door-cat{left:16%;bottom:3%;font-size:clamp(42px,7vw,95px)}
#intro .door-raven{right:15%;top:8%;font-size:clamp(38px,6vw,80px);animation-delay:-1.5s}
@keyframes labu-mascot{to{transform:translateY(-5px);filter:drop-shadow(0 0 14px #e6b56888)}}
#intro.doors-open .door-brand,#intro.doors-open .door-mascots{opacity:0}
#intro.doors-open .intro-reveal{animation:labu-reveal-sparkle 4s 3.2s ease-in-out infinite alternate}
@keyframes labu-reveal-sparkle{from{box-shadow:0 22px 90px #000b,0 0 10px #edc78133}to{box-shadow:0 22px 90px #000b,0 0 35px #edc78199}}
#intro.doors-open .reveal-head{animation:labu-gold 3s 3s ease-in-out infinite alternate}
@media(max-width:600px){#intro .door-brand{bottom:13%;font-size:clamp(25px,6vw,37px)}#intro .door-cat{left:5%;bottom:4%}#intro .door-raven{right:5%;top:8%}}
@media(prefers-reduced-motion:reduce){#intro .intro-sky:before,#intro .intro-sky:after,#intro .sky-stars,#intro .door-brand,#intro .door-cat,#intro .door-raven,#intro.doors-open .intro-reveal,#intro.doors-open .reveal-head{animation:none!important}}

/* V5: brighter golden night, uninterrupted full-height doors, unhurried welcome. */
#intro .intro-sky{background:linear-gradient(180deg,#050b1b4d,#0b1b3d26),url('assets/intro-sky.webp') center/cover no-repeat!important}
#intro .intro-sky:before{opacity:.85!important;animation-duration:2.2s!important}
#intro .intro-sky:after{opacity:.75!important;animation-duration:3.1s!important}
#intro .intro-door{top:0!important;bottom:0!important;height:100%!important;width:50.1%!important;border:0!important;border-radius:0!important}
#intro .door-brand,#intro .door-mascots{display:none!important}
#intro .intro-arch{box-shadow:none!important}
/* Let visitors admire the Labu greeting before the Continue button appears. */
#intro.doors-open .continue-button{animation:sky-arrive .8s 7s both!important}

/* LanulaLand: show complete characters on entrance cards */
.magic-gate img{height:auto;aspect-ratio: 1.25 / 1;object-fit:contain;object-position:center;background:#15253a}
@media(max-width:720px){.magic-gate img{height:auto;aspect-ratio:1.25 / 1;object-fit:contain}}


/* LanulaLand layout refinement — October 2026 */
.kids-world-main{max-width:1200px;margin:0 auto;padding:28px 22px 72px}
.kids-world-page .kids-world-cover{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:32px;margin:12px auto 34px;padding:22px;border:1px solid #f8d580a8;border-radius:28px;background:linear-gradient(135deg,#10263fe8,#101b32ed);box-shadow:0 24px 65px #0008}
.kids-world-page .kids-world-cover>img{display:block;width:100%;height:auto;max-height:660px;object-fit:contain;object-position:center;border:2px solid #f8d58099;border-radius:19px;background:#0b1a30;box-shadow:0 12px 32px #0007}
.kids-world-page .kids-world-cover>div{padding:12px 10px;text-align:left}
.kids-world-page .kids-world-cover h1{font:700 clamp(32px,4vw,54px)/1.15 Georgia,serif;color:#ffe0a3;margin:14px 0}
.kids-world-page .kids-world-cover p{font-size:clamp(16px,1.7vw,20px);line-height:1.6;color:#fff1da}
.kids-world-page .section{padding:8px 0 32px}
.kids-world-page .section h2{text-align:left;margin:0 0 14px}
.kids-world-page .games{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.kids-world-page .kids-return{display:inline-block;margin:16px 0;padding:12px 22px;border:1px solid #f8d5809c;border-radius:22px;background:#102b43e8;color:#ffe0a3}
@media(min-width:900px){.kids-world-page .kids-world-main{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);column-gap:30px;align-items:center}.kids-world-page .kids-world-cover{display:block;grid-column:1;grid-row:1;margin:12px 0}.kids-world-page .kids-world-cover>div{text-align:center}.kids-world-page .section{grid-column:2;grid-row:1}.kids-world-page .section h2{text-align:center}.kids-world-page .games{grid-template-columns:1fr}.kids-world-page .kids-return{grid-column:1/-1;justify-self:center}}
@media(max-width:720px){.kids-world-main{padding:16px 14px 40px}.kids-world-page .kids-world-cover{grid-template-columns:1fr;gap:14px;padding:14px}.kids-world-page .kids-world-cover>img{max-height:none}.kids-world-page .games{grid-template-columns:1fr}.kids-world-page .section h2{text-align:center}}
/* Full-screen magic doors: prevent lower page content peeking through. */
html:has(body.intro-open),body.intro-open{overflow:hidden!important}
#intro:not(.finished){position:fixed!important;inset:0!important;width:100%!important;height:100vh!important;height:100dvh!important;overflow:hidden!important;z-index:9999!important}
#intro .intro-scene{inset:0!important;overflow:hidden!important}
#intro .intro-door{top:0!important;bottom:0!important;height:100%!important;min-height:100%!important}
#intro .intro-controls{bottom:max(18px,env(safe-area-inset-bottom))!important}


/* LanulaLand 28.10: complete doors and fine sparkling stars */
#intro .intro-scene{background:#071323!important;}
#intro .intro-scene::before{background:none!important;opacity:0!important;}
#intro .intro-door{top:0!important;bottom:0!important;height:100%!important;min-height:100%!important;width:50.1%!important;border:0!important;border-radius:0!important;background-image:url('assets/intro-doors-full.webp')!important;background-repeat:no-repeat!important;background-size:200% 100%!important;box-shadow:none!important;}
#intro .intro-left{background-position:left center!important;}
#intro .intro-right{background-position:right center!important;}
#intro .intro-sky .sky-stars{background-image:radial-gradient(circle at center,#fff 0 1px,transparent 2px),radial-gradient(circle at center,#ffe7a4 0 1px,transparent 2px)!important;background-size:97px 113px,149px 127px!important;opacity:.7;animation:labu-fine-twinkle 2.8s ease-in-out infinite alternate!important;}
#intro .intro-sky::before,#intro .intro-sky::after{background-image:linear-gradient(transparent calc(50% - .6px),#fff6d2 50%,transparent calc(50% + .6px)),linear-gradient(90deg,transparent calc(50% - .6px),#fff6d2 50%,transparent calc(50% + .6px))!important;background-size:173px 193px!important;opacity:.5!important;animation:labu-fine-twinkle 3.4s ease-in-out infinite alternate!important;}
#intro .intro-sky::after{background-position:81px 63px!important;background-size:229px 211px!important;animation-delay:-1.5s!important;}
@keyframes labu-fine-twinkle{from{opacity:.25;filter:brightness(.85)}to{opacity:.75;filter:brightness(1.35)}}

/* 28 Oct final: restore Labu duo backdrop behind opened doors; preserve full-height door image. */
#intro .intro-scene{background:linear-gradient(180deg,rgba(6,17,35,.25),rgba(6,17,35,.5)),url('assets/intro-library.webp') center center/cover no-repeat!important;}
#intro .intro-scene::before{background:linear-gradient(180deg,rgba(6,17,35,.1),rgba(6,17,35,.28)),url('assets/intro-library.webp') center center/cover no-repeat!important;opacity:1!important;pointer-events:none;}
/* Replace the linear-gradient grid with sparse tiny radial stars. */
#intro .intro-sky::before{background-image:radial-gradient(circle at 21% 34%,#fff7d9 0 1.3px,transparent 2.5px),radial-gradient(circle at 74% 67%,#ffe5a1 0 1.5px,transparent 3px),radial-gradient(circle at 42% 82%,#ffffff 0 1px,transparent 2px)!important;background-size:283px 227px,347px 293px,401px 311px!important;background-repeat:repeat!important;}
#intro .intro-sky::after{background-image:radial-gradient(circle at 64% 23%,#ffffff 0 1.2px,transparent 2.5px),radial-gradient(circle at 13% 71%,#ffe9b3 0 1.4px,transparent 2.8px),radial-gradient(circle at 85% 45%,#fff8e7 0 1px,transparent 2px)!important;background-size:311px 269px,379px 317px,457px 353px!important;background-repeat:repeat!important;}

/* 2026-10-28: Festpalast only. Keep existing home page layout intact. */
.party-bridge .festpalast-banner{position:relative;isolation:isolate;overflow:hidden;min-height:238px;display:grid;grid-template-columns:minmax(0,47%) minmax(0,53%);padding:0;border:2px solid #dfb96d;border-radius:22px;background:radial-gradient(ellipse at 75% 20%,#2b3757,#0c1a30 72%);box-shadow:0 15px 45px #0008,inset 0 0 28px #e7b95e22}
.party-bridge .festpalast-art{display:block;min-height:238px;background:linear-gradient(90deg,transparent 65%,#0c1a30 100%),url('assets/festpalast-modern.webp') center/cover no-repeat}
.party-bridge .festpalast-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;padding:22px clamp(18px,4vw,48px);z-index:1}
.party-bridge .festpalast-copy strong{font:700 clamp(29px,4vw,47px)/1.08 Georgia,serif;color:#ffdc98;text-shadow:0 3px 15px #000b}
.party-bridge .festpalast-copy small{font-size:clamp(14px,1.5vw,18px);line-height:1.5;color:#fff1dd}
.party-bridge .festpalast-enter{margin-top:8px;display:inline-block;border-radius:28px;background:linear-gradient(110deg,#ffe5a2,#dcae60);color:#12213a;padding:11px 24px;font-weight:800;box-shadow:0 0 20px #f5cb7550}
.party-bridge .festpalast-banner:hover .festpalast-enter{filter:brightness(1.1)}
@media(max-width:600px){.party-bridge .festpalast-banner{grid-template-columns:1fr}.party-bridge .festpalast-art{min-height:190px;background-position:center 34%}.party-bridge .festpalast-copy{padding:20px 24px 25px}}
