*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#191d29;color:#f2e8d5;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;position:relative}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #f3c77e;outline-offset:5px}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.76' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.4' filter='url(%23n)'/%3E%3C/svg%3E");z-index:5}.stars{pointer-events:none;position:absolute;inset:0 0 auto;height:650px;background:radial-gradient(circle at 86% 34%,#35374b55,transparent 30%),radial-gradient(circle at 12% 4%,#38403944,transparent 37%)}.masthead,main{max-width:1256px;margin:auto;padding-left:48px;padding-right:48px}.masthead{height:110px;display:flex;justify-content:space-between;align-items:center;position:relative}.brand{display:flex;align-items:center;gap:11px;font-size:10px;letter-spacing:2px;line-height:1.6}.brand b{font-size:11px;font-weight:600;letter-spacing:1.9px}.header-right{display:flex;align-items:center;gap:27px}.season{font-size:10px;letter-spacing:2px;color:#b8b6b1}.lang{border:1px solid #7e7b704f;background:transparent;color:#eee1c7;border-radius:50%;width:36px;height:36px;font-size:11px;cursor:pointer}.intro{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;min-height:370px;margin-bottom:50px;position:relative}.eyebrow{color:#c4aa7b;font-size:10px;letter-spacing:2.2px;display:flex;align-items:center;gap:10px}.eyebrow span{width:18px;height:1px;background:#bc9f6c}h1{font-family:Georgia,"Songti SC",serif;font-weight:400;letter-spacing:-2px;font-size:60px;line-height:1.24;margin:20px 0}h1 em{display:block;font-style:normal;color:#e7c38a}#intro-text{color:#bab9b7;font-size:14px;line-height:1.95;margin:20px 0 28px}.enter{font-size:13px;border-bottom:1px solid #e3c38779;padding:12px 0;display:inline-flex;gap:42px;color:#e8d1a8}.enter span:last-child{font-size:22px;line-height:16px}.moon-scene{position:relative;height:340px;display:flex;justify-content:center;align-items:center}.moon-scene svg{width:400px;height:320px;position:relative;z-index:1}.moon{position:absolute;width:181px;height:181px;top:25px;left:50%;transform:translateX(-48%);border-radius:50%;background:radial-gradient(circle at 62% 25%,#ebd29e,#d7bd8a 60%,#c4ab7e);box-shadow:0 0 80px #e0c68e12}.moon:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 64% 24%,#9b835933 0 10%,transparent 11%),radial-gradient(ellipse at 28% 45%,#9b835922 0 13%,transparent 14%),radial-gradient(ellipse at 58% 70%,#9b835922 0 7%,transparent 8%);border-radius:50%}.orbit{position:absolute;border:1px solid #a19b8020;border-radius:50%;width:310px;height:310px;top:0;left:50%;transform:translateX(-50%)}.orbit-b{width:370px;height:370px;top:-30px;border-style:dashed;border-color:#a19b8016}.scene-caption{position:absolute;bottom:2px;font-size:8px;letter-spacing:2.8px;color:#a09b8f}.float-ghost{animation:float 5s ease-in-out infinite;transform-origin:50% 50%}@keyframes float{50%{transform:translateY(-9px)}}.collection{scroll-margin-top:24px}.collection-head{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e1cca725;padding-top:25px;margin-bottom:24px}.collection-head h2{font-size:16px;font-weight:500;margin:0;letter-spacing:1px}.collection-head>span{font-size:10px;letter-spacing:1.3px;color:#959790}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.game-card{display:block;overflow:hidden;background:#222634;border:1px solid #c4b9941e;border-radius:15px;transition:transform .22s,box-shadow .22s,border-color .22s}.game-card:hover{transform:translateY(-5px);border-color:#e1c48a63;box-shadow:0 15px 35px #06081033}.art{height:180px;position:relative;overflow:hidden;display:grid;place-items:center}.art svg{width:100%;height:100%;transition:transform .3s}.game-card:hover .art svg{transform:scale(1.035)}.number{position:absolute;left:18px;top:16px;font-size:9px;letter-spacing:1.3px;color:#f7eedc88}.tag{position:absolute;right:16px;top:14px;color:#eee2cd;background:#1b20262b;border:1px solid #e8dfc321;border-radius:20px;padding:5px 9px;font-size:9px;letter-spacing:.4px}.card-copy{padding:20px 21px 19px}.card-kicker{font-size:9px;letter-spacing:1.9px;color:#baaa8c;margin:0 0 9px}.card-title{font-size:21px;font-family:Georgia,"Songti SC",serif;font-weight:400;margin:0 0 11px}.card-desc{color:#b3b5ba;font-size:12px;line-height:1.8;margin:0;min-height:43px}.card-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ded4bb12;margin-top:18px;padding-top:13px;font-size:10px;color:#9d9fa7}.card-foot b{font-size:12px;font-weight:500;color:#e9cd98}.arrow{font-size:19px;margin-left:10px}footer{display:flex;justify-content:space-between;align-items:center;padding:38px 0 32px;margin-top:24px;border-top:1px solid #e1cca718;color:#a7a49d}footer>span:first-child{font-size:8px;letter-spacing:2px}footer p{font-size:11px}.footer-star{color:#ddc38e;font-size:21px}dialog{border:0;padding:0;background:#171b25;color:#f1e7d4;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;position:fixed;inset:0}dialog::backdrop{background:#171b25}.player-bar{height:54px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff15}.player-bar button{border:0;background:transparent;color:#e7c795;cursor:pointer;padding:10px 0;font-size:12px}.player-bar strong{font-weight:500;font-size:13px}.player-bar a{font-size:11px;color:#bdbab0}.frame-wrap{height:calc(100dvh - 54px)}iframe{width:100%;height:100%;border:0;background:#171b25}body.playing{overflow:hidden}@media(min-width:1400px){.intro{min-height:410px;margin-bottom:55px}.art{height:198px}}@media(max-width:900px){.masthead,main{padding-left:28px;padding-right:28px}.grid{gap:17px}.card-copy{padding:17px}.card-title{font-size:18px}.art{height:150px}h1{font-size:46px}.intro{grid-template-columns:1.1fr 1fr}.moon-scene{transform:scale(.85);transform-origin:center}.season{font-size:9px;letter-spacing:1px}.card-desc{min-height:65px}}@media(max-width:640px){.masthead,main{padding-left:22px;padding-right:22px}.masthead{height:85px}.season{display:none}.intro{display:block;min-height:0;margin-bottom:35px}.intro-copy{padding-top:20px}.eyebrow{font-size:8px;letter-spacing:1.8px}h1{font-size:43px;letter-spacing:-1.2px;margin:17px 0}#intro-text{font-size:12px;margin:18px 0;line-height:1.9}.moon-scene{position:absolute;right:-45px;top:0;width:205px;height:210px;transform:scale(.54);transform-origin:top right;opacity:.7;pointer-events:none}.intro-copy{position:relative;z-index:2}.intro h1{max-width:280px}.grid{grid-template-columns:1fr;gap:20px}.art{height:195px}.card-title{font-size:24px}.card-copy{padding:21px}.card-desc{min-height:0;font-size:13px}.collection-head h2{font-size:14px}.collection-head>span{font-size:8px}.collection-head{padding-top:23px}.card-foot{font-size:11px}.player-bar{padding:0 13px}.player-bar strong{font-size:11px}.player-bar a{font-size:10px}.player-bar button{font-size:11px}footer{flex-wrap:wrap;gap:6px;padding:25px 0}footer p{font-size:10px}.footer-star{display:none}.brand{font-size:8px}.brand b{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.collection-filters{display:flex;gap:8px;flex-wrap:wrap;margin:-7px 0 24px}.collection-filters button{border:1px solid #c4b99429;background:#222634;color:#b9b9b6;border-radius:22px;padding:9px 15px;font-size:11px;cursor:pointer}.collection-filters button[aria-pressed="true"]{border-color:#d3b67999;background:#3b3540;color:#f0d9b0}.new-badge{position:absolute;bottom:12px;left:17px;background:#191d29bd;border:1px solid #e9cd985c;border-radius:5px;padding:5px 7px;color:#f0d9b0;font-size:8px;letter-spacing:1.1px}.collection-head{margin-bottom:23px}@media(max-width:640px){.collection-filters{gap:6px;margin-bottom:18px}.collection-filters button{padding:8px 11px;font-size:10px}}

/* Progressive enhancement: the complete catalogue remains a normal link list. */
[hidden]{display:none!important}
.skip-link{position:fixed;left:16px;top:12px;z-index:20;padding:12px 16px;border-radius:7px;background:#f2d6a0;color:#252936;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.star-link{display:inline-flex;align-items:center;gap:7px;border:1px solid #c7ad7747;border-radius:20px;padding:9px 13px;font-size:11px;color:#e7c995;white-space:nowrap}
.star-link>span:first-child{font-size:17px;line-height:1}.star-link:hover{background:#c7ad7714}
.lang{width:42px;height:42px;flex-shrink:0}.header-right{gap:18px}
.game-card{display:flex;flex-direction:column}.art{flex-shrink:0}.card-copy{display:flex;flex-direction:column;flex:1}.card-desc{flex:1}
.no-script{font-size:12px;line-height:1.7;color:#c5c2ba;margin:0 0 24px}
.footer-source{font-size:11px;color:#dfc48b}
.player-bar{gap:14px}.player-bar button,.player-bar a{display:inline-flex;align-items:center;min-height:44px;flex-shrink:0}.player-bar strong{min-width:0;flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.frame-wrap{position:relative}.frame-wrap iframe{display:block}.player-status{position:absolute;left:50%;top:22px;transform:translateX(-50%);z-index:2;max-width:calc(100% - 32px);width:max-content;margin:0;border:1px solid #d5bd7855;background:#252936e8;color:#f0d6a6;border-radius:8px;padding:11px 16px;font-size:12px;line-height:1.6;pointer-events:none}
@media(max-width:640px){.header-right{gap:9px}.star-link{padding:8px 10px;font-size:10px}.star-link>span:first-child{font-size:16px}.moon-scene{right:0}.intro{overflow-x:clip}.player-bar{gap:9px}.player-bar strong{font-size:11px}.player-status{font-size:11px;padding:9px 12px}.collection-head{gap:12px}.collection-head>span{text-align:right;line-height:1.6}.lang{width:38px;height:38px}}
@media(max-width:360px){.masthead,main{padding-left:16px;padding-right:16px}.star-link{padding:7px 8px;font-size:9px}.brand{gap:7px;font-size:7px}.brand b{font-size:8px}.brand img{width:29px;height:29px}.lang{width:34px;height:34px}}
