@charset "UTF-8";
:root{color-scheme:light;--paper:#faf6f1;--surface:#fffdf9;--ink:#463b38;--muted:#9a8b82;--rose:#b95d60;--rose-dark:#a0494d;--line:#e9ddd3;--gold:#bd986b;--serif:"Noto Serif SC","Songti SC","STSong","SimSun",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#eee8e2;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #b95d60;outline-offset:5px}button{touch-action:manipulation}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-library{position:absolute;width:0;height:0;overflow:hidden}img{display:block;max-width:100%}.page-shell{max-width:720px;margin:0 auto;padding:30px 32px 110px;background:var(--paper);box-shadow:0 0 70px #7356450a;min-height:100vh}.edition-line{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;color:var(--gold);font-size:11px;letter-spacing:1.2px}.edition{display:flex;align-items:center;gap:7px}.tiny-diamond{width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}.edition-en{font-size:9px;letter-spacing:2px}.app-overview{display:flex;align-items:center;gap:17px}.app-icon{width:88px;height:88px;flex:none;position:relative;overflow:hidden;border-radius:17px;background:#e8d7cb;box-shadow:0 4px 12px #a1796220;border:1px solid #fff}.app-icon img{width:100%;height:auto;max-width:none;transform:scale(1.85);transform-origin:53% 14%;margin-top:3px}.app-icon>span{position:absolute;bottom:0;left:0;right:0;text-align:center;background:#a94e59ec;color:#fff0df;font-size:10px;letter-spacing:2px;padding:3px}.app-details{min-width:0;flex:1}.app-details h1{font-family:var(--serif);font-size:28px;letter-spacing:3px;line-height:1.25;margin:0 0 10px;font-weight:700}.app-stars{display:flex;align-items:center;gap:10px;white-space:nowrap}.stars{color:#d9a752;letter-spacing:3px;font-size:17px;line-height:1.3}.rating-count{color:var(--muted);font-size:11px}.app-meta{margin:7px 0 0;font-size:11px;color:#8c7e76;display:flex;align-items:center;gap:9px;line-height:1.5}.meta-divider{height:10px;border-left:1px solid #cfc1b5}.score-block{text-align:right;flex:none;padding-left:10px}.score-label{display:block;font-size:11px;color:#8b796d;letter-spacing:1px}.score-block strong{font-size:41px;color:var(--rose);font-weight:500;line-height:1.25;letter-spacing:-1.8px;font-variant-numeric:tabular-nums}.score-block small{font-size:11px;color:#ae9a8a;margin-left:5px}.sample-label{display:block;color:#b09f92;font-size:9px}.intro-line{display:flex;align-items:center;gap:14px;margin:27px 0 22px}.intro-line p{font-family:var(--serif);font-size:18px;letter-spacing:1px;margin:0;white-space:nowrap}.intro-line em{font-style:normal;color:#ac6767}.intro-rule{height:1px;background:var(--line);flex:1}.feature-strip{display:flex;justify-content:center;gap:28px;font-size:11px;color:#8b8c72;padding-bottom:25px;border-bottom:1px solid var(--line)}.feature-strip span{display:flex;align-items:center;gap:5px}.feature-strip svg{width:15px;height:15px}.section-title{display:flex;align-items:center;gap:25px;margin:31px 26px 21px;text-align:center}.section-line{height:1px;background:#c7ae94;flex:1;position:relative}.section-line:after{content:"";position:absolute;right:0;width:4px;height:4px;background:#c7ae94;transform:translateY(-1.5px) rotate(45deg)}.section-line:last-child:after{left:0;right:auto}.section-kicker{display:block;font-size:8px;letter-spacing:2.4px;color:#b59b83}.section-title h2{font-family:var(--serif);font-size:26px;letter-spacing:6px;font-weight:500;margin:7px -6px 0 0}.reviews-caption{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#ab9788;margin:0 4px 12px}.reviews-caption>span:first-child{display:flex;align-items:center;gap:5px}.reviews-caption i{width:4px;height:4px;background:#b5997c;border-radius:50%}.reviews-caption>span:last-child{font-size:9px}.review-list{background:var(--surface);border:1px solid #ece1d7;border-radius:12px;overflow:hidden}.review-card{padding:23px 23px 25px;scroll-margin-top:18px}.review-card+.review-card{border-top:1px solid var(--line)}.review-top{display:flex;align-items:center;gap:10px}.avatar{width:39px;height:39px;flex:none;border-radius:50%;overflow:hidden;background:#eee1dc;border:1px solid #e4cec4}.avatar img{width:100%;height:auto;max-width:none;transform:scale(2.4);transform-origin:54% 12%}.avatar-pink{background:#f5dce4}.avatar-pink img{transform:scale(2.5);transform-origin:70% 13%}.avatar-summer{background:#e9ddcd}.avatar-summer img{transform:scale(2.6);transform-origin:49% 12%}.review-author{flex:1;min-width:0}.name-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.review-author h3{font-weight:500;font-size:13px;line-height:1.5;margin:0}.user-tag{font-size:9px;line-height:1.8;color:#aa8a72;border:1px solid #eaddcd;padding:0 5px;border-radius:3px}.review-author .stars{font-size:14px;letter-spacing:3px;margin-top:2px}.like-button{border:0;background:none;color:#b0907c;display:flex;align-items:center;gap:7px;font-size:11px;padding:10px 0 10px 10px;min-width:62px;justify-content:flex-end}.like-button svg{width:16px;height:16px;color:var(--rose)}.like-button[aria-pressed=true] svg{fill:#ba636329;stroke:#a84f53}.like-button[aria-pressed=true]{color:var(--rose)}.review-copy{padding:13px 0 14px}.review-copy h4{font-size:15px;line-height:1.6;font-weight:600;margin:0 0 6px;letter-spacing:.2px}.review-copy p{font-size:13px;line-height:1.9;color:#7d6e65;margin:0;letter-spacing:.1px}.review-figure{margin:0;border-radius:7px;overflow:hidden;background:#f2e8dd;border:1px solid #eadbcd}.review-art-button{display:block;width:100%;padding:0;border:0;background:#e8dfd4;position:relative;overflow:hidden;text-align:left}.review-art{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.zoom-label{position:absolute;right:9px;bottom:8px;padding:4px 7px;color:#fff;background:#4c3c344d;border:1px solid #ffffff4d;border-radius:3px;letter-spacing:1px;font-size:8px;opacity:0;transition:opacity .2s}.review-art-button:hover .zoom-label,.review-art-button:focus-visible .zoom-label{opacity:1}.image-caption{padding:11px 14px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f7eee5}.image-caption strong{font-family:var(--serif);font-size:17px;font-weight:500;letter-spacing:2px;display:block}.image-caption small{display:block;font-size:9px;color:#ae9681;margin-top:4px;letter-spacing:1.5px}.image-tag{font-size:9px;color:#ac8468;letter-spacing:.5px;white-space:nowrap;border-left:1px solid #ddcaba;padding-left:13px}.review-card:nth-child(2) .image-caption{background:#f8ebeb}.review-card:nth-child(2) .review-figure{border-color:#eddcdb}.review-card:nth-child(3) .image-caption{background:#f5eedf}.review-end{display:flex;align-items:center;justify-content:center;gap:9px;margin:23px 30px 29px;color:#b59d88}.review-end>span{flex:1;height:1px;background:var(--line)}.review-end svg{width:12px;height:12px}.review-end p{margin:0;font-size:10px;letter-spacing:1px}.closing-banner{text-align:center;border-top:1px solid var(--line);padding:25px 5px 23px}.closing-eyebrow{font-size:8px;letter-spacing:2.4px;color:#b69d85;margin:0 0 9px}.closing-banner h2{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:2px;margin:0 0 20px}.closing-banner h2 span{color:#ad6565}.download-button{background:var(--rose);color:#fff7ef;border:1px solid #ac5155;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 24px;font-size:14px;letter-spacing:1px;font-weight:500;box-shadow:0 4px 9px #a54a4b12;transition:background .18s,transform .18s}.download-button:hover{background:var(--rose-dark);transform:translateY(-1px)}.download-button:active{transform:translateY(0)}.download-button svg{width:18px;height:18px}.closing-button{min-width:290px;justify-content:space-between}.closing-note{font-size:10px;color:#ac9787;margin:13px 0 0;letter-spacing:1px}.page-footer{text-align:center;border-top:1px solid var(--line);padding-top:18px;font-size:10px;color:#a8927f;line-height:1.8}.footer-dot{margin:0 8px}.page-footer p{font-size:9px;color:#baa99b;margin:5px 0 0}.download-dock{position:fixed;bottom:0;left:0;right:0;z-index:10;background:#fffdf9f7;border-top:1px solid #e6d8cd;padding:11px 22px calc(11px + env(safe-area-inset-bottom));box-shadow:0 -6px 25px #6e4b3106}.dock-inner{max-width:656px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:15px}.dock-copy{display:flex;align-items:center;gap:11px}.dock-icon{width:43px;height:43px;overflow:hidden;flex:none;border-radius:9px;background:#e4cfc1}.dock-icon img{width:100%;height:auto;transform:scale(1.85);transform-origin:53% 14%}.dock-copy strong{display:block;font-family:var(--serif);letter-spacing:2px;font-size:16px;font-weight:600}.dock-copy>div>span{display:block;font-size:10px;color:#a18c7c;margin-top:4px}.download-dock .download-button{min-width:188px;padding:12px 21px}.button-arrow{margin-left:12px;font-size:18px;line-height:1}.download-dialog{width:360px;max-width:calc(100% - 36px);border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);text-align:center;padding:34px 24px 27px;box-shadow:0 20px 100px #3d29204d}.download-dialog::backdrop,.image-dialog::backdrop{background:#271e1bbd;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:10px;top:10px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:#987e6d;z-index:2}.dialog-heart{border:1px solid #ead3cd;color:var(--rose);background:#f8eeea;border-radius:50%;width:54px;height:54px;display:flex;align-items:center;justify-content:center;margin:4px auto 22px}.dialog-heart svg{width:25px;height:25px}.download-dialog h2{font-family:var(--serif);font-size:27px;letter-spacing:3px;font-weight:500;margin:12px 0}.download-dialog>p:not(.section-kicker){font-size:13px;line-height:1.8;color:#9a8373;margin:12px 0 24px}.dialog-confirm{width:100%}.image-dialog{border:0;padding:0;background:#fffaf4;max-width:min(1100px,calc(100vw - 30px));width:1100px;border-radius:10px;overflow:hidden}.image-dialog img{width:100%;max-height:80vh;object-fit:contain}.image-dialog .dialog-close{background:#fffaf4e8;border-radius:50%;color:#745848}.image-dialog p{margin:0;padding:15px;font-size:13px;color:#987d68;text-align:center}.noscript-note{position:fixed;top:0;left:0;right:0;padding:12px;background:#fff1db;z-index:30;text-align:center}
@media(min-width:1000px){.page-shell{margin:24px auto 0;border:1px solid #e2d7cd;border-bottom:0;border-radius:12px 12px 0 0}}
@media(max-width:600px){body{background:var(--paper)}.page-shell{padding:21px 17px 105px}.edition-line{margin-bottom:21px;font-size:9px;letter-spacing:.7px}.edition-en{font-size:7px;letter-spacing:1px}.app-overview{gap:12px}.app-icon{width:70px;height:70px;border-radius:13px}.app-icon>span{font-size:8px;padding:2px}.app-details h1{font-size:24px;letter-spacing:2px;margin-bottom:7px}.app-stars{gap:6px;flex-wrap:wrap;row-gap:1px}.stars{font-size:14px;letter-spacing:2px}.rating-count{font-size:9px}.app-meta{font-size:9px;gap:7px;margin-top:5px;flex-wrap:wrap;row-gap:0}.score-block{padding-left:1px}.score-label{font-size:9px}.score-block strong{font-size:34px}.score-block small{font-size:9px;margin-left:3px}.sample-label{font-size:8px}.intro-line{gap:9px;margin:23px 0 18px}.intro-line p{font-size:15px;letter-spacing:.7px}.feature-strip{gap:19px;font-size:9px;padding-bottom:20px}.feature-strip span{gap:4px}.feature-strip svg{width:13px;height:13px}.section-title{margin:25px 18px 19px;gap:19px}.section-title h2{font-size:23px;letter-spacing:4px;margin-right:-4px}.section-kicker{font-size:7px;letter-spacing:1.6px}.reviews-caption{font-size:9px;margin-bottom:10px}.reviews-caption>span:last-child{font-size:8px}.review-card{padding:17px 14px 19px}.review-top{gap:8px}.avatar{width:35px;height:35px}.review-author h3{font-size:12px}.name-line{gap:6px}.user-tag{font-size:8px;padding:0 4px}.review-author .stars{font-size:12px;margin-top:2px}.like-button{gap:5px;font-size:10px}.like-button svg{width:15px;height:15px}.review-copy{padding:11px 0 13px}.review-copy h4{font-size:14px;margin-bottom:5px}.review-copy p{font-size:12px;line-height:1.85;letter-spacing:0}.image-caption{padding:10px 11px}.image-caption strong{font-size:15px;letter-spacing:1px}.image-caption small{font-size:8px;letter-spacing:.8px}.image-tag{font-size:8px;padding-left:9px}.review-end{margin:21px 12px 24px;gap:7px}.review-end p{font-size:9px}.closing-banner{padding:24px 0}.closing-banner h2{font-size:18px;letter-spacing:1px}.closing-button{font-size:13px;min-width:275px}.page-footer{font-size:9px}.page-footer p{font-size:8px}.download-dock{padding:10px 17px calc(10px + env(safe-area-inset-bottom))}.dock-copy{gap:9px}.dock-icon{width:39px;height:39px}.dock-copy strong{font-size:15px;letter-spacing:1px}.dock-copy>div>span{font-size:9px}.download-dock .download-button{min-width:145px;padding:11px 14px;font-size:13px;gap:7px}.button-arrow{margin-left:3px}}
@media(max-width:370px){.page-shell{padding-left:12px;padding-right:12px}.app-icon{width:60px;height:60px}.app-overview{gap:9px}.app-details h1{font-size:21px}.rating-count{font-size:8px}.stars{font-size:12px}.app-meta{font-size:8px;gap:5px}.score-block strong{font-size:31px}.score-block small{display:none}.feature-strip{gap:12px;font-size:8px}.review-card{padding-left:11px;padding-right:11px}.user-tag{display:none}.dock-copy>div>span{font-size:8px}.download-dock{padding-left:12px;padding-right:12px}.download-dock .download-button{min-width:133px}.dock-inner{gap:8px}.closing-banner h2{font-size:16px}.image-caption strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Small text keeps sufficient contrast on the warm paper background. */
:root{--rose:#ac5055;--rose-dark:#954248;--muted:#796556}
.edition-line,.score-label,.sample-label,.section-kicker,.reviews-caption,.reviews-caption>span:last-child,.app-meta{color:#796556}
.feature-strip{color:#72765d}.user-tag,.like-button{color:#896a57}
.image-caption small,.image-tag,.closing-eyebrow,.closing-note,.page-footer,.page-footer p,.review-end,.dock-copy>div>span{color:#796556}
/* 内置浏览器下载指引；链接保留原查询参数。 */
.browser-guide{position:fixed;inset:0 0 auto auto;margin:85px 20px 20px;width:390px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 110px);overflow:auto;border:1px solid var(--line);border-radius:14px;padding:34px 24px 20px;background:var(--surface);color:var(--ink);box-shadow:0 18px 70px #24152140}
.browser-guide::backdrop{background:#21171bce}
.browser-guide-arrow{display:block;text-align:right;font-size:48px;line-height:1;color:var(--rose);padding-right:22px}
.browser-guide h2{font-size:22px;margin:12px 0}.browser-guide p{font-size:14px;line-height:1.8;margin:12px 0}
.browser-guide label{display:block;font-size:12px;margin-top:20px;color:var(--muted)}
.browser-guide input{box-sizing:border-box;width:100%;min-width:0;padding:11px 10px;margin:8px 0 14px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font-size:12px}
.browser-guide .download-button{width:100%}.browser-guide #copy-link-status{font-size:12px;color:var(--rose);min-height:20px}
.guide-dismiss{display:block;margin:5px auto 0;background:none;border:0;color:var(--muted);padding:8px;font-size:13px}

/* 下载提醒：醒目色块，固定下载栏内持续可见。 */
.vpn-warning{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px auto 0;padding:12px 14px;border:1px solid #e29b54;border-left:4px solid #c15a16;border-radius:7px;background:#fff0d9;color:#8b340c;font-size:14px;font-weight:700;line-height:1.6;max-width:480px;text-align:left}
.vpn-warning-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:#b94d12;color:#fff;font-size:15px;font-weight:800;line-height:1}
.vpn-warning strong{color:#9f270c;font-weight:800;margin-left:3px}
.vpn-warning-dock{max-width:656px;margin:9px auto 0;padding:7px 10px;font-size:12px;gap:7px}
.vpn-warning-dock .vpn-warning-icon{flex-basis:17px;width:17px;height:17px;font-size:13px}
.page-shell{padding-bottom:calc(175px + env(safe-area-inset-bottom))}
@media(max-width:370px){.vpn-warning{font-size:13px;padding:10px}.vpn-warning-dock{font-size:11px;padding:7px 8px}}/* 图片左侧留白中的下载邀约，文案与人物保持各自的空间。 */
.download-invitation{padding:24px 0;border-top:1px solid var(--line)}
.invitation-card{position:relative;container-type:inline-size;overflow:hidden;border:1px solid #ead0d8;border-radius:12px;background:#fff3f6;isolation:isolate;box-shadow:0 8px 22px #a9506510}
.invitation-art{width:100%;height:auto;aspect-ratio:auto;transition:transform .35s ease;transform-origin:75% 50%}
.invitation-copy{position:absolute;left:5%;top:8%;bottom:8%;width:44%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;z-index:1}
.invitation-kicker{margin:0 0 2.3cqw;font-size:clamp(8px,1.65cqw,11px);letter-spacing:.15em;color:#9b5167;font-weight:600}
.invitation-copy h2{margin:0;font-family:var(--serif);font-size:clamp(16px,4.2cqw,28px);font-weight:700;letter-spacing:0;line-height:1.45;color:#694052}
.invitation-copy h2 span{color:#a33e61}
.invitation-message{margin:2cqw 0 3cqw;font-size:clamp(9px,1.9cqw,13px);color:#885367;line-height:1.5}
.invitation-button{min-width:0;width:92%;max-width:225px;min-height:44px;padding:clamp(9px,2cqw,14px) clamp(8px,2.4cqw,16px);font-size:clamp(12px,2.5cqw,17px);letter-spacing:.08em;gap:6px;justify-content:center;background:#ad3d65;border-color:#a23a60;border-radius:8px;box-shadow:0 4px 0 #822846,0 8px 15px #a93d6428;transition:background .2s,transform .2s,box-shadow .2s}
.invitation-button svg{width:clamp(13px,2.8cqw,19px);height:clamp(13px,2.8cqw,19px)}
.invitation-button .invitation-arrow{transition:transform .2s}
@media(hover:hover){.invitation-button:hover{background:#922e53;transform:translateY(-2px);box-shadow:0 6px 0 #822846,0 10px 18px #a93d6438}.invitation-button:hover .invitation-arrow{transform:translateX(3px)}.invitation-card:has(.invitation-button:hover) .invitation-art{transform:scale(1.015)}}
.invitation-button:focus-visible{outline:3px solid #7a2549;outline-offset:5px}
.invitation-button:active{transform:translateY(3px);box-shadow:0 1px 0 #822846}
@media(max-width:370px){.invitation-copy{left:4%;width:47%}.invitation-kicker{margin-bottom:4px}.invitation-copy h2{font-size:16px}.invitation-message{margin:4px 0 8px}.invitation-button{min-height:40px}}

/* 图片和文字按钮为平级入口，复用下载处理，避免点击重复触发。 */
.invitation-image-button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer}
.invitation-image-button:focus-visible{outline:3px solid #7a2549;outline-offset:-5px}
.invitation-copy{pointer-events:none}
.invitation-copy .invitation-button{pointer-events:auto}
@media(hover:hover){.invitation-image-button:hover .invitation-art{transform:scale(1.015)}}
/* 独立小尺寸玩家头像，完整圆形显示。 */
.avatar-player img{width:100%;height:100%;object-fit:cover;transform:none;margin:0}
