/* Content comes verbatim from the backend snapshots. This file changes presentation only. */
:root{--page:#f5f2e9;--paper:#fffdf7;--ink:#302c25;--muted:#817668;--line:#d9d0bf;--accent:#a83b2d;--on:#fff;--soft:#eee7da;--radius:10px;--shell:768px;--title:Georgia,"Songti SC",SimSun,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--page);color:var(--ink);font:14px/1.7 "Microsoft YaHei","Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{touch-action:manipulation}a:hover,button:hover{filter:brightness(.94)}a:focus-visible,button:focus-visible,[data-copy]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}img{display:block;max-width:100%;height:auto}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}p,h1,h2,h3{margin:0}h1,h2,h3{line-height:1.45}button{border:0}body.modal-open{overflow:hidden}.site-shell{width:min(var(--shell),calc(100% - 48px));margin:auto}.identity{padding:30px 0 25px;border-bottom:1px solid var(--line);margin-bottom:25px}.identity .brand,.identity .store-head,.identity .float-brand{display:flex;align-items:center;gap:19px;min-width:0}.identity .logo,.identity .masthead-logo,.identity .store-icon,.identity .float-brand>img{width:78px;height:78px;flex:none;overflow:hidden;border-radius:16px}.identity img{width:100%;height:100%;object-fit:cover}.identity .float-brand>img{width:78px;height:78px}.identity h1{font:700 31px/1.4 var(--title);overflow-wrap:anywhere}.title-line,.game-title-line,.float-brand-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.edition,.game-release-badge{font:600 11px/1.7 "Microsoft YaHei",sans-serif;padding:4px 10px;background:var(--soft);color:var(--accent);border:1px solid var(--line);border-radius:4px;flex:none}.tags,.store-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.tag,.store-tag{color:var(--muted);font-size:11px}.tag+.tag:before,.store-tag+.store-tag:before{content:"·";margin-right:9px}.identity .masthead{display:grid;grid-template-columns:78px 1fr;column-gap:19px;align-items:center}.identity .masthead-logo{grid-column:1;grid-row:1/3}.identity .masthead h1{grid-column:2;grid-row:1}.identity .masthead .store-tags{grid-column:2;grid-row:2;margin-top:4px}.store-meta{flex:1}.store-meta>p{color:var(--muted);font-size:12px;margin-top:6px}.store-get-group{display:flex;gap:8px}.store-get{border:1px solid var(--line);padding:7px 17px;border-radius:var(--radius);font-size:12px}.store-get-down{background:var(--accent);color:var(--on);border-color:var(--accent)}
/* Hero height is deliberately bounded so the four entry buttons appear by screen two. */
.hero-region{margin-bottom:24px;min-width:0}.banner,.hero-carousel{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--soft)}.banner img,.hero-carousel img{width:100%;height:auto;aspect-ratio:12/5;object-fit:cover;max-height:340px}.slogan{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,#111c);padding:28px 18px 14px;color:#fff;font-size:12px;text-align:center}.benefits,.demo-game-tags{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.benefit,.demo-game-tags>span{padding:13px 12px;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);font-size:12px;font-weight:600;text-align:center;overflow-wrap:anywhere}.hero .benefits>.benefit{display:block}.store-version{min-width:0}
.module{padding:28px 0;border-bottom:1px solid var(--line);min-width:0}.module>.card,.module>section{min-width:0}.heading,.demo-section-title{margin-bottom:20px}.heading{display:flex;justify-content:space-between;gap:18px;align-items:center}.heading h2,.demo-section-title{font:600 21px/1.55 var(--title);overflow-wrap:anywhere}.heading>p{color:var(--muted);font-size:10px;flex:none}.entry-zone{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:25px;margin-bottom:9px;box-shadow:0 6px 25px #00000004}.entry-zone .heading h2,.entry-zone .demo-section-title{font-size:20px}.entry-zone .content{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.entry-zone .heading{grid-column:1/-1;margin-bottom:5px}.entry-zone .actions,.entry-zone .recharge-actions,.entry-zone .extra-actions{display:contents}.store-action-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.action,.recharge-action,.extra,.store-action-item{display:grid;grid-template-columns:30px minmax(0,1fr) 9px;align-items:center;gap:10px;min-height:84px;padding:16px 14px;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);text-align:left}.action.register,.store-action-item.is-register{background:var(--accent);color:var(--on);border-color:var(--accent)}.action.download,.store-action-item.is-download{background:var(--ink);color:var(--page);border-color:var(--ink)}.action b,.recharge-action b,.extra b,.store-action-copy b{display:block;font-size:14px;line-height:1.6}.action small,.recharge-action small,.extra small,.store-action-copy small{display:block;font-size:10px;font-weight:400;line-height:1.6;margin-top:4px;opacity:.75;overflow-wrap:anywhere}.token,.extra-token,.store-action-icon{display:grid;place-items:center;width:30px;height:32px;font-size:14px;font-weight:600}.arrow,.store-action-arrow{font-size:20px;opacity:.6}.is-custom{grid-column:auto}.action.disabled,.recharge-action.disabled,.store-action-item.disabled{opacity:.5;pointer-events:none}
.contact-list,.store-channel-list{display:grid;gap:12px}.contact-card,.store-channel-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.contact-main{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center}.contact-kind{grid-row:1/3;padding:10px;border-radius:50%;background:var(--soft);color:var(--accent);font-size:12px}.contact-main strong{font:600 20px/1.5 Consolas,monospace}.contact-main>span:last-child{color:var(--muted);font-size:11px}.contact-card button,.store-channel-action{border:1px solid var(--line);border-radius:6px;padding:9px 18px;background:var(--soft);color:var(--accent);font-size:12px;flex:none}.store-channel-main{display:flex;gap:14px;align-items:center;min-width:0}.store-channel-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--soft);font-size:12px;color:var(--accent)}.store-channel-copy b{display:block;font:600 20px/1.5 Consolas,monospace}.store-channel-copy span{display:block;color:var(--muted);font-size:11px}
.cdk-list,.store-reward-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.cdk,.store-reward-card{position:relative;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);min-width:0}.cdk{display:flex;flex-direction:column;gap:14px;cursor:pointer}.cdk-code-stack{display:flex;flex-wrap:wrap;gap:7px;align-items:baseline;justify-content:space-between}.cdk-code,.store-reward-copy>b{display:block;font:600 22px/1.4 Consolas,monospace;color:var(--accent);overflow-wrap:anywhere}.cdk-date{font-size:9px;color:var(--muted);font-family:"Microsoft YaHei",sans-serif}.cdk-desc,.store-reward-copy>span{display:block;font-size:12px;color:var(--muted);line-height:1.9;overflow-wrap:anywhere}.cdk-desc{flex:1}.copy{border-top:1px dashed var(--line);padding-top:12px;color:var(--accent);font-size:11px}.store-reward-card{display:flex;flex-direction:column;gap:14px}.store-reward-icon{position:absolute;top:21px;right:20px;font-size:11px;color:var(--accent);border:1px solid var(--line);padding:2px 6px;border-radius:3px}.store-reward-copy{flex:1;min-width:0}.store-reward-copy>b{padding-right:35px;margin-bottom:12px}.store-reward-action{padding-top:12px;border-top:1px dashed var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.store-reward-code-line{min-width:0;display:flex;flex-direction:column;gap:4px}.store-reward-code-line code{color:var(--muted);font:11px Consolas,monospace;overflow-wrap:anywhere}.store-reward-action button{padding:6px 9px;border:1px solid var(--line);border-radius:4px;background:var(--soft);color:var(--accent);font-size:10px;flex:none}.version .version,.store-version-html{line-height:2;font-size:14px;color:var(--muted)}.version .version img,.store-version-html img{max-width:100%}.intro{margin:0 0 16px;padding:14px;background:var(--soft);font-size:13px}.faq-list,.original-faq-list{display:grid;gap:0}.faq-item,.original-faq-item{padding:18px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.9;color:var(--muted)}.faq-item strong,.original-faq-item strong{color:var(--ink)}.news-item,.original-news-list>a{display:flex;align-items:center;gap:20px;padding:20px 0;border-top:1px solid var(--line);min-width:0}.news-item>b,.original-news-list>a>b{font-size:14px;font-weight:500;line-height:1.8;flex:1;overflow-wrap:anywhere}.news-item>time,.original-news-list time{font:11px monospace;color:var(--muted);flex:none}.original-news-index{font:22px var(--title);color:var(--accent);flex:none}.friend-links nav{display:flex;flex-wrap:wrap;gap:20px;font-size:13px;color:var(--muted)}.site-footer{padding:25px 0 35px;color:var(--muted);font-size:11px;text-align:center}.legal span,.seo-legal span{display:block}.lower-columns{display:grid;grid-template-columns:1.7fr 1fr;gap:30px}.lower-columns>aside{min-width:0}.lower-columns .cdk-list,.lower-columns .store-reward-list{grid-template-columns:repeat(2,minmax(0,1fr))}.lower-columns aside .contact-card,.lower-columns aside .store-channel-row{padding:15px 12px;gap:8px}.lower-columns aside .contact-main,.lower-columns aside .store-channel-main{gap:8px}.lower-columns aside .contact-kind,.lower-columns aside .store-channel-icon{display:none}.lower-columns aside .contact-main strong,.lower-columns aside .store-channel-copy b{font-size:17px}.lower-columns aside .heading h2,.lower-columns aside .demo-section-title{font-size:18px}.lower-columns aside .contact-card button,.lower-columns aside .store-channel-action{padding:7px 10px}.lower-columns aside .heading{display:block}.lower-columns aside .heading>p{margin-top:6px}
/* Existing dialogs and exact original text, including original recharge images. */
.guard-modal,.recharge-modal{position:fixed;z-index:100;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#09111bb3;backdrop-filter:blur(5px)}.guard-dialog,.recharge-dialog{position:relative;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:max(12px,var(--radius));box-shadow:0 20px 80px #0005}.guard-dialog{width:min(440px,100%);padding:35px}.guard-close{position:absolute;top:10px;right:12px;background:transparent;font-size:25px;padding:5px}.guard-dialog h2{font-size:24px;margin-bottom:17px}.guard-dialog>p{font-size:14px;color:var(--muted);line-height:1.9}.guard-dialog>p>span{display:block}.guard-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 18px}.guard-actions button{padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}.guard-actions .primary{background:var(--accent);color:var(--on);border-color:var(--accent)}.guard-dialog .guard-countdown{font-size:11px}.recharge-dialog{width:min(640px,100%);max-height:calc(100dvh - 40px);display:flex;flex-direction:column;overflow:hidden}.recharge-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:17px 20px}.recharge-dialog-head h2{font-size:20px}.recharge-dialog-actions{display:flex;gap:8px;align-items:center}.recharge-dialog-go,.recharge-dialog-close{font-size:11px;padding:9px 12px;background:var(--soft);border:1px solid var(--line);border-radius:6px}.recharge-dialog-close{display:flex;gap:5px;align-items:center}.recharge-dialog-close b{font-size:18px}.recharge-dialog-body{padding:23px;overflow:auto;min-height:0;overscroll-behavior:contain}.recharge-dialog-body .version{font-size:13px;line-height:1.85;overflow-wrap:anywhere}.recharge-dialog-images{margin-top:20px}.recharge-dialog-loading{padding:12px;text-align:center;font-size:12px;color:var(--muted)}.recharge-dialog-image{width:100%;height:auto;margin:10px 0;background:var(--soft)}.recharge-dialog-image:not([src]){display:none}.toast{position:fixed;z-index:150;left:50%;bottom:25px;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:var(--ink);color:var(--page);padding:12px 18px;border:1px solid var(--line);border-radius:6px;font-size:12px;transition:.2s;max-width:calc(100% - 32px)}.toast.show{opacity:1;transform:translate(-50%,0)}
/* Original article body and metadata, styled without adding banners or article copy. */
.article-page .shell{max-width:920px;margin:auto;padding:30px 0}.article-page .head{display:flex;align-items:center;gap:14px;padding-bottom:24px;border-bottom:1px solid var(--line)}.article-page .head img{width:54px;height:54px;border-radius:12px}.article-page .head b{display:block;font-size:18px}.article-page .head>div>span{display:block;font-size:12px;color:var(--muted);margin-top:3px}.article-page .article{padding:35px 0}.article-page h1{font:600 34px/1.55 var(--title);margin-bottom:16px}.article-page .meta{display:flex;flex-wrap:wrap;gap:18px;font-size:11px;color:var(--muted);padding-bottom:25px;border-bottom:1px solid var(--line)}.article-page .body{font-size:16px;line-height:2.1;padding-top:8px}.article-page .body p{margin:16px 0}.article-page .body h2{font:600 25px/1.6 var(--title);margin:28px 0 16px}.article-page .body h3{font-size:20px;margin:24px 0 14px}.article-page .body ul,.article-page .body ol{padding-left:24px}.article-page .body li{margin:10px 0}.article-page .body img{max-width:100%}.article-page .back{display:inline-block;margin-top:22px;padding:13px 20px;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);font-size:13px;color:var(--accent)}.article-page .related{padding:25px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.article-page .related h2{font-size:20px;margin-bottom:16px}.article-page .related a{display:flex;gap:20px;align-items:center;justify-content:space-between;font-size:13px;padding:13px 0;border-top:1px solid var(--line)}.article-page .related time{font-size:10px;color:var(--muted);flex:none}.article-page .legal{text-align:center;color:var(--muted);padding:25px;font-size:11px}
@container site (max-width:1000px){.entry-zone .content,.store-action-list{grid-template-columns:repeat(2,minmax(0,1fr))}.heading h2,.demo-section-title{font-size:19px}.entry-zone{padding:22px}.identity h1{font-size:28px}.cdk-list,.store-reward-list{grid-template-columns:repeat(2,minmax(0,1fr))}.lower-columns{grid-template-columns:1.5fr 1fr;gap:22px}.lower-columns .cdk-list,.lower-columns .store-reward-list{grid-template-columns:1fr}.theme-7 .lower-columns>aside,.theme-14 .lower-columns>aside{padding-left:18px}.benefit,.demo-game-tags>span{font-size:11px}.action,.recharge-action,.store-action-item{min-height:76px}.theme-10 .demo-game-tags{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container site (max-width:768px){.site-shell{width:calc(100% - 28px)}.identity{padding:19px 0 18px;margin-bottom:16px}.identity .brand,.identity .store-head,.identity .float-brand{gap:12px}.identity .logo,.identity .masthead-logo,.identity .store-icon,.identity .float-brand>img{width:60px;height:60px;border-radius:12px}.identity h1,.theme-10 .identity h1,.theme-11 .identity h1{font-size:24px}.title-line,.game-title-line,.float-brand-top{gap:7px}.edition,.game-release-badge{font-size:9px;padding:2px 6px}.tags,.store-tags{gap:6px;margin-top:7px}.tag,.store-tag{font-size:9px}.tag+.tag:before,.store-tag+.store-tag:before{margin-right:6px}.identity .masthead{grid-template-columns:60px 1fr;gap:3px 12px}.identity .masthead .store-tags{margin:0}.store-get-group{display:none}.store-meta>p{font-size:10px;margin-top:5px}.hero-region{margin-bottom:18px}.banner img,.hero-carousel img{max-height:none;aspect-ratio:12/5;height:auto}.slogan{font-size:10px;padding:18px 10px 8px;line-height:1.6}.benefits,.demo-game-tags{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.benefit,.demo-game-tags>span{padding:10px 6px;font-size:10px;font-weight:500;line-height:1.6}.module{padding:23px 0}.heading,.demo-section-title{margin-bottom:15px}.heading{display:block}.heading h2,.demo-section-title,.theme-7 .heading h2,.theme-7 .demo-section-title{font-size:17px;line-height:1.7}.heading>p{font-size:10px;margin-top:5px}.entry-zone{padding:17px 13px;margin-bottom:5px}.entry-zone .heading h2,.entry-zone .demo-section-title{font-size:16px;line-height:1.65}.entry-zone .content,.store-action-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.entry-zone .heading{margin-bottom:2px}.action,.recharge-action,.extra,.store-action-item{grid-template-columns:23px minmax(0,1fr) 6px;gap:6px;padding:12px 9px;min-height:76px;border-radius:8px}.action b,.recharge-action b,.extra b,.store-action-copy b{font-size:12px;line-height:1.55}.action small,.recharge-action small,.extra small,.store-action-copy small{font-size:9px;margin-top:4px;line-height:1.6}.token,.extra-token,.store-action-icon{width:23px;height:25px;font-size:12px}.token svg,.extra-token svg{width:18px;height:18px}.arrow,.store-action-arrow{font-size:16px}.contact-card,.store-channel-row{padding:14px 12px;gap:9px}.contact-main,.store-channel-main{gap:9px}.contact-main strong,.store-channel-copy b{font-size:19px}.contact-main>span:last-child,.store-channel-copy span{font-size:9px}.contact-kind{padding:8px;font-size:10px}.store-channel-icon{width:34px;height:34px;font-size:10px}.contact-card button,.store-channel-action{padding:7px 10px;font-size:11px}.cdk-list,.store-reward-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.cdk,.store-reward-card{padding:15px 12px;gap:11px}.cdk-code,.store-reward-copy>b{font-size:20px}.cdk-date{font-size:8px}.cdk-desc,.store-reward-copy>span{font-size:10px;line-height:1.9}.store-reward-icon{right:11px;top:16px;font-size:9px;padding:1px 4px}.store-reward-copy>b{padding-right:21px;word-break:break-word}.store-reward-action{flex-wrap:wrap;gap:8px}.store-reward-action button{font-size:10px}.store-reward-code-line code{font-size:10px}.copy{font-size:10px;padding-top:9px}.version .version,.store-version-html{font-size:12px}.faq-item,.original-faq-item{font-size:11px;padding:15px 0}.news-item,.original-news-list>a{gap:12px;padding:16px 0}.news-item>b,.original-news-list>a>b{font-size:12px;line-height:1.8}.news-item>time,.original-news-list time{font-size:9px}.original-news-index{font-size:17px}.site-footer{font-size:9px;padding:22px 0 30px}.friend-links nav{font-size:11px;gap:14px}.lower-columns,.theme-11 .lower-columns,.theme-14 .lower-columns{display:block}.lower-columns .cdk-list,.lower-columns .store-reward-list{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-7 .lower-columns>aside,.theme-14 .lower-columns>aside{border:0;padding-left:0}.lower-columns aside .heading h2,.lower-columns aside .demo-section-title{font-size:17px}.lower-columns aside .contact-kind,.lower-columns aside .store-channel-icon{display:grid}.lower-columns aside .contact-main strong,.lower-columns aside .store-channel-copy b{font-size:19px}
 .guard-modal,.recharge-modal{padding:16px}.guard-dialog{padding:28px 22px}.guard-dialog h2{font-size:22px}.guard-dialog>p{font-size:13px}.guard-actions{gap:8px}.guard-actions button{font-size:12px}.recharge-dialog{max-height:calc(100dvh - 32px)}.recharge-dialog-head{padding:14px 12px;gap:8px}.recharge-dialog-head h2{font-size:17px;flex:none}.recharge-dialog-go,.recharge-dialog-close{padding:7px 8px;font-size:10px}.recharge-dialog-body{padding:17px}.recharge-dialog-body .version{font-size:12px}.article-page .shell{padding-top:22px}.article-page h1{font-size:25px;line-height:1.65}.article-page .meta{font-size:10px;gap:6px 15px}.article-page .article{padding-top:26px}.article-page .body{font-size:14px;line-height:2}.article-page .body h2{font-size:22px;line-height:1.7}.article-page .body h3{font-size:17px}.article-page .related{padding:18px 14px}.article-page .related a{font-size:12px;gap:12px}.article-page .related h2{font-size:19px}.article-page .back{font-size:12px;line-height:1.8}}
@container site (max-width:360px){.site-shell{width:calc(100% - 24px)}.identity h1,.theme-10 .identity h1,.theme-11 .identity h1{font-size:21px}.identity .logo,.identity .masthead-logo,.identity .store-icon,.identity .float-brand>img{width:53px;height:53px}.identity .masthead{grid-template-columns:53px 1fr;column-gap:10px}.tags,.store-tags{gap:3px}.tag,.store-tag{font-size:8px}.tag+.tag:before,.store-tag+.store-tag:before{margin-right:3px}.benefit,.demo-game-tags>span,.theme-6 .benefit,.theme-7 .demo-game-tags>span,.theme-9 .demo-game-tags>span,.theme-13 .demo-game-tags>span{font-size:9px;padding:10px 4px}.entry-zone{padding:14px 10px}.entry-zone .heading h2,.entry-zone .demo-section-title{font-size:15px}.action,.recharge-action,.store-action-item{grid-template-columns:19px minmax(0,1fr);gap:6px;padding:10px 8px;min-height:74px}.arrow,.store-action-arrow{display:none}.token,.extra-token,.store-action-icon{width:19px}.action b,.recharge-action b,.store-action-copy b{font-size:11px}.action small,.recharge-action small,.store-action-copy small{font-size:8px}.cdk-list,.store-reward-list,.lower-columns .cdk-list,.lower-columns .store-reward-list{grid-template-columns:1fr}.store-reward-action{flex-wrap:nowrap}.contact-kind,.store-channel-icon{display:none}.contact-main{grid-template-columns:1fr}.contact-main strong,.store-channel-copy b{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Shared mechanics only. Every theme supplies its own composition and components. */
.identity,.hero-region,.entry-zone,.content-regions,.content-regions>div,.content-regions aside{min-width:0}
.entry-button{min-width:0;position:relative;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s,color .18s;isolation:isolate}
.entry-button>*{min-width:0}.entry-button:hover{filter:none}.entry-button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.gift-card{transition:transform .2s,box-shadow .2s,border-color .2s}.news-link{transition:background .2s,color .2s,transform .2s}.news-link:hover{filter:none;color:var(--accent)}
.display-tag:before{display:none}.version-copy{overflow-wrap:anywhere}.version-copy p{margin:0}.site-notes p{margin:0}
.section-heading{overflow-wrap:anywhere}.hero-art img{object-position:center}.entry-zone .heading{min-width:0}
@container site (max-width:768px){.entry-button{min-height:78px}.content-regions{margin-top:22px}.news-link{flex-wrap:wrap}.news-link>b{min-width:0}.news-link time{max-width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* 42 / Kanban: a cork-grey board, sticky notes in three pastel tints, tape strips and a pinned brand card. */
.theme-42{--page:#d9c7a9;--paper:#fffdf5;--ink:#3b3a35;--muted:#7a776d;--line:#d8d3c6;--accent:#d9822b;--soft:#f6f1e3;--radius:3px;--title:"Microsoft YaHei",sans-serif;--note-y:#fff4a3;--note-p:#ffd9e6;--note-b:#d9ecff;--note-g:#ddf5d6;
 background:radial-gradient(circle at 20% 20%,#e6d6bb,transparent 50%),radial-gradient(#00000009 1px,transparent 1.5px) 0 0/9px 9px,radial-gradient(#ffffff14 1px,transparent 1.5px) 4px 5px/11px 11px,#d9c7a9}
.theme-42 .kanban-cover{margin-top:22px}
.theme-42 .identity{padding:20px 22px;margin:0 0 18px;border:0;background:var(--paper);box-shadow:0 8px 18px #3b3a3522;position:relative;transform:rotate(-.6deg)}
.theme-42 .identity:before{content:"";position:absolute;left:50%;top:-10px;width:70px;height:20px;margin-left:-35px;background:#ffffff99;border:1px solid #0000000d;transform:rotate(-2deg);box-shadow:0 1px 2px #0000001a}
.theme-42 .identity .logo{border-radius:3px;border:4px solid #fff;box-shadow:0 2px 6px #3b3a3533}
.theme-42 .identity h1{font-weight:800}
.theme-42 .category-badge{background:var(--accent);color:#fff;border:0;border-radius:2px;font-weight:700}
.theme-42 .display-tag{padding:1px 8px;background:var(--note-y);border-radius:2px;color:#6b5a1a;font-weight:600}
.theme-42 .hero-region{margin:0}
.theme-42 .hero-art{border-radius:2px;border:6px solid #fff;box-shadow:0 8px 18px #3b3a3533;transform:rotate(.4deg)}
.theme-42 .hero-art img{height:auto;max-height:none;aspect-ratio:auto}
.theme-42 .benefit-list{margin-top:18px}
.theme-42 .benefit-chip{border:0;border-radius:2px;color:#4a4330;font-weight:600;box-shadow:0 3px 6px #3b3a3522;background:var(--note-y)}
.theme-42 .benefit-chip:nth-child(3n+2){background:var(--note-b);transform:rotate(1deg)}
.theme-42 .benefit-chip:nth-child(3n){background:var(--note-p);transform:rotate(-1deg)}
.theme-42 .section-heading{font-weight:800}
.theme-42 .section-heading:before{content:"";flex:none;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ff9b7a,#d9502b 70%);box-shadow:0 2px 3px #0005;margin-right:10px}
.theme-42 .entry-zone{background:none;border:0;box-shadow:none;padding-inline:0}
.theme-42 .entry-zone .content{gap:14px}
.theme-42 .entry-button{border:0;border-radius:2px;background:var(--paper);color:var(--ink);box-shadow:0 5px 10px #3b3a3526;position:relative}
.theme-42 .entry-button:before{content:"";position:absolute;left:50%;top:-7px;width:44px;height:14px;margin-left:-22px;background:#ffffffa6;border:1px solid #0000000d;transform:rotate(-2deg)}
.theme-42 .entry-register{background:var(--accent);color:#fff;transform:rotate(-.8deg)}
.theme-42 .entry-download{background:var(--note-g);color:#2f5a2a;transform:rotate(.6deg)}
.theme-42 .entry-info{background:var(--note-b);color:#2d4d6b}
.theme-42 .entry-recharge{background:var(--note-y);color:#6b5a1a;transform:rotate(-.5deg)}
.theme-42 .entry-extra{background:var(--note-p);color:#7a3a52}
.theme-42 .entry-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#ffffff66}
.theme-42 .entry-button:hover{transform:rotate(0) translateY(-3px);box-shadow:0 10px 18px #3b3a3533}
.theme-42 .entry-button:active{transform:translateY(0)}
body.theme-42 .save-button{border:0;border-radius:2px;background:#fff;color:var(--accent);box-shadow:0 3px 6px #3b3a3522}
.theme-42 .contact-card{border:0;border-radius:2px;background:var(--note-b);box-shadow:0 5px 10px #3b3a3526}
.theme-42 .contact-kind{background:#fff;color:#2d4d6b;border-radius:2px}
body.theme-42 :is(.gift-copy,.contact-card button){border:0;border-radius:2px;background:var(--ink);color:#fff}
body.theme-42 .gift-copy.is-copied{background:var(--accent);color:#fff}
.theme-42 .gift-grid{gap:20px 16px}
.theme-42 .gift-card{border:0;border-radius:2px;background:var(--note-y);box-shadow:0 6px 12px #3b3a3526;padding:22px 18px 16px;position:relative}
.theme-42 .gift-card:before{content:"";position:absolute;left:50%;top:-8px;width:54px;height:16px;margin-left:-27px;background:#ffffffa6;border:1px solid #0000000d;transform:rotate(-2deg)}
.theme-42 .gift-card:nth-child(3n+2){background:var(--note-p);transform:rotate(.8deg)}
.theme-42 .gift-card:nth-child(3n){background:var(--note-b);transform:rotate(-.7deg)}
.theme-42 .gift-code{font:800 23px/1.3 "Microsoft YaHei",sans-serif;color:var(--ink)}
.theme-42 .cdk-date{color:#6b5a1a}
.theme-42 .gift-description{color:#55503f}
.theme-42 .gift-copy{align-self:flex-end}
.theme-42 .gift-card:hover{transform:rotate(0) translateY(-4px);box-shadow:0 12px 22px #3b3a3533}
.theme-42 .version>.section-inner{background:var(--paper);padding:18px;box-shadow:0 5px 10px #3b3a3526}
.theme-42 .site-notes{gap:14px}
.theme-42 .site-note{border:0;border-radius:2px;background:var(--paper);padding:14px 16px;box-shadow:0 4px 8px #3b3a3520}
.theme-42 .site-note:nth-child(even){background:var(--note-g)}
.theme-42 .site-note strong{display:block;color:var(--accent);margin-bottom:4px}
.theme-42 .news-link{border:0;border-radius:2px;background:#fff;padding:13px 16px;margin-bottom:10px;box-shadow:0 3px 6px #3b3a3520}
.theme-42 .news-link:hover{transform:translateY(-2px)}
body.theme-42 .news .news-link>time{background:var(--note-y);padding:2px 8px;border-radius:2px;color:#6b5a1a}
body.theme-42 .links .friend-list>a{border:0;border-radius:2px;padding:4px 10px;background:#fff;box-shadow:0 2px 4px #3b3a3520}
.theme-42 .guard-dialog,.theme-42 .recharge-dialog{border:0;border-radius:3px;box-shadow:0 20px 60px #0007}
@container site (max-width:768px){
 .theme-42 .kanban-cover{margin-top:16px}
 .theme-42 .identity{padding:14px 16px;margin-bottom:14px}
 .theme-42 .hero-art{border-width:4px}
 .theme-42 .entry-zone .content{gap:12px}
 .theme-42 .gift-card{padding:19px 14px 14px}
 .theme-42 .gift-code{font-size:21px}
}

/* Shared content contract. Layout responds to the site's width, never to a desktop canvas. */
body.strict-page{--shell:768px}
body.strict-page .site-shell{box-sizing:border-box;width:min(768px,100%);max-width:768px;margin-inline:auto;padding-inline:14px;container:site / inline-size}
.strict-page .brand-copy,.strict-page .brand-title,.strict-page .name,.strict-page .float-brand-main{min-width:0}
.strict-page .brand-copy{flex:1}.strict-page .title-line,.strict-page .game-title-line,.strict-page .float-brand-top{flex-wrap:nowrap;min-width:0;width:100%}
.strict-page .brand-title{flex:1}.strict-page .brand-title>.fit-text{width:100%}
.strict-page .identity .masthead>.game-title-line{grid-column:2;grid-row:1}
.strict-page .category-badge{max-width:32%;min-width:0;flex-shrink:1}
.strict-page .tags,.strict-page .store-tags{flex-wrap:nowrap;min-width:0}
.strict-page .display-tag{min-width:0;max-width:100%;flex-shrink:1}
.strict-page .fit-text{display:block;min-width:0;width:100%;max-width:100%;font-size:inherit;line-height:inherit;white-space:nowrap;word-break:normal;overflow-wrap:normal;overflow:visible;text-overflow:clip}
/* Two-line text wraps at natural boundaries first (keeps "鉴宝券50" whole); breaking inside a word is a last resort. */
.strict-page [data-fit-lines="2"]{white-space:normal;word-break:normal;overflow-wrap:anywhere;text-wrap:pretty;line-height:1.65}
.strict-page .entry-copy,.strict-page .entry-copy b,.strict-page .entry-copy small{display:block;width:100%;min-width:0}
.strict-page .entry-button{min-width:0}.strict-page .entry-register .entry-copy b{font-size:14px}
.strict-page .section-heading{display:flex;align-items:center;min-width:0;width:100%;white-space:nowrap;writing-mode:horizontal-tb}
.strict-page .section-heading>.fit-text{min-width:0;flex:1}
.strict-page .heading{width:100%;min-width:0}
.strict-page .gift-code,.strict-page .gift-description,.strict-page .cdk-code-stack,.strict-page .store-reward-copy,.strict-page .secondary-code{min-width:0}
.strict-page .cdk-code-stack .gift-code{max-width:100%}
.strict-page .gift-description{display:block;flex:none;font-size:12px;line-height:1.65}
.strict-page .gift-copy{cursor:pointer;display:block;max-width:100%;font:inherit;font-size:11px}
.strict-page .gift-card.is-long{grid-column:1/-1}
.strict-page .secondary-code{font:10px Consolas,monospace;color:var(--muted)}
.strict-page .store-reward-date{font-size:9px;color:var(--muted)}
.strict-page .news-link{min-width:0;width:100%}.strict-page .news-link>b{display:block;min-width:0;width:100%}
.strict-page .news-link:not(:has(.original-news-index)){grid-template-columns:minmax(0,1fr)}
.strict-page .news-link:not(:has(.original-news-index)) time{grid-column:1}
.strict-page .news-link time{white-space:nowrap}
/* Backend version HTML owns its height and rich-text formatting. */
.strict-page .module.version{align-self:start;height:auto;min-height:0;max-height:none}
.strict-page .module.version>.section-inner{display:block!important;min-height:0!important;height:auto!important;max-height:none!important;align-self:start}
.strict-page .module.version .heading{display:block;margin:0 0 15px;border-right:0;padding-right:0}
.strict-page .module.version .section-heading{writing-mode:horizontal-tb!important;max-height:none!important;min-height:0!important;height:auto!important;letter-spacing:normal;line-height:1.6;max-width:100%;border-right:0}
.strict-page .module.version .version-copy{min-height:0!important;height:auto!important;max-height:none!important;overflow:visible!important;text-align:left;writing-mode:horizontal-tb}
.strict-page .version-copy img{max-width:100%;height:auto}.strict-page .version-copy>*{max-width:100%}
.strict-page .version-copy table{max-width:100%;table-layout:fixed;overflow-wrap:anywhere}
.strict-page .journal-notes,.strict-page .console-support,.strict-page .console-records,.strict-page .field-dossier,.strict-page .fireline-bottom,.strict-page .library-details,.strict-page .coupon-notes,.strict-page .press-body,.strict-page .device-windows{display:block}
.strict-page .module.version .section-heading{font-size:18px}
.strict-page .news-feed{min-width:0}.strict-page .news-link>b>.fit-text{line-height:1.65}
.strict-page.article-page .shell{max-width:100%;min-width:0}
.strict-page.article-page .head>div{min-width:0;flex:1}.strict-page.article-page .back{max-width:100%}
.strict-page.article-page .related a{display:grid;grid-template-columns:minmax(0,1fr) auto}.strict-page.article-page .related-title{min-width:0}
.strict-page.article-page .article>h1{width:100%;min-width:0}.strict-page.article-page .body h2,.strict-page.article-page .body h3{overflow-wrap:anywhere}
body.theme-6 .version-copy{background:none}.theme-6 .version>.section-inner{padding:20px}
body.theme-9 .identity .masthead .game-title-line{display:flex}
body.theme-11 .entry-zone .content,body.theme-10 .store-action-list{grid-template-columns:repeat(2,minmax(0,1fr))}
body.theme-11 .identity{width:100%}
body.theme-14 .version .section-heading{padding:0 0 13px;border-bottom:1px solid var(--line)}
body.theme-15 .gift-card.is-long .gift-code{word-break:normal}
@container site (min-width:540px){.strict-page .gift-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.strict-page .section-heading{font-size:21px}.strict-page .identity h1{font-size:30px}.strict-page .entry-copy b{font-size:15px}.strict-page .entry-copy small{font-size:11px}.strict-page .benefit-chip{font-size:12px}.strict-page .display-tag{font-size:11px}.strict-page .news-link>b{font-size:16px}}
@container site (max-width:360px){.strict-page .gift-description{font-size:11px}.strict-page .entry-register .entry-copy b{font-size:13px}}

/* Keep light surfaces readable, including primary button labels. */
.theme-18 .entry-register{color:#65472e}.theme-19 .entry-register{background:#4f70ad}
.theme-20 .entry-register{background:linear-gradient(135deg,#659cbc,#447fa6)}
.theme-21 .entry-register{color:#713c37}.theme-22 .entry-register{background:#4b7c67}
.theme-23 .entry-register{color:#654b81}.theme-24 .entry-register{color:#70511e}
/* Viewport dialogs remain outside the page's size container. */
.strict-page .save-zone{grid-column:1/-1;margin-top:10px;min-width:0}
.strict-page .save-button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;width:100%;min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);color:var(--accent);font-size:12px;transition:transform .18s,background .18s}
.strict-page .save-button svg{width:16px;height:16px;flex:none}
.strict-page .save-button .fit-text{width:auto;min-width:0;max-width:calc(100% - 24px)}
.strict-page .save-button:hover{background:var(--paper);transform:translateY(-1px)}
.theme-6 .save-button,.theme-25 .save-button{border-width:0 0 1px;background:none}
.theme-7 .save-button{border-radius:2px;border-left:3px solid var(--accent)}
.theme-8 .save-button{border-radius:20px;box-shadow:0 3px var(--line)}
.theme-9 .save-button,.theme-16 .save-button{border-radius:12px 0;border-left:3px solid var(--accent)}
.theme-10 .save-button{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}
.theme-11 .save-button{background:var(--paper);border-radius:7px}
.theme-12 .save-button{border-radius:30px;background:linear-gradient(120deg,var(--paper),var(--soft))}
.theme-13 .save-button{border-style:dashed;border-radius:8px}
.theme-14 .save-button{border-width:3px 0;border-style:double;background:none}
.theme-15 .save-button{border:2px solid var(--line);box-shadow:0 3px var(--line);border-radius:5px}
.theme-17 .save-button{border-radius:2px;box-shadow:2px 3px var(--line)}
.theme-18 .save-button{border:3px solid var(--paper);outline:1px solid var(--line);outline-offset:-1px;border-radius:0}
.theme-19 .save-button{border-radius:0;border-width:2px;box-shadow:3px 3px var(--line)}
.theme-20 .save-button{border-radius:20px;border-color:white;background:#ffffffb0;box-shadow:0 4px 14px #7195b320}
.theme-21 .save-button{border-style:dashed;border-radius:1px}
.theme-22 .save-button{border-radius:0;border-left:5px solid var(--accent)}
.theme-23 .save-button{border-radius:22px 4px 22px 4px}
.theme-24 .save-button{border-radius:0;box-shadow:3px 3px var(--line)}
.save-dialog{text-align:center}.save-success-mark{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 18px;border-radius:50%;background:var(--soft);color:var(--accent);font-size:27px}
.guard-dialog .modal-confirm{display:block;width:100%;margin-top:24px;min-height:42px;padding:10px 15px;border:1px solid var(--accent);border-radius:max(4px,var(--radius));background:var(--accent);color:var(--on);font-size:14px}
.guard-dialog .invite-code{display:block;width:100%;min-width:0;margin:22px 0;padding:15px;border:1px dashed var(--line);border-radius:6px;background:var(--soft);color:var(--accent);font:700 24px/1.6 Consolas,monospace;text-align:center}
.strict-page .gift-copy.is-copied{background:var(--soft);color:var(--accent);border-color:var(--accent)}
.guard-countdown strong{color:var(--accent);font-size:1.12em}.guard-modal h2,.recharge-dialog-head h2{min-width:0}
.recharge-dialog-loading{display:flex;align-items:center;justify-content:center;gap:8px}.recharge-dialog-loading>span{width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:recharge-spin .8s linear infinite}
.recharge-image-retry{display:block;width:100%;padding:13px;border:1px dashed var(--line);background:var(--soft);color:var(--accent);border-radius:6px;font-size:12px}
.recharge-dialog-image.is-error{display:none}.recharge-dialog-body{scrollbar-gutter:stable}
@keyframes recharge-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.recharge-dialog-loading>span{animation:none}}
/* Short, single-label actions retain each theme's shape and interaction. */
body.strict-page .entry-zone .entry-button{min-height:60px;padding-block:9px}
body.strict-page:is(.theme-16,.theme-22,.theme-25) .entry-zone .entry-button{min-height:48px;padding-block:8px}
body.strict-page.theme-17 .entry-zone .entry-register{min-height:48px}
body.strict-page.theme-18 .entry-zone .entry-button{min-height:76px;padding-block:8px;gap:4px}
.strict-page .contact-main,.strict-page .store-channel-copy{min-width:0;flex:1}
.strict-page .contact-main{grid-template-columns:auto minmax(0,1fr)}
.strict-page .contact-kind{grid-row:auto}
.strict-page .contact-main strong,.strict-page .store-channel-copy b{min-width:0}
.strict-page .store-channel-copy b>.fit-text{font:inherit;color:inherit}
.strict-page .contact-card,.strict-page .store-channel-row{padding-block:11px}
.strict-page .store-channel-main{flex:1}
.strict-page .store-channel-icon{flex-shrink:0}
/* Give optional news indices explicit slots; never leave an empty number column. */
.strict-page .news .news-feed{display:grid;grid-template-columns:minmax(0,1fr)}
.strict-page .news .news-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"index title date";align-items:center;gap:10px;min-width:0}
.strict-page .news .news-link>b{grid-area:title;min-width:0;max-width:100%;align-self:center}
.strict-page .news .news-link>.original-news-index{grid-area:index;position:static;align-self:center;justify-self:start;font-size:12px;line-height:1.5;grid-row:1;margin:0;padding:0 5px;max-width:100%}
.strict-page .news .news-link>time{grid-area:date;align-self:center;justify-self:end;display:block;width:auto;max-width:100%;margin:0;padding:0;border:0;line-height:1.7;white-space:nowrap}
.strict-page .news .news-link:not(:has(.original-news-index)){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title date"}
.strict-page.theme-9 .news .news-link{padding-left:20px}
/* The section owns its heading once; source-template wrappers do not leak in. */
.strict-page .module:is(.faq,.news,.links)>.section-inner>.heading{margin:0 0 16px;display:block}
.strict-page .module:is(.faq,.news,.links) .heading>.section-heading{margin:0}
.strict-page .module:is(.faq,.news,.links)>.section-inner>.section-heading{margin:0 0 16px}
.strict-page .site-notes,.strict-page .site-note,.strict-page .site-note>p{min-width:0;max-width:100%}
.strict-page .site-note>p{margin:0;line-height:1.9}
.strict-page .site-note .note-question{display:block;min-width:0;margin-bottom:6px}
.strict-page .site-note .note-answer{display:block;overflow-wrap:anywhere;word-break:normal}
.strict-page .links .friend-list{display:flex;flex-wrap:wrap;align-items:center;gap:9px 12px;min-width:0;font-size:12px;line-height:1.7}
.strict-page .links .friend-list>a{display:block;min-width:0;max-width:100%;padding:5px 0;color:var(--muted);border-bottom:1px solid var(--line)}
.strict-page .links .friend-list>a:hover{color:var(--accent);border-color:var(--accent)}
@container site (max-width:360px){.strict-page .contact-main{grid-template-columns:minmax(0,1fr)}}
@media(max-width:768px){
 .guard-modal,.recharge-modal{padding:12px}.guard-dialog{padding:25px 20px}.guard-dialog h2{font-size:21px}.guard-actions{gap:8px}.guard-actions button{font-size:12px;min-width:0;padding:11px 9px}
 .recharge-dialog{max-height:calc(100dvh - 24px)}.recharge-dialog-head{padding:14px 12px;gap:8px}.recharge-dialog-head h2{font-size:16px;white-space:nowrap}.recharge-dialog-actions{gap:6px;min-width:0}.recharge-dialog-go,.recharge-dialog-close{font-size:10px;padding:7px 8px;min-width:0}.recharge-dialog-body{padding:16px}.recharge-dialog-body .version{font-size:12px}
}

/* Compact section rhythm: avoid stacking outer padding, margins and heading gaps. */
body.strict-page.home-page .content-regions{margin-top:0}
body.strict-page.home-page .content-regions .module{padding-block:12px;margin-block:0}
body.strict-page.home-page .entry-zone{padding-block:14px;margin-bottom:0}
body.strict-page.home-page .module>.section-inner>.heading,
body.strict-page.home-page .module>.section-inner>.section-heading{margin:0 0 10px}
body.strict-page.home-page .module>.section-inner>.heading>.section-heading{margin:0}
body.strict-page.home-page .entry-zone>.content>.heading{margin:0}
body.strict-page.home-page .save-zone{margin-top:4px}
body.strict-page.home-page:is(.theme-6,.theme-8,.theme-9,.theme-12,.theme-13,.theme-16,.theme-17,.theme-18,.theme-19,.theme-20,.theme-21,.theme-22,.theme-23,.theme-24) .module.version>.section-inner{padding-block:14px}
body.strict-page.home-page.theme-25 .module.version>.section-inner{padding-top:14px}
/* Keep the console's separate panels and the handheld's decorative footer. */
body.strict-page.home-page.theme-7 .content-regions{margin-top:12px}
body.strict-page.home-page.theme-7 .content-regions .module{margin-bottom:12px}
body.strict-page.home-page.theme-11 .library-top{padding-bottom:0;gap:14px}
body.strict-page.home-page.theme-11 .library-top>.hero-region{margin-bottom:0}
body.strict-page.home-page.theme-15 .device-cover{padding-bottom:18px;margin-bottom:0}
body.strict-page.home-page .entry-zone>.section-inner:not(.content)>.save-zone{margin-top:8px}
body.strict-page.home-page.theme-8 .version-copy{margin-block:0}
body.strict-page.home-page.theme-15 .entry-zone{padding-block:0}
body.strict-page.home-page.theme-15 .module:is(.version,.faq)>.section-inner>.section-heading{margin-bottom:0}
body.strict-page.home-page:is(.theme-20,.theme-23) .gift-card:last-child{margin-bottom:0}

/* ===== Visual detail pass (visual-detail-26) ===== */
/* Legibility floor: secondary text never starts below 10px on phones. fit-text still shrinks a label, but only when it truly cannot fit. */
@container site (max-width:768px){
 body.strict-page .display-tag,body.strict-page .tag,body.strict-page .store-tag{font-size:10px}
 body.strict-page .category-badge{font-size:10px}
 body.strict-page .benefit-chip{font-size:11px}
 body.strict-page .entry-copy b{font-size:13px}
 body.strict-page .entry-register .entry-copy b{font-size:14px}
 body.strict-page .cdk-date,body.strict-page .store-reward-date,body.strict-page .store-reward-icon{font-size:10px}
 body.strict-page .store-reward-copy>span,body.strict-page .cdk-desc{font-size:12px}
 body.strict-page .news-link>b{font-size:13px}
 body.strict-page .news-link time{font-size:10px}
 body.strict-page .faq-item,body.strict-page .original-faq-item{font-size:12px}
 body.strict-page .site-footer{font-size:10px;line-height:1.8}
}
@container site (max-width:360px){
 body.strict-page .display-tag,body.strict-page .tag,body.strict-page .store-tag{font-size:10px}
 body.strict-page .benefit-chip{font-size:10px}
 body.strict-page .entry-copy b{font-size:12px}
 body.strict-page .entry-register .entry-copy b{font-size:13px}
 /* Keep the channel label (QQ / 微信) visible instead of dropping it on the smallest phones. */
 body.strict-page .contact-main{grid-template-columns:auto minmax(0,1fr);column-gap:8px}
 body.strict-page .contact-kind{display:inline-block;padding:4px 6px;font-size:10px;line-height:1.4}
 body.strict-page .store-channel-icon{display:grid;width:30px;height:30px;font-size:9px}
 body.strict-page .contact-main strong,body.strict-page .store-channel-copy b{font-size:17px}
}
/* Comfortable tap targets for the small copy buttons. */
.strict-page .gift-copy,.strict-page .contact-card button,.strict-page .store-channel-action{min-height:30px}
/* CDK cards: on narrow screens a medium or long description takes the whole row and stacks above its action, instead of being squeezed into two tiny lines beside it. */
@container site (max-width:539px){
 .strict-page .gift-card.is-medium{grid-column:1/-1}
 .strict-page .gift-card:is(.is-long,.is-medium){grid-template-columns:minmax(0,1fr)}
 .strict-page .gift-card:is(.is-long,.is-medium) .store-reward-action{border-left:0;padding-left:0;flex-direction:row;align-items:center;justify-content:space-between}
 .strict-page .gift-card:is(.is-long,.is-medium) .gift-copy{justify-self:end}
 .strict-page.theme-11 .gift-card:is(.is-long,.is-medium){grid-template-columns:minmax(0,1fr) 32px}
 .strict-page.theme-11 .gift-card:is(.is-long,.is-medium) .cdk-code-stack,.strict-page.theme-11 .gift-card:is(.is-long,.is-medium) .cdk-desc{grid-column:1}
 .strict-page.theme-11 .gift-card:is(.is-long,.is-medium) .gift-copy{grid-column:2;grid-row:1/3;align-self:center}
 /* 12: lighter card density on phones; the stationery shapes stay. */
 body.strict-page.theme-12 .gift-grid{gap:16px;margin:0 6px}
 body.strict-page.theme-12 .gift-card{padding:20px 18px 16px;gap:10px}
 body.strict-page.theme-12 .site-notes{gap:10px}
 body.strict-page.theme-12 .site-note{padding:16px 18px}
}
/* 17: both primary notes span the row, so the secondary pair below never leaves a lone half-width note. */
body.strict-page.theme-17 .entry-zone .entry-download{grid-column:1/-1}
/* Theme 14 reserves room for a corner badge beside the code; drop the indent when the card has no badge. */
.strict-page.theme-14 .gift-card:not(:has(.store-reward-icon)) .gift-code{padding-left:0}

/* ===== Hierarchy pass (visual-hierarchy-27) =====
   Every theme keeps its own shapes and palette; these rules only fix the relationships between elements. */

/* 1. Entry buttons: register + download are the primary pair (bold), intro / recharge / extras are secondary (regular weight). */
body.strict-page .entry-zone :is(.entry-register,.entry-download) .entry-copy b{font-weight:700}
body.strict-page .entry-zone :is(.entry-info,.entry-recharge,.entry-extra) .entry-copy b{font-weight:500}
/* Two themes had a primary button no stronger than its neighbours. */
body.strict-page.theme-17 .entry-zone .entry-register{background:#e9c25a;color:#4d3810;border-bottom-color:#b8923a}
body.strict-page.theme-25 .entry-zone .entry-register{background:#e9eee6}
/* Themes without their own icon treatment get a quiet tinted base so the icon reads as part of the button. */
body.strict-page:is(.theme-11,.theme-16,.theme-17,.theme-18,.theme-19,.theme-21) .entry-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:min(var(--radius),10px);background:color-mix(in srgb,currentColor 12%,transparent)}
body.strict-page:is(.theme-16,.theme-17,.theme-19,.theme-21) .entry-zone .entry-button{grid-template-columns:32px minmax(0,1fr) 9px;gap:10px}
body.strict-page.theme-11 .entry-zone .entry-button{grid-template-columns:32px minmax(0,1fr);gap:10px}
body.strict-page .save-button{font-weight:600}

/* 2. One "copy" button per theme: the contact button adopts the CDK copy style, both share size and the copied state. */
body.strict-page :is(.gift-copy,.store-channel-action,.contact-card button){display:inline-flex;align-items:center;justify-content:center;min-height:32px;min-width:58px;padding:6px 12px;font-size:12px;font-weight:600;line-height:1.4}
body.strict-page .gift-copy.is-copied{background:var(--accent);color:var(--on);border-color:var(--accent);box-shadow:none}
body.strict-page.theme-6 :is(.contact-card button,.gift-copy){border:1px solid var(--accent);border-radius:0;background:transparent;color:var(--accent)}
body.strict-page.theme-7 .store-channel-action{border:1px solid #247f9666;border-radius:0;background:#247f961a;color:var(--accent)}
body.strict-page.theme-8 .contact-card button{border:0;background:#ffdf8a;border-radius:12px;color:#805c22;font-weight:700}
body.strict-page.theme-9 .store-channel-action{border:0;border-radius:20px;background:#e1edd7;color:var(--accent)}
body.strict-page.theme-10 .store-channel-action{border:0;border-radius:0;background:#de6035;color:#fff;font-weight:700}
body.strict-page.theme-11 :is(.contact-card button,.gift-copy){border:0;border-radius:6px;background:#e6edfd;color:var(--accent)}
body.strict-page.theme-12 :is(.contact-card button,.gift-copy){margin:0;border:1px solid #b3c7b8;border-radius:30px;background:transparent;color:#496f5e}
body.strict-page.theme-13 .store-channel-action{border:0;border-radius:3px;background:#d65d28;color:#fff;box-shadow:0 3px #b94617}
body.strict-page.theme-14 .store-channel-action{border:1px solid #858c6c;border-radius:0;background:transparent;color:var(--accent);font-family:var(--title)}
body.strict-page.theme-15 .store-channel-action{border:1px solid #193c91;border-radius:3px;background:#3563d9;color:#fff;box-shadow:2px 3px #6f84a4}
body.strict-page.theme-16 .store-channel-action{border:1px solid #91b0a1;border-radius:0;background:none;color:var(--accent)}
body.strict-page.theme-17 :is(.store-channel-action,.gift-copy){border:0;border-bottom:2px solid #d9ba76;border-radius:2px;background:#fff3c7;color:#886b32;text-align:center}
body.strict-page.theme-18 .store-channel-action{border:1px solid #c8ad86;border-radius:0;background:#ede0cb;color:#896a41}
body.strict-page.theme-19 .store-channel-action{border:0;border-radius:0;background:#edf2ff;color:#5d7bb5}
body.strict-page.theme-20 .contact-card button{border:1px solid #fff;border-radius:30px;background:#deedf8;color:#6998b9}
body.strict-page.theme-21 .contact-card button{border:2px solid #c79380;border-radius:50%;background:none;color:#a67561}
body.strict-page.theme-22 .store-channel-action{border:1px solid #b5c58d;border-radius:0;background:#e5edca;color:#82914f}
body.strict-page.theme-23 .contact-card button{border:0;border-radius:20px 3px;background:#e6d8f0;color:#9d80b4}
body.strict-page.theme-24 .contact-card button{border:1px solid #c2ac63;border-radius:0;background:#eee1aa;color:#a1863e}
body.strict-page.theme-25 :is(.contact-card button,.gift-copy){border:0;border-bottom:1px solid #b2bdab;border-radius:0;background:none;color:#91a084}

/* 3. Section anchors for themes whose headings had no mark of their own: a short accent bar in the theme's radius. */
body.strict-page:is(.theme-8,.theme-9,.theme-16,.theme-17,.theme-19,.theme-20,.theme-21,.theme-23,.theme-24) .section-heading::before{content:"";flex:none;width:4px;height:1em;margin-right:10px;border-radius:min(var(--radius),3px);background:var(--accent)}
/* Site-note questions get a small accent marker where the theme has none. */
body.strict-page:is(.theme-7,.theme-8,.theme-10,.theme-11,.theme-13,.theme-16,.theme-17,.theme-18,.theme-19,.theme-20,.theme-21,.theme-23,.theme-24,.theme-25) .site-note .note-question{display:flex;align-items:center;gap:8px}
body.strict-page:is(.theme-7,.theme-8,.theme-10,.theme-11,.theme-13,.theme-16,.theme-17,.theme-18,.theme-19,.theme-20,.theme-21,.theme-23,.theme-24,.theme-25) .site-note .note-question::before{content:"";flex:none;width:6px;height:6px;border-radius:min(var(--radius),50%);background:var(--accent);transform:rotate(45deg)}

/* 4. Contact rows: the channel label sits in a sized base, the value uses the page's sans-serif at a bold weight. */
body.strict-page :is(.contact-kind,.store-channel-icon){display:grid;place-items:center;width:38px;height:38px;padding:0;font-size:11px;font-weight:700;line-height:1;border-radius:min(var(--radius),12px)}
body.strict-page :is(.contact-main strong,.store-channel-copy b){font-family:"Microsoft YaHei","Segoe UI",sans-serif;font-weight:700;letter-spacing:.5px}
@container site (max-width:360px){
 body.strict-page :is(.contact-kind,.store-channel-icon){width:32px;height:32px;font-size:10px}
 body.strict-page:is(.theme-11,.theme-16,.theme-17,.theme-19,.theme-21) .entry-zone .entry-button{grid-template-columns:32px minmax(0,1fr)}
}

/* 5. CDK cards: tighter stack between code, description and the action row. */
body.strict-page .store-reward-card,body.strict-page .cdk{row-gap:10px}
body.strict-page .store-reward-copy>b{margin-bottom:6px}

/* ===== Template expansion (template-expansion-46) =====
   The new themes size their own entry icons (30–34px); the icon column must follow that size instead of the 23px base column,
   otherwise the label starts underneath the icon. `auto` tracks whatever width each theme set. */
body.strict-page:is(.theme-27,.theme-28,.theme-29,.theme-30,.theme-31,.theme-32,.theme-33,.theme-35,.theme-38,.theme-39,.theme-40,.theme-42,.theme-43,.theme-45,.theme-46) .entry-zone .entry-button{grid-template-columns:auto minmax(0,1fr) 9px;gap:10px}
@container site (max-width:360px){
 body.strict-page:is(.theme-27,.theme-28,.theme-29,.theme-30,.theme-31,.theme-32,.theme-33,.theme-35,.theme-38,.theme-39,.theme-40,.theme-42,.theme-43,.theme-45,.theme-46) .entry-zone .entry-button{grid-template-columns:auto minmax(0,1fr)}
}

/* Full backend content at readable sizes. Theme colors, borders and copy buttons remain. */
body .seo-cdk-list[data-seo-cdk-list]{
  display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;
  align-items:start;gap:14px;width:100%;min-width:0;margin:0
}
body [data-seo-cdk-list] .seo-cdk-card[data-seo-cdk-card]{
  position:relative;display:block;box-sizing:border-box;grid-column:auto;
  width:100%;min-width:0;max-width:100%;height:auto;min-height:0;max-height:none;
  margin:0;padding:16px;transform:none;text-align:left;cursor:default
}
body .seo-cdk-card[data-seo-cdk-card] .seo-cdk-header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0
}
body .seo-cdk-card[data-seo-cdk-card] .seo-cdk-identity{flex:1;min-width:0}
body .seo-cdk-card[data-seo-cdk-card] .seo-cdk-code{
  display:block;width:100%;max-width:100%;min-width:0;margin:0;padding:0;
  font-size:18px;line-height:1.5;letter-spacing:normal;white-space:pre-wrap;
  overflow-wrap:anywhere;word-break:normal;overflow:visible;text-overflow:clip;
  height:auto;max-height:none;-webkit-line-clamp:unset;text-align:left
}
body .seo-cdk-card[data-seo-cdk-card] .seo-cdk-title{
  display:block;margin:0 0 4px;font-size:14px;line-height:1.6;
  white-space:pre-wrap;overflow-wrap:anywhere
}
body .seo-cdk-card[data-seo-cdk-card] .seo-cdk-date{
  display:block;width:auto;margin:5px 0 0;padding:0;border:0;background:none;
  border-radius:0;font-size:12px;font-weight:400;line-height:1.5;
  white-space:normal;overflow-wrap:anywhere
}
body .seo-cdk-card[data-seo-cdk-card] .seo-cdk-copy{
  position:static;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  align-self:flex-start;width:auto;min-width:76px;max-width:100%;height:auto;min-height:34px;
  margin:0;padding:7px 12px;font-size:13px;line-height:1.4;letter-spacing:normal;
  white-space:nowrap;writing-mode:horizontal-tb;cursor:pointer
}
body .seo-cdk-card[data-seo-cdk-card] .seo-cdk-description{
  display:block;width:100%;min-width:0;max-width:100%;height:auto;min-height:0;max-height:none;
  margin:12px 0 0;padding:0;font-size:14px;line-height:1.75;
  white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;
  overflow:visible;text-overflow:clip;-webkit-line-clamp:unset;text-align:left
}
body.legacy-seo .seo-cdk-card .seo-cdk-copy{border:1px solid #20a66a;border-radius:10px;background:#fff;color:#168653;font-weight:700}
body .seo-cdk-card[data-seo-cdk-card] :is(.seo-cdk-header,.seo-cdk-description){position:relative;z-index:1}
body .seo-cdk-card[data-seo-cdk-card]:hover{transform:none}
body [data-seo-cdk-card] .fit-text{font-size:inherit;white-space:inherit;overflow-wrap:anywhere}
@media(max-width:359px){
  body [data-seo-cdk-list] .seo-cdk-card[data-seo-cdk-card]{padding:14px}
  body .seo-cdk-card[data-seo-cdk-card] .seo-cdk-header{gap:10px}
  body .seo-cdk-card[data-seo-cdk-card] .seo-cdk-copy{min-width:70px;padding-inline:9px}
}

