:root{color-scheme:light;--bg:#f6f7f2;--ink:#233d32;--muted:#737b76;--accent:#d6ec8b;--line:#d7dcd2;--surface:#fffefb;--serif:'Noto Serif CJK SC','Source Han Serif SC','Songti SC','SimSun',serif;--sans:'Microsoft YaHei','PingFang SC',system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #6e8745;outline-offset:5px}[hidden]{display:none!important}.shell{max-width:1410px;width:calc(100% - 112px);margin:0 auto}.header{height:94px;display:flex;align-items:center;gap:72px;position:relative;z-index:1}.brand{display:flex;gap:18px;align-items:center;white-space:nowrap;font:700 28px var(--serif);letter-spacing:2px}.brand-sub{margin-left:6px;font-size:25px}.header nav{display:flex;gap:48px;height:100%;align-items:center}.nav-item{border:0;background:none;padding:12px 0;font:18px var(--serif);position:relative;white-space:nowrap}.nav-item.active{font-weight:700}.nav-item.active:after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent)}#favorite-count{font:11px var(--sans);margin-left:5px}.search-wrap{margin-left:auto;display:flex;align-items:center;gap:12px;max-width:280px;width:24%;border:1px solid #e7e8e1;background:#fffefbf2;border-radius:14px;height:44px;padding:0 16px;color:#879087}.search-wrap svg{height:21px;width:21px;flex:none}.search-wrap input{width:100%;min-width:0;outline:0;background:transparent;border:0;color:var(--ink);font-size:14px}.search-wrap input::-webkit-search-cancel-button{display:none}.search-wrap input::placeholder{color:#89908a}.search-wrap button{border:0;background:none;font-size:22px;padding:0;color:var(--muted)}.hero-art{position:absolute;z-index:-1;right:0;top:0;width:min(1100px,74vw);height:490px;background:url('/assets/hero.png') center 53%/cover no-repeat}.hero{min-height:410px;display:flex;align-items:center;padding:20px 0 36px}.hero-copy{max-width:530px}.hero h1{font:700 clamp(58px,6.15vw,91px)/1.13 var(--serif);letter-spacing:1px;margin:0 0 15px;color:#153426}.hero-subtitle{font:26px/1.6 var(--serif);margin:0}.little-line{display:block;width:30px;height:3px;background:var(--accent);margin:20px 0}.hero-description{font:18px/1.65 var(--serif);letter-spacing:.8px;margin:0 0 22px;color:#57645c}.primary-button{display:inline-flex;justify-content:center;align-items:center;gap:22px;min-height:49px;min-width:190px;border:0;border-radius:32px;background:var(--accent);font:700 17px var(--serif);padding:12px 28px;transition:background .2s,transform .2s}.primary-button:hover{background:#c8e370;transform:translateY(-2px)}.primary-button svg{height:21px;width:21px}.library{border-top:1px solid var(--line);padding-top:25px;min-height:360px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-heading>div{display:flex;gap:20px;align-items:center}.section-heading h2{font:700 32px/1.3 var(--serif);margin:0;letter-spacing:1px}.section-heading p{margin:0;color:#657167;font:16px var(--serif)}#result-count{font:15px var(--serif);color:#657167}.filters{display:flex;gap:14px;margin-bottom:19px;flex-wrap:wrap}.filters button{border:0;border-radius:25px;padding:10px 23px;background:#eff0eb;font:15px var(--serif);color:#667267;transition:background .18s,color .18s}.filters button:hover{background:#e5e9dc}.filters button.selected{background:var(--accent);color:var(--ink)}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.game-card{position:relative;border-radius:13px;background:var(--surface);box-shadow:0 5px 20px #233d3204;overflow:hidden;transition:transform .25s,box-shadow .25s}.game-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #233d320d}.card-open{display:block;width:100%;padding:0;border:0;text-align:left;background:none}.card-open:focus-visible{outline-offset:-4px}.card-image{height:165px;overflow:hidden;background:#e8e9de}.card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.game-card:hover .card-image img{transform:scale(1.035)}.card-body{padding:17px 20px 21px}.card-title{display:flex;align-items:center;gap:13px;margin-bottom:10px}.card-title h3{margin:0;font:700 23px var(--serif)}.status{display:inline-block;border-radius:20px;padding:6px 13px;background:#f0f1ed;color:#7c827c;font:12px var(--sans);white-space:nowrap}.card-body p{margin:0;color:#778078;font:14px/1.8 var(--serif);letter-spacing:.3px}.favorite{position:absolute;right:12px;top:11px;z-index:1;display:grid;place-items:center;height:36px;width:36px;background:#233d3224;border:1px solid #ffffff38;border-radius:50%;color:#fff;transition:background .2s,transform .2s}.favorite svg{width:22px;height:22px}.favorite:hover{background:#233d3288;transform:scale(1.06)}.favorite[aria-pressed=true]{background:#f9fff0;color:#345640;border-color:#f9fff0}.favorite[aria-pressed=true] svg{fill:currentColor}.footer{display:flex;align-items:center;justify-content:center;gap:12px;border-top:1px solid var(--line);margin-top:30px;padding:24px 0 26px;font:14px var(--serif);color:#7a827b}.footer strong{color:var(--ink);font-size:18px;letter-spacing:2px}.footer p{margin:0}.empty-state{padding:36px 20px 42px;text-align:center;min-height:245px}.empty-mark{font-size:40px;color:#9cae83}.empty-state h3{font:700 24px var(--serif);margin:10px}.empty-state p{color:var(--muted);font-size:14px;line-height:1.8}.text-button{background:none;border:0;border-bottom:1px solid #b6c19e;padding:9px 2px;font:15px var(--serif)}.loading{font:17px var(--serif);color:var(--muted);padding:60px 0;grid-column:1/-1;text-align:center}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 22px;border-radius:28px;font-size:13px;z-index:5;box-shadow:0 4px 20px #0002;max-width:90vw;text-align:center}.skip-link{position:fixed;left:15px;top:-80px;z-index:10;padding:12px;background:white}.skip-link:focus{top:12px}dialog{border:0;border-radius:20px;padding:0;max-width:510px;width:calc(100% - 32px);max-height:90dvh;color:var(--ink);background:var(--surface);box-shadow:0 25px 100px #10291e33}dialog::backdrop{background:#10291e70;backdrop-filter:blur(5px)}.dialog-image{height:210px;position:relative}.dialog-image>img{width:100%;height:100%;object-fit:cover}.dialog-close{display:grid;place-items:center;position:absolute;right:14px;top:14px;border:0;background:#fffffff0;border-radius:50%;height:36px;width:36px}.dialog-close svg{width:20px;height:20px}.dialog-body{padding:27px 30px 30px}.dialog-title-row{display:flex;align-items:center;gap:15px}.dialog-body h2{font:700 32px var(--serif);margin:0}.dialog-body>p{font:15px/1.9 var(--serif);color:var(--muted)}.dialog-meta{display:flex;gap:20px;font-size:13px;padding:10px 0;color:#68766c}.dialog-features{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.dialog-features span{font-size:12px;background:#eef2e5;padding:7px 11px;border-radius:6px}.dialog-body .dialog-note{border-top:1px solid var(--line);padding-top:16px;font-family:var(--sans);font-size:13px}.dialog-body .primary-button{width:100%;margin-top:7px}.primary-button:disabled{background:#e9ece3;color:#7b8678;transform:none}#launch-error{font:13px/1.7 var(--sans);color:#a04436}
@media(min-width:1600px){.hero-art{right:calc((100vw - 1536px)/2);width:1100px}}@media(max-width:1100px){.shell{width:calc(100% - 64px)}.header{gap:35px}.header nav{gap:25px}.brand{font-size:24px;gap:12px}.brand-sub{font-size:22px}.search-wrap{max-width:210px}.hero-art{width:76vw;opacity:.85}.hero h1{font-size:72px}.hero{min-height:420px}.card-body{padding:15px}.card-image{height:160px}.card-body p{font-size:13px}}@media(max-width:760px){.shell{width:calc(100% - 36px)}.header{height:auto;padding-top:20px;gap:20px;flex-wrap:wrap}.brand{font-size:23px;letter-spacing:1px}.brand img{width:29px;height:29px}.brand-sub{font-size:21px}.header nav{margin-left:auto;gap:20px;order:1}.nav-item{font-size:14px;padding:9px 0}.search-wrap{order:2;width:100%;max-width:none;margin-top:2px;height:42px;border-radius:10px}.hero-art{top:150px;right:0;width:100%;height:330px;background-position:63% 50%;opacity:1}.hero{align-items:flex-start;min-height:560px;padding-top:29px;position:relative}.hero-copy{position:relative;width:100%}.hero h1{font-size:55px;line-height:1.15;letter-spacing:0;position:relative;z-index:1}.hero-subtitle{font-size:20px;margin-top:12px}.little-line{margin:16px 0}.hero-description{font-size:14px;letter-spacing:0;max-width:230px}.hero .primary-button{margin-top:202px;min-width:175px;font-size:16px;min-height:45px}.hero-description,.hero-subtitle,.hero h1{text-shadow:0 2px 14px #f6f7f2,0 0 26px #f6f7f2}.library{padding-top:23px;min-height:320px}.section-heading{margin-bottom:19px}.section-heading h2{font-size:26px;letter-spacing:0}.section-heading>div{gap:11px}.section-heading>p{display:none}#result-count{font-size:13px}.filters{gap:8px;margin-bottom:19px;flex-wrap:nowrap}.filters button{font-size:13px;padding:9px 12px;white-space:nowrap}.game-grid{grid-template-columns:1fr;gap:21px}.card-image{height:190px}.card-body{padding:18px 19px 21px}.card-title h3{font-size:23px}.card-body p{font-size:14px}.footer{margin-top:28px;font-size:12px;gap:8px;padding:23px 0}.footer strong{font-size:16px}.dialog-body{padding:23px}.dialog-image{height:180px}.dialog-body h2{font-size:28px}}@media(max-width:370px){.shell{width:calc(100% - 28px)}.brand{font-size:20px;gap:8px}.brand-sub{font-size:17px}.header nav{gap:12px}.nav-item{font-size:13px}.filters button{padding:9px 10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}


/* Blend the standalone photograph into the page without tinting its colors. */
.hero-art{mask-image:linear-gradient(to right,transparent,#000 16%)}
@media(max-width:760px){.hero-art{mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 88%,transparent)}}

@media(max-width:760px){.hero{min-height:0;padding:29px 0 34px}.hero-copy{display:flex;flex-direction:column;align-items:flex-start}.hero h1{margin:0}.hero-subtitle{margin:14px 0 0}.little-line{display:none}.hero-description{margin:10px 0 0;max-width:none;font-size:13px;line-height:1.8}.hero .primary-button{margin-top:228px}.hero-art{top:354px;height:237px;background-position:67% 50%;mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 82%,transparent)}.hero-description,.hero-subtitle,.hero h1{text-shadow:none}}
