:root{--ink:#23213b;--muted:#77758a;--purple:#7047eb;--paper:#f8f9fd;--lilac:#eee9ff;--coral:#ff785e;font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--ink);font-size:15px;line-height:1.6;padding-bottom:90px}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{opacity:.35;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--purple);outline-offset:3px}img{max-width:100%;display:block}button{border:0}h1,h2,h3,p{margin:0}::selection{background:#ddd1ff}.shell{width:min(100%,1040px);padding:0 20px;margin:auto}.topbar{height:66px;position:sticky;top:0;z-index:30;background:#f8f9fdf5;backdrop-filter:blur(16px)}.top-inner{display:flex;align-items:center;gap:10px;height:100%}.brand{display:flex;gap:8px;align-items:center}.brandmark{background:var(--purple);color:#fff;width:33px;height:33px;border-radius:12px 12px 12px 4px;font-style:normal;font-size:27px;line-height:33px;text-align:center;transform:rotate(-7deg)}.brand strong{font-size:19px;letter-spacing:-.5px}.brand-note{display:none}.search-shortcut{margin-left:auto;background:white;border-radius:50%;width:44px;height:44px;display:grid;place-items:center}.search-shortcut svg{width:22px;height:22px}.welcome{padding:18px 0 22px}.welcome p{font-size:13px;color:var(--muted);margin-bottom:4px}.welcome h1{font-size:27px;letter-spacing:-1px;line-height:1.5}.welcome h1 span{color:var(--coral);font-size:32px;margin-left:10px;display:inline-block;transform:rotate(12deg)}.poster-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -20px;padding:0 20px}.poster-rail::-webkit-scrollbar,.picks-rail::-webkit-scrollbar,.filters::-webkit-scrollbar{display:none}.discovery-poster{flex:0 0 92%;height:335px;position:relative;border-radius:24px;overflow:hidden;scroll-snap-align:center;color:white;isolation:isolate;background:#644d81}.discovery-poster>img{width:100%;height:100%;object-fit:cover;object-position:60% center;position:absolute;z-index:-2;transition:transform .5s}.discovery-poster:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#251c46f2,transparent 90%)}.poster-1:after{background:linear-gradient(0deg,#38245ef2,transparent 90%)}.poster-2:after{background:linear-gradient(0deg,#174a65f2,transparent 90%)}.poster-label{position:absolute;top:17px;left:18px;background:#fffef3;color:#48374a;font-size:11px;font-weight:700;padding:5px 11px;border-radius:6px;transform:rotate(-4deg)}.poster-copy{position:absolute;left:23px;right:23px;bottom:23px}.poster-copy small{font-size:12px;color:#ffffffcf}.poster-copy h2{font-size:30px;letter-spacing:-.8px;margin:4px 0 15px;line-height:1.3}.poster-cta{display:flex;justify-content:space-between;align-items:center;font-size:13px}.poster-cta b{border:1px solid #ffffff7a;border-radius:50%;width:34px;height:34px;text-align:center;font-size:20px;line-height:31px}.rail-hint{display:flex;align-items:center;justify-content:space-between;margin:12px 2px 21px;font-size:11px;color:var(--muted)}.rail-dots{display:flex;gap:5px}.rail-dots i{width:5px;height:5px;background:#d9d4e5;border-radius:9px;transition:width .2s}.rail-dots i.active{width:19px;background:var(--purple)}.genres{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:29px}.genre{text-align:center;min-height:78px}.genre>span{width:52px;height:52px;border-radius:18px;display:block;margin:0 auto 8px;background:#ebe4ff;color:#7750ce;font-size:31px;line-height:52px}.genre-1>span{background:#ffe9e2;color:#db7658;transform:rotate(5deg)}.genre-2>span{background:#e1f3ee;color:#3d977e;transform:rotate(-5deg)}.genre-3>span{background:#fff1cc;color:#a27b2b}.genre strong{font-size:12px;font-weight:600}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.section-head h2{font-size:21px;letter-spacing:-.6px;line-height:1.4}.title-spark{color:var(--purple);font-size:26px;margin-left:6px}.quiet,.result-count{font-size:12px;color:var(--muted);white-space:nowrap}.result-count b{font-weight:500}.picks-section{padding:22px 18px 19px;background:#eeebf9;border-radius:22px;margin-bottom:33px}.picks-section .section-head{margin-bottom:16px}.picks-rail{display:flex;overflow:auto;gap:19px;scrollbar-width:none;margin-right:-18px;padding-right:18px}.pick{flex:0 0 65px;min-width:0;text-align:center}.pick img{width:65px;height:65px;object-fit:cover;border-radius:19px;box-shadow:0 4px 9px #30244412}.pick strong{display:block;font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:8px}.pick small{display:block;font-size:11px;color:var(--muted);margin-top:2px}#library,#spotlight,#screenshots{scroll-margin-top:82px}.library-search{display:flex;gap:10px;align-items:center;background:#eeeef5;padding:9px 14px;border-radius:14px;height:46px;margin:0 0 14px}.library-search>span{font-size:25px;color:#878399}.library-search input{min-width:0;width:100%;border:0;outline:0;background:none;color:var(--ink);font-size:14px}.library-search:focus-within{box-shadow:0 0 0 2px #7047eb66}.filters{display:flex;overflow:auto;gap:8px;scrollbar-width:none;padding:2px 0 13px;margin:0 -20px 0;padding-left:20px;padding-right:20px}.filter{padding:10px 17px;min-height:44px;border-radius:13px;font-size:13px;white-space:nowrap;background:transparent;color:var(--muted)}.filter.active{background:var(--purple);color:white;font-weight:600}.game-grid{display:grid;grid-template-columns:1fr;transition:opacity .2s}.game-card{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;position:relative;padding:19px 0;border-bottom:1px solid #eae9f2;min-width:0}.card-cover{display:none}.card-body{grid-column:1;grid-row:1;min-width:0}.card-main{display:flex;align-items:center;gap:13px;min-width:0}.game-icon{width:66px;height:66px;object-fit:cover;border-radius:19px;flex-shrink:0}.card-main>div{min-width:0}.card-main h3{font-size:16px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5;margin:0 0 3px}.card-main p{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-foot{margin:4px 0 0 79px;font-size:11px;color:var(--muted)}.card-foot>a{display:none}.favorite{grid-column:2;grid-row:1;background:#f0edf8;width:40px;height:44px;border-radius:14px;font-size:23px;color:#9683ba;justify-self:end}.favorite.selected{color:var(--purple);background:#e8dfff}.game-card:active{background:#f0ecfa}.paging{display:flex;align-items:center;justify-content:center;gap:24px;margin:28px 0}.paging button{min-height:44px;padding:10px 18px;background:#ede9f8;color:var(--purple);border-radius:13px;font-size:13px}.paging span{color:var(--muted);font-size:12px}.footer{margin:32px auto 20px;font-size:11px;color:var(--muted);line-height:1.9}.footer strong{color:#5d5973;font-size:14px}.footer p{margin:9px 0}.footer>a{display:inline-block;min-height:44px;padding:10px 0}.footer>span{float:right;padding:10px 0}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-around;height:calc(68px + env(safe-area-inset-bottom));padding:5px 12px calc(5px + env(safe-area-inset-bottom));background:#ffffffed;backdrop-filter:blur(18px);z-index:40;box-shadow:0 -3px 20px #33234a08;border-top:1px solid #efedf5}.bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:65px;min-height:52px;background:none;color:#8c879c;font-size:10px;border-radius:14px}.bottom-nav span{font-size:25px;line-height:29px}.bottom-nav .active{color:var(--purple);font-weight:700}.bottom-nav .active span{background:#eee7ff;border-radius:15px;padding:0 15px}.toast{position:fixed;left:50%;bottom:105px;transform:translate(-50%,10px);background:#28213dee;color:white;padding:11px 20px;border-radius:25px;z-index:100;opacity:0;pointer-events:none;transition:.2s;white-space:nowrap;font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:0;background:#171321;color:white;padding:16px;border-radius:21px;width:min(900px,calc(100vw - 24px));max-height:90dvh}dialog::backdrop{background:#100b24cb;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:10px;top:10px;width:44px;height:44px;border-radius:50%;background:#000a;color:white;font-size:28px;z-index:2}.dialog-content video,.dialog-content img{max-width:100%;max-height:74dvh;display:block;margin:auto;object-fit:contain}.dialog-heading{font-size:13px;text-align:center;margin:12px 0 0}.empty-state{padding:50px 15px;text-align:center;grid-column:1/-1}.empty-state strong{font-size:17px}.empty-state p{font-size:13px;color:var(--muted);margin:10px 0}.catalog-loading{opacity:.4}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:11px 19px;background:var(--purple);color:white;border-radius:14px;font-size:14px;font-weight:600}.button.ghost{background:#ffffff29;color:white;border:1px solid #ffffff65}.breadcrumbs{display:flex;gap:10px;white-space:nowrap;overflow:hidden;font-size:12px;color:var(--muted);padding:12px 0 18px}.breadcrumbs>span:last-child{overflow:hidden;text-overflow:ellipsis}.detail-hero{position:relative;isolation:isolate;margin:0 -20px;min-height:345px;color:white;display:flex;align-items:flex-end;background:#48435c}.detail-hero>img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;z-index:-2}.detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#252037f5,transparent);z-index:-1}.detail-hero-inner{padding:27px 24px;width:100%}.detail-badge{font-size:11px;background:#ffffff2b;padding:4px 9px;border-radius:7px}.detail-hero h1{font-size:29px;line-height:1.4;margin:9px 0}.variant{font-size:14px;color:#ffded2}.detail-tags{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 20px}.detail-tags span{font-size:11px;padding:3px 8px;border-radius:6px;background:#ffffff23}.hero-actions{display:flex;gap:10px}.detail-layout{display:flex;flex-direction:column;gap:20px;margin-top:27px}.detail-section{margin-bottom:29px}.detail-section h2{font-size:20px;margin:0 0 16px}.detail-section h2 small{display:none}.screenshots{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory;margin-right:-20px;padding-right:20px;padding-bottom:10px;scrollbar-width:thin}.screenshot{flex:0 0 156px;padding:0;border-radius:15px;overflow:hidden;scroll-snap-align:start;background:#eee9f7}.screenshot img{width:100%;height:278px;object-fit:cover}.detail-video-row{display:flex;gap:10px;flex-wrap:wrap}.detail-video-row button{background:#eae2ff;color:var(--purple);padding:14px 17px;min-height:48px;border-radius:14px;font-weight:600;font-size:13px}.prose{white-space:pre-line;font-size:14px;line-height:1.9;color:#625d76;overflow-wrap:anywhere}.source-note{color:var(--muted);font-size:12px;line-height:1.7;margin-top:13px}.related-grid{display:grid;grid-template-columns:1fr}.detail-info{background:#efecf7;padding:22px;border-radius:23px}.detail-icon-row{display:flex;gap:12px;align-items:center;margin-bottom:19px}.detail-icon-row img{width:60px;height:60px;border-radius:18px}.detail-icon-row h3{font-size:17px}.detail-icon-row small{font-size:12px;color:var(--muted)}.detail-info dl{margin:0 0 18px}.info-row{display:flex;justify-content:space-between;gap:15px;font-size:13px;padding:8px 0;border-bottom:1px solid #dfdaea}.info-row dt{color:var(--muted);flex-shrink:0}.info-row dd{margin:0;text-align:right}.detail-info>.button,.detail-save{width:100%;margin-bottom:10px}.detail-save{min-height:44px;border-radius:13px;background:#e1d8f6;color:var(--purple)}.ad-note{font-size:11px;color:var(--muted);line-height:1.8}.notice{font-size:13px;color:var(--muted);padding:12px 0}.mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:45;background:#fffffff2;backdrop-filter:blur(15px);display:flex;gap:14px;padding:9px 20px calc(9px + env(safe-area-inset-bottom));align-items:center;border-top:1px solid #eee9f7}.mobile-cta>button{width:52px;height:48px;background:#eee7fc;border-radius:15px;color:var(--purple);font-size:27px}.mobile-cta>div{flex:1;display:flex;align-items:center;gap:12px}.mobile-cta small{font-size:10px;color:var(--muted);flex-shrink:0}.mobile-cta .button{flex:1}.mobile-cta~*{display:none}.prose.is-collapsible:not(.expanded){max-height:175px;overflow:hidden;mask-image:linear-gradient(black 65%,transparent)}.expand-copy{color:var(--purple);font-size:13px;min-height:44px;padding:10px 0;background:none}.detail-page .bottom-nav{display:none}
@media(min-width:700px){body{padding-bottom:95px}.shell{padding-left:32px;padding-right:32px}.brand-note{display:block;margin-left:8px;color:var(--muted);font-size:12px}.welcome{padding:29px 0 25px}.welcome h1{font-size:35px}.poster-rail{margin:0;padding:0;gap:18px}.discovery-poster{flex-basis:calc((100% - 36px)/3);height:350px}.poster-copy{left:20px;right:20px}.poster-copy h2{font-size:25px}.rail-hint{visibility:hidden;margin-bottom:8px}.genres{max-width:620px;margin:0 auto 34px}.genre>span{width:58px;height:58px;line-height:58px}.genre strong{font-size:14px}.picks-section{padding:24px 28px}.picks-rail{gap:35px;justify-content:space-between}.pick{flex-basis:82px}.pick img{width:82px;height:82px;border-radius:23px}.pick strong{font-size:14px}.pick small{font-size:12px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}.section-head h2{font-size:24px}.library-search{max-width:480px}.filters{margin:0;padding-left:0;padding-right:0}.bottom-nav{width:420px;left:50%;right:auto;transform:translateX(-50%);bottom:15px;height:68px;border-radius:24px;padding:6px 10px;box-shadow:0 8px 40px #38264718;border:1px solid #ebe7f6}.detail-hero{margin:0;border-radius:26px;min-height:420px;overflow:hidden}.detail-hero-inner{padding:40px}.detail-hero h1{font-size:40px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px;margin-top:35px}.detail-info{position:sticky;top:90px;padding:22px}.mobile-cta{display:none}.screenshots{margin-right:0}.detail-page .bottom-nav{display:flex}.footer{margin-top:45px}.screenshot{flex-basis:170px}.screenshot img{height:303px}}
@media(max-width:360px){.shell{padding-left:16px;padding-right:16px}.welcome h1{font-size:24px}.poster-rail{margin:0 -16px;padding:0 16px}.discovery-poster{height:315px}.poster-copy h2{font-size:27px}.section-head h2{font-size:19px}.mobile-cta{padding-left:12px;padding-right:12px}.mobile-cta>div{gap:8px}.game-icon{width:58px;height:58px}.card-foot{margin-left:71px}.card-main h3{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
