*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:#09234d;background:#fff;font-family:"Microsoft YaHei","PingFang SC",sans-serif}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffae36;outline-offset:5px}button:disabled{opacity:.65;cursor:default}.world{height:min(760px,58vw);min-height:640px;position:relative;isolation:isolate;background:#a9ddff url('assets/world.jpg') center/cover no-repeat;overflow:hidden}header{height:72px;max-width:1200px;margin:auto;display:flex;align-items:center;gap:32px;padding:0 24px;position:relative;z-index:10;background:#dff4ff35;border-radius:0 0 20px 20px}.brand{font-size:27px;font-weight:900;display:flex;align-items:center;white-space:nowrap;gap:6px}.brand img{width:55px;height:58px;object-fit:contain}nav{display:flex;gap:18px}nav a{padding:10px 24px;font-size:15px;font-weight:700}nav .active{background:#ffffffcf;color:#1675ff;border-radius:25px}.search{display:flex;gap:9px;align-items:center;border-radius:30px;background:#ffffffa6;padding:10px 15px;margin-left:auto;font-size:12px}.search input{border:0;background:none;width:125px;color:#153b66}#sound{border:0;background:#ffffffb0;border-radius:25px;color:#2863a6;padding:10px;font-size:11px;white-space:nowrap}.headline{position:absolute;top:84px;left:32%;width:36%;text-align:center;z-index:3;pointer-events:none}h1{font-weight:1000;font-size:clamp(43px,4.8vw,66px);line-height:1.08;letter-spacing:-2px;margin:0;text-shadow:0 2px 0 #e5f5ff}h1+p{font-size:17px;letter-spacing:1px;color:#255890;margin:15px -25px 0;font-weight:600}.surprise{position:absolute;width:410px;height:330px;left:50%;top:44%;transform:translateX(-50%);perspective:1000px;z-index:5}.mystery{position:absolute;left:100px;top:0;width:280px;height:280px;border:0;background:none;padding:0;z-index:2;filter:drop-shadow(0 10px 15px #ffa50050)}.mystery img{width:100%;height:100%;object-fit:contain;pointer-events:none}.mascot{position:absolute;left:-50px;top:20px;width:245px;height:255px;object-fit:contain;z-index:1;transform:rotate(-5deg);animation:peek 6s ease-in-out infinite}.surprise.near .mystery{animation:wobble .17s infinite}.surprise.exploding .mystery{animation:burst .45s ease-in forwards}.surprise.revealed .mystery{opacity:0;pointer-events:none}.surprise.revealed .mascot{left:-65px;top:80px}.draw{position:absolute;z-index:7;bottom:35px;left:50%;transform:translateX(-50%);border:3px solid #ffe7a3;border-radius:50px;padding:17px 55px;font-size:24px;font-weight:900;color:white;background:#ff8826;box-shadow:0 5px 0 #cc6223,0 0 25px #fff0bd;white-space:nowrap}.draw:hover{filter:brightness(1.1)}.island{position:absolute;z-index:4;border:1px solid #fff;border-radius:12px;background:#fff3dfe8;color:#153d6c;box-shadow:0 4px 0 #a4886055;padding:9px 20px;font-size:18px;font-weight:900;transition:transform .2s}.island:hover{transform:translateY(-6px);background:white}.puzzle{left:17%;top:28%}.chase{left:7%;top:52%}.survivor{left:12%;top:76%}.tower{right:17%;top:35%}.music{right:7%;top:55%}#confetti{position:absolute;width:760px;height:610px;left:-175px;top:-170px;pointer-events:none;z-index:8}.reveal-card{position:absolute;z-index:6;left:72px;top:-35px;width:290px;min-height:305px;padding:16px 18px;background:#fffefa;border:3px solid #ffe0a0;border-radius:24px;text-align:center;box-shadow:0 18px 40px #18457435;animation:flip-in .65s cubic-bezier(.2,.7,.2,1) both}.reveal-card[hidden]{display:none}.reveal-card>strong{font-size:16px;color:#bd6110}.reveal-card .game-art{height:104px;border-radius:12px;margin:10px 0 0}.reveal-card h2{margin:9px 0 3px;font-size:23px}.reveal-card p{font-size:11px;color:#6c7e92;margin:5px 0 10px}.result-actions{display:flex;gap:10px}.result-actions button{flex:1;border:0;background:#1876ff;color:white;font-size:15px;border-radius:20px;padding:9px}.result-actions #again{background:#fff0d5;color:#a06515}.reveal-card small{font-size:10px;display:block;color:#66768b;margin-top:8px;line-height:1.4}#reset{background:none;border:0;color:#597ca5;font-size:11px;margin-top:8px;padding:6px}.world.has-result .draw{visibility:hidden}main{max-width:1280px;margin:auto;padding:22px 35px 25px}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading h2{font-size:24px;margin:0}.section-heading a{font-size:12px;color:#6281ac}.categories{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.categories button{border:0;border-radius:20px;padding:8px 16px;background:#eff6ff;color:#5681b3;font-size:12px}.categories .selected{background:#1877ff;color:white}.game-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.game-card{border:0;box-shadow:0 3px 12px #245a9610;border-radius:14px;background:white;padding:0;overflow:hidden;color:inherit;text-align:left;transition:transform .2s}.game-card:hover{transform:translateY(-6px)}.game-art{height:150px;overflow:hidden}.game-art img{width:100%;height:100%;object-fit:cover}.game-info{padding:12px}.game-info h3{font-size:17px;margin:0 0 8px}.game-tag{font-size:11px;border-radius:5px;padding:3px 8px;background:#eaf2ff;color:#608aca}.game-status{display:block;text-align:center;margin-top:13px;border-radius:25px;padding:8px;background:#1977ff;color:#fff;font-size:12px}#count{font-size:11px;color:#6d829d;margin:12px 0 0}.bottom-panels{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px}.bottom-panels article{border-radius:22px;padding:22px;background:#fff8ea}.bottom-panels h2{font-size:22px;margin:0 0 18px}.challenge-inner{display:flex;align-items:center;gap:15px;background:#ffffffce;padding:13px;border-radius:14px}.challenge-inner img{width:75px;height:75px;object-fit:cover;border-radius:13px}.challenge-inner h3{margin:0;font-size:19px}.challenge-inner p{font-size:12px;color:#7088a4}.challenge-inner button{margin-left:auto;border:0;padding:10px 20px;border-radius:22px;background:#1877ff;color:white;font-size:12px;white-space:nowrap}.bottom-panels .upcoming{background:#f0efff;display:flex;align-items:center;overflow:hidden;padding-right:5px}.upcoming h2{font-size:20px}.upcoming p,.upcoming span{font-size:12px;color:#7282a8}.upcoming img{width:150px;height:150px;object-fit:contain;transform:rotate(10deg)}footer{max-width:1210px;margin:auto;padding:15px 0 25px;color:#8194ad;font-size:12px;display:flex;gap:24px}.empty{padding:35px;color:#6583a4;grid-column:1/-1;text-align:center}@keyframes peek{50%{transform:translate(-8px,-6px) rotate(-10deg)}}@keyframes wobble{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg) scale(1.025)}}@keyframes burst{40%{transform:scale(1.15)}100%{transform:scale(.1) rotate(25deg);opacity:0}}@keyframes flip-in{0%{transform:rotateY(-100deg) scale(.65);opacity:0}100%{transform:rotateY(0) scale(1);opacity:1}}@media(max-width:950px){header{gap:10px}.brand{font-size:22px}nav{gap:0}nav a{padding:10px 14px}.search input{width:90px}.headline{top:90px}.world{min-height:625px}.island{font-size:14px;padding:8px 12px}.surprise{top:43%}.bottom-panels{grid-template-columns:1fr}.game-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.world{min-height:700px;height:700px;background-size:auto 700px}.brand{font-size:21px}.brand img{width:38px;height:42px}header{padding:0 14px;height:61px;gap:7px}nav{margin-left:auto}nav a{font-size:13px;padding:8px 10px}nav a:last-child,.search,#sound{display:none}.headline{top:85px;left:15%;width:70%}h1{font-size:49px}h1+p{font-size:13px;margin-top:15px}.surprise{top:295px;width:340px;height:310px}.mystery{left:92px;width:245px;height:245px}.mascot{left:-9px;width:190px;height:230px;top:7px}.island{font-size:12px;padding:7px 10px}.puzzle{left:6%;top:36%}.tower{right:5%;top:36%}.chase{left:4%;top:75%}.survivor{left:10%;top:84%}.music{right:5%;top:78%}.draw{bottom:29px;font-size:20px;padding:15px 37px}.reveal-card{left:38px;top:-30px;width:270px}.surprise.revealed .mascot{left:-30px}.game-grid{gap:12px}.game-art{height:115px}main{padding:22px 16px}.section-heading h2{font-size:23px}.categories{gap:5px}.categories button{padding:8px 12px}.game-info{padding:10px}.game-info h3{font-size:15px}.bottom-panels article{padding:17px}.bottom-panels h2{font-size:20px}.challenge-inner{gap:10px;padding:10px}.challenge-inner img{width:57px;height:57px}.challenge-inner h3{font-size:16px}.challenge-inner p{font-size:10px}.challenge-inner button{padding:9px 12px;font-size:11px}.upcoming img{width:100px;height:120px}.upcoming h2{font-size:17px}.upcoming p{font-size:11px}footer{padding:10px 18px 25px}.reveal-card .game-art{height:95px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.world{height:min(680px,51vw);min-height:640px}.surprise{top:40%}.game-grid{grid-template-columns:repeat(6,1fr)}.game-art{height:125px}.game-info h3{font-size:15px}@media(max-width:950px){.game-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.world{height:700px;min-height:700px}.surprise{top:295px}.game-grid{grid-template-columns:repeat(2,1fr)}}
/* Full-width glass navigation and independently readable mobile destinations. */
header{width:100%;max-width:none;border-radius:0;background:rgba(224,245,255,.28);padding-inline:max(24px,calc((100vw - 1200px)/2 + 24px));backdrop-filter:blur(12px);border-bottom:1px solid #ffffff30}
.mascot{left:35px;top:18px;transform-origin:85% 85%;animation:curious-peek 7s ease-in-out infinite;will-change:transform,opacity}
.surprise.near .mascot{animation:hello-peek .7s cubic-bezier(.2,.8,.3,1) forwards}
.surprise.exploding .mascot{animation:surprised-hop .5s ease-out forwards}
.surprise.revealed .mascot{left:35px;top:55px;animation:result-peek 1.2s ease-out forwards}
#confetti{width:1000px;height:850px;left:-295px;top:-250px}
@keyframes curious-peek{0%,12%,100%{transform:translate(95px,28px) rotate(12deg) scale(.8);opacity:0}22%{opacity:1;transform:translate(-62px,0) rotate(-12deg)}30%,45%{opacity:1;transform:translate(-94px,-8px) rotate(-17deg)}52%{transform:translate(-78px,0) rotate(-8deg);opacity:1}65%,90%{transform:translate(95px,28px) rotate(12deg) scale(.8);opacity:0}}
@keyframes hello-peek{from{transform:translate(30px,15px) rotate(8deg);opacity:.4}65%{transform:translate(-110px,-14px) rotate(-20deg);opacity:1}to{transform:translate(-95px,-4px) rotate(-14deg);opacity:1}}
@keyframes surprised-hop{0%{transform:translate(-95px,-4px) rotate(-14deg);opacity:1}45%{transform:translate(-130px,-35px) rotate(-24deg);opacity:1}100%{transform:translate(-100px,0) rotate(-8deg);opacity:1}}
@keyframes result-peek{from{transform:translate(20px,20px) rotate(5deg);opacity:0}65%{transform:translate(-116px,-10px) rotate(-18deg);opacity:1}to{transform:translate(-100px,0) rotate(-12deg);opacity:1}}
@media(max-width:600px){header{padding-inline:14px}.world{height:780px;min-height:780px;background-size:auto 780px}.surprise{top:345px}.mascot,.surprise.revealed .mascot{left:55px;top:10px;width:190px;height:230px}.surprise.revealed .mascot{top:70px}.island{display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px 9px 7px;border-radius:14px;background:#ffffffe8;box-shadow:0 4px 12px #164b7725;font-size:11px;min-width:74px}.island::before{content:"";display:block;width:52px;height:40px;background-position:center;background-size:cover;border-radius:9px}.puzzle{left:5%;top:29%}.puzzle::before{background-image:url('assets/blocks.webp')}.tower{right:5%;top:29%}.tower::before{background-image:url('assets/tower.png')}.chase{left:3%;top:68%}.chase::before{background-image:url('assets/chase.png')}.survivor{left:5%;top:80%}.survivor::before{background-image:url('assets/survivor.png')}.music{right:3%;top:71%}.music::before{background-image:url('assets/music.png')}.draw{bottom:24px}.reveal-card{top:-25px}.world.has-result .islands{opacity:.3;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.mascot,.surprise.near .mascot,.surprise.revealed .mascot{animation:none!important;opacity:1;transform:translate(-80px,0) rotate(-8deg)}}
/* Game detail modal */
.game-detail{width:min(1080px,calc(100vw - 36px));max-height:min(720px,calc(100dvh - 36px));padding:0;border:0;border-radius:28px;background:#fff;box-shadow:0 28px 90px #061c465e;color:#0b2852}.game-detail::backdrop{background:#0928527a;backdrop-filter:blur(8px)}.detail-shell{position:relative;display:grid;grid-template-columns:55% 45%;min-height:620px;overflow:hidden}.detail-close{position:absolute;z-index:4;right:18px;top:14px;border:0;background:#f2f7ff;color:#4873a9;width:38px;height:38px;border-radius:50%;font-size:30px;line-height:32px}.detail-close:hover{background:#e4efff;color:#176eea}.detail-media{padding:30px 18px 22px 30px;background:#f7fbff}.detail-hero{height:420px;border-radius:18px;overflow:hidden;background:#eaf4ff center/cover no-repeat;position:relative;box-shadow:inset 0 0 0 1px #d9e9ff}.detail-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,#09296720)}.preview-button{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:82px;height:82px;border:3px solid #ffffffb8;border-radius:50%;background:#0b37769c;color:white;font-size:34px;padding:0 0 0 5px;backdrop-filter:blur(4px)}.detail-gallery{height:105px;display:flex;align-items:center;gap:10px;padding:16px 0 0}.gallery-arrow{width:28px;height:54px;border:0;background:transparent;color:#406a9d;font-size:40px;line-height:1}.detail-thumbnails{display:flex;gap:10px;flex:1;min-width:0;overflow:hidden}.detail-thumb{padding:0;flex:1;min-width:0;height:66px;border:2px solid transparent;border-radius:10px;background:#e8f2ff center/cover no-repeat;overflow:hidden}.detail-thumb.selected{border-color:#2479ff;box-shadow:0 0 0 2px #d7e7ff}.detail-info{padding:39px 36px 20px;overflow:auto}.detail-title-row{display:flex;align-items:center;gap:16px;padding-right:35px}.detail-title-row>img{width:92px;height:92px;border-radius:16px;object-fit:cover}.detail-title-row h2{margin:0 0 10px;font-size:34px;letter-spacing:-1px}.detail-tags{display:flex;flex-wrap:wrap;gap:7px}.detail-tags span{background:#edf4ff;color:#4d70a5;border-radius:7px;padding:5px 10px;font-size:13px}.detail-description{font-size:17px;line-height:1.75;color:#34567f;margin:24px 0 16px;min-height:110px}.favorite{border:1px solid #dae7fb;background:white;color:#244c82;border-radius:24px;padding:9px 15px;font-weight:700}.favorite img{width:19px;height:19px;vertical-align:middle;margin-right:5px}.favorite[aria-pressed="true"]{background:#fff3db;color:#b66513;border-color:#ffd68b}.detail-actions{display:flex;gap:12px;margin-top:20px}.detail-play{flex:1;border:0;border-radius:24px;padding:16px;color:white;background:#2378ff;font-size:17px;font-weight:800;box-shadow:0 5px 0 #1456c5}.detail-play:active{transform:translateY(3px);box-shadow:0 2px 0 #1456c5}.detail-mobile{width:92px;border:2px solid #2177ff;border-radius:18px;color:#1768e9;background:white;font-weight:700}.detail-mobile img{display:block;width:25px;height:25px;object-fit:contain;margin:0 auto 3px}.detail-availability{font-size:12px;color:#788fae;margin:12px 0 16px}.related{border-top:1px solid #e3edf9;padding-top:15px}.related h3{font-size:17px;margin:0 0 12px}.related-list{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.related-card{padding:0;border:0;background:none;color:#12335c;text-align:left;font-size:11px;font-weight:700;overflow:hidden}.related-card img{width:100%;aspect-ratio:1;border-radius:10px;display:block;object-fit:cover;margin-bottom:5px}.related-card:hover img{outline:3px solid #78adff}.game-card{cursor:pointer}@media(max-width:760px){.game-detail{width:100vw;max-height:100dvh;height:100dvh;border-radius:0}.detail-shell{display:block;min-height:100%;overflow:auto}.detail-media{padding:54px 18px 18px}.detail-hero{height:min(54vw,300px)}.detail-gallery{height:92px}.detail-info{padding:20px 22px 28px;overflow:visible}.detail-title-row>img{width:72px;height:72px}.detail-title-row h2{font-size:26px}.detail-description{font-size:15px;min-height:0;margin:18px 0}.detail-actions{margin-top:16px}.detail-play{font-size:15px;padding:14px}.detail-mobile{width:84px}.detail-close{top:12px;right:14px;position:fixed}.related-list{gap:8px}.game-detail[open]{display:block}}@media(prefers-reduced-motion:reduce){.game-detail{scroll-behavior:auto}}
.ui-icon{width:36px;height:36px;object-fit:contain;vertical-align:middle;flex-shrink:0;margin-right:9px}.section-heading h2,#challenge h2,.upcoming h2{display:flex;align-items:center}.draw{display:flex;align-items:center;justify-content:center;gap:10px}.draw .ui-icon{width:40px;height:40px;margin:0}.category-icon{width:23px;height:23px;object-fit:contain;margin-right:5px}.categories button{display:inline-flex;align-items:center;justify-content:center}.island::before{background-size:contain;background-repeat:no-repeat}.puzzle::before{background-image:url('assets/icons/puzzle.webp')!important}.chase::before{background-image:url('assets/icons/chase.webp')!important}.survivor::before{background-image:url('assets/icons/survivor.webp')!important}.tower::before{background-image:url('assets/icons/tower.webp')!important}.music::before{background-image:url('assets/icons/music.webp')!important}@media(max-width:600px){.island::before{width:52px;height:44px;background-size:contain;border-radius:0}.ui-icon{width:29px;height:29px;margin-right:7px}.draw .ui-icon{width:33px;height:33px}.categories{gap:6px}.categories button{padding:6px 10px}.category-icon{width:21px;height:21px}.upcoming h2 .ui-icon{width:30px}}
.upcoming h2 .ui-icon{width:36px;height:36px;transform:none}.upcoming>div{min-width:0}.upcoming>img{flex-shrink:0}@media(max-width:600px){.upcoming h2 .ui-icon{width:29px;height:29px}}
.search input:focus,.search input:focus-visible{outline:0;box-shadow:none}
.detail-hero::after{background:linear-gradient(180deg,transparent 55%,#09296716)}.preview-button{display:none}.favorite{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;transition:transform .18s,background .18s,border-color .18s}.favorite svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.favorite:hover{transform:translateY(-2px);border-color:#85b5ff;color:#176eea}.favorite[aria-pressed="true"] svg{fill:currentColor;stroke:currentColor}.detail-mobile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:transform .18s,background .18s}.detail-mobile svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.2}.detail-mobile:hover:not(:disabled){transform:translateY(-2px);background:#edf5ff}.detail-mobile span{font-size:12px}.related{border-top:0;padding-top:7px}.related h3{display:flex;align-items:center;gap:8px}.related h3::after{content:"点一下看看";font-size:11px;font-weight:400;color:#7b94b5}.related-list{display:flex;gap:12px;overflow-x:auto;padding:3px 2px 6px;scroll-snap-type:x proximity;scrollbar-width:none}.related-list::-webkit-scrollbar{display:none}.related-card{flex:0 0 74px;scroll-snap-align:start;transition:transform .18s,color .18s}.related-card img{border-radius:13px;box-shadow:0 4px 11px #2d629d22;transition:transform .18s,box-shadow .18s}.related-card:hover{color:#1675ff;transform:translateY(-4px)}.related-card:hover img{outline:0;box-shadow:0 8px 16px #1b71e049;transform:rotate(-2deg)}.related-card:focus-visible{outline:2px solid #1675ff;outline-offset:4px}
